Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOve Murberg Henriksen <sorayasilvermoon@hotmail.com>2012-06-17 08:14:44 +0400
committerOve Murberg Henriksen <sorayasilvermoon@hotmail.com>2012-06-17 08:14:44 +0400
commitbf3d0ca8dad529e5ca25550c3c31c055c76084ff (patch)
tree1bbfed87f441b899b5cd5bb89ef9d336dd6eb06a /source/blender/editors
parent9d32423f3e695f8bdd5a0d1b032b5e822613977a (diff)
parent0df30d1063cc185770451b3b2ebf3fcd0341c642 (diff)
svn merge ^/trunk/blender -r47023:HEAD
Diffstat (limited to 'source/blender/editors')
-rw-r--r--source/blender/editors/CMakeLists.txt1
-rw-r--r--source/blender/editors/SConscript1
-rw-r--r--source/blender/editors/animation/anim_channels_defines.c189
-rw-r--r--source/blender/editors/animation/anim_channels_edit.c65
-rw-r--r--source/blender/editors/animation/anim_filter.c118
-rw-r--r--source/blender/editors/animation/anim_ipo_utils.c17
-rw-r--r--source/blender/editors/animation/drivers.c8
-rw-r--r--source/blender/editors/animation/fmodifier_ui.c2
-rw-r--r--source/blender/editors/animation/keyframes_draw.c83
-rw-r--r--source/blender/editors/animation/keyframes_edit.c4
-rw-r--r--source/blender/editors/animation/keyframes_general.c24
-rw-r--r--source/blender/editors/animation/keyframing.c37
-rw-r--r--source/blender/editors/armature/BIF_generate.h2
-rw-r--r--source/blender/editors/armature/editarmature.c101
-rw-r--r--source/blender/editors/armature/editarmature_generate.c2
-rw-r--r--source/blender/editors/armature/editarmature_retarget.c9
-rw-r--r--source/blender/editors/armature/poselib.c6
-rw-r--r--source/blender/editors/armature/poseobject.c37
-rw-r--r--source/blender/editors/armature/reeb.c4
-rw-r--r--source/blender/editors/curve/curve_ops.c15
-rw-r--r--source/blender/editors/curve/editcurve.c42
-rw-r--r--source/blender/editors/curve/lorem.c2
-rw-r--r--source/blender/editors/datafiles/Bfont.c4
-rw-r--r--source/blender/editors/datafiles/startup.blend.c17113
-rw-r--r--source/blender/editors/gpencil/drawgpencil.c51
-rw-r--r--source/blender/editors/gpencil/editaction_gpencil.c53
-rw-r--r--source/blender/editors/gpencil/gpencil_buttons.c39
-rw-r--r--source/blender/editors/gpencil/gpencil_edit.c53
-rw-r--r--source/blender/editors/gpencil/gpencil_paint.c314
-rw-r--r--source/blender/editors/include/ED_anim_api.h54
-rw-r--r--source/blender/editors/include/ED_clip.h18
-rw-r--r--source/blender/editors/include/ED_gpencil.h29
-rw-r--r--source/blender/editors/include/ED_keyframes_draw.h6
-rw-r--r--source/blender/editors/include/ED_keyframes_edit.h6
-rw-r--r--source/blender/editors/include/ED_keyframing.h3
-rw-r--r--source/blender/editors/include/ED_mask.h74
-rw-r--r--source/blender/editors/include/ED_object.h46
-rw-r--r--source/blender/editors/include/ED_screen.h1
-rw-r--r--source/blender/editors/include/ED_sequencer.h6
-rw-r--r--source/blender/editors/include/ED_transform.h7
-rw-r--r--source/blender/editors/include/ED_view3d.h4
-rw-r--r--source/blender/editors/include/UI_interface.h3
-rw-r--r--source/blender/editors/include/UI_resources.h21
-rw-r--r--source/blender/editors/interface/interface.c54
-rw-r--r--source/blender/editors/interface/interface_draw.c188
-rw-r--r--source/blender/editors/interface/interface_handlers.c92
-rw-r--r--source/blender/editors/interface/interface_intern.h2
-rw-r--r--source/blender/editors/interface/interface_ops.c125
-rw-r--r--source/blender/editors/interface/interface_panel.c20
-rw-r--r--source/blender/editors/interface/interface_regions.c34
-rw-r--r--source/blender/editors/interface/interface_templates.c24
-rw-r--r--source/blender/editors/interface/interface_utils.c8
-rw-r--r--source/blender/editors/interface/interface_widgets.c47
-rw-r--r--source/blender/editors/interface/resources.c111
-rw-r--r--source/blender/editors/interface/view2d.c14
-rw-r--r--source/blender/editors/mask/CMakeLists.txt52
-rw-r--r--source/blender/editors/mask/SConscript9
-rw-r--r--source/blender/editors/mask/mask_add.c711
-rw-r--r--source/blender/editors/mask/mask_draw.c450
-rw-r--r--source/blender/editors/mask/mask_edit.c344
-rw-r--r--source/blender/editors/mask/mask_editaction.c250
-rw-r--r--source/blender/editors/mask/mask_intern.h114
-rw-r--r--source/blender/editors/mask/mask_ops.c1343
-rw-r--r--source/blender/editors/mask/mask_relationships.c172
-rw-r--r--source/blender/editors/mask/mask_select.c766
-rw-r--r--source/blender/editors/mask/mask_shapekey.c276
-rw-r--r--source/blender/editors/mesh/editmesh_add.c32
-rw-r--r--source/blender/editors/mesh/editmesh_bvh.c6
-rw-r--r--source/blender/editors/mesh/editmesh_bvh.h4
-rw-r--r--source/blender/editors/mesh/editmesh_knife.c2
-rw-r--r--source/blender/editors/mesh/editmesh_loopcut.c24
-rw-r--r--source/blender/editors/mesh/editmesh_select.c3
-rw-r--r--source/blender/editors/mesh/editmesh_tools.c67
-rw-r--r--source/blender/editors/mesh/mesh_ops.c4
-rw-r--r--source/blender/editors/mesh/meshtools.c3
-rw-r--r--source/blender/editors/metaball/mball_ops.c3
-rw-r--r--source/blender/editors/object/object_add.c42
-rw-r--r--source/blender/editors/object/object_constraint.c6
-rw-r--r--source/blender/editors/object/object_edit.c46
-rw-r--r--source/blender/editors/object/object_lattice.c17
-rw-r--r--source/blender/editors/object/object_modifier.c33
-rw-r--r--source/blender/editors/object/object_ops.c73
-rw-r--r--source/blender/editors/object/object_relations.c71
-rw-r--r--source/blender/editors/object/object_select.c19
-rw-r--r--source/blender/editors/object/object_shapekey.c2
-rw-r--r--source/blender/editors/object/object_vgroup.c1
-rw-r--r--source/blender/editors/physics/physics_ops.c3
-rw-r--r--source/blender/editors/render/render_internal.c13
-rw-r--r--source/blender/editors/screen/screen_ops.c83
-rw-r--r--source/blender/editors/sculpt_paint/paint_cursor.c6
-rw-r--r--source/blender/editors/sculpt_paint/paint_hide.c3
-rw-r--r--source/blender/editors/sculpt_paint/paint_image.c11
-rw-r--r--source/blender/editors/sculpt_paint/paint_intern.h2
-rw-r--r--source/blender/editors/sculpt_paint/paint_mask.c16
-rw-r--r--source/blender/editors/sculpt_paint/paint_ops.c8
-rw-r--r--source/blender/editors/sculpt_paint/paint_stroke.c29
-rw-r--r--source/blender/editors/sculpt_paint/paint_utils.c8
-rw-r--r--source/blender/editors/sculpt_paint/paint_vertex.c33
-rw-r--r--source/blender/editors/sculpt_paint/sculpt.c232
-rw-r--r--source/blender/editors/sound/sound_ops.c6
-rw-r--r--source/blender/editors/space_action/action_draw.c19
-rw-r--r--source/blender/editors/space_action/action_edit.c85
-rw-r--r--source/blender/editors/space_action/action_select.c70
-rw-r--r--source/blender/editors/space_action/space_action.c32
-rw-r--r--source/blender/editors/space_api/CMakeLists.txt1
-rw-r--r--source/blender/editors/space_api/space.c44
-rw-r--r--source/blender/editors/space_api/spacetypes.c4
-rw-r--r--source/blender/editors/space_buttons/buttons_header.c4
-rw-r--r--source/blender/editors/space_buttons/buttons_texture.c2
-rw-r--r--source/blender/editors/space_clip/CMakeLists.txt1
-rw-r--r--source/blender/editors/space_clip/clip_buttons.c154
-rw-r--r--source/blender/editors/space_clip/clip_dopesheet_draw.c85
-rw-r--r--source/blender/editors/space_clip/clip_dopesheet_ops.c26
-rw-r--r--source/blender/editors/space_clip/clip_draw.c589
-rw-r--r--source/blender/editors/space_clip/clip_editor.c175
-rw-r--r--source/blender/editors/space_clip/clip_graph_draw.c32
-rw-r--r--source/blender/editors/space_clip/clip_graph_ops.c87
-rw-r--r--source/blender/editors/space_clip/clip_intern.h50
-rw-r--r--source/blender/editors/space_clip/clip_ops.c4
-rw-r--r--source/blender/editors/space_clip/clip_utils.c95
-rw-r--r--source/blender/editors/space_clip/space_clip.c149
-rw-r--r--source/blender/editors/space_clip/tracking_ops.c1516
-rw-r--r--source/blender/editors/space_clip/tracking_select.c783
-rw-r--r--source/blender/editors/space_console/console_intern.h3
-rw-r--r--source/blender/editors/space_console/console_ops.c95
-rw-r--r--source/blender/editors/space_console/space_console.c9
-rw-r--r--source/blender/editors/space_file/filelist.c6
-rw-r--r--source/blender/editors/space_file/filelist.h3
-rw-r--r--source/blender/editors/space_graph/graph_edit.c16
-rw-r--r--source/blender/editors/space_image/CMakeLists.txt4
-rw-r--r--source/blender/editors/space_image/SConscript2
-rw-r--r--source/blender/editors/space_image/image_buttons.c111
-rw-r--r--source/blender/editors/space_image/image_draw.c33
-rw-r--r--source/blender/editors/space_image/image_intern.h2
-rw-r--r--source/blender/editors/space_image/image_ops.c160
-rw-r--r--source/blender/editors/space_image/space_image.c14
-rw-r--r--source/blender/editors/space_info/info_draw.c28
-rw-r--r--source/blender/editors/space_logic/logic_window.c1802
-rw-r--r--source/blender/editors/space_nla/nla_draw.c86
-rw-r--r--source/blender/editors/space_node/drawnode.c1675
-rw-r--r--source/blender/editors/space_node/node_draw.c44
-rw-r--r--source/blender/editors/space_node/node_edit.c789
-rw-r--r--source/blender/editors/space_node/node_header.c19
-rw-r--r--source/blender/editors/space_node/node_intern.h11
-rw-r--r--source/blender/editors/space_node/node_ops.c4
-rw-r--r--source/blender/editors/space_node/node_select.c29
-rw-r--r--source/blender/editors/space_node/node_templates.c2
-rw-r--r--source/blender/editors/space_node/space_node.c25
-rw-r--r--source/blender/editors/space_outliner/outliner_draw.c57
-rw-r--r--source/blender/editors/space_outliner/outliner_edit.c246
-rw-r--r--source/blender/editors/space_outliner/outliner_intern.h6
-rw-r--r--source/blender/editors/space_outliner/outliner_ops.c2
-rw-r--r--source/blender/editors/space_outliner/outliner_select.c36
-rw-r--r--source/blender/editors/space_outliner/outliner_tools.c194
-rw-r--r--source/blender/editors/space_outliner/outliner_tree.c28
-rw-r--r--source/blender/editors/space_outliner/space_outliner.c85
-rw-r--r--source/blender/editors/space_sequencer/CMakeLists.txt1
-rw-r--r--source/blender/editors/space_sequencer/SConscript2
-rw-r--r--source/blender/editors/space_sequencer/sequencer_add.c159
-rw-r--r--source/blender/editors/space_sequencer/sequencer_buttons.c18
-rw-r--r--source/blender/editors/space_sequencer/sequencer_draw.c195
-rw-r--r--source/blender/editors/space_sequencer/sequencer_edit.c121
-rw-r--r--source/blender/editors/space_sequencer/sequencer_intern.h4
-rw-r--r--source/blender/editors/space_sequencer/sequencer_ops.c1
-rw-r--r--source/blender/editors/space_sequencer/sequencer_select.c66
-rw-r--r--source/blender/editors/space_sequencer/space_sequencer.c74
-rw-r--r--source/blender/editors/space_view3d/drawarmature.c107
-rw-r--r--source/blender/editors/space_view3d/drawmesh.c6
-rw-r--r--source/blender/editors/space_view3d/drawobject.c440
-rw-r--r--source/blender/editors/space_view3d/drawvolume.c2
-rw-r--r--source/blender/editors/space_view3d/space_view3d.c2
-rw-r--r--source/blender/editors/space_view3d/view3d_draw.c293
-rw-r--r--source/blender/editors/space_view3d/view3d_edit.c2
-rw-r--r--source/blender/editors/space_view3d/view3d_intern.h41
-rw-r--r--source/blender/editors/space_view3d/view3d_select.c45
-rw-r--r--source/blender/editors/space_view3d/view3d_snap.c6
-rw-r--r--source/blender/editors/transform/transform.c1730
-rw-r--r--source/blender/editors/transform/transform.h6
-rw-r--r--source/blender/editors/transform/transform_constraints.c208
-rw-r--r--source/blender/editors/transform/transform_conversions.c2420
-rw-r--r--source/blender/editors/transform/transform_generics.c620
-rw-r--r--source/blender/editors/transform/transform_input.c170
-rw-r--r--source/blender/editors/transform/transform_manipulator.c769
-rw-r--r--source/blender/editors/transform/transform_ops.c141
-rw-r--r--source/blender/editors/transform/transform_orientations.c166
-rw-r--r--source/blender/editors/transform/transform_snap.c218
-rw-r--r--source/blender/editors/util/undo.c22
-rw-r--r--source/blender/editors/uvedit/uvedit_ops.c3
-rw-r--r--source/blender/editors/uvedit/uvedit_parametrizer.c12
-rw-r--r--source/blender/editors/uvedit/uvedit_unwrap_ops.c13
190 files changed, 25638 insertions, 16869 deletions
diff --git a/source/blender/editors/CMakeLists.txt b/source/blender/editors/CMakeLists.txt
index 088376b20ef..67ed77bcc4b 100644
--- a/source/blender/editors/CMakeLists.txt
+++ b/source/blender/editors/CMakeLists.txt
@@ -24,6 +24,7 @@ if(WITH_BLENDER)
add_subdirectory(curve)
add_subdirectory(gpencil)
add_subdirectory(interface)
+ add_subdirectory(mask)
add_subdirectory(mesh)
add_subdirectory(metaball)
add_subdirectory(object)
diff --git a/source/blender/editors/SConscript b/source/blender/editors/SConscript
index ed66a76a324..d08b496f0ef 100644
--- a/source/blender/editors/SConscript
+++ b/source/blender/editors/SConscript
@@ -8,6 +8,7 @@ SConscript(['datafiles/SConscript',
'interface/SConscript',
'animation/SConscript',
'armature/SConscript',
+ 'mask/SConscript',
'mesh/SConscript',
'metaball/SConscript',
'object/SConscript',
diff --git a/source/blender/editors/animation/anim_channels_defines.c b/source/blender/editors/animation/anim_channels_defines.c
index c4fca2d4ea5..f6b301c4594 100644
--- a/source/blender/editors/animation/anim_channels_defines.c
+++ b/source/blender/editors/animation/anim_channels_defines.c
@@ -54,6 +54,7 @@
#include "DNA_world_types.h"
#include "DNA_gpencil_types.h"
#include "DNA_speaker_types.h"
+#include "DNA_mask_types.h"
#include "RNA_access.h"
@@ -395,11 +396,8 @@ static short acf_generic_dataexpand_setting_valid(bAnimContext *ac, bAnimListEle
/* get backdrop color for summary widget */
static void acf_summary_color(bAnimContext *UNUSED(ac), bAnimListElem *UNUSED(ale), float r_color[3])
{
- // FIXME: hardcoded color - same as the 'action' line in NLA
- // reddish color
- r_color[0] = 0.8f;
- r_color[1] = 0.2f;
- r_color[2] = 0.0f;
+ /* reddish color - same as the 'action' line in NLA */
+ UI_GetThemeColor3fv(TH_ANIM_ACTIVE, r_color);
}
/* backdrop for summary widget */
@@ -850,7 +848,7 @@ static int acf_group_setting_flag(bAnimContext *ac, int setting, short *neg)
return AGRP_MUTED;
case ACHANNEL_SETTING_PROTECT: /* protected */
- // *neg= 1; - if we change this to edtiability
+ // *neg = 1; - if we change this to edtiability
return AGRP_PROTECTED;
case ACHANNEL_SETTING_VISIBLE: /* visiblity - graph editor */
@@ -938,7 +936,7 @@ static int acf_fcurve_setting_flag(bAnimContext *UNUSED(ac), int setting, short
return FCURVE_MUTED;
case ACHANNEL_SETTING_PROTECT: /* protected */
- // *neg= 1; - if we change this to edtiability
+ // *neg = 1; - if we change this to edtiability
return FCURVE_PROTECTED;
case ACHANNEL_SETTING_VISIBLE: /* visiblity - graph editor */
@@ -2483,7 +2481,7 @@ static int acf_gpl_setting_flag(bAnimContext *UNUSED(ac), int setting, short *ne
return GP_LAYER_HIDE;
case ACHANNEL_SETTING_PROTECT: /* protected */
- // *neg= 1; - if we change this to edtiability
+ // *neg = 1; - if we change this to edtiability
return GP_LAYER_LOCKED;
default: /* unsupported */
@@ -2519,6 +2517,172 @@ static bAnimChannelType ACF_GPL =
acf_gpl_setting_ptr /* pointer for setting */
};
+
+/* Mask Datablock ------------------------------------------- */
+
+/* get backdrop color for mask datablock widget */
+static void acf_mask_color(bAnimContext *UNUSED(ac), bAnimListElem *UNUSED(ale), float r_color[3])
+{
+ /* these are ID-blocks, but not exactly standalone... */
+ UI_GetThemeColorShade3fv(TH_DOPESHEET_CHANNELSUBOB, 20, r_color);
+}
+
+// TODO: just get this from RNA?
+static int acf_mask_icon(bAnimListElem *UNUSED(ale))
+{
+ return ICON_GREASEPENCIL; // MASK_TODO - need real icon
+}
+
+/* check if some setting exists for this channel */
+static short acf_mask_setting_valid(bAnimContext *UNUSED(ac), bAnimListElem *UNUSED(ale), int setting)
+{
+ switch (setting) {
+ /* only select and expand supported */
+ case ACHANNEL_SETTING_SELECT:
+ case ACHANNEL_SETTING_EXPAND:
+ return 1;
+
+ default:
+ return 0;
+ }
+}
+
+/* get the appropriate flag(s) for the setting when it is valid */
+static int acf_mask_setting_flag(bAnimContext *UNUSED(ac), int setting, short *neg)
+{
+ /* clear extra return data first */
+ *neg = 0;
+
+ switch (setting) {
+ case ACHANNEL_SETTING_SELECT: /* selected */
+ return AGRP_SELECTED;
+
+ case ACHANNEL_SETTING_EXPAND: /* expanded */
+ return MASK_ANIMF_EXPAND;
+ }
+
+ /* this shouldn't happen */
+ return 0;
+}
+
+/* get pointer to the setting */
+static void *acf_mask_setting_ptr(bAnimListElem *ale, int UNUSED(setting), short *type)
+{
+ Mask *mask = (Mask *)ale->data;
+
+ /* all flags are just in mask->flag for now... */
+ return GET_ACF_FLAG_PTR(mask->flag, type);
+}
+
+/* mask datablock type define */
+static bAnimChannelType ACF_MASKDATA =
+{
+ "Mask Datablock", /* type name */
+
+ acf_mask_color, /* backdrop color */
+ acf_group_backdrop, /* backdrop */
+ acf_generic_indention_0, /* indent level */
+ acf_generic_group_offset, /* offset */
+
+ acf_generic_idblock_name, /* name */
+ acf_generic_idfill_nameprop, /* name prop */
+ acf_mask_icon, /* icon */
+
+ acf_mask_setting_valid, /* has setting */
+ acf_mask_setting_flag, /* flag for setting */
+ acf_mask_setting_ptr /* pointer for setting */
+};
+
+/* Mask Layer ------------------------------------------- */
+
+/* name for grease pencil layer entries */
+static void acf_masklay_name(bAnimListElem *ale, char *name)
+{
+ MaskLayer *masklay = (MaskLayer *)ale->data;
+
+ if (masklay && name)
+ BLI_strncpy(name, masklay->name, ANIM_CHAN_NAME_SIZE);
+}
+
+/* name property for grease pencil layer entries */
+static short acf_masklay_name_prop(bAnimListElem *ale, PointerRNA *ptr, PropertyRNA **prop)
+{
+ if (ale->data) {
+ RNA_pointer_create(ale->id, &RNA_MaskLayer, ale->data, ptr);
+ *prop = RNA_struct_name_property(ptr->type);
+
+ return (*prop != NULL);
+ }
+
+ return 0;
+}
+
+/* check if some setting exists for this channel */
+static short acf_masklay_setting_valid(bAnimContext *UNUSED(ac), bAnimListElem *UNUSED(ale), int setting)
+{
+ switch (setting) {
+ /* unsupported */
+ case ACHANNEL_SETTING_EXPAND: /* mask layers are more like F-Curves than groups */
+ case ACHANNEL_SETTING_VISIBLE: /* graph editor only */
+ return 0;
+
+ /* always available */
+ default:
+ return 1;
+ }
+}
+
+/* get the appropriate flag(s) for the setting when it is valid */
+static int acf_masklay_setting_flag(bAnimContext *UNUSED(ac), int setting, short *neg)
+{
+ /* clear extra return data first */
+ *neg = 0;
+
+ switch (setting) {
+ case ACHANNEL_SETTING_SELECT: /* selected */
+ return MASK_LAYERFLAG_SELECT;
+
+// case ACHANNEL_SETTING_MUTE: /* muted */
+// return GP_LAYER_HIDE;
+
+ case ACHANNEL_SETTING_PROTECT: /* protected */
+ // *neg = 1; - if we change this to edtiability
+ return MASK_LAYERFLAG_LOCKED;
+
+ default: /* unsupported */
+ return 0;
+ }
+}
+
+/* get pointer to the setting */
+static void *acf_masklay_setting_ptr(bAnimListElem *ale, int UNUSED(setting), short *type)
+{
+ MaskLayer *masklay = (MaskLayer *)ale->data;
+
+ /* all flags are just in agrp->flag for now... */
+ return GET_ACF_FLAG_PTR(masklay->flag, type);
+}
+
+/* grease pencil layer type define */
+static bAnimChannelType ACF_MASKLAYER =
+{
+ "Mask Layer", /* type name */
+
+ acf_generic_channel_color, /* backdrop color */
+ acf_generic_channel_backdrop, /* backdrop */
+ acf_generic_indention_flexible, /* indent level */
+ acf_generic_group_offset, /* offset */
+
+ acf_masklay_name, /* name */
+ acf_masklay_name_prop, /* name prop */
+ NULL, /* icon */
+
+ acf_masklay_setting_valid, /* has setting */
+ acf_masklay_setting_flag, /* flag for setting */
+ acf_masklay_setting_ptr /* pointer for setting */
+};
+
+
/* *********************************************** */
/* Type Registration and General Access */
@@ -2569,6 +2733,9 @@ static void ANIM_init_channel_typeinfo_data(void)
animchannelTypeInfo[type++] = &ACF_GPD; /* Grease Pencil Datablock */
animchannelTypeInfo[type++] = &ACF_GPL; /* Grease Pencil Layer */
+ animchannelTypeInfo[type++] = &ACF_MASKDATA; /* Mask Datablock */
+ animchannelTypeInfo[type++] = &ACF_MASKLAYER; /* Mask Layer */
+
// TODO: these types still need to be implemented!!!
// probably need a few extra flags for these special cases...
animchannelTypeInfo[type++] = NULL; /* NLA Track */
@@ -2699,7 +2866,7 @@ short ANIM_channel_setting_get(bAnimContext *ac, bAnimListElem *ale, int setting
else if (smode == ACHANNEL_SETFLAG_ADD) (sval) |= (sflag); \
else (sval) &= ~(sflag); \
} \
- }
+ } (void)0
/* Change value of some setting for a channel
* - setting: eAnimChannel_Settings
@@ -3060,7 +3227,7 @@ static void achannel_setting_slider_shapekey_cb(bContext *C, void *key_poin, voi
/* find or create new F-Curve */
// XXX is the group name for this ok?
bAction *act = verify_adt_action((ID *)key, 1);
- FCurve *fcu = verify_fcurve(act, NULL, rna_path, 0, 1);
+ FCurve *fcu = verify_fcurve(act, NULL, &ptr, rna_path, 0, 1);
/* set the special 'replace' flag if on a keyframe */
if (fcurve_frame_has_keyframe(fcu, cfra, 0))
@@ -3096,7 +3263,7 @@ static void draw_setting_widget(bAnimContext *ac, bAnimListElem *ale, bAnimChann
/* get the base icon for the setting */
switch (setting) {
case ACHANNEL_SETTING_VISIBLE: /* visibility eyes */
- //icon= ((enabled)? ICON_VISIBLE_IPO_ON : ICON_VISIBLE_IPO_OFF);
+ //icon = ((enabled) ? ICON_VISIBLE_IPO_ON : ICON_VISIBLE_IPO_OFF);
icon = ICON_VISIBLE_IPO_OFF;
if (ale->type == ANIMTYPE_FCURVE)
diff --git a/source/blender/editors/animation/anim_channels_edit.c b/source/blender/editors/animation/anim_channels_edit.c
index 159c4681951..5c57407d14e 100644
--- a/source/blender/editors/animation/anim_channels_edit.c
+++ b/source/blender/editors/animation/anim_channels_edit.c
@@ -43,6 +43,7 @@
#include "DNA_scene_types.h"
#include "DNA_key_types.h"
#include "DNA_gpencil_types.h"
+#include "DNA_mask_types.h"
#include "RNA_access.h"
#include "RNA_define.h"
@@ -51,6 +52,7 @@
#include "BKE_fcurve.h"
#include "BKE_gpencil.h"
#include "BKE_context.h"
+#include "BKE_mask.h"
#include "BKE_global.h"
#include "UI_view2d.h"
@@ -258,6 +260,10 @@ void ANIM_deselect_anim_channels(bAnimContext *ac, void *data, short datatype, s
if (ale->flag & GP_LAYER_SELECT)
sel = ACHANNEL_SETFLAG_CLEAR;
break;
+ case ANIMTYPE_MASKLAYER:
+ if (ale->flag & MASK_LAYERFLAG_SELECT)
+ sel = ACHANNEL_SETFLAG_CLEAR;
+ break;
}
}
}
@@ -354,6 +360,14 @@ void ANIM_deselect_anim_channels(bAnimContext *ac, void *data, short datatype, s
ACHANNEL_SET_FLAG(gpl, sel, GP_LAYER_SELECT);
}
break;
+
+ case ANIMTYPE_MASKLAYER:
+ {
+ MaskLayer *masklay = (MaskLayer *)ale->data;
+
+ ACHANNEL_SET_FLAG(masklay, sel, MASK_LAYERFLAG_SELECT);
+ }
+ break;
}
}
@@ -496,7 +510,7 @@ void ANIM_flush_setting_anim_channels(bAnimContext *ac, ListBase *anim_data, bAn
break;
/* store this level as the 'old' level now */
- // prevLevel= level; // XXX: prevLevel is unused
+ // prevLevel = level; // XXX: prevLevel is unused
}
}
}
@@ -1055,6 +1069,10 @@ static int animchannels_rearrange_exec(bContext *C, wmOperator *op)
/* Grease Pencil channels */
printf("Grease Pencil not supported for moving yet\n");
}
+ else if (ac.datatype == ANIMCONT_MASK) {
+ /* Grease Pencil channels */
+ printf("Mask does not supported for moving yet\n");
+ }
else if (ac.datatype == ANIMCONT_ACTION) {
/* Directly rearrange action's channels */
rearrange_action_channels(&ac, ac.data, mode);
@@ -1205,6 +1223,17 @@ static int animchannels_delete_exec(bContext *C, wmOperator *UNUSED(op))
BLI_freelinkN(&gpd->layers, gpl);
}
break;
+
+ case ANIMTYPE_MASKLAYER:
+ {
+ /* Grease Pencil layer */
+ Mask *mask = (Mask *)ale->id;
+ MaskLayer *masklay = (MaskLayer *)ale->data;
+
+ /* try to delete the layer's data and the layer itself */
+ BKE_mask_layer_remove(mask, masklay);
+ }
+ break;
}
}
@@ -2017,7 +2046,7 @@ static int animchannels_rename_invoke(bContext *C, wmOperator *UNUSED(op), wmEve
v2d = &ar->v2d;
/* figure out which channel user clicked in
- * Note: although channels technically start at y= ACHANNEL_FIRST, we need to adjust by half a channel's height
+ * Note: although channels technically start at (y = ACHANNEL_FIRST), we need to adjust by half a channel's height
* so that the tops of channels get caught ok. Since ACHANNEL_FIRST is really ACHANNEL_HEIGHT, we simply use
* ACHANNEL_HEIGHT_HALF.
*/
@@ -2287,6 +2316,36 @@ static int mouse_anim_channels(bAnimContext *ac, float UNUSED(x), int channel_in
notifierFlags |= (ND_ANIMCHAN | NA_EDITED);
}
break;
+ case ANIMTYPE_MASKDATABLOCK:
+ {
+ Mask *mask = (Mask *)ale->data;
+
+ /* toggle expand
+ * - although the triangle widget already allows this, the whole channel can also be used for this purpose
+ */
+ mask->flag ^= MASK_ANIMF_EXPAND;
+
+ notifierFlags |= (ND_ANIMCHAN | NA_EDITED);
+ }
+ break;
+ case ANIMTYPE_MASKLAYER:
+ {
+ MaskLayer *masklay = (MaskLayer *)ale->data;
+
+ /* select/deselect */
+ if (selectmode == SELECT_INVERT) {
+ /* invert selection status of this layer only */
+ masklay->flag ^= MASK_LAYERFLAG_SELECT;
+ }
+ else {
+ /* select layer by itself */
+ ANIM_deselect_anim_channels(ac, ac->data, ac->datatype, 0, ACHANNEL_SETFLAG_CLEAR);
+ masklay->flag |= MASK_LAYERFLAG_SELECT;
+ }
+
+ notifierFlags |= (ND_ANIMCHAN | NA_EDITED);
+ }
+ break;
default:
if (G.debug & G_DEBUG)
printf("Error: Invalid channel type in mouse_anim_channels()\n");
@@ -2330,7 +2389,7 @@ static int animchannels_mouseclick_invoke(bContext *C, wmOperator *op, wmEvent *
selectmode = SELECT_REPLACE;
/* figure out which channel user clicked in
- * Note: although channels technically start at y= ACHANNEL_FIRST, we need to adjust by half a channel's height
+ * Note: although channels technically start at (y = ACHANNEL_FIRST), we need to adjust by half a channel's height
* so that the tops of channels get caught ok. Since ACHANNEL_FIRST is really ACHANNEL_HEIGHT, we simply use
* ACHANNEL_HEIGHT_HALF.
*/
diff --git a/source/blender/editors/animation/anim_filter.c b/source/blender/editors/animation/anim_filter.c
index 160e6957513..46e1eb98dae 100644
--- a/source/blender/editors/animation/anim_filter.c
+++ b/source/blender/editors/animation/anim_filter.c
@@ -56,6 +56,7 @@
#include "DNA_lamp_types.h"
#include "DNA_lattice_types.h"
#include "DNA_key_types.h"
+#include "DNA_mask_types.h"
#include "DNA_material_types.h"
#include "DNA_mesh_types.h"
#include "DNA_meta_types.h"
@@ -86,6 +87,7 @@
#include "BKE_main.h"
#include "BKE_material.h"
#include "BKE_node.h"
+#include "BKE_mask.h"
#include "BKE_sequencer.h"
#include "BKE_utildefines.h"
@@ -173,6 +175,22 @@ static short actedit_get_context(bAnimContext *ac, SpaceAction *saction)
ac->mode = saction->mode;
return 1;
+ case SACTCONT_MASK: /* Grease Pencil */ // XXX review how this mode is handled...
+ /* update scene-pointer (no need to check for pinning yet, as not implemented) */
+{
+ // TODO, other methods to get the mask
+ // Sequence *seq = BKE_sequencer_active_get(ac->scene);
+ //MovieClip *clip = ac->scene->clip;
+// struct Mask *mask = seq ? seq->mask : NULL;
+
+ saction->ads.source = (ID *)ac->scene;
+
+ ac->datatype = ANIMCONT_MASK;
+ ac->data = &saction->ads;
+
+ ac->mode = saction->mode;
+ return 1;
+}
case SACTCONT_DOPESHEET: /* DopeSheet */
/* update scene-pointer (no need to check for pinning yet, as not implemented) */
saction->ads.source = (ID *)ac->scene;
@@ -807,7 +825,18 @@ static bAnimListElem *make_new_animlistelem(void *data, short datatype, ID *owne
ale->datatype = ALE_GPFRAME;
}
break;
-
+
+ case ANIMTYPE_MASKLAYER:
+ {
+ MaskLayer *masklay = (MaskLayer *)data;
+
+ ale->flag = masklay->flag;
+
+ ale->key_data = NULL;
+ ale->datatype = ALE_MASKLAY;
+ }
+ break;
+
case ANIMTYPE_NLATRACK:
{
NlaTrack *nlt = (NlaTrack *)data;
@@ -1353,6 +1382,83 @@ static size_t animdata_filter_gpencil(ListBase *anim_data, void *UNUSED(data), i
return items;
}
+static size_t animdata_filter_mask_data(ListBase *anim_data, Mask *mask, const int filter_mode)
+{
+ MaskLayer *masklay_act = BKE_mask_layer_active(mask);
+ MaskLayer *masklay;
+ size_t items = 0;
+
+ /* loop over layers as the conditions are acceptable */
+ for (masklay = mask->masklayers.first; masklay; masklay = masklay->next) {
+ /* only if selected */
+ if (ANIMCHANNEL_SELOK(SEL_MASKLAY(masklay)) ) {
+ /* only if editable */
+// if (!(filter_mode & ANIMFILTER_FOREDIT) || EDITABLE_GPL(gpl)) {
+ /* active... */
+ if (!(filter_mode & ANIMFILTER_ACTIVE) || (masklay_act == masklay)) {
+ /* add to list */
+ ANIMCHANNEL_NEW_CHANNEL(masklay, ANIMTYPE_MASKLAYER, mask);
+
+
+// if (filter_mode & ANIMFILTER_TMP_PEEK)
+// return 1;
+// else {
+// bAnimListElem *ale = make_new_animlistelem(masklay, channel_type, (ID *)owner_id);
+// if (ale) {
+// BLI_addtail(anim_data, ale);
+// items ++;
+// }
+// }
+
+ }
+// }
+ }
+ }
+
+ return items;
+}
+
+static size_t animdata_filter_mask(ListBase *anim_data, void *UNUSED(data), int filter_mode)
+{
+ Mask *mask;
+ size_t items = 0;
+
+ /* for now, grab grease pencil datablocks directly from main */
+ // XXX: this is not good...
+ for (mask = G.main->mask.first; mask; mask = mask->id.next) {
+ ListBase tmp_data = {NULL, NULL};
+ size_t tmp_items = 0;
+
+ /* only show if gpd is used by something... */
+ if (ID_REAL_USERS(mask) < 1)
+ continue;
+
+ /* add gpencil animation channels */
+ BEGIN_ANIMFILTER_SUBCHANNELS(EXPANDED_MASK(mask))
+ {
+ tmp_items += animdata_filter_mask_data(&tmp_data, mask, filter_mode);
+ }
+ END_ANIMFILTER_SUBCHANNELS;
+
+ /* did we find anything? */
+ if (tmp_items) {
+ /* include data-expand widget first */
+ if (filter_mode & ANIMFILTER_LIST_CHANNELS) {
+ /* add gpd as channel too (if for drawing, and it has layers) */
+ ANIMCHANNEL_NEW_CHANNEL(mask, ANIMTYPE_MASKDATABLOCK, NULL);
+ }
+
+ /* now add the list of collected channels */
+ BLI_movelisttolist(anim_data, &tmp_data);
+ BLI_assert((tmp_data.first == tmp_data.last) && (tmp_data.first == NULL));
+ items += tmp_items;
+ }
+ }
+
+ /* return the number of items added to the list */
+ return items;
+}
+
/* NOTE: owner_id is scene, material, or texture block, which is the direct owner of the node tree in question */
// TODO: how to handle group nodes is still unclear...
static size_t animdata_filter_ds_nodetree(bAnimContext *ac, ListBase *anim_data, bDopeSheet *ads, ID *owner_id, bNodeTree *ntree, int filter_mode)
@@ -2280,7 +2386,7 @@ size_t ANIM_animdata_filter(bAnimContext *ac, ListBase *anim_data, int filter_mo
items += animfilter_action(ac, anim_data, ads, data, filter_mode, (ID *)obact);
}
break;
-
+
case ANIMCONT_SHAPEKEY: /* 'ShapeKey Editor' */
{
/* the check for the DopeSheet summary is included here since the summary works here too */
@@ -2294,7 +2400,13 @@ size_t ANIM_animdata_filter(bAnimContext *ac, ListBase *anim_data, int filter_mo
items = animdata_filter_gpencil(anim_data, data, filter_mode);
}
break;
-
+
+ case ANIMCONT_MASK:
+ {
+ items = animdata_filter_mask(anim_data, data, filter_mode);
+ }
+ break;
+
case ANIMCONT_DOPESHEET: /* 'DopeSheet Editor' */
{
/* the DopeSheet editor is the primary place where the DopeSheet summaries are useful */
diff --git a/source/blender/editors/animation/anim_ipo_utils.c b/source/blender/editors/animation/anim_ipo_utils.c
index 593010fae09..a73651d7664 100644
--- a/source/blender/editors/animation/anim_ipo_utils.c
+++ b/source/blender/editors/animation/anim_ipo_utils.c
@@ -191,9 +191,9 @@ int getname_anim_fcurve(char *name, ID *id, FCurve *fcu)
/* used to determine the color of F-Curves with FCURVE_COLOR_AUTO_RAINBOW set */
//void fcurve_rainbow (unsigned int cur, unsigned int tot, float *out)
-void getcolor_fcurve_rainbow(int cur, int tot, float *out)
+void getcolor_fcurve_rainbow(int cur, int tot, float out[3])
{
- float hue, val, sat, fac;
+ float hsv[3], fac;
int grouping;
/* we try to divide the color into groupings of n colors,
@@ -203,7 +203,7 @@ void getcolor_fcurve_rainbow(int cur, int tot, float *out)
* so the base color is simply one of the three primary colors
*/
grouping = (4 - (tot % 2));
- hue = HSV_BANDWIDTH * (float)(cur % grouping);
+ hsv[0] = HSV_BANDWIDTH * (float)(cur % grouping);
/* 'Value' (i.e. darkness) needs to vary so that larger sets of three will be
* 'darker' (i.e. smaller value), so that they don't look that similar to previous ones.
@@ -213,16 +213,15 @@ void getcolor_fcurve_rainbow(int cur, int tot, float *out)
fac = ((float)cur / (float)tot) * 0.7f;
/* the base color can get offset a bit so that the colors aren't so identical */
- hue += fac * HSV_BANDWIDTH;
- if (hue > 1.0f) hue = fmod(hue, 1.0f);
+ hsv[0] += fac * HSV_BANDWIDTH;
+ if (hsv[0] > 1.0f) hsv[0] = fmod(hsv[0], 1.0f);
/* saturation adjustments for more visible range */
- if ((hue > 0.5f) && (hue < 0.8f)) sat = 0.5f;
- else sat = 0.6f;
+ hsv[1] = ((hsv[0] > 0.5f) && (hsv[0] < 0.8f)) ? 0.5f : 0.6f;
/* value is fixed at 1.0f, otherwise we cannot clearly see the curves... */
- val = 1.0f;
+ hsv[2] = 1.0f;
/* finally, conver this to RGB colors */
- hsv_to_rgb(hue, sat, val, out, out + 1, out + 2);
+ hsv_to_rgb_v(hsv, out);
}
diff --git a/source/blender/editors/animation/drivers.c b/source/blender/editors/animation/drivers.c
index 416df6bccba..4a5966948ae 100644
--- a/source/blender/editors/animation/drivers.c
+++ b/source/blender/editors/animation/drivers.c
@@ -521,7 +521,7 @@ void ANIM_OT_driver_button_add(wmOperatorType *ot)
/* callbacks */
ot->exec = add_driver_button_exec;
- //op->poll= ??? // TODO: need to have some animatable property to do this
+ //op->poll = ??? // TODO: need to have some animatable property to do this
/* flags */
ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
@@ -573,7 +573,7 @@ void ANIM_OT_driver_button_remove(wmOperatorType *ot)
/* callbacks */
ot->exec = remove_driver_button_exec;
- //op->poll= ??? // TODO: need to have some driver to be able to do this...
+ //op->poll = ??? // TODO: need to have some driver to be able to do this...
/* flags */
ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
@@ -620,7 +620,7 @@ void ANIM_OT_copy_driver_button(wmOperatorType *ot)
/* callbacks */
ot->exec = copy_driver_button_exec;
- //op->poll= ??? // TODO: need to have some driver to be able to do this...
+ //op->poll = ??? // TODO: need to have some driver to be able to do this...
/* flags */
ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
@@ -664,7 +664,7 @@ void ANIM_OT_paste_driver_button(wmOperatorType *ot)
/* callbacks */
ot->exec = paste_driver_button_exec;
- //op->poll= ??? // TODO: need to have some driver to be able to do this...
+ //op->poll = ??? // TODO: need to have some driver to be able to do this...
/* flags */
ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
diff --git a/source/blender/editors/animation/fmodifier_ui.c b/source/blender/editors/animation/fmodifier_ui.c
index 24cae5d8652..ea875567705 100644
--- a/source/blender/editors/animation/fmodifier_ui.c
+++ b/source/blender/editors/animation/fmodifier_ui.c
@@ -79,7 +79,7 @@
#define DRAW_BACKDROP(height) \
{ \
uiDefBut(block, ROUNDBOX, B_REDR, "", -3, yco - height, width + 3, height - 1, NULL, 5.0, 0.0, 12.0, (float)rb_col, ""); \
- }
+ } (void)0
/* callback to verify modifier data */
static void validate_fmodifier_cb(bContext *UNUSED(C), void *fcm_v, void *UNUSED(arg))
diff --git a/source/blender/editors/animation/keyframes_draw.c b/source/blender/editors/animation/keyframes_draw.c
index cb7dc7ac206..e6fc4d5a168 100644
--- a/source/blender/editors/animation/keyframes_draw.c
+++ b/source/blender/editors/animation/keyframes_draw.c
@@ -60,6 +60,7 @@
#include "DNA_speaker_types.h"
#include "DNA_world_types.h"
#include "DNA_gpencil_types.h"
+#include "DNA_mask_types.h"
#include "BKE_key.h"
#include "BKE_material.h"
@@ -184,6 +185,50 @@ static void nupdate_ak_gpframe(void *node, void *data)
ak->modified += 1;
}
+/* ......... */
+
+/* Comparator callback used for ActKeyColumns and GPencil frame */
+static short compare_ak_masklayshape(void *node, void *data)
+{
+ ActKeyColumn *ak = (ActKeyColumn *)node;
+ MaskLayerShape *masklay_shape = (MaskLayerShape *)data;
+
+ if (masklay_shape->frame < ak->cfra)
+ return -1;
+ else if (masklay_shape->frame > ak->cfra)
+ return 1;
+ else
+ return 0;
+}
+
+/* New node callback used for building ActKeyColumns from GPencil frames */
+static DLRBT_Node *nalloc_ak_masklayshape(void *data)
+{
+ ActKeyColumn *ak = MEM_callocN(sizeof(ActKeyColumn), "ActKeyColumnGPF");
+ MaskLayerShape *masklay_shape = (MaskLayerShape *)data;
+
+ /* store settings based on state of BezTriple */
+ ak->cfra = masklay_shape->frame;
+ ak->sel = (masklay_shape->flag & MASK_SHAPE_SELECT) ? SELECT : 0;
+
+ /* set 'modified', since this is used to identify long keyframes */
+ ak->modified = 1;
+
+ return (DLRBT_Node *)ak;
+}
+
+/* Node updater callback used for building ActKeyColumns from GPencil frames */
+static void nupdate_ak_masklayshape(void *node, void *data)
+{
+ ActKeyColumn *ak = (ActKeyColumn *)node;
+ MaskLayerShape *masklay_shape = (MaskLayerShape *)data;
+
+ /* set selection status and 'touched' status */
+ if (masklay_shape->flag & MASK_SHAPE_SELECT) ak->sel = SELECT;
+ ak->modified += 1;
+}
+
+
/* --------------- */
/* Add the given BezTriple to the given 'list' of Keyframes */
@@ -204,6 +249,15 @@ static void add_gpframe_to_keycolumns_list(DLRBT_Tree *keys, bGPDframe *gpf)
BLI_dlrbTree_add(keys, compare_ak_gpframe, nalloc_ak_gpframe, nupdate_ak_gpframe, gpf);
}
+/* Add the given MaskLayerShape Frame to the given 'list' of Keyframes */
+static void add_masklay_to_keycolumns_list(DLRBT_Tree *keys, MaskLayerShape *masklay_shape)
+{
+ if (ELEM(NULL, keys, masklay_shape))
+ return;
+ else
+ BLI_dlrbTree_add(keys, compare_ak_masklayshape, nalloc_ak_masklayshape, nupdate_ak_masklayshape, masklay_shape);
+}
+
/* ActBeztColumns (Helpers for Long Keyframes) ------------------------------ */
/* maximum size of default buffer for BezTriple columns */
@@ -764,6 +818,21 @@ void draw_gpl_channel(View2D *v2d, bDopeSheet *ads, bGPDlayer *gpl, float ypos)
BLI_dlrbTree_free(&keys);
}
+void draw_masklay_channel(View2D *v2d, bDopeSheet *ads, MaskLayer *masklay, float ypos)
+{
+ DLRBT_Tree keys;
+
+ BLI_dlrbTree_init(&keys);
+
+ mask_to_keylist(ads, masklay, &keys);
+
+ BLI_dlrbTree_linkedlist_sync(&keys);
+
+ draw_keylist(v2d, &keys, NULL, ypos, (masklay->flag & MASK_LAYERFLAG_LOCKED));
+
+ BLI_dlrbTree_free(&keys);
+}
+
/* *************************** Keyframe List Conversions *************************** */
void summary_to_keylist(bAnimContext *ac, DLRBT_Tree *keys, DLRBT_Tree *blocks)
@@ -940,3 +1009,17 @@ void gpl_to_keylist(bDopeSheet *UNUSED(ads), bGPDlayer *gpl, DLRBT_Tree *keys)
}
}
+void mask_to_keylist(bDopeSheet *UNUSED(ads), MaskLayer *masklay, DLRBT_Tree *keys)
+{
+ MaskLayerShape *masklay_shape;
+
+ if (masklay && keys) {
+ for (masklay_shape = masklay->splines_shapes.first;
+ masklay_shape;
+ masklay_shape = masklay_shape->next)
+ {
+ add_masklay_to_keycolumns_list(keys, masklay_shape);
+ }
+ }
+}
+
diff --git a/source/blender/editors/animation/keyframes_edit.c b/source/blender/editors/animation/keyframes_edit.c
index b92d0fb345a..88627a6dabd 100644
--- a/source/blender/editors/animation/keyframes_edit.c
+++ b/source/blender/editors/animation/keyframes_edit.c
@@ -429,7 +429,7 @@ void ANIM_editkeyframes_refresh(bAnimContext *ac)
if (check(2)) \
ok |= KEYFRAME_OK_H2; \
} \
- }
+ } (void)0
/* ------------------------ */
@@ -766,7 +766,7 @@ KeyframeEditFunc ANIM_editkeyframes_mirror(short type)
bezt->h1 = HD_FREE; \
if (ELEM3(bezt->h2, HD_ALIGN, HD_AUTO, HD_AUTO_ANIM)) \
bezt->h2 = HD_FREE; \
- }
+ } (void)0
/* Sets the selected bezier handles to type 'auto' */
static short set_bezier_auto(KeyframeEditData *UNUSED(ked), BezTriple *bezt)
diff --git a/source/blender/editors/animation/keyframes_general.c b/source/blender/editors/animation/keyframes_general.c
index 05c87e98f9b..a8f8d2974e5 100644
--- a/source/blender/editors/animation/keyframes_general.c
+++ b/source/blender/editors/animation/keyframes_general.c
@@ -184,10 +184,10 @@ void clean_fcurve(FCurve *fcu, float thresh)
int totCount, i;
/* check if any points */
- if ((fcu == NULL) || (fcu->totvert <= 1))
+ if ((fcu == NULL) || (fcu->bezt == NULL) || (fcu->totvert <= 1))
return;
- /* make a copy of the old BezTriples, and clear IPO curve */
+ /* make a copy of the old BezTriples, and clear F-Curve */
old_bezts = fcu->bezt;
totCount = fcu->totvert;
fcu->bezt = NULL;
@@ -286,7 +286,11 @@ void smooth_fcurve(FCurve *fcu)
{
BezTriple *bezt;
int i, x, totSel = 0;
-
+
+ if (fcu->bezt == NULL) {
+ return;
+ }
+
/* first loop through - count how many verts are selected */
bezt = fcu->bezt;
for (i = 0; i < fcu->totvert; i++, bezt++) {
@@ -374,16 +378,16 @@ void smooth_fcurve(FCurve *fcu)
/* ---------------- */
/* little cache for values... */
-typedef struct tempFrameValCache {
+typedef struct TempFrameValCache {
float frame, val;
-} tempFrameValCache;
+} TempFrameValCache;
/* Evaluates the curves between each selected keyframe on each frame, and keys the value */
void sample_fcurve(FCurve *fcu)
{
BezTriple *bezt, *start = NULL, *end = NULL;
- tempFrameValCache *value_cache, *fp;
+ TempFrameValCache *value_cache, *fp;
int sfra, range;
int i, n, nIndex;
@@ -406,15 +410,15 @@ void sample_fcurve(FCurve *fcu)
sfra = (int)(floor(start->vec[1][0]) );
if (range) {
- value_cache = MEM_callocN(sizeof(tempFrameValCache) * range, "IcuFrameValCache");
+ value_cache = MEM_callocN(sizeof(TempFrameValCache) * range, "IcuFrameValCache");
- /* sample values */
+ /* sample values */
for (n = 1, fp = value_cache; n < range && fp; n++, fp++) {
fp->frame = (float)(sfra + n);
fp->val = evaluate_fcurve(fcu, fp->frame);
}
- /* add keyframes with these, tagging as 'breakdowns' */
+ /* add keyframes with these, tagging as 'breakdowns' */
for (n = 1, fp = value_cache; n < range && fp; n++, fp++) {
nIndex = insert_vert_fcurve(fcu, fp->frame, fp->val, 1);
BEZKEYTYPE(fcu->bezt + nIndex) = BEZT_KEYTYPE_BREAKDOWN;
@@ -671,7 +675,7 @@ static void paste_animedit_keys_fcurve(FCurve *fcu, tAnimCopybufItem *aci, float
BezTriple *bezt;
int i;
- /* First de-select existing FCuvre */
+ /* First de-select existing FCurve's keyframes */
for (i = 0, bezt = fcu->bezt; i < fcu->totvert; i++, bezt++) {
bezt->f2 &= ~SELECT;
}
diff --git a/source/blender/editors/animation/keyframing.c b/source/blender/editors/animation/keyframing.c
index 2a68d32557a..6250424d655 100644
--- a/source/blender/editors/animation/keyframing.c
+++ b/source/blender/editors/animation/keyframing.c
@@ -150,9 +150,10 @@ bAction *verify_adt_action(ID *id, short add)
/* Get (or add relevant data to be able to do so) F-Curve from the Active Action,
* for the given Animation Data block. This assumes that all the destinations are valid.
*/
-FCurve *verify_fcurve(bAction *act, const char group[], const char rna_path[], const int array_index, short add)
+FCurve *verify_fcurve(bAction *act, const char group[], PointerRNA *ptr,
+ const char rna_path[], const int array_index, short add)
{
- bActionGroup *grp;
+ bActionGroup *agrp;
FCurve *fcu;
/* sanity checks */
@@ -183,14 +184,30 @@ FCurve *verify_fcurve(bAction *act, const char group[], const char rna_path[], c
/* if a group name has been provided, try to add or find a group, then add F-Curve to it */
if (group) {
/* try to find group */
- grp = BKE_action_group_find_name(act, group);
+ agrp = BKE_action_group_find_name(act, group);
/* no matching groups, so add one */
- if (grp == NULL)
- grp = action_groups_add_new(act, group);
+ if (agrp == NULL) {
+ agrp = action_groups_add_new(act, group);
+
+ /* sync bone group colors if applicable */
+ if (ptr && (ptr->type == &RNA_PoseBone)) {
+ Object *ob = (Object *)ptr->id.data;
+ bPoseChannel *pchan = (bPoseChannel *)ptr->data;
+ bPose *pose = ob->pose;
+ bActionGroup *grp;
+
+ /* find bone group (if present), and use the color from that */
+ grp = (bActionGroup *)BLI_findlink(&pose->agroups, (pchan->agrp_index - 1));
+ if (grp) {
+ agrp->customCol = grp->customCol;
+ action_group_colors_sync(agrp);
+ }
+ }
+ }
/* add F-Curve to group */
- action_groups_add_channel(act, grp, fcu);
+ action_groups_add_channel(act, agrp, fcu);
}
else {
/* just add F-Curve to end of Action's list */
@@ -542,7 +559,6 @@ static short visualkey_can_use(PointerRNA *ptr, PropertyRNA *prop)
const char *identifier = NULL;
/* validate data */
- // TODO: this check is probably not needed, but it won't hurt
if (ELEM3(NULL, ptr, ptr->data, prop))
return 0;
@@ -618,6 +634,9 @@ static short visualkey_can_use(PointerRNA *ptr, PropertyRNA *prop)
case CONSTRAINT_TYPE_TRACKTO:
if (searchtype == VISUALKEY_ROT) return 1;
break;
+ case CONSTRAINT_TYPE_DAMPTRACK:
+ if (searchtype == VISUALKEY_ROT) return 1;
+ break;
case CONSTRAINT_TYPE_ROTLIMIT:
if (searchtype == VISUALKEY_ROT) return 1;
break;
@@ -939,7 +958,7 @@ short insert_keyframe(ReportList *reports, ID *id, bAction *act, const char grou
* - if we're replacing keyframes only, DO NOT create new F-Curves if they do not exist yet
* but still try to get the F-Curve if it exists...
*/
- fcu = verify_fcurve(act, group, rna_path, array_index, (flag & INSERTKEY_REPLACE) == 0);
+ fcu = verify_fcurve(act, group, &ptr, rna_path, array_index, (flag & INSERTKEY_REPLACE) == 0);
/* we may not have a F-Curve when we're replacing only... */
if (fcu) {
@@ -1027,7 +1046,7 @@ short delete_keyframe(ReportList *reports, ID *id, bAction *act, const char grou
/* will only loop once unless the array index was -1 */
for (; array_index < array_index_max; array_index++) {
- FCurve *fcu = verify_fcurve(act, group, rna_path, array_index, 0);
+ FCurve *fcu = verify_fcurve(act, group, &ptr, rna_path, array_index, 0);
short found = -1;
int i;
diff --git a/source/blender/editors/armature/BIF_generate.h b/source/blender/editors/armature/BIF_generate.h
index 583178dd2b7..06ee3fbb64c 100644
--- a/source/blender/editors/armature/BIF_generate.h
+++ b/source/blender/editors/armature/BIF_generate.h
@@ -42,7 +42,7 @@ int nextAdaptativeSubdivision(struct ToolSettings *toolsettings, struct BArcIter
struct EditBone *subdivideArcBy(struct ToolSettings *toolsettings, struct bArmature *arm, ListBase *editbones, struct BArcIterator *iter, float invmat[][4], float tmat[][3], NextSubdivisionFunc next_subdividion);
-void setBoneRollFromNormal(struct EditBone *bone, float *no, float invmat[][4], float tmat[][3]);
+void setBoneRollFromNormal(struct EditBone *bone, const float no[3], float invmat[][4], float tmat[][3]);
#endif /* __BIF_GENERATE_H__ */
diff --git a/source/blender/editors/armature/editarmature.c b/source/blender/editors/armature/editarmature.c
index 8ea66934a31..ea3c8685525 100644
--- a/source/blender/editors/armature/editarmature.c
+++ b/source/blender/editors/armature/editarmature.c
@@ -756,7 +756,7 @@ static int pose_visual_transform_apply_exec(bContext *C, wmOperator *UNUSED(op))
*
* TODO, loop over children before parents if multiple bones
* at once are to be predictable*/
- CTX_DATA_BEGIN (C, bPoseChannel *, pchan, selected_pose_bones)
+ CTX_DATA_BEGIN(C, bPoseChannel *, pchan, selected_pose_bones)
{
float delta_mat[4][4];
@@ -923,7 +923,7 @@ int join_armature_exec(bContext *C, wmOperator *UNUSED(op))
pose = ob->pose;
ob->mode &= ~OB_MODE_POSE;
- CTX_DATA_BEGIN (C, Base *, base, selected_editable_bases)
+ CTX_DATA_BEGIN(C, Base *, base, selected_editable_bases)
{
if ((base->object->type == OB_ARMATURE) && (base->object != ob)) {
bArmature *curarm = base->object->data;
@@ -1195,7 +1195,7 @@ static int separate_armature_exec(bContext *C, wmOperator *UNUSED(op))
/* 1) only edit-base selected */
// TODO: use context iterators for this?
- CTX_DATA_BEGIN (C, Base *, base, visible_bases)
+ CTX_DATA_BEGIN(C, Base *, base, visible_bases)
{
if (base->object == obedit) base->flag |= 1;
else base->flag &= ~1;
@@ -1418,7 +1418,8 @@ static void selectconnected_posebonechildren(Object *ob, Bone *bone, int extend)
/* previously known as "selectconnected_posearmature" */
static int pose_select_connected_invoke(bContext *C, wmOperator *op, wmEvent *event)
{
- Object *ob = CTX_data_edit_object(C);
+ Object *ob = BKE_object_pose_armature_get(CTX_data_active_object(C));
+ bArmature *arm = (bArmature *)ob->data;
Bone *bone, *curBone, *next = NULL;
int extend = RNA_boolean_get(op->ptr, "extend");
@@ -1457,14 +1458,20 @@ static int pose_select_connected_invoke(bContext *C, wmOperator *op, wmEvent *ev
for (curBone = bone->childbase.first; curBone; curBone = next)
selectconnected_posebonechildren(ob, curBone, extend);
+ /* updates */
WM_event_add_notifier(C, NC_OBJECT | ND_BONE_SELECT, ob);
+
+ if (arm->flag & ARM_HAS_VIZ_DEPS) {
+ /* mask modifier ('armature' mode), etc. */
+ DAG_id_tag_update(&ob->id, OB_RECALC_DATA);
+ }
return OPERATOR_FINISHED;
}
static int pose_select_linked_poll(bContext *C)
{
- return (ED_operator_view3d_active(C) && ED_operator_posemode(C) );
+ return (ED_operator_view3d_active(C) && ED_operator_posemode(C));
}
void POSE_OT_select_linked(wmOperatorType *ot)
@@ -2290,7 +2297,7 @@ void add_primitive_bone(Scene *scene, View3D *v3d, RegionView3D *rv3d)
ED_armature_deselect_all(obedit, 0);
- /* Create a bone */
+ /* Create a bone */
bone = ED_armature_edit_bone_add(arm, "Bone");
arm->act_edbone = bone;
@@ -2301,7 +2308,6 @@ void add_primitive_bone(Scene *scene, View3D *v3d, RegionView3D *rv3d)
add_v3_v3v3(bone->tail, bone->head, imat[1]); // bone with unit length 1
else
add_v3_v3v3(bone->tail, bone->head, imat[2]); // bone with unit length 1, pointing up Z
-
}
@@ -2842,7 +2848,7 @@ static int armature_fill_bones_exec(bContext *C, wmOperator *op)
return OPERATOR_CANCELLED;
/* loop over all bones, and only consider if visible */
- CTX_DATA_BEGIN (C, EditBone *, ebone, visible_bones)
+ CTX_DATA_BEGIN(C, EditBone *, ebone, visible_bones)
{
if (!(ebone->flag & BONE_CONNECTED) && (ebone->flag & BONE_ROOTSEL))
fill_add_joint(ebone, 0, &points);
@@ -3556,7 +3562,7 @@ static int armature_subdivide_exec(bContext *C, wmOperator *op)
/* loop over all editable bones */
// XXX the old code did this in reverse order though!
- CTX_DATA_BEGIN (C, EditBone *, ebone, selected_editable_bones)
+ CTX_DATA_BEGIN(C, EditBone *, ebone, selected_editable_bones)
{
for (i = numcuts + 1; i > 1; i--) {
/* compute cut ratio first */
@@ -3845,7 +3851,7 @@ static int armature_parent_set_exec(bContext *C, wmOperator *op)
*/
/* parent selected bones to the active one */
- CTX_DATA_BEGIN (C, EditBone *, ebone, selected_editable_bones)
+ CTX_DATA_BEGIN(C, EditBone *, ebone, selected_editable_bones)
{
if (ELEM(ebone, actbone, actmirb) == 0) {
if (ebone->flag & BONE_SELECTED)
@@ -3871,7 +3877,7 @@ static int armature_parent_set_invoke(bContext *C, wmOperator *UNUSED(op), wmEve
uiLayout *layout = uiPupMenuLayout(pup);
int allchildbones = 0;
- CTX_DATA_BEGIN (C, EditBone *, ebone, selected_editable_bones)
+ CTX_DATA_BEGIN(C, EditBone *, ebone, selected_editable_bones)
{
if (ebone != actbone) {
if (ebone->parent != actbone) allchildbones = 1;
@@ -3931,7 +3937,7 @@ static int armature_parent_clear_exec(bContext *C, wmOperator *op)
bArmature *arm = (bArmature *)ob->data;
int val = RNA_enum_get(op->ptr, "type");
- CTX_DATA_BEGIN (C, EditBone *, ebone, selected_editable_bones)
+ CTX_DATA_BEGIN(C, EditBone *, ebone, selected_editable_bones)
{
editbone_clear_parent(ebone, val);
}
@@ -3968,7 +3974,7 @@ void ARMATURE_OT_parent_clear(wmOperatorType *ot)
static int armature_select_inverse_exec(bContext *C, wmOperator *UNUSED(op))
{
/* Set the flags */
- CTX_DATA_BEGIN (C, EditBone *, ebone, visible_bones)
+ CTX_DATA_BEGIN(C, EditBone *, ebone, visible_bones)
{
/* ignore bone if selection can't change */
if ((ebone->flag & BONE_UNSELECTABLE) == 0) {
@@ -4011,7 +4017,7 @@ static int armature_de_select_all_exec(bContext *C, wmOperator *op)
}
/* Set the flags */
- CTX_DATA_BEGIN (C, EditBone *, ebone, visible_bones)
+ CTX_DATA_BEGIN(C, EditBone *, ebone, visible_bones)
{
/* ignore bone if selection can't change */
if ((ebone->flag & BONE_UNSELECTABLE) == 0) {
@@ -4226,8 +4232,8 @@ static int armature_select_similar_exec(bContext *C, wmOperator *op)
return OPERATOR_FINISHED;
}
-void ARMATURE_OT_select_similar(wmOperatorType *ot) {
-
+void ARMATURE_OT_select_similar(wmOperatorType *ot)
+{
/* identifiers */
ot->name = "Select Similar";
ot->idname = "ARMATURE_OT_select_similar";
@@ -4431,7 +4437,7 @@ static int armature_align_bones_exec(bContext *C, wmOperator *op)
*/
/* align selected bones to the active one */
- CTX_DATA_BEGIN (C, EditBone *, ebone, selected_editable_bones)
+ CTX_DATA_BEGIN(C, EditBone *, ebone, selected_editable_bones)
{
if (ELEM(ebone, actbone, actmirb) == 0) {
if (ebone->flag & BONE_SELECTED)
@@ -4517,13 +4523,12 @@ int ED_do_pose_selectbuffer(Scene *scene, Base *base, unsigned int *buffer, shor
* note, special exception for armature mode so we can do multi-select
* we could check for multi-select explicitly but think its fine to
* always give predictable behavior in weight paint mode - campbell */
- if ((!extend && !deselect && !toggle)|| ((ob_act && (ob_act != ob) && (ob_act->mode & OB_MODE_WEIGHT_PAINT) == 0))) {
+ if ((!extend && !deselect && !toggle) ||
+ ((ob_act && (ob_act != ob) && (ob_act->mode & OB_MODE_WEIGHT_PAINT) == 0)))
+ {
ED_pose_deselectall(ob, 0);
nearBone->flag |= (BONE_SELECTED | BONE_TIPSEL | BONE_ROOTSEL);
arm->act_bone = nearBone;
-
- // XXX old cruft! use notifiers instead
- //select_actionchannel_by_name(ob->action, nearBone->name, 1);
}
else {
if (extend) {
@@ -4541,29 +4546,30 @@ int ED_do_pose_selectbuffer(Scene *scene, Base *base, unsigned int *buffer, shor
}
else {
nearBone->flag &= ~(BONE_SELECTED | BONE_TIPSEL | BONE_ROOTSEL);
-
- // XXX old cruft! use notifiers instead
- //select_actionchannel_by_name(ob->action, nearBone->name, 0);
}
}
else {
nearBone->flag |= (BONE_SELECTED | BONE_TIPSEL | BONE_ROOTSEL);
arm->act_bone = nearBone;
-
- // XXX old cruft! use notifiers instead
- //select_actionchannel_by_name(ob->action, nearBone->name, 1);
}
}
}
- /* in weightpaint we select the associated vertex group too */
- if (ob_act && ob_act->mode & OB_MODE_WEIGHT_PAINT) {
- if (nearBone == arm->act_bone) {
- ED_vgroup_select_by_name(OBACT, nearBone->name);
- DAG_id_tag_update(&OBACT->id, OB_RECALC_DATA);
+ if (ob_act) {
+ /* in weightpaint we select the associated vertex group too */
+ if (ob_act->mode & OB_MODE_WEIGHT_PAINT) {
+ if (nearBone == arm->act_bone) {
+ ED_vgroup_select_by_name(ob_act, nearBone->name);
+ DAG_id_tag_update(&ob_act->id, OB_RECALC_DATA);
+ }
+ }
+ /* if there are some dependencies for visualising armature state
+ * (e.g. Mask Modifier in 'Armature' mode), force update
+ */
+ else if (arm->flag & ARM_HAS_VIZ_DEPS) {
+ DAG_id_tag_update(&ob_act->id, OB_RECALC_DATA);
}
}
-
}
return nearBone != NULL;
@@ -5130,7 +5136,7 @@ static int pose_clear_transform_generic_exec(bContext *C, wmOperator *op,
}
/* only clear relevant transforms for selected bones */
- CTX_DATA_BEGIN (C, bPoseChannel *, pchan, selected_pose_bones)
+ CTX_DATA_BEGIN(C, bPoseChannel *, pchan, selected_pose_bones)
{
/* run provided clearing function */
clear_func(pchan);
@@ -5265,6 +5271,8 @@ static int pose_de_select_all_exec(bContext *C, wmOperator *op)
int action = RNA_enum_get(op->ptr, "action");
Scene *scene = CTX_data_scene(C);
+ Object *ob = ED_object_context(C);
+ bArmature *arm = ob->data;
int multipaint = scene->toolsettings->multipaint;
if (action == SEL_TOGGLE) {
@@ -5272,7 +5280,7 @@ static int pose_de_select_all_exec(bContext *C, wmOperator *op)
}
/* Set the flags */
- CTX_DATA_BEGIN (C, bPoseChannel *, pchan, visible_pose_bones)
+ CTX_DATA_BEGIN(C, bPoseChannel *, pchan, visible_pose_bones)
{
/* select pchan only if selectable, but deselect works always */
switch (action) {
@@ -5297,8 +5305,8 @@ static int pose_de_select_all_exec(bContext *C, wmOperator *op)
WM_event_add_notifier(C, NC_OBJECT | ND_BONE_SELECT, NULL);
- if (multipaint) {
- Object *ob = ED_object_context(C);
+ /* weightpaint or mask modifiers need depsgraph updates */
+ if (multipaint || (arm->flag & ARM_HAS_VIZ_DEPS)) {
DAG_id_tag_update(&ob->id, OB_RECALC_DATA);
}
@@ -5325,12 +5333,12 @@ void POSE_OT_select_all(wmOperatorType *ot)
static int pose_select_parent_exec(bContext *C, wmOperator *UNUSED(op))
{
Object *ob = BKE_object_pose_armature_get(CTX_data_active_object(C));
+ bArmature *arm = (bArmature *)ob->data;
bPoseChannel *pchan, *parent;
- /* Determine if there is an active bone */
+ /* Determine if there is an active bone */
pchan = CTX_data_active_pose_bone(C);
if (pchan) {
- bArmature *arm = ob->data;
parent = pchan->parent;
if ((parent) && !(parent->bone->flag & (BONE_HIDDEN_P | BONE_UNSELECTABLE))) {
parent->bone->flag |= BONE_SELECTED;
@@ -5343,9 +5351,15 @@ static int pose_select_parent_exec(bContext *C, wmOperator *UNUSED(op))
else {
return OPERATOR_CANCELLED;
}
-
+
+ /* updates */
WM_event_add_notifier(C, NC_OBJECT | ND_BONE_SELECT, ob);
+ if (arm->flag & ARM_HAS_VIZ_DEPS) {
+ /* mask modifier ('armature' mode), etc. */
+ DAG_id_tag_update(&ob->id, OB_RECALC_DATA);
+ }
+
return OPERATOR_FINISHED;
}
@@ -5662,7 +5676,7 @@ static int armature_flip_names_exec(bContext *C, wmOperator *UNUSED(op))
arm = ob->data;
/* loop through selected bones, auto-naming them */
- CTX_DATA_BEGIN (C, EditBone *, ebone, selected_editable_bones)
+ CTX_DATA_BEGIN(C, EditBone *, ebone, selected_editable_bones)
{
flip_side_name(newname, ebone->name, TRUE); // 1 = do strip off number extensions
ED_armature_bone_rename(arm, ebone->name, newname);
@@ -5707,7 +5721,7 @@ static int armature_autoside_names_exec(bContext *C, wmOperator *op)
arm = ob->data;
/* loop through selected bones, auto-naming them */
- CTX_DATA_BEGIN (C, EditBone *, ebone, selected_editable_bones)
+ CTX_DATA_BEGIN(C, EditBone *, ebone, selected_editable_bones)
{
BLI_strncpy(newname, ebone->name, sizeof(newname));
if (bone_autoside_name(newname, 1, axis, ebone->head[axis], ebone->tail[axis]))
@@ -5730,7 +5744,8 @@ void ARMATURE_OT_autoside_names(wmOperatorType *ot)
{0, "XAXIS", 0, "X-Axis", "Left/Right"},
{1, "YAXIS", 0, "Y-Axis", "Front/Back"},
{2, "ZAXIS", 0, "Z-Axis", "Top/Bottom"},
- {0, NULL, 0, NULL, NULL}};
+ {0, NULL, 0, NULL, NULL}
+ };
/* identifiers */
ot->name = "AutoName by Axis";
diff --git a/source/blender/editors/armature/editarmature_generate.c b/source/blender/editors/armature/editarmature_generate.c
index 7f966dbc884..23dd3b15476 100644
--- a/source/blender/editors/armature/editarmature_generate.c
+++ b/source/blender/editors/armature/editarmature_generate.c
@@ -50,7 +50,7 @@
#include "armature_intern.h"
#include "BIF_generate.h"
-void setBoneRollFromNormal(EditBone *bone, float *no, float UNUSED(invmat[][4]), float tmat[][3])
+void setBoneRollFromNormal(EditBone *bone, const float no[3], float UNUSED(invmat[][4]), float tmat[][3])
{
if (no != NULL && !is_zero_v3(no)) {
float normal[3];
diff --git a/source/blender/editors/armature/editarmature_retarget.c b/source/blender/editors/armature/editarmature_retarget.c
index d90bd96a6f1..91c342ec070 100644
--- a/source/blender/editors/armature/editarmature_retarget.c
+++ b/source/blender/editors/armature/editarmature_retarget.c
@@ -81,20 +81,17 @@ typedef struct RetargetParam {
bContext *context;
} RetargetParam;
-typedef enum
-{
+typedef enum {
RETARGET_LENGTH,
RETARGET_AGGRESSIVE
} RetargetMode;
-typedef enum
-{
+typedef enum {
METHOD_BRUTE_FORCE = 0,
METHOD_MEMOIZE = 1
} RetargetMethod;
-typedef enum
-{
+typedef enum {
ARC_FREE = 0,
ARC_TAKEN = 1,
ARC_USED = 2
diff --git a/source/blender/editors/armature/poselib.c b/source/blender/editors/armature/poselib.c
index 36c15c50809..18e3d967835 100644
--- a/source/blender/editors/armature/poselib.c
+++ b/source/blender/editors/armature/poselib.c
@@ -1236,7 +1236,7 @@ static int poselib_preview_handle_event(bContext *UNUSED(C), wmOperator *op, wmE
case PAD5: case PAD6: case PAD7: case PAD8: case PAD9:
case PADPLUSKEY: case PADMINUS:
case MIDDLEMOUSE: case MOUSEMOVE:
- //pld->redraw= PL_PREVIEW_REDRAWHEADER;
+ //pld->redraw = PL_PREVIEW_REDRAWHEADER;
ret = OPERATOR_PASS_THROUGH;
break;
@@ -1365,7 +1365,7 @@ static int poselib_preview_handle_event(bContext *UNUSED(C), wmOperator *op, wmE
* even though we still maintain control (as RUNNING_MODAL flag is still set too)
*/
case MIDDLEMOUSE: case MOUSEMOVE:
- //pld->redraw= PL_PREVIEW_REDRAWHEADER;
+ //pld->redraw = PL_PREVIEW_REDRAWHEADER;
ret = OPERATOR_PASS_THROUGH;
break;
@@ -1379,7 +1379,7 @@ static int poselib_preview_handle_event(bContext *UNUSED(C), wmOperator *op, wmE
}
else {
/* view manipulation (see above) */
- //pld->redraw= PL_PREVIEW_REDRAWHEADER;
+ //pld->redraw = PL_PREVIEW_REDRAWHEADER;
ret = OPERATOR_PASS_THROUGH;
}
break;
diff --git a/source/blender/editors/armature/poseobject.c b/source/blender/editors/armature/poseobject.c
index df970171a54..9bcbf313f13 100644
--- a/source/blender/editors/armature/poseobject.c
+++ b/source/blender/editors/armature/poseobject.c
@@ -119,8 +119,8 @@ void ED_armature_exit_posemode(bContext *C, Base *base)
}
}
-/* if a selected or active bone is protected, throw error (oonly if warn==1) and return 1 */
-/* only_selected==1 : the active bone is allowed to be protected */
+/* if a selected or active bone is protected, throw error (oonly if warn == 1) and return 1 */
+/* only_selected == 1: the active bone is allowed to be protected */
#if 0 /* UNUSED 2.5 */
static short pose_has_protected_selected(Object *ob, short warn)
{
@@ -391,6 +391,7 @@ void POSE_OT_paths_clear(wmOperatorType *ot)
static int pose_select_constraint_target_exec(bContext *C, wmOperator *UNUSED(op))
{
Object *ob = BKE_object_pose_armature_get(CTX_data_active_object(C));
+ bArmature *arm = (bArmature *)ob->data;
bConstraint *con;
int found = 0;
@@ -422,12 +423,18 @@ static int pose_select_constraint_target_exec(bContext *C, wmOperator *UNUSED(op
}
}
CTX_DATA_END;
-
+
if (!found)
return OPERATOR_CANCELLED;
-
+
+ /* updates */
WM_event_add_notifier(C, NC_OBJECT | ND_BONE_SELECT, ob);
-
+
+ if (arm->flag & ARM_HAS_VIZ_DEPS) {
+ /* mask modifier ('armature' mode), etc. */
+ DAG_id_tag_update(&ob->id, OB_RECALC_DATA);
+ }
+
return OPERATOR_FINISHED;
}
@@ -477,7 +484,6 @@ static int pose_select_hierarchy_exec(bContext *C, wmOperator *op)
}
}
else { /* direction == BONE_SELECT_CHILD */
-
/* the child member is only assigned to connected bones, see [#30340] */
#if 0
if (pchan->child == NULL) continue;
@@ -518,9 +524,15 @@ static int pose_select_hierarchy_exec(bContext *C, wmOperator *op)
if (found == 0)
return OPERATOR_CANCELLED;
-
+
+ /* updates */
WM_event_add_notifier(C, NC_OBJECT | ND_BONE_SELECT, ob);
-
+
+ if (arm->flag & ARM_HAS_VIZ_DEPS) {
+ /* mask modifier ('armature' mode), etc. */
+ DAG_id_tag_update(&ob->id, OB_RECALC_DATA);
+ }
+
return OPERATOR_FINISHED;
}
@@ -547,7 +559,6 @@ void POSE_OT_select_hierarchy(wmOperatorType *ot)
/* props */
ot->prop = RNA_def_enum(ot->srna, "direction", direction_items, BONE_SELECT_PARENT, "Direction", "");
RNA_def_boolean(ot->srna, "extend", 0, "Add to Selection", "");
-
}
/* ******************* select grouped operator ************* */
@@ -571,7 +582,7 @@ static short pose_select_same_group(bContext *C, Object *ob, short extend)
/* alloc a small array to keep track of the groups to use
* - each cell stores on/off state for whether group should be used
- * - size is numGroups + 1, since index=0 is used for no-group
+ * - size is (numGroups + 1), since (index = 0) is used for no-group
*/
group_flags = MEM_callocN(numGroups + 1, "pose_select_same_group");
@@ -711,6 +722,7 @@ static int pose_select_same_keyingset(bContext *C, Object *ob, short extend)
static int pose_select_grouped_exec(bContext *C, wmOperator *op)
{
Object *ob = BKE_object_pose_armature_get(CTX_data_active_object(C));
+ bArmature *arm = (bArmature *)ob->data;
short extend = RNA_boolean_get(op->ptr, "extend");
short changed = 0;
@@ -736,6 +748,11 @@ static int pose_select_grouped_exec(bContext *C, wmOperator *op)
/* notifiers for updates */
WM_event_add_notifier(C, NC_OBJECT | ND_POSE, ob);
+ if (arm->flag & ARM_HAS_VIZ_DEPS) {
+ /* mask modifier ('armature' mode), etc. */
+ DAG_id_tag_update(&ob->id, OB_RECALC_DATA);
+ }
+
/* report done status */
if (changed)
return OPERATOR_FINISHED;
diff --git a/source/blender/editors/armature/reeb.c b/source/blender/editors/armature/reeb.c
index a629312e732..20b95ea55d6 100644
--- a/source/blender/editors/armature/reeb.c
+++ b/source/blender/editors/armature/reeb.c
@@ -475,8 +475,8 @@ static void NodeDegreeIncrement(ReebGraph *UNUSED(rg), ReebNode *node)
}
#else
-#define NodeDegreeDecrement(rg, node) {node->degree--; }
-#define NodeDegreeIncrement(rg, node) {node->degree++; }
+# define NodeDegreeDecrement(rg, node) {node->degree--; } (void)0
+# define NodeDegreeIncrement(rg, node) {node->degree++; } (void)0
#endif
void repositionNodes(ReebGraph *rg)
diff --git a/source/blender/editors/curve/curve_ops.c b/source/blender/editors/curve/curve_ops.c
index dea7ccb161d..27c40095348 100644
--- a/source/blender/editors/curve/curve_ops.c
+++ b/source/blender/editors/curve/curve_ops.c
@@ -141,14 +141,14 @@ void ED_operatormacros_curve(void)
wmOperatorTypeMacro *otmacro;
ot = WM_operatortype_append_macro("CURVE_OT_duplicate_move", "Add Duplicate", "Duplicate curve and move",
- OPTYPE_UNDO|OPTYPE_REGISTER);
+ OPTYPE_UNDO | OPTYPE_REGISTER);
WM_operatortype_macro_define(ot, "CURVE_OT_duplicate");
otmacro = WM_operatortype_macro_define(ot, "TRANSFORM_OT_translate");
RNA_enum_set(otmacro->ptr, "proportional", 0);
RNA_boolean_set(otmacro->ptr, "mirror", FALSE);
ot = WM_operatortype_append_macro("CURVE_OT_extrude_move", "Extrude Curve and Move",
- "Extrude curve and move result", OPTYPE_UNDO|OPTYPE_REGISTER);
+ "Extrude curve and move result", OPTYPE_UNDO | OPTYPE_REGISTER);
WM_operatortype_macro_define(ot, "CURVE_OT_extrude");
otmacro = WM_operatortype_macro_define(ot, "TRANSFORM_OT_translate");
RNA_enum_set(otmacro->ptr, "proportional", 0);
@@ -189,8 +189,8 @@ void ED_keymap_curve(wmKeyConfig *keyconf)
RNA_enum_set(WM_keymap_add_item(keymap, "FONT_OT_move_select", ENDKEY, KM_PRESS, KM_SHIFT, 0)->ptr, "type", LINE_END);
RNA_enum_set(WM_keymap_add_item(keymap, "FONT_OT_move_select", LEFTARROWKEY, KM_PRESS, KM_SHIFT, 0)->ptr, "type", PREV_CHAR);
RNA_enum_set(WM_keymap_add_item(keymap, "FONT_OT_move_select", RIGHTARROWKEY, KM_PRESS, KM_SHIFT, 0)->ptr, "type", NEXT_CHAR);
- RNA_enum_set(WM_keymap_add_item(keymap, "FONT_OT_move_select", LEFTARROWKEY, KM_PRESS, KM_SHIFT|KM_CTRL, 0)->ptr, "type", PREV_WORD);
- RNA_enum_set(WM_keymap_add_item(keymap, "FONT_OT_move_select", RIGHTARROWKEY, KM_PRESS, KM_SHIFT|KM_CTRL, 0)->ptr, "type", NEXT_WORD);
+ RNA_enum_set(WM_keymap_add_item(keymap, "FONT_OT_move_select", LEFTARROWKEY, KM_PRESS, KM_SHIFT | KM_CTRL, 0)->ptr, "type", PREV_WORD);
+ RNA_enum_set(WM_keymap_add_item(keymap, "FONT_OT_move_select", RIGHTARROWKEY, KM_PRESS, KM_SHIFT | KM_CTRL, 0)->ptr, "type", NEXT_WORD);
RNA_enum_set(WM_keymap_add_item(keymap, "FONT_OT_move_select", UPARROWKEY, KM_PRESS, KM_SHIFT, 0)->ptr, "type", PREV_LINE);
RNA_enum_set(WM_keymap_add_item(keymap, "FONT_OT_move_select", DOWNARROWKEY, KM_PRESS, KM_SHIFT, 0)->ptr, "type", NEXT_LINE);
RNA_enum_set(WM_keymap_add_item(keymap, "FONT_OT_move_select", PAGEUPKEY, KM_PRESS, KM_SHIFT, 0)->ptr, "type", PREV_PAGE);
@@ -224,9 +224,9 @@ void ED_keymap_curve(wmKeyConfig *keyconf)
WM_keymap_add_item(keymap, "CURVE_OT_vertex_add", LEFTMOUSE, KM_CLICK, KM_CTRL, 0);
kmi = WM_keymap_add_item(keymap, "CURVE_OT_select_all", AKEY, KM_PRESS, 0, 0);
- RNA_enum_set(kmi->ptr, "action", SEL_TOGGLE);
+ RNA_enum_set(kmi->ptr, "action", SEL_TOGGLE);
kmi = WM_keymap_add_item(keymap, "CURVE_OT_select_all", IKEY, KM_PRESS, KM_CTRL, 0);
- RNA_enum_set(kmi->ptr, "action", SEL_INVERT);
+ RNA_enum_set(kmi->ptr, "action", SEL_INVERT);
WM_keymap_add_item(keymap, "CURVE_OT_select_row", RKEY, KM_PRESS, KM_SHIFT, 0);
WM_keymap_add_item(keymap, "CURVE_OT_select_more", PADPLUSKEY, KM_PRESS, KM_CTRL, 0);
@@ -264,6 +264,7 @@ void ED_keymap_curve(wmKeyConfig *keyconf)
/* menus */
WM_keymap_add_menu(keymap, "VIEW3D_MT_hook", HKEY, KM_PRESS, KM_CTRL, 0);
- ED_object_generic_keymap(keyconf, keymap, 3);
+ ED_keymap_proportional_cycle(keyconf, keymap);
+ ED_keymap_proportional_editmode(keyconf, keymap, TRUE);
}
diff --git a/source/blender/editors/curve/editcurve.c b/source/blender/editors/curve/editcurve.c
index 431ce15a26d..2fa7b4b2126 100644
--- a/source/blender/editors/curve/editcurve.c
+++ b/source/blender/editors/curve/editcurve.c
@@ -356,6 +356,11 @@ static CVKeyIndex *getCVKeyIndex(EditNurb *editnurb, void *cv)
return BLI_ghash_lookup(editnurb->keyindex, cv);
}
+static CVKeyIndex *popCVKeyIndex(EditNurb *editnurb, void *cv)
+{
+ return BLI_ghash_pop(editnurb->keyindex, cv, NULL);
+}
+
static BezTriple *getKeyIndexOrig_bezt(EditNurb *editnurb, BezTriple *bezt)
{
CVKeyIndex *index = getCVKeyIndex(editnurb, bezt);
@@ -459,9 +464,7 @@ static void keyIndex_updateCV(EditNurb *editnurb, char *cv,
}
for (i = 0; i < count; i++) {
- index = getCVKeyIndex(editnurb, cv);
-
- BLI_ghash_remove(editnurb->keyindex, cv, NULL, NULL);
+ index = popCVKeyIndex(editnurb, cv);
if (index) {
BLI_ghash_insert(editnurb->keyindex, newcv, index);
@@ -496,11 +499,8 @@ static void keyIndex_updateNurb(EditNurb *editnurb, Nurb *nu, Nurb *newnu)
static void keyIndex_swap(EditNurb *editnurb, void *a, void *b)
{
- CVKeyIndex *index1 = getCVKeyIndex(editnurb, a);
- CVKeyIndex *index2 = getCVKeyIndex(editnurb, b);
-
- BLI_ghash_remove(editnurb->keyindex, a, NULL, NULL);
- BLI_ghash_remove(editnurb->keyindex, b, NULL, NULL);
+ CVKeyIndex *index1 = popCVKeyIndex(editnurb, a);
+ CVKeyIndex *index2 = popCVKeyIndex(editnurb, b);
if (index2) BLI_ghash_insert(editnurb->keyindex, a, index2);
if (index1) BLI_ghash_insert(editnurb->keyindex, b, index1);
@@ -1448,7 +1448,7 @@ static short isNurbselUV(Nurb *nu, int *u, int *v, int flag)
if (*u == -1) *u = b;
else return 0;
}
- else if (sel > 1) return 0; /* because sel==1 is still ok */
+ else if (sel > 1) return 0; /* because sel == 1 is still ok */
}
for (a = 0; a < nu->pntsu; a++) {
@@ -2965,7 +2965,7 @@ static void subdividenurb(Object *obedit, int number_cuts)
BKE_nurb_knot_calc_u(nu);
}
}
- } /* End of 'else if (nu->pntsv==1)' */
+ } /* End of 'else if (nu->pntsv == 1)' */
else if (nu->type == CU_NURBS) {
/* This is a very strange test ... */
/**
@@ -3085,7 +3085,7 @@ static void subdividenurb(Object *obedit, int number_cuts)
nu->pntsv = (number_cuts + 1) * nu->pntsv - number_cuts;
BKE_nurb_knot_calc_u(nu);
BKE_nurb_knot_calc_v(nu);
- } /* End of 'if (sel== nu->pntsu*nu->pntsv)' (subdivide entire NURB) */
+ } /* End of 'if (sel == nu->pntsu*nu->pntsv)' (subdivide entire NURB) */
else {
/* subdivide in v direction? */
sel = 0;
@@ -3258,7 +3258,7 @@ static void findnearestNurbvert__doClosest(void *userData, Nurb *nu, BPoint *bp,
static short findnearestNurbvert(ViewContext *vc, short sel, const int mval[2], Nurb **nurb, BezTriple **bezt, BPoint **bp)
{
- /* sel==1: selected gets a disadvantage */
+ /* (sel == 1): selected gets a disadvantage */
/* in nurb and bezt or bp the nearest is written */
/* return 0 1 2: handlepunt */
struct { BPoint *bp; BezTriple *bezt; Nurb *nurb; int dist, hpoint, select, mval[2]; } data = {NULL};
@@ -3530,7 +3530,8 @@ void CURVE_OT_spline_type_set(wmOperatorType *ot)
// {CU_CARDINAL, "CARDINAL", 0, "Cardinal", ""},
// {CU_BSPLINE, "B_SPLINE", 0, "B-Spline", ""},
{CU_NURBS, "NURBS", 0, "NURBS", ""},
- {0, NULL, 0, NULL, NULL}};
+ {0, NULL, 0, NULL, NULL}
+ };
/* identifiers */
ot->name = "Set Spline Type";
@@ -3573,7 +3574,8 @@ void CURVE_OT_handle_type_set(wmOperatorType *ot)
{5, "ALIGNED", 0, "Aligned", ""},
{6, "FREE_ALIGN", 0, "Free", ""},
{3, "TOGGLE_FREE_ALIGN", 0, "Toggle Free/Align", ""},
- {0, NULL, 0, NULL, NULL}};
+ {0, NULL, 0, NULL, NULL}
+ };
/* identifiers */
ot->name = "Set Handle Type";
@@ -3765,8 +3767,8 @@ static void merge_2_nurb(wmOperator *op, ListBase *editnurb, Nurb *nu1, Nurb *nu
if (is_u_selected(nu1, nu1->pntsu - 1) ) ;
else {
- /* For 2D curves blender uses orderv=0. It doesn't make any sense mathematically. */
- /* but after rotating orderu=0 will be confusing. */
+ /* For 2D curves blender uses (orderv = 0). It doesn't make any sense mathematically. */
+ /* but after rotating (orderu = 0) will be confusing. */
if (nu1->orderv == 0) nu1->orderv = 1;
rotate_direction_nurb(nu1);
@@ -4886,7 +4888,8 @@ void CURVE_OT_cyclic_toggle(wmOperatorType *ot)
static EnumPropertyItem direction_items[] = {
{0, "CYCLIC_U", 0, "Cyclic U", ""},
{1, "CYCLIC_V", 0, "Cyclic V", ""},
- {0, NULL, 0, NULL, NULL}};
+ {0, NULL, 0, NULL, NULL}
+ };
/* identifiers */
ot->name = "Toggle Cyclic";
@@ -6007,7 +6010,8 @@ void CURVE_OT_delete(wmOperatorType *ot)
{0, "SELECTED", 0, "Select", ""},
{1, "SEGMENT", 0, "Segment", ""},
{2, "ALL", 0, "All", ""},
- {0, NULL, 0, NULL, NULL}};
+ {0, NULL, 0, NULL, NULL}
+ };
/* identifiers */
ot->name = "Delete";
@@ -6101,7 +6105,7 @@ int join_curve_exec(bContext *C, wmOperator *UNUSED(op))
/* trasnform all selected curves inverse in obact */
invert_m4_m4(imat, ob->obmat);
- CTX_DATA_BEGIN (C, Base *, base, selected_editable_bases)
+ CTX_DATA_BEGIN(C, Base *, base, selected_editable_bases)
{
if (base->object->type == ob->type) {
if (base->object != ob) {
diff --git a/source/blender/editors/curve/lorem.c b/source/blender/editors/curve/lorem.c
index 66b358e04e5..7823be3df6d 100644
--- a/source/blender/editors/curve/lorem.c
+++ b/source/blender/editors/curve/lorem.c
@@ -25,7 +25,7 @@
#include "curve_intern.h"
-const char ED_lorem[]= {
+const char ED_lorem[] = {
76, 111, 114, 101, 109, 32, 105, 112, 115, 117, 109, 32, 100, 111, 108, 111, 114, 32, 115, 105, 116, 32, 97, 109, 101, 116, 44, 32, 99,
111, 110, 115, 101, 99, 116, 101, 116, 117, 101, 114, 32, 97, 100, 105, 112, 105, 115, 99, 105, 110, 103, 32, 101, 108, 105, 116, 46, 32, 65, 108, 105,
113, 117, 97, 109, 32, 116, 114, 105, 115, 116, 105, 113, 117, 101, 32, 105, 110, 116, 101, 114, 100, 117, 109, 32, 115, 101, 109, 46, 32, 78, 117, 108,
diff --git a/source/blender/editors/datafiles/Bfont.c b/source/blender/editors/datafiles/Bfont.c
index 969bc5a844d..30126c97d34 100644
--- a/source/blender/editors/datafiles/Bfont.c
+++ b/source/blender/editors/datafiles/Bfont.c
@@ -30,8 +30,8 @@
* \brief DataToC output of file <Bfont>
*/
-int datatoc_Bfont_size= 25181;
-char datatoc_Bfont[25181]= {
+int datatoc_Bfont_size = 25181;
+char datatoc_Bfont[25181] = {
128, 1, 228, 1, 0, 0, 37, 33, 80, 83, 45, 65, 100, 111, 98, 101,
70, 111, 110, 116, 45, 49, 46, 48, 58, 32, 66, 102, 111, 110, 116, 32,
48, 48, 49, 46, 48, 48, 49, 10, 49, 49, 32, 100, 105, 99, 116, 32,
diff --git a/source/blender/editors/datafiles/startup.blend.c b/source/blender/editors/datafiles/startup.blend.c
index 2a1d3a602d8..7337ab8c4e9 100644
--- a/source/blender/editors/datafiles/startup.blend.c
+++ b/source/blender/editors/datafiles/startup.blend.c
@@ -1,14 +1,13 @@
/* DataToC output of file <startup_blend> */
-int datatoc_startup_blend_size = 375392;
+int datatoc_startup_blend_size = 379676;
char datatoc_startup_blend[] = {
-
- 66, 76, 69, 78, 68, 69, 82, 45,118, 50, 54, 51, 82, 69, 78, 68, 72, 0, 0, 0, 0,201,255,255,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,
+ 66, 76, 69, 78, 68, 69, 82, 45,118, 50, 54, 51, 82, 69, 78, 68, 72, 0, 0, 0,144,195,255,255,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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 76, 79, 66, 48, 4, 0, 0, 16,197,255,255,255,127, 0, 0,217, 0, 0, 0,
- 1, 0, 0, 0, 32, 32, 32, 54, 6, 0, 0, 0,250, 0, 0, 0, 1, 0, 0, 1,104, 63,166, 5, 0, 0, 0, 0,120,184,168, 5,
- 0, 0, 0, 0, 0, 16, 0, 0,128, 32, 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, 71, 76, 79, 66, 48, 4, 0, 0,160,191,255,255,255,127, 0, 0,
+218, 0, 0, 0, 1, 0, 0, 0, 32, 32, 32, 56, 8, 0, 0, 0,250, 0, 0, 0, 1, 0, 0, 1,184,100,201, 4, 0, 0, 0, 0,
+ 40, 92,222, 4, 0, 0, 0, 0, 0, 16, 0, 0,128, 32, 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,
@@ -40,1149 +39,1158 @@ char datatoc_startup_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, 0, 0, 0, 0, 0, 0, 0, 0, 87, 77, 0, 0, 88, 1, 0, 0, 40, 39,147, 5,
- 0, 0, 0, 0,154, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 77, 0, 0, 88, 1, 0, 0,
+248,149,200, 4, 0, 0, 0, 0,154, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 40,147, 5, 0, 0, 0, 0,200, 40,147, 5,
- 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, 16, 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, 0, 0, 0, 0,
- 0, 0, 0, 0,216,151, 87, 4, 0, 0, 0, 0,184,153, 87, 4, 0, 0, 0, 0,216,151, 87, 4, 0, 0, 0, 0,200,152, 87, 4,
- 0, 0, 0, 0,184,153, 87, 4, 0, 0, 0, 0,216,227,132, 5, 0, 0, 0, 0,216,227,132, 5, 0, 0, 0, 0,216,227,132, 5,
- 0, 0, 0, 0, 68, 65, 84, 65, 0, 1, 0, 0,200, 40,147, 5, 0, 0, 0, 0,155, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32,155, 87, 4, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,104, 63,166, 5,
- 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 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, 32, 4, 0, 0, 0, 0, 0, 0,238, 3, 0, 0, 0, 0,
- 0, 0, 0, 0,120,111,103, 4, 0, 0, 0, 0,104,117,132, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,
- 0, 0, 0, 0,216, 88,117, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104,125,123, 5,
- 0, 0, 0, 0,200,123,123, 5, 0, 0, 0, 0,152,124,123, 5, 0, 0, 0, 0,152,124,123, 5, 0, 0, 0, 0,104,117,132, 5,
- 0, 0, 0, 0, 40, 68,137, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 78, 0, 0,
- 8, 1, 0, 0, 24, 42,147, 5, 0, 0, 0, 0,211, 0, 0, 0, 1, 0, 0, 0,248,134,147, 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, 83, 82, 65,110,105,109, 97,116,105,111,110, 0,
- 46, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 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, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104,137, 95, 4, 0, 0, 0, 0,216, 43,147, 5, 0, 0, 0, 0, 72, 44,147, 5,
- 0, 0, 0, 0,136, 56,147, 5, 0, 0, 0, 0,248, 56,147, 5, 0, 0, 0, 0,184,125,147, 5, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,184,168, 5, 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, 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,
- 32, 0, 0, 0,104,137, 95, 4, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,104, 44,140, 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, 68, 65, 84, 65, 32, 0, 0, 0,104, 44,140, 5,
- 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 24, 48,137, 5, 0, 0, 0, 0,104,137, 95, 4, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,222, 2, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 24, 48,137, 5, 0, 0, 0, 0,212, 0, 0, 0,
- 1, 0, 0, 0,136,135,137, 5, 0, 0, 0, 0,104, 44,140, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 4,222, 2,
- 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,136,135,137, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,168,152,137, 5,
- 0, 0, 0, 0, 24, 48,137, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 4, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 32, 0, 0, 0,168,152,137, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 88, 56,135, 5, 0, 0, 0, 0,136,135,137, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,195, 2, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 88, 56,135, 5,
- 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 8, 61,135, 5, 0, 0, 0, 0,168,152,137, 5, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,240, 4,195, 2, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 8, 61,135, 5, 0, 0, 0, 0,212, 0, 0, 0,
- 1, 0, 0, 0, 40, 76,135, 5, 0, 0, 0, 0, 88, 56,135, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 4, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 40, 76,135, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,184, 88,135, 5,
- 0, 0, 0, 0, 8, 61,135, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 4,195, 2, 1, 0, 0, 0, 68, 65, 84, 65,
- 32, 0, 0, 0,184, 88,135, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,248,104,133, 5, 0, 0, 0, 0, 40, 76,135, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 4, 60, 1, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,248,104,133, 5,
- 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 72,225,140, 5, 0, 0, 0, 0,184, 88,135, 5, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,240, 4, 60, 1, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 72,225,140, 5, 0, 0, 0, 0,212, 0, 0, 0,
- 1, 0, 0, 0,152, 68,137, 5, 0, 0, 0, 0,248,104,133, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,152, 68,137, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,248,164,137, 5,
- 0, 0, 0, 0, 72,225,140, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 4, 88, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 32, 0, 0, 0,248,164,137, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,216,144,139, 5, 0, 0, 0, 0,152, 68,137, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192, 1, 88, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,216,144,139, 5,
- 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,152,213,132, 5, 0, 0, 0, 0,248,164,137, 5, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,192, 1,195, 2, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,152,213,132, 5, 0, 0, 0, 0,212, 0, 0, 0,
- 1, 0, 0, 0,168,134,139, 5, 0, 0, 0, 0,216,144,139, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1,
- 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,168,134,139, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,104, 43,147, 5,
- 0, 0, 0, 0,152,213,132, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192, 1, 4, 1, 0, 0, 0, 0, 68, 65, 84, 65,
- 32, 0, 0, 0,104, 43,147, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,216, 43,147, 5, 0, 0, 0, 0,168,134,139, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 4, 60, 2, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,216, 43,147, 5,
- 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104, 43,147, 5, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,240, 4, 60, 2, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 72, 44,147, 5, 0, 0, 0, 0,213, 0, 0, 0,
- 1, 0, 0, 0,184, 44,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 48,137, 5, 0, 0, 0, 0,104, 44,140, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,184, 44,147, 5, 0, 0, 0, 0,213, 0, 0, 0,
- 1, 0, 0, 0, 40, 45,147, 5, 0, 0, 0, 0, 72, 44,147, 5, 0, 0, 0, 0,168,152,137, 5, 0, 0, 0, 0,104, 44,140, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 40, 45,147, 5, 0, 0, 0, 0,213, 0, 0, 0,
- 1, 0, 0, 0,152, 45,147, 5, 0, 0, 0, 0,184, 44,147, 5, 0, 0, 0, 0, 88, 56,135, 5, 0, 0, 0, 0, 24, 48,137, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,152, 45,147, 5, 0, 0, 0, 0,213, 0, 0, 0,
- 1, 0, 0, 0, 8, 46,147, 5, 0, 0, 0, 0, 40, 45,147, 5, 0, 0, 0, 0, 88, 56,135, 5, 0, 0, 0, 0,168,152,137, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 8, 46,147, 5, 0, 0, 0, 0,213, 0, 0, 0,
- 1, 0, 0, 0,120, 46,147, 5, 0, 0, 0, 0,152, 45,147, 5, 0, 0, 0, 0,104,137, 95, 4, 0, 0, 0, 0, 8, 61,135, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,120, 46,147, 5, 0, 0, 0, 0,213, 0, 0, 0,
- 1, 0, 0, 0,232, 46,147, 5, 0, 0, 0, 0, 8, 46,147, 5, 0, 0, 0, 0, 8, 61,135, 5, 0, 0, 0, 0,136,135,137, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,232, 46,147, 5, 0, 0, 0, 0,213, 0, 0, 0,
- 1, 0, 0, 0, 88, 47,147, 5, 0, 0, 0, 0,120, 46,147, 5, 0, 0, 0, 0, 88, 56,135, 5, 0, 0, 0, 0, 40, 76,135, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 88, 47,147, 5, 0, 0, 0, 0,213, 0, 0, 0,
- 1, 0, 0, 0,200, 47,147, 5, 0, 0, 0, 0,232, 46,147, 5, 0, 0, 0, 0, 8, 61,135, 5, 0, 0, 0, 0,184, 88,135, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,200, 47,147, 5, 0, 0, 0, 0,213, 0, 0, 0,
- 1, 0, 0, 0, 56, 48,147, 5, 0, 0, 0, 0, 88, 47,147, 5, 0, 0, 0, 0,248,104,133, 5, 0, 0, 0, 0,136,135,137, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 56, 48,147, 5, 0, 0, 0, 0,213, 0, 0, 0,
- 1, 0, 0, 0,168, 48,147, 5, 0, 0, 0, 0,200, 47,147, 5, 0, 0, 0, 0,248,104,133, 5, 0, 0, 0, 0,184, 88,135, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,168, 48,147, 5, 0, 0, 0, 0,213, 0, 0, 0,
- 1, 0, 0, 0, 24, 49,147, 5, 0, 0, 0, 0, 56, 48,147, 5, 0, 0, 0, 0,104,137, 95, 4, 0, 0, 0, 0, 72,225,140, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 24, 49,147, 5, 0, 0, 0, 0,213, 0, 0, 0,
- 1, 0, 0, 0,136, 49,147, 5, 0, 0, 0, 0,168, 48,147, 5, 0, 0, 0, 0, 40, 76,135, 5, 0, 0, 0, 0,152, 68,137, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,136, 49,147, 5, 0, 0, 0, 0,213, 0, 0, 0,
- 1, 0, 0, 0,248, 49,147, 5, 0, 0, 0, 0, 24, 49,147, 5, 0, 0, 0, 0, 8, 61,135, 5, 0, 0, 0, 0,152, 68,137, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,248, 49,147, 5, 0, 0, 0, 0,213, 0, 0, 0,
- 1, 0, 0, 0,104, 50,147, 5, 0, 0, 0, 0,136, 49,147, 5, 0, 0, 0, 0,152, 68,137, 5, 0, 0, 0, 0, 72,225,140, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,104, 50,147, 5, 0, 0, 0, 0,213, 0, 0, 0,
- 1, 0, 0, 0,216, 50,147, 5, 0, 0, 0, 0,248, 49,147, 5, 0, 0, 0, 0,248,164,137, 5, 0, 0, 0, 0, 72,225,140, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,216, 50,147, 5, 0, 0, 0, 0,213, 0, 0, 0,
- 1, 0, 0, 0, 72, 51,147, 5, 0, 0, 0, 0,104, 50,147, 5, 0, 0, 0, 0,152, 68,137, 5, 0, 0, 0, 0,248,164,137, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 72, 51,147, 5, 0, 0, 0, 0,213, 0, 0, 0,
- 1, 0, 0, 0,184, 51,147, 5, 0, 0, 0, 0,216, 50,147, 5, 0, 0, 0, 0,168,152,137, 5, 0, 0, 0, 0,216,144,139, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,184, 51,147, 5, 0, 0, 0, 0,213, 0, 0, 0,
- 1, 0, 0, 0, 40, 52,147, 5, 0, 0, 0, 0, 72, 51,147, 5, 0, 0, 0, 0, 40, 76,135, 5, 0, 0, 0, 0,216,144,139, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 40, 52,147, 5, 0, 0, 0, 0,213, 0, 0, 0,
- 1, 0, 0, 0,152, 52,147, 5, 0, 0, 0, 0,184, 51,147, 5, 0, 0, 0, 0,248,164,137, 5, 0, 0, 0, 0,216,144,139, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,152, 52,147, 5, 0, 0, 0, 0,213, 0, 0, 0,
- 1, 0, 0, 0, 8, 53,147, 5, 0, 0, 0, 0, 40, 52,147, 5, 0, 0, 0, 0,152,213,132, 5, 0, 0, 0, 0, 72,225,140, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 8, 53,147, 5, 0, 0, 0, 0,213, 0, 0, 0,
- 1, 0, 0, 0,120, 53,147, 5, 0, 0, 0, 0,152, 52,147, 5, 0, 0, 0, 0,248,164,137, 5, 0, 0, 0, 0,168,134,139, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,120, 53,147, 5, 0, 0, 0, 0,213, 0, 0, 0,
- 1, 0, 0, 0,232, 53,147, 5, 0, 0, 0, 0, 8, 53,147, 5, 0, 0, 0, 0,152,213,132, 5, 0, 0, 0, 0,168,134,139, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,232, 53,147, 5, 0, 0, 0, 0,213, 0, 0, 0,
- 1, 0, 0, 0, 88, 54,147, 5, 0, 0, 0, 0,120, 53,147, 5, 0, 0, 0, 0,184, 88,135, 5, 0, 0, 0, 0,104, 43,147, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 88, 54,147, 5, 0, 0, 0, 0,213, 0, 0, 0,
- 1, 0, 0, 0,200, 54,147, 5, 0, 0, 0, 0,232, 53,147, 5, 0, 0, 0, 0, 40, 76,135, 5, 0, 0, 0, 0,104, 43,147, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,200, 54,147, 5, 0, 0, 0, 0,213, 0, 0, 0,
- 1, 0, 0, 0, 56, 55,147, 5, 0, 0, 0, 0, 88, 54,147, 5, 0, 0, 0, 0, 88, 56,135, 5, 0, 0, 0, 0,216, 43,147, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 56, 55,147, 5, 0, 0, 0, 0,213, 0, 0, 0,
- 1, 0, 0, 0,168, 55,147, 5, 0, 0, 0, 0,200, 54,147, 5, 0, 0, 0, 0,248,104,133, 5, 0, 0, 0, 0,216, 43,147, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,168, 55,147, 5, 0, 0, 0, 0,213, 0, 0, 0,
- 1, 0, 0, 0, 24, 56,147, 5, 0, 0, 0, 0, 56, 55,147, 5, 0, 0, 0, 0,104, 43,147, 5, 0, 0, 0, 0,216, 43,147, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 24, 56,147, 5, 0, 0, 0, 0,213, 0, 0, 0,
- 1, 0, 0, 0,136, 56,147, 5, 0, 0, 0, 0,168, 55,147, 5, 0, 0, 0, 0,152,213,132, 5, 0, 0, 0, 0,168,152,137, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,136, 56,147, 5, 0, 0, 0, 0,213, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 56,147, 5, 0, 0, 0, 0,168,134,139, 5, 0, 0, 0, 0,216,144,139, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,248, 56,147, 5, 0, 0, 0, 0,215, 0, 0, 0,
- 1, 0, 0, 0,200, 60,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168,152,137, 5, 0, 0, 0, 0,104, 44,140, 5,
- 0, 0, 0, 0, 24, 48,137, 5, 0, 0, 0, 0, 88, 56,135, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-240, 4, 0, 0,196, 2, 0, 0,222, 2, 0, 0, 7, 7,241, 4, 27, 0, 1, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 88, 33,140, 5, 0, 0, 0, 0, 88, 33,140, 5, 0, 0, 0, 0,232, 57,147, 5, 0, 0, 0, 0, 88, 59,147, 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, 68, 65, 84, 65, 40, 1, 0, 0,232, 57,147, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 88, 59,147, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,148, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0,
- 0, 32,158, 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,240, 4, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0,158, 68,
- 0, 0,200, 65, 0, 0,158, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0,
- 10, 0,241, 4, 26, 0,241, 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,
-240, 4, 0, 0,196, 2, 0, 0,221, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,241, 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, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,152,151,200, 4, 0, 0, 0, 0,152,151,200, 4, 0, 0, 0, 0,152,151,200, 4, 0, 0, 0, 0,
+152,151,200, 4, 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,
+ 16, 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,
+ 0, 0, 0, 0, 0, 0, 0, 0, 8,240,133, 3, 0, 0, 0, 0, 88,214,133, 3, 0, 0, 0, 0, 8,240,133, 3, 0, 0, 0, 0,
+136, 69,133, 3, 0, 0, 0, 0, 88,214,133, 3, 0, 0, 0, 0,216, 42,133, 3, 0, 0, 0, 0,216, 42,133, 3, 0, 0, 0, 0,
+216, 42,133, 3, 0, 0, 0, 0, 68, 65, 84, 65, 0, 1, 0, 0,152,151,200, 4, 0, 0, 0, 0,155, 1, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 2,134, 3, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+184,100,201, 4, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,129, 7, 1, 0,126, 7,146, 4, 0, 0, 0, 0, 1, 0,238, 3,
+ 0, 0, 0, 0, 1, 0, 0, 0, 40,135,149, 3, 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,136,189,149, 3, 0, 0, 0, 0,248, 64,187, 4, 0, 0, 0, 0,248, 64,187, 4, 0, 0, 0, 0,
+ 8,155,149, 3, 0, 0, 0, 0,104,153,149, 3, 0, 0, 0, 0, 56, 68,133, 3, 0, 0, 0, 0, 56,154,149, 3, 0, 0, 0, 0,
+ 88, 37,106, 3, 0, 0, 0, 0, 8,247,180, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 83, 78, 0, 0, 8, 1, 0, 0,232,152,200, 4, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 56,248,200, 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, 83, 82, 65,110,105,109, 97,116,
+105,111,110, 0, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 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,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,247,186, 4, 0, 0, 0, 0, 72,157,200, 4, 0, 0, 0, 0,
+184,157,200, 4, 0, 0, 0, 0,248,169,200, 4, 0, 0, 0, 0,104,170,200, 4, 0, 0, 0, 0,104,238,200, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 92,222, 4, 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, 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, 32, 0, 0, 0, 8,247,186, 4, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,136, 44,186, 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, 68, 65, 84, 65, 32, 0, 0, 0,
+136, 44,186, 4, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 56,112,149, 3, 0, 0, 0, 0, 8,247,186, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,222, 2, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 56,112,149, 3, 0, 0, 0, 0,
+213, 0, 0, 0, 1, 0, 0, 0,104, 25,189, 4, 0, 0, 0, 0,136, 44,186, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+240, 4,222, 2, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,104, 25,189, 4, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,
+ 56, 84,186, 4, 0, 0, 0, 0, 56,112,149, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 4, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 32, 0, 0, 0, 56, 84,186, 4, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 8, 87,187, 4, 0, 0, 0, 0,
+104, 25,189, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,195, 2, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,
+ 8, 87,187, 4, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,232,164,188, 4, 0, 0, 0, 0, 56, 84,186, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,240, 4,195, 2, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,232,164,188, 4, 0, 0, 0, 0,
+213, 0, 0, 0, 1, 0, 0, 0,216,112,189, 4, 0, 0, 0, 0, 8, 87,187, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 24, 4, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,216,112,189, 4, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,
+ 40,221,188, 4, 0, 0, 0, 0,232,164,188, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 4,195, 2, 1, 0, 0, 0,
+ 68, 65, 84, 65, 32, 0, 0, 0, 40,221,188, 4, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 8,136,140, 3, 0, 0, 0, 0,
+216,112,189, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 4, 60, 1, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,
+ 8,136,140, 3, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 56,154,200, 4, 0, 0, 0, 0, 40,221,188, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,240, 4, 60, 1, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 56,154,200, 4, 0, 0, 0, 0,
+213, 0, 0, 0, 1, 0, 0, 0,168,154,200, 4, 0, 0, 0, 0, 8,136,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 88, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,168,154,200, 4, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,
+ 24,155,200, 4, 0, 0, 0, 0, 56,154,200, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 4, 88, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 32, 0, 0, 0, 24,155,200, 4, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,136,155,200, 4, 0, 0, 0, 0,
+168,154,200, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192, 1, 88, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,
+136,155,200, 4, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,248,155,200, 4, 0, 0, 0, 0, 24,155,200, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,192, 1,195, 2, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,248,155,200, 4, 0, 0, 0, 0,
+213, 0, 0, 0, 1, 0, 0, 0,104,156,200, 4, 0, 0, 0, 0,136,155,200, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 4, 1, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,104,156,200, 4, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,
+216,156,200, 4, 0, 0, 0, 0,248,155,200, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192, 1, 4, 1, 0, 0, 0, 0,
+ 68, 65, 84, 65, 32, 0, 0, 0,216,156,200, 4, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 72,157,200, 4, 0, 0, 0, 0,
+104,156,200, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 4, 60, 2, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,
+ 72,157,200, 4, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,156,200, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,240, 4, 60, 2, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,184,157,200, 4, 0, 0, 0, 0,
+214, 0, 0, 0, 1, 0, 0, 0, 40,158,200, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,112,149, 3, 0, 0, 0, 0,
+136, 44,186, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 40,158,200, 4, 0, 0, 0, 0,
+214, 0, 0, 0, 1, 0, 0, 0,152,158,200, 4, 0, 0, 0, 0,184,157,200, 4, 0, 0, 0, 0,136, 44,186, 4, 0, 0, 0, 0,
+ 56, 84,186, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,152,158,200, 4, 0, 0, 0, 0,
+214, 0, 0, 0, 1, 0, 0, 0, 8,159,200, 4, 0, 0, 0, 0, 40,158,200, 4, 0, 0, 0, 0, 56,112,149, 3, 0, 0, 0, 0,
+ 8, 87,187, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 8,159,200, 4, 0, 0, 0, 0,
+214, 0, 0, 0, 1, 0, 0, 0,120,159,200, 4, 0, 0, 0, 0,152,158,200, 4, 0, 0, 0, 0, 56, 84,186, 4, 0, 0, 0, 0,
+ 8, 87,187, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,120,159,200, 4, 0, 0, 0, 0,
+214, 0, 0, 0, 1, 0, 0, 0,232,159,200, 4, 0, 0, 0, 0, 8,159,200, 4, 0, 0, 0, 0, 8,247,186, 4, 0, 0, 0, 0,
+232,164,188, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,232,159,200, 4, 0, 0, 0, 0,
+214, 0, 0, 0, 1, 0, 0, 0, 88,160,200, 4, 0, 0, 0, 0,120,159,200, 4, 0, 0, 0, 0,232,164,188, 4, 0, 0, 0, 0,
+104, 25,189, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 88,160,200, 4, 0, 0, 0, 0,
+214, 0, 0, 0, 1, 0, 0, 0,200,160,200, 4, 0, 0, 0, 0,232,159,200, 4, 0, 0, 0, 0, 8, 87,187, 4, 0, 0, 0, 0,
+216,112,189, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,200,160,200, 4, 0, 0, 0, 0,
+214, 0, 0, 0, 1, 0, 0, 0, 56,161,200, 4, 0, 0, 0, 0, 88,160,200, 4, 0, 0, 0, 0,232,164,188, 4, 0, 0, 0, 0,
+ 40,221,188, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 56,161,200, 4, 0, 0, 0, 0,
+214, 0, 0, 0, 1, 0, 0, 0,168,161,200, 4, 0, 0, 0, 0,200,160,200, 4, 0, 0, 0, 0, 8,136,140, 3, 0, 0, 0, 0,
+104, 25,189, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,168,161,200, 4, 0, 0, 0, 0,
+214, 0, 0, 0, 1, 0, 0, 0, 24,162,200, 4, 0, 0, 0, 0, 56,161,200, 4, 0, 0, 0, 0, 8,136,140, 3, 0, 0, 0, 0,
+ 40,221,188, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 24,162,200, 4, 0, 0, 0, 0,
+214, 0, 0, 0, 1, 0, 0, 0,136,162,200, 4, 0, 0, 0, 0,168,161,200, 4, 0, 0, 0, 0, 8,247,186, 4, 0, 0, 0, 0,
+ 56,154,200, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,136,162,200, 4, 0, 0, 0, 0,
+214, 0, 0, 0, 1, 0, 0, 0,248,162,200, 4, 0, 0, 0, 0, 24,162,200, 4, 0, 0, 0, 0,216,112,189, 4, 0, 0, 0, 0,
+168,154,200, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,248,162,200, 4, 0, 0, 0, 0,
+214, 0, 0, 0, 1, 0, 0, 0,104,163,200, 4, 0, 0, 0, 0,136,162,200, 4, 0, 0, 0, 0,232,164,188, 4, 0, 0, 0, 0,
+168,154,200, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,104,163,200, 4, 0, 0, 0, 0,
+214, 0, 0, 0, 1, 0, 0, 0,216,163,200, 4, 0, 0, 0, 0,248,162,200, 4, 0, 0, 0, 0, 56,154,200, 4, 0, 0, 0, 0,
+168,154,200, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,216,163,200, 4, 0, 0, 0, 0,
+214, 0, 0, 0, 1, 0, 0, 0, 72,164,200, 4, 0, 0, 0, 0,104,163,200, 4, 0, 0, 0, 0, 56,154,200, 4, 0, 0, 0, 0,
+ 24,155,200, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 72,164,200, 4, 0, 0, 0, 0,
+214, 0, 0, 0, 1, 0, 0, 0,184,164,200, 4, 0, 0, 0, 0,216,163,200, 4, 0, 0, 0, 0,168,154,200, 4, 0, 0, 0, 0,
+ 24,155,200, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,184,164,200, 4, 0, 0, 0, 0,
+214, 0, 0, 0, 1, 0, 0, 0, 40,165,200, 4, 0, 0, 0, 0, 72,164,200, 4, 0, 0, 0, 0, 56, 84,186, 4, 0, 0, 0, 0,
+136,155,200, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 40,165,200, 4, 0, 0, 0, 0,
+214, 0, 0, 0, 1, 0, 0, 0,152,165,200, 4, 0, 0, 0, 0,184,164,200, 4, 0, 0, 0, 0,216,112,189, 4, 0, 0, 0, 0,
+136,155,200, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,152,165,200, 4, 0, 0, 0, 0,
+214, 0, 0, 0, 1, 0, 0, 0, 8,166,200, 4, 0, 0, 0, 0, 40,165,200, 4, 0, 0, 0, 0, 24,155,200, 4, 0, 0, 0, 0,
+136,155,200, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 8,166,200, 4, 0, 0, 0, 0,
+214, 0, 0, 0, 1, 0, 0, 0,120,166,200, 4, 0, 0, 0, 0,152,165,200, 4, 0, 0, 0, 0, 56,154,200, 4, 0, 0, 0, 0,
+248,155,200, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,120,166,200, 4, 0, 0, 0, 0,
+214, 0, 0, 0, 1, 0, 0, 0,232,166,200, 4, 0, 0, 0, 0, 8,166,200, 4, 0, 0, 0, 0, 24,155,200, 4, 0, 0, 0, 0,
+104,156,200, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,232,166,200, 4, 0, 0, 0, 0,
+214, 0, 0, 0, 1, 0, 0, 0, 88,167,200, 4, 0, 0, 0, 0,120,166,200, 4, 0, 0, 0, 0,248,155,200, 4, 0, 0, 0, 0,
+104,156,200, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 88,167,200, 4, 0, 0, 0, 0,
+214, 0, 0, 0, 1, 0, 0, 0,200,167,200, 4, 0, 0, 0, 0,232,166,200, 4, 0, 0, 0, 0, 40,221,188, 4, 0, 0, 0, 0,
+216,156,200, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,200,167,200, 4, 0, 0, 0, 0,
+214, 0, 0, 0, 1, 0, 0, 0, 56,168,200, 4, 0, 0, 0, 0, 88,167,200, 4, 0, 0, 0, 0,216,112,189, 4, 0, 0, 0, 0,
+216,156,200, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 56,168,200, 4, 0, 0, 0, 0,
+214, 0, 0, 0, 1, 0, 0, 0,168,168,200, 4, 0, 0, 0, 0,200,167,200, 4, 0, 0, 0, 0, 8, 87,187, 4, 0, 0, 0, 0,
+ 72,157,200, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,168,168,200, 4, 0, 0, 0, 0,
+214, 0, 0, 0, 1, 0, 0, 0, 24,169,200, 4, 0, 0, 0, 0, 56,168,200, 4, 0, 0, 0, 0, 8,136,140, 3, 0, 0, 0, 0,
+ 72,157,200, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 24,169,200, 4, 0, 0, 0, 0,
+214, 0, 0, 0, 1, 0, 0, 0,136,169,200, 4, 0, 0, 0, 0,168,168,200, 4, 0, 0, 0, 0,216,156,200, 4, 0, 0, 0, 0,
+ 72,157,200, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,136,169,200, 4, 0, 0, 0, 0,
+214, 0, 0, 0, 1, 0, 0, 0,248,169,200, 4, 0, 0, 0, 0, 24,169,200, 4, 0, 0, 0, 0, 56, 84,186, 4, 0, 0, 0, 0,
+248,155,200, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,248,169,200, 4, 0, 0, 0, 0,
+214, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,169,200, 4, 0, 0, 0, 0,136,155,200, 4, 0, 0, 0, 0,
+104,156,200, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,104,170,200, 4, 0, 0, 0, 0,
+216, 0, 0, 0, 1, 0, 0, 0, 56,174,200, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 84,186, 4, 0, 0, 0, 0,
+136, 44,186, 4, 0, 0, 0, 0, 56,112,149, 3, 0, 0, 0, 0, 8, 87,187, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,240, 4, 0, 0,196, 2, 0, 0,222, 2, 0, 0, 7, 7,241, 4, 27, 0, 1, 0, 0, 0, 0, 0, 7, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,168,247,200, 4, 0, 0, 0, 0,168,247,200, 4, 0, 0, 0, 0, 88,171,200, 4, 0, 0, 0, 0,
+200,172,200, 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, 68, 65, 84, 65, 40, 1, 0, 0, 88,171,200, 4, 0, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0,
+200,172,200, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,148, 68, 0, 0, 0, 0, 0, 0,208, 65,
+ 0, 0, 0, 0, 0, 32,158, 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,240, 4, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0,
+ 0, 0,158, 68, 0, 0,200, 65, 0, 0,158, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3,
+ 4, 0, 12, 0, 10, 0,241, 4, 26, 0,241, 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,240, 4, 0, 0,196, 2, 0, 0,221, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+241, 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, 68, 65, 84, 65, 40, 1, 0, 0, 88, 59,147, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,232, 57,147, 5, 0, 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,128, 63, 0, 0,128, 63, 2, 0, 0, 0, 1, 0, 3, 3, 2, 0, 0, 4,
- 10, 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,222, 2, 0, 0,222, 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, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,200,172,200, 4, 0, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 88,171,200, 4, 0, 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,128, 63, 0, 0,128, 63, 2, 0, 0, 0, 1, 0, 3, 3,
+ 2, 0, 0, 4, 10, 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,222, 2, 0, 0,222, 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, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,200, 60,147, 5, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0, 88, 85,147, 5,
- 0, 0, 0, 0,248, 56,147, 5, 0, 0, 0, 0, 8, 61,135, 5, 0, 0, 0, 0,184, 88,135, 5, 0, 0, 0, 0,248,104,133, 5,
- 0, 0, 0, 0,136,135,137, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 4, 0, 0,240, 4, 0, 0, 0, 0, 0, 0,
- 59, 1, 0, 0, 4, 4,216, 0, 60, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 84,147, 5,
- 0, 0, 0, 0, 24, 84,147, 5, 0, 0, 0, 0,184, 61,147, 5, 0, 0, 0, 0, 40, 63,147, 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, 68, 65, 84, 65,
- 40, 1, 0, 0,184, 61,147, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 40, 63,147, 5, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,148, 67, 0, 0, 0, 0, 0, 0,208, 65, 98, 39, 38, 54, 0, 0, 88, 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,215, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 87, 67, 0, 0,200, 65, 0, 0, 87, 67,
- 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,216, 0, 26, 0,216, 0,
- 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 4, 0, 0,240, 4, 0, 0, 34, 1, 0, 0,
- 59, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216, 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, 68, 65, 84, 65,160, 0, 0, 0, 56,174,200, 4, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,
+200,198,200, 4, 0, 0, 0, 0,104,170,200, 4, 0, 0, 0, 0,232,164,188, 4, 0, 0, 0, 0, 40,221,188, 4, 0, 0, 0, 0,
+ 8,136,140, 3, 0, 0, 0, 0,104, 25,189, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 4, 0, 0,240, 4, 0, 0,
+ 0, 0, 0, 0, 59, 1, 0, 0, 4, 4,216, 0, 60, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+136,197,200, 4, 0, 0, 0, 0,136,197,200, 4, 0, 0, 0, 0, 40,175,200, 4, 0, 0, 0, 0,152,176,200, 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, 68, 65, 84, 65,
- 40, 1, 0, 0, 40, 63,147, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184, 61,147, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 67, 0, 0, 61,196, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 71, 67, 1, 0,145,195,
- 0, 0, 0, 0,199, 0, 0, 0,216, 0, 0, 0, 0, 0, 0, 0, 33, 1, 0, 0, 0, 0, 0, 0, 62, 1, 0, 0, 0, 0, 0, 0,
- 17, 0, 0, 0, 0, 0, 0, 0,198, 0, 0, 0, 0, 0, 0, 0, 33, 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,216, 0, 34, 1,199, 0,
- 34, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 4, 0, 0,240, 4, 0, 0, 0, 0, 0, 0,
- 33, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216, 0, 34, 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,152, 64,147, 5, 0, 0, 0, 0,120, 82,147, 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, 68, 65, 84, 65,
- 88, 1, 0, 0,152, 64,147, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 56, 66,147, 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, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,111,110,116,101,120,116, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 40, 1, 0, 0, 40,175,200, 4, 0, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0,152,176,200, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,148, 67, 0, 0, 0, 0, 0, 0,208, 65, 98, 39, 38, 54, 0, 0, 88, 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,215, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 87, 67, 0, 0,200, 65,
+ 0, 0, 87, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,216, 0,
+ 26, 0,216, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 4, 0, 0,240, 4, 0, 0,
+ 34, 1, 0, 0, 59, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216, 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,220,255,199, 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,
+ 68, 65, 84, 65, 40, 1, 0, 0,152,176,200, 4, 0, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 40,175,200, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 67, 0, 0, 61,196, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 71, 67,
+ 1, 0,145,195, 0, 0, 0, 0,199, 0, 0, 0,216, 0, 0, 0, 0, 0, 0, 0, 33, 1, 0, 0, 0, 0, 0, 0, 62, 1, 0, 0,
+ 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,198, 0, 0, 0, 0, 0, 0, 0, 33, 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,216, 0,
+ 34, 1,199, 0, 34, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 4, 0, 0,240, 4, 0, 0,
+ 0, 0, 0, 0, 33, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216, 0, 34, 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, 8,178,200, 4, 0, 0, 0, 0,232,195,200, 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, 68, 65, 84, 65, 88, 1, 0, 0, 56, 66,147, 5, 0, 0, 0, 0,214, 0, 0, 0,
- 1, 0, 0, 0,216, 67,147, 5, 0, 0, 0, 0,152, 64,147, 5, 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,
+ 68, 65, 84, 65, 88, 1, 0, 0, 8,178,200, 4, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,168,179,200, 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, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,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, 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,220,255,199, 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, 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,199, 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, 68, 65, 84, 65, 88, 1, 0, 0,168,179,200, 4, 0, 0, 0, 0,
+215, 0, 0, 0, 1, 0, 0, 0, 72,181,200, 4, 0, 0, 0, 0, 8,178,200, 4, 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, 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,216, 67,147, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,120, 69,147, 5, 0, 0, 0, 0, 56, 66,147, 5,
- 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, 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, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,111,255,199, 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, 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,199, 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, 68, 65, 84, 65, 88, 1, 0, 0,120, 69,147, 5, 0, 0, 0, 0,214, 0, 0, 0,
- 1, 0, 0, 0, 24, 71,147, 5, 0, 0, 0, 0,216, 67,147, 5, 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, 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,
+ 68, 65, 84, 65, 88, 1, 0, 0, 72,181,200, 4, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,232,182,200, 4, 0, 0, 0, 0,
+168,179,200, 4, 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, 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,140,254,199, 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,111,255,199, 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, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 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, 24, 71,147, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,184, 72,147, 5, 0, 0, 0, 0,120, 69,147, 5,
- 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65,110,116,105, 45, 65,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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58,254,199, 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, 68, 65, 84, 65, 88, 1, 0, 0,232,182,200, 4, 0, 0, 0, 0,
+215, 0, 0, 0, 1, 0, 0, 0,136,184,200, 4, 0, 0, 0, 0, 72,181,200, 4, 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, 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, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,184, 72,147, 5, 0, 0, 0, 0,214, 0, 0, 0,
- 1, 0, 0, 0, 88, 74,147, 5, 0, 0, 0, 0, 24, 71,147, 5, 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, 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, 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,140,254,199, 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, 83, 97,109,112,108,101,100, 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, 0, 0, 0, 0, 34,254,199, 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,
+ 68, 65, 84, 65, 88, 1, 0, 0,136,184,200, 4, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0, 40,186,200, 4, 0, 0, 0, 0,
+232,182,200, 4, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65,110,116,105, 45, 65,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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58,254,199, 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, 68, 65, 84, 65,
- 88, 1, 0, 0, 88, 74,147, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,248, 75,147, 5, 0, 0, 0, 0,184, 72,147, 5,
- 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, 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, 10,254,199, 0, 0, 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, 68, 65, 84, 65, 88, 1, 0, 0, 40,186,200, 4, 0, 0, 0, 0,
+215, 0, 0, 0, 1, 0, 0, 0,200,187,200, 4, 0, 0, 0, 0,136,184,200, 4, 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, 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, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,248, 75,147, 5, 0, 0, 0, 0,214, 0, 0, 0,
- 1, 0, 0, 0,152, 77,147, 5, 0, 0, 0, 0, 88, 74,147, 5, 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, 83, 97,109,112,108,101,100, 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, 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, 34,254,199, 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, 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,242,253,199, 0, 0, 0, 0, 0, 0, 0, 4, 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,
+ 68, 65, 84, 65, 88, 1, 0, 0,200,187,200, 4, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,104,189,200, 4, 0, 0, 0, 0,
+ 40,186,200, 4, 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, 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, 0, 0, 68, 65, 84, 65,
- 88, 1, 0, 0,152, 77,147, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 56, 79,147, 5, 0, 0, 0, 0,248, 75,147, 5,
- 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, 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,218,253,199, 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, 0, 0, 10,254,199, 0, 0, 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,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 56, 79,147, 5, 0, 0, 0, 0,214, 0, 0, 0,
- 1, 0, 0, 0,216, 80,147, 5, 0, 0, 0, 0,152, 77,147, 5, 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, 68, 65, 84, 65, 88, 1, 0, 0,104,189,200, 4, 0, 0, 0, 0,
+215, 0, 0, 0, 1, 0, 0, 0, 8,191,200, 4, 0, 0, 0, 0,200,187,200, 4, 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, 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, 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, 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, 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,194,253,199, 0, 0, 0, 20, 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,242,253,199, 0, 0, 0, 0, 0, 0, 0, 4, 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, 0, 0, 0, 0, 68, 65, 84, 65,
- 88, 1, 0, 0,216, 80,147, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,120, 82,147, 5, 0, 0, 0, 0, 56, 79,147, 5,
- 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, 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, 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, 40,253,199, 0,130, 0, 0, 0, 0, 0,
- 0, 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,
+ 68, 65, 84, 65, 88, 1, 0, 0, 8,191,200, 4, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,168,192,200, 4, 0, 0, 0, 0,
+104,189,200, 4, 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, 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,218,253,199, 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, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,120, 82,147, 5, 0, 0, 0, 0,214, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216, 80,147, 5, 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, 68, 65, 84, 65, 88, 1, 0, 0,168,192,200, 4, 0, 0, 0, 0,
+215, 0, 0, 0, 1, 0, 0, 0, 72,194,200, 4, 0, 0, 0, 0, 8,191,200, 4, 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, 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, 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, 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, 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, 16,253,199, 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,194,253,199, 0, 0, 0, 20, 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, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 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, 24, 84,147, 5, 0, 0, 0, 0,180, 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, 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,
+ 68, 65, 84, 65, 88, 1, 0, 0, 72,194,200, 4, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,232,195,200, 4, 0, 0, 0, 0,
+168,192,200, 4, 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, 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, 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, 40,253,199, 0,130, 0,
+ 0, 0, 0, 0, 0, 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, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,232,195,200, 4, 0, 0, 0, 0,
+215, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,194,200, 4, 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, 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, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, 88, 85,147, 5, 0, 0, 0, 0,215, 0, 0, 0,
- 1, 0, 0, 0, 72, 90,147, 5, 0, 0, 0, 0,200, 60,147, 5, 0, 0, 0, 0,104,137, 95, 4, 0, 0, 0, 0, 72,225,140, 5,
- 0, 0, 0, 0,152, 68,137, 5, 0, 0, 0, 0, 8, 61,135, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 23, 4, 0, 0, 0, 0, 0, 0, 87, 0, 0, 0, 15, 15, 24, 4, 88, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 40, 89,147, 5, 0, 0, 0, 0, 40, 89,147, 5, 0, 0, 0, 0, 72, 86,147, 5, 0, 0, 0, 0,184, 87,147, 5,
+ 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, 68, 65, 84, 65, 40, 1, 0, 0, 72, 86,147, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,184, 87,147, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32,140, 68, 0, 0, 0, 0, 0, 0,208, 65, 39,182,158, 55,
- 0, 0,131, 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, 23, 4, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,224,130, 68,
- 0, 0,200, 65, 0,224,130, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0,
- 10, 0, 24, 4, 26, 0, 24, 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,
- 23, 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, 24, 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, 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, 16,253,199, 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, 68, 65, 84, 65, 40, 1, 0, 0,184, 87,147, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 72, 86,147, 5, 0, 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,
- 23, 4, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 23, 4, 0, 0, 18, 0, 0, 0, 61, 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, 24, 4, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 23, 4, 0, 0, 26, 0, 0, 0, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 4, 62, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 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,136,197,200, 4, 0, 0, 0, 0,180, 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, 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, 68, 65, 84, 65,208, 0, 0, 0, 40, 89,147, 5, 0, 0, 0, 0,191, 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, 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, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,200,198,200, 4, 0, 0, 0, 0,
+216, 0, 0, 0, 1, 0, 0, 0,184,203,200, 4, 0, 0, 0, 0, 56,174,200, 4, 0, 0, 0, 0, 8,247,186, 4, 0, 0, 0, 0,
+ 56,154,200, 4, 0, 0, 0, 0,168,154,200, 4, 0, 0, 0, 0,232,164,188, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 23, 4, 0, 0, 0, 0, 0, 0, 87, 0, 0, 0, 15, 15, 24, 4, 88, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,152,202,200, 4, 0, 0, 0, 0,152,202,200, 4, 0, 0, 0, 0,184,199,200, 4, 0, 0, 0, 0,
+ 40,201,200, 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, 68, 65, 84, 65, 40, 1, 0, 0,184,199,200, 4, 0, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0,
+ 40,201,200, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32,140, 68, 0, 0, 0, 0, 0, 0,208, 65,
+ 39,182,158, 55, 0, 0,131, 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, 23, 4, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0,
+ 0,224,130, 68, 0, 0,200, 65, 0,224,130, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3,
+ 4, 0, 12, 0, 10, 0, 24, 4, 26, 0, 24, 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, 23, 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,
+ 24, 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, 31, 0, 0, 0, 1, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, 72, 90,147, 5, 0, 0, 0, 0,215, 0, 0, 0,
- 1, 0, 0, 0,168, 96,147, 5, 0, 0, 0, 0, 88, 85,147, 5, 0, 0, 0, 0,184, 88,135, 5, 0, 0, 0, 0,104, 43,147, 5,
- 0, 0, 0, 0,216, 43,147, 5, 0, 0, 0, 0,248,104,133, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 4, 0, 0,
-240, 4, 0, 0, 61, 1, 0, 0, 59, 2, 0, 0, 3, 3,216, 0,255, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 24, 94,147, 5, 0, 0, 0, 0, 24, 94,147, 5, 0, 0, 0, 0, 56, 91,147, 5, 0, 0, 0, 0,168, 92,147, 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, 68, 65, 84, 65, 40, 1, 0, 0, 56, 91,147, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,168, 92,147, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,244, 67, 0, 0, 0, 0, 0, 0,208, 65, 98, 39, 38, 54,
- 0, 0, 88, 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,215, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 87, 67,
- 0, 0,200, 65, 0, 0, 87, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0,
- 10, 0,216, 0, 26, 0,216, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 4, 0, 0,
-240, 4, 0, 0, 34, 2, 0, 0, 59, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216, 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, 68, 65, 84, 65, 40, 1, 0, 0, 40,201,200, 4, 0, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,184,199,200, 4, 0, 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, 23, 4, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 23, 4, 0, 0, 18, 0, 0, 0, 61, 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, 24, 4, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 23, 4, 0, 0, 26, 0, 0, 0, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 24, 4, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 40, 1, 0, 0,168, 92,147, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 56, 91,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,141, 67, 0, 0,244,194, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 71, 67, 0, 0, 83,195, 0, 0, 0, 0,199, 0, 0, 0,216, 0, 0, 0, 18, 0, 0, 0,228, 0, 0, 0, 0, 0, 0, 0,
-198, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,198, 0, 0, 0, 18, 0, 0, 0,228, 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, 12, 4,
- 6, 0,216, 0,229, 0,199, 0,211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 4, 0, 0,
-240, 4, 0, 0, 61, 1, 0, 0, 33, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216, 0,229, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,208, 0, 0, 0,152,202,200, 4, 0, 0, 0, 0,185, 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,
+ 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, 68, 65, 84, 65, 24, 1, 0, 0, 24, 94,147, 5, 0, 0, 0, 0,184, 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, 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, 31, 0, 0, 0, 1, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,184,203,200, 4, 0, 0, 0, 0,
+216, 0, 0, 0, 1, 0, 0, 0, 24,210,200, 4, 0, 0, 0, 0,200,198,200, 4, 0, 0, 0, 0, 40,221,188, 4, 0, 0, 0, 0,
+216,156,200, 4, 0, 0, 0, 0, 72,157,200, 4, 0, 0, 0, 0, 8,136,140, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 25, 4, 0, 0,240, 4, 0, 0, 61, 1, 0, 0, 59, 2, 0, 0, 3, 3,216, 0,255, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,136,207,200, 4, 0, 0, 0, 0,136,207,200, 4, 0, 0, 0, 0,168,204,200, 4, 0, 0, 0, 0,
+ 24,206,200, 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, 68, 65, 84, 65, 40, 1, 0, 0,168,204,200, 4, 0, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0,
+ 24,206,200, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,244, 67, 0, 0, 0, 0, 0, 0,208, 65,
+ 98, 39, 38, 54, 0, 0, 88, 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,215, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0,
+ 0, 0, 87, 67, 0, 0,200, 65, 0, 0, 87, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3,
+ 4, 0, 12, 0, 10, 0,216, 0, 26, 0,216, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 25, 4, 0, 0,240, 4, 0, 0, 34, 2, 0, 0, 59, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+216, 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,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 24,206,200, 4, 0, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,168,204,200, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,141, 67, 0, 0,244,194, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 71, 67, 0, 0, 83,195, 0, 0, 0, 0,199, 0, 0, 0,216, 0, 0, 0, 18, 0, 0, 0,228, 0, 0, 0,
+ 0, 0, 0, 0,198, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,198, 0, 0, 0, 18, 0, 0, 0,228, 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, 12, 4, 6, 0,216, 0,229, 0,199, 0,211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 25, 4, 0, 0,240, 4, 0, 0, 61, 1, 0, 0, 33, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+216, 0,229, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168,114,137, 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, 1, 0, 0, 0, 68, 65, 84, 65, 16, 0, 0, 0,168,114,137, 5,
- 0, 0, 0, 0,238, 0, 0, 0, 1, 0, 0, 0, 14, 0, 0, 0, 14, 0, 0, 0,120, 95,147, 5, 0, 0, 0, 0, 68, 65, 84, 65,
-224, 0, 0, 0,120, 95,147, 5, 0, 0, 0, 0,237, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,120,184,168, 5,
- 0, 0, 0, 0, 19, 0, 0, 0, 1, 0, 1, 0,120,184,168, 5, 0, 0, 0, 0, 20, 0, 0, 0, 1, 0, 1, 0,120,184,168, 5,
- 0, 0, 0, 0, 21, 0, 1, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 72,210,168, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,184,219,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,184, 17,169, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,248,232,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 8,255,168, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 88,226,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,232,205,168, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 24,213,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,216,204,168, 5,
- 0, 0, 0, 0, 21, 0, 0, 0, 1, 0, 1, 0,120,184,168, 5, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,168, 96,147, 5,
- 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0, 56,110,147, 5, 0, 0, 0, 0, 72, 90,147, 5, 0, 0, 0, 0,248,164,137, 5,
- 0, 0, 0, 0,216,144,139, 5, 0, 0, 0, 0, 40, 76,135, 5, 0, 0, 0, 0,152, 68,137, 5, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,193, 1, 0, 0, 23, 4, 0, 0, 89, 0, 0, 0,194, 2, 0, 0, 1, 1, 87, 2,106, 2, 1, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,108,147, 5, 0, 0, 0, 0,136,108,147, 5, 0, 0, 0, 0,152, 97,147, 5,
- 0, 0, 0, 0, 88,103,147, 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, 68, 65, 84, 65, 40, 1, 0, 0,152, 97,147, 5, 0, 0, 0, 0,216, 0, 0, 0,
- 1, 0, 0, 0, 8, 99,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64,113, 68, 0, 0, 0, 0,
- 0, 0,208, 65, 0, 0, 0, 0, 0,192, 21, 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, 86, 2, 0, 0, 0, 0, 0, 0,
- 25, 0, 0, 0, 0,128, 21, 68, 0, 0,200, 65, 0,128, 21, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 87, 2, 26, 0, 87, 2, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,193, 1, 0, 0, 23, 4, 0, 0, 89, 0, 0, 0,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 87, 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,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 40, 1, 0, 0, 8, 99,147, 5, 0, 0, 0, 0,216, 0, 0, 0,
- 1, 0, 0, 0,120,100,147, 5, 0, 0, 0, 0,152, 97,147, 5, 0, 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,115, 0, 0, 0,194, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1, 0, 80, 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,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 40, 1, 0, 0,120,100,147, 5, 0, 0, 0, 0,216, 0, 0, 0,
- 1, 0, 0, 0,232,101,147, 5, 0, 0, 0, 0, 8, 99,147, 5, 0, 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,193, 1, 0, 0,115, 0, 0, 0,115, 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, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 40, 1, 0, 0,232,101,147, 5, 0, 0, 0, 0,216, 0, 0, 0,
- 1, 0, 0, 0, 88,103,147, 5, 0, 0, 0, 0,120,100,147, 5, 0, 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, 23, 4, 0, 0, 23, 4, 0, 0,115, 0, 0, 0,194, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 1, 0, 0,136,207,200, 4, 0, 0, 0, 0,181, 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, 68, 65, 84, 65, 40, 1, 0, 0, 88,103,147, 5, 0, 0, 0, 0,216, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,101,147, 5, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 23, 4, 0, 0,115, 0, 0, 0,194, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 87, 2, 80, 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,184,217,190, 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, 1, 0, 0, 0, 68, 65, 84, 65, 16, 0, 0, 0,
+184,217,190, 4, 0, 0, 0, 0,238, 0, 0, 0, 1, 0, 0, 0, 14, 0, 0, 0, 14, 0, 0, 0,232,208,200, 4, 0, 0, 0, 0,
+ 68, 65, 84, 65,224, 0, 0, 0,232,208,200, 4, 0, 0, 0, 0,237, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+ 40, 92,222, 4, 0, 0, 0, 0, 19, 0, 0, 0, 1, 0, 1, 0, 40, 92,222, 4, 0, 0, 0, 0, 20, 0, 0, 0, 1, 0, 1, 0,
+ 40, 92,222, 4, 0, 0, 0, 0, 21, 0, 1, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 8,118,222, 4, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,136,127,222, 4, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+168,181,222, 4, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,232,140,222, 4, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+248,162,222, 4, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 56,134,222, 4, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+168,113,222, 4, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,216,120,222, 4, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+152,112,222, 4, 0, 0, 0, 0, 21, 0, 0, 0, 1, 0, 1, 0, 40, 92,222, 4, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,
+ 24,210,200, 4, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,168,223,200, 4, 0, 0, 0, 0,184,203,200, 4, 0, 0, 0, 0,
+ 24,155,200, 4, 0, 0, 0, 0,136,155,200, 4, 0, 0, 0, 0,216,112,189, 4, 0, 0, 0, 0,168,154,200, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,193, 1, 0, 0, 23, 4, 0, 0, 89, 0, 0, 0,194, 2, 0, 0, 1, 1, 87, 2,106, 2, 1, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,221,200, 4, 0, 0, 0, 0,248,221,200, 4, 0, 0, 0, 0,
+ 8,211,200, 4, 0, 0, 0, 0,200,216,200, 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, 68, 65, 84, 65, 40, 1, 0, 0, 8,211,200, 4, 0, 0, 0, 0,
+217, 0, 0, 0, 1, 0, 0, 0,120,212,200, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64,113, 68,
+ 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,192, 21, 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, 86, 2, 0, 0,
+ 0, 0, 0, 0, 25, 0, 0, 0, 0,128, 21, 68, 0, 0,200, 65, 0,128, 21, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 87, 2, 26, 0, 87, 2, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,193, 1, 0, 0, 23, 4, 0, 0, 89, 0, 0, 0,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 87, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 40, 1, 0, 0,120,212,200, 4, 0, 0, 0, 0,
+217, 0, 0, 0, 1, 0, 0, 0,232,213,200, 4, 0, 0, 0, 0, 8,211,200, 4, 0, 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,115, 0, 0, 0,194, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 80, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 40, 1, 0, 0,232,213,200, 4, 0, 0, 0, 0,
+217, 0, 0, 0, 1, 0, 0, 0, 88,215,200, 4, 0, 0, 0, 0,120,212,200, 4, 0, 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,193, 1, 0, 0,115, 0, 0, 0,115, 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,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 40, 1, 0, 0, 88,215,200, 4, 0, 0, 0, 0,
+217, 0, 0, 0, 1, 0, 0, 0,200,216,200, 4, 0, 0, 0, 0,232,213,200, 4, 0, 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, 23, 4, 0, 0, 23, 4, 0, 0,115, 0, 0, 0,194, 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, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,200,104,147, 5, 0, 0, 0, 0, 68, 65, 84, 65,112, 3, 0, 0,200,104,147, 5, 0, 0, 0, 0,174, 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,200,167,141, 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,209,162,227,190, 48,180, 81,191,184,158, 81,191,117, 90,127, 63, 13,114, 91, 62, 26, 63,185, 62,
- 35, 44,185, 62,145,180,109,188,105,147,125, 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, 64,185, 70,188, 0, 0, 82,180, 48,221,185,190, 44, 45, 51, 62, 28, 11, 79, 63,
- 0, 0, 56,179, 67,108,117,194,183,204,216, 65,105,156, 5,194,212,247,159,192,235, 62,114, 66, 59,254,213,193,158,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,209,162,227,190, 48,180, 81,191,184,158, 81,191,117, 90,127, 63, 13,114, 91, 62, 26, 63,185, 62,
- 35, 44,185, 62,145,180,109,188,105,147,125, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 40, 1, 0, 0,200,216,200, 4, 0, 0, 0, 0,
+217, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88,215,200, 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,193, 1, 0, 0, 23, 4, 0, 0,115, 0, 0, 0,194, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 87, 2, 80, 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, 56,218,200, 4, 0, 0, 0, 0, 68, 65, 84, 65,112, 3, 0, 0, 56,218,200, 4, 0, 0, 0, 0,
+175, 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,200,167,141, 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,209,162,227,190, 48,180, 81,191,184,158, 81,191,117, 90,127, 63, 13,114, 91, 62,
+ 26, 63,185, 62, 35, 44,185, 62,145,180,109,188,105,147,125, 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, 64,185, 70,188, 0, 0, 82,180, 48,221,185,190, 44, 45, 51, 62,
+ 28, 11, 79, 63, 0, 0, 56,179, 67,108,117,194,183,204,216, 65,105,156, 5,194,212,247,159,192,235, 62,114, 66, 59,254,213,193,
+158,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,209,162,227,190, 48,180, 81,191,184,158, 81,191,117, 90,127, 63, 13,114, 91, 62,
+ 26, 63,185, 62, 35, 44,185, 62,145,180,109,188,105,147,125, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 12,163, 91, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12,163, 91, 64, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12,163, 91, 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,236, 15, 72, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,255,255, 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, 86,152,137, 66,
-113, 27,126, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 1, 0, 0,136,108,147, 5,
- 0, 0, 0, 0,175, 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, 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,205,204, 76, 62, 2, 0, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 7, 0, 24,213,168, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 1, 0, 0, 0, 3, 0, 0, 0, 1, 0, 3, 0, 8, 8,128, 0, 0, 0, 12, 66, 0, 0,128, 63,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, 0, 0, 16, 0, 10, 0, 7, 1,
- 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, 68, 65, 84, 65,160, 0, 0, 0, 56,110,147, 5, 0, 0, 0, 0,215, 0, 0, 0,
- 1, 0, 0, 0,232,118,147, 5, 0, 0, 0, 0,168, 96,147, 5, 0, 0, 0, 0, 72,225,140, 5, 0, 0, 0, 0,152,213,132, 5,
- 0, 0, 0, 0,168,134,139, 5, 0, 0, 0, 0,248,164,137, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-191, 1, 0, 0, 89, 0, 0, 0, 3, 1, 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,232,116,147, 5, 0, 0, 0, 0,232,116,147, 5, 0, 0, 0, 0, 40,111,147, 5, 0, 0, 0, 0,120,115,147, 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, 68, 65, 84, 65, 40, 1, 0, 0, 40,111,147, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,152,112,147, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 89, 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,128,223, 67,
- 0, 0,200, 65, 0,128,223, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0,
- 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, 89, 0, 0, 0,114, 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, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,152,112,147, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 8,114,147, 5,
- 0, 0, 0, 0, 40,111,147, 5, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-216, 0, 0, 0,115, 0, 0, 0, 3, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 40, 1, 0, 0, 8,114,147, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,120,115,147, 5,
- 0, 0, 0, 0,152,112,147, 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, 12,163, 91, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12,163, 91, 64,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12,163, 91, 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,236, 15, 72, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
+255,255, 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,
+ 86,152,137, 66,113, 27,126, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 1, 0, 0,
+248,221,200, 4, 0, 0, 0, 0,176, 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, 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,205,204, 76, 62,
+ 2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 7, 0,216,120,222, 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,
+ 1, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 1, 0, 3, 0, 8, 8,128, 0, 0, 0, 12, 66, 0, 0,128, 63,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, 0, 0, 16, 0,
+ 10, 0, 7, 1, 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, 68, 65, 84, 65,160, 0, 0, 0,168,223,200, 4, 0, 0, 0, 0,
+216, 0, 0, 0, 1, 0, 0, 0,152,231,200, 4, 0, 0, 0, 0, 24,210,200, 4, 0, 0, 0, 0, 56,154,200, 4, 0, 0, 0, 0,
+248,155,200, 4, 0, 0, 0, 0,104,156,200, 4, 0, 0, 0, 0, 24,155,200, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,191, 1, 0, 0, 89, 0, 0, 0, 3, 1, 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, 88,230,200, 4, 0, 0, 0, 0, 88,230,200, 4, 0, 0, 0, 0,152,224,200, 4, 0, 0, 0, 0,
+232,228,200, 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, 68, 65, 84, 65, 40, 1, 0, 0,152,224,200, 4, 0, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0,
+ 8,226,200, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 89, 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,128,223, 67, 0, 0,200, 65, 0,128,223, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3,
+ 4, 0, 12, 0, 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, 89, 0, 0, 0,114, 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,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 8,226,200, 4, 0, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0,
+120,227,200, 4, 0, 0, 0, 0,152,224,200, 4, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,216, 0, 0, 0,115, 0, 0, 0, 3, 1, 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, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 40, 1, 0, 0,120,227,200, 4, 0, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0,
+232,228,200, 4, 0, 0, 0, 0, 8,226,200, 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,
+191, 1, 0, 0,191, 1, 0, 0,115, 0, 0, 0, 3, 1, 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, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 40, 1, 0, 0,232,228,200, 4, 0, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,120,227,200, 4, 0, 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, 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, 0, 0, 0, 0,
+217, 0, 0, 0,191, 1, 0, 0,115, 0, 0, 0, 3, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,230,200, 4, 0, 0, 0, 0,182, 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,
+ 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, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,152, 98,200, 4, 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, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,112, 0, 0, 0,152, 98,200, 4, 0, 0, 0, 0,
+ 38, 1, 0, 0, 1, 0, 0, 0, 40, 92,222, 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, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,
+152,231,200, 4, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,104,238,200, 4, 0, 0, 0, 0,168,223,200, 4, 0, 0, 0, 0,
+248,155,200, 4, 0, 0, 0, 0, 56, 84,186, 4, 0, 0, 0, 0,136,155,200, 4, 0, 0, 0, 0,104,156,200, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,191, 1, 0, 0, 5, 1, 0, 0,194, 2, 0, 0, 12, 12,192, 1,190, 1, 1, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,236,200, 4, 0, 0, 0, 0,216,236,200, 4, 0, 0, 0, 0,
+136,232,200, 4, 0, 0, 0, 0,104,235,200, 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, 68, 65, 84, 65, 40, 1, 0, 0,136,232,200, 4, 0, 0, 0, 0,
+217, 0, 0, 0, 1, 0, 0, 0,248,233,200, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192, 94, 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,
-191, 1, 0, 0,115, 0, 0, 0, 3, 1, 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, 25, 0, 0, 0, 0,128,223, 67, 0, 0,200, 65, 0,128,223, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 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, 5, 1, 0, 0, 30, 1, 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, 68, 65, 84, 65, 40, 1, 0, 0,120,115,147, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 8,114,147, 5, 0, 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, 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, 0, 0, 0, 0,217, 0, 0, 0,
-191, 1, 0, 0,115, 0, 0, 0, 3, 1, 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, 68, 65, 84, 65, 40, 1, 0, 0,248,233,200, 4, 0, 0, 0, 0,
+217, 0, 0, 0, 1, 0, 0, 0,104,235,200, 4, 0, 0, 0, 0,136,232,200, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 67,
+ 0, 0, 0,194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 67, 0, 0,201,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,199, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,199, 0, 0, 0,
+ 18, 0, 0, 0,163, 1, 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,
+ 8, 4, 0, 0, 2, 0, 3, 3, 0, 0, 2, 4, 6, 0,200, 0,164, 1,200, 0,146, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,199, 0, 0, 0, 31, 1, 0, 0,194, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,200, 0,164, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 40, 1, 0, 0,104,235,200, 4, 0, 0, 0, 0,
+217, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,233,200, 4, 0, 0, 0, 0, 0, 0, 32,193, 0, 0,104, 68,
+ 0, 0, 72,194, 0, 0, 0, 0, 0, 0, 32,193, 0, 0,104, 68, 0, 0,201,195, 0, 0, 0, 0,231, 0, 0, 0,248, 0, 0, 0,
+ 18, 0, 0, 0,163, 1, 0, 0, 0, 0, 0, 0,230, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,230, 0, 0, 0,
+ 18, 0, 0, 0,163, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,124,146, 72, 0, 64, 28, 70, 10,215, 35, 60, 0, 0, 72, 66,
+ 74, 0, 0, 0, 0, 0, 0, 2, 0, 0, 2, 4, 4, 0,248, 0,164, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,200, 0, 0, 0,191, 1, 0, 0, 31, 1, 0, 0,194, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,248, 0,164, 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, 68, 65, 84, 65,240, 0, 0, 0,232,116,147, 5, 0, 0, 0, 0,179, 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, 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, 72, 1, 0, 0,216,236,200, 4, 0, 0, 0, 0,
+ 39, 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, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 40,118,147, 5, 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, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,112, 0, 0, 0, 40,118,147, 5, 0, 0, 0, 0, 38, 1, 0, 0,
- 1, 0, 0, 0,120,184,168, 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, 40, 92,222, 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, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,232,118,147, 5,
- 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,184,125,147, 5, 0, 0, 0, 0, 56,110,147, 5, 0, 0, 0, 0,152,213,132, 5,
- 0, 0, 0, 0,168,152,137, 5, 0, 0, 0, 0,216,144,139, 5, 0, 0, 0, 0,168,134,139, 5, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,191, 1, 0, 0, 5, 1, 0, 0,194, 2, 0, 0, 12, 12,192, 1,190, 1, 1, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,124,147, 5, 0, 0, 0, 0, 40,124,147, 5, 0, 0, 0, 0,216,119,147, 5,
- 0, 0, 0, 0,184,122,147, 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, 68, 65, 84, 65, 40, 1, 0, 0,216,119,147, 5, 0, 0, 0, 0,216, 0, 0, 0,
- 1, 0, 0, 0, 72,121,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192, 94, 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,128,223, 67, 0, 0,200, 65, 0,128,223, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 2, 0, 3, 3, 4, 0, 12, 0, 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, 5, 1, 0, 0, 30, 1, 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, 16, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,104,238,200, 4, 0, 0, 0, 0,
+216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,231,200, 4, 0, 0, 0, 0,216,156,200, 4, 0, 0, 0, 0,
+216,112,189, 4, 0, 0, 0, 0, 8, 87,187, 4, 0, 0, 0, 0, 72,157,200, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 25, 4, 0, 0,240, 4, 0, 0, 61, 2, 0, 0,194, 2, 0, 0, 1, 1,216, 0,134, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,248,245,200, 4, 0, 0, 0, 0,248,245,200, 4, 0, 0, 0, 0, 88,239,200, 4, 0, 0, 0, 0,
+200,240,200, 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, 68, 65, 84, 65, 40, 1, 0, 0, 88,239,200, 4, 0, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0,
+200,240,200, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,102, 68, 0, 0, 0, 0, 0, 0,208, 65,
+ 0, 0, 0, 0, 0, 0,165, 67, 0, 0, 0, 64, 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, 73, 1, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0,
+ 0,128,164, 67, 0, 0,200, 65, 0,128,164, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3,
+ 4, 0, 12, 0, 10, 0, 74, 1, 24, 0, 74, 1, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 25, 4, 0, 0,240, 4, 0, 0, 61, 2, 0, 0, 61, 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, 1, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 40, 1, 0, 0, 72,121,147, 5, 0, 0, 0, 0,216, 0, 0, 0,
- 1, 0, 0, 0,184,122,147, 5, 0, 0, 0, 0,216,119,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 67, 0, 0, 0,194,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 67, 0, 0,201,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,199, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,199, 0, 0, 0, 18, 0, 0, 0,
-163, 1, 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, 8, 4, 0, 0,
- 2, 0, 3, 3, 0, 0, 2, 4, 6, 0,200, 0,164, 1,200, 0,146, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,199, 0, 0, 0, 31, 1, 0, 0,194, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,200, 0,164, 1, 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, 68, 65, 84, 65, 40, 1, 0, 0,200,240,200, 4, 0, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 88,239,200, 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, 68, 65, 84, 65, 40, 1, 0, 0,184,122,147, 5, 0, 0, 0, 0,216, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,121,147, 5, 0, 0, 0, 0, 0, 0, 32,193, 0, 0,104, 68, 0, 0, 72,194,
- 0, 0, 0, 0, 0, 0, 32,193, 0, 0,104, 68, 0, 0,201,195, 0, 0, 0, 0,231, 0, 0, 0,248, 0, 0, 0, 18, 0, 0, 0,
-163, 1, 0, 0, 0, 0, 0, 0,230, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,230, 0, 0, 0, 18, 0, 0, 0,
-163, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,124,146, 72, 0, 64, 28, 70, 10,215, 35, 60, 0, 0, 72, 66, 74, 0, 0, 0,
- 0, 0, 0, 2, 0, 0, 2, 4, 4, 0,248, 0,164, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,200, 0, 0, 0,191, 1, 0, 0, 31, 1, 0, 0,194, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,248, 0,164, 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, 68, 65, 84, 65, 72, 1, 0, 0, 40,124,147, 5, 0, 0, 0, 0, 39, 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, 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,
+ 25, 4, 0, 0,240, 4, 0, 0, 61, 2, 0, 0,194, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+216, 0,134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 56,242,200, 4, 0, 0, 0, 0, 68, 65, 84, 65,112, 3, 0, 0, 56,242,200, 4, 0, 0, 0, 0,175, 0, 0, 0, 1, 0, 0, 0,
+ 56,255, 13, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,228,100, 64, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,154, 65,128,191, 0, 0,128,191, 0, 0, 0, 0, 0, 0, 0, 0, 72, 1, 77,190, 0, 0, 0, 0,
+221,149, 47, 63, 86,126,162,190, 8,165, 39, 63, 0, 0, 0, 0, 51, 70, 58, 63,225,251,159, 62,149, 84, 28,191, 0, 0, 0, 0,
+192, 56, 49,188, 55, 53,101, 63, 52,247,227, 62, 0, 0, 0, 0, 90, 38,173,190, 0,222,192,190,152, 9, 52,193, 0, 0,128, 63,
+223,149, 47, 63, 55, 70, 58, 63,160, 56, 49,188, 0, 0, 0, 0, 88,126,162,190,229,251,159, 62, 55, 53,101, 63, 0, 0, 0, 0,
+ 7,165, 39, 63,150, 84, 28,191, 51,247,227, 62, 0, 0, 0, 0,110,101,239, 64,151, 62,208,192, 78,255,170, 64, 0, 0,128, 63,
+ 47,201,194, 63, 61, 73,145,191,244,250, 39,191, 8,165, 39,191,190,164,206, 63,209, 10,143, 63,180,164, 28, 63,149, 84, 28, 63,
+224,153,196,188,136,239, 76, 64, 10,108,228,190, 52,247,227,190,125, 21, 64,191,126,113,172,191,216, 49, 49, 65,152, 9, 52, 65,
+149, 70,158, 62, 24,234,167, 62,192,214,159,187, 0, 0, 6,181,196,188,181,189, 71,238,178, 61,127, 45,128, 62, 0, 0,226, 51,
+168,120, 21,194,107, 5, 2, 66,203,135,213,193,147,214,159,192,177, 38, 19, 66,124,173,255,193, 96,101,210, 65,128, 40,160, 64,
+221,149, 47, 63, 86,126,162,190, 8,165, 39, 63, 0, 0, 0, 0, 51, 70, 58, 63,225,251,159, 62,149, 84, 28,191, 0, 0, 0, 0,
+192, 56, 49,188, 55, 53,101, 63, 52,247,227, 62, 0, 0, 0, 0, 90, 38,173,190, 0,222,192,190,152, 9, 52,193, 0, 0,128, 63,
+ 47,201,194, 63, 61, 73,145,191,244,250, 39,191, 8,165, 39,191,190,164,206, 63,209, 10,143, 63,180,164, 28, 63,149, 84, 28, 63,
+224,153,196,188,136,239, 76, 64, 10,108,228,190, 52,247,227,190,125, 21, 64,191,126,113,172,191,216, 49, 49, 65,152, 9, 52, 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,120,184,168, 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, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,184,125,147, 5, 0, 0, 0, 0,215, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,118,147, 5, 0, 0, 0, 0,104, 43,147, 5, 0, 0, 0, 0, 40, 76,135, 5,
- 0, 0, 0, 0, 88, 56,135, 5, 0, 0, 0, 0,216, 43,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 4, 0, 0,
-240, 4, 0, 0, 61, 2, 0, 0,194, 2, 0, 0, 1, 1,216, 0,134, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 72,133,147, 5, 0, 0, 0, 0, 72,133,147, 5, 0, 0, 0, 0,168,126,147, 5, 0, 0, 0, 0, 24,128,147, 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, 68, 65, 84, 65, 40, 1, 0, 0,168,126,147, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 24,128,147, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,102, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0,
- 0, 0,165, 67, 0, 0, 0, 64, 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, 73, 1, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0,128,164, 67,
- 0, 0,200, 65, 0,128,164, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0,
- 10, 0, 74, 1, 24, 0, 74, 1, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 4, 0, 0,
-240, 4, 0, 0, 61, 2, 0, 0, 61, 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, 1, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 40, 1, 0, 0, 24,128,147, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,168,126,147, 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,
+102,103, 97, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,102,103, 97, 64, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,102,103, 97, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+241, 22, 72, 63, 78,162,246,190, 43, 8, 90,190, 2, 35,171,190, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+253,191,136, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 65, 1, 2, 0, 0,255,255, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 7, 0, 0, 0,128, 63,190,133, 65, 66, 99,212, 90, 66, 27,183,118, 66,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 1, 0, 0,248,245,200, 4, 0, 0, 0, 0,
+176, 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, 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,205,204, 76, 62, 2, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 1, 0, 7, 0,216,120,222, 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, 25, 4, 0, 0,
-240, 4, 0, 0, 61, 2, 0, 0,194, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216, 0,134, 0,
+ 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, 3, 0, 8, 0,128, 0, 0, 0, 12, 66, 0, 0,128, 63, 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, 0, 0, 16, 0, 10, 0, 7, 1, 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, 83, 78, 0, 0, 8, 1, 0, 0, 56,248,200, 4, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,
+184,100,201, 4, 0, 0, 0, 0,232,152,200, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 83, 82, 67,111,109,112,111,115,105,116,105,110,103, 0,103, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,249,200, 4, 0, 0, 0, 0,
+ 56,255,200, 4, 0, 0, 0, 0,168,255,200, 4, 0, 0, 0, 0,216, 8,201, 4, 0, 0, 0, 0, 72, 9,201, 4, 0, 0, 0, 0,
+120, 61,201, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 92,222, 4, 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, 32, 0, 0, 0,136,249,200, 4, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,
+248,249,200, 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,
+ 68, 65, 84, 65, 32, 0, 0, 0,248,249,200, 4, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,104,250,200, 4, 0, 0, 0, 0,
+136,249,200, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,
+104,250,200, 4, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,216,250,200, 4, 0, 0, 0, 0,248,249,200, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 5, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,216,250,200, 4, 0, 0, 0, 0,
+213, 0, 0, 0, 1, 0, 0, 0, 72,251,200, 4, 0, 0, 0, 0,104,250,200, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+126, 7, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 72,251,200, 4, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,
+184,251,200, 4, 0, 0, 0, 0,216,250,200, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,234, 3, 1, 0, 0, 0,
+ 68, 65, 84, 65, 32, 0, 0, 0,184,251,200, 4, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 40,252,200, 4, 0, 0, 0, 0,
+ 72,251,200, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7,234, 3, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,
+ 40,252,200, 4, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,152,252,200, 4, 0, 0, 0, 0,184,251,200, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 32, 6, 92, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,152,252,200, 4, 0, 0, 0, 0,
+213, 0, 0, 0, 1, 0, 0, 0, 8,253,200, 4, 0, 0, 0, 0, 40,252,200, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+126, 7, 92, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 8,253,200, 4, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,
+120,253,200, 4, 0, 0, 0, 0,152,252,200, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 6,234, 3, 1, 0, 0, 0,
+ 68, 65, 84, 65, 32, 0, 0, 0,120,253,200, 4, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,232,253,200, 4, 0, 0, 0, 0,
+ 8,253,200, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,140, 1, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,
+232,253,200, 4, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 88,254,200, 4, 0, 0, 0, 0,120,253,200, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 32, 6,140, 1, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 88,254,200, 4, 0, 0, 0, 0,
+213, 0, 0, 0, 1, 0, 0, 0,200,254,200, 4, 0, 0, 0, 0,232,253,200, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 4, 3,140, 1, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,200,254,200, 4, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,
+ 56,255,200, 4, 0, 0, 0, 0, 88,254,200, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 32, 0, 0, 0, 56,255,200, 4, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+200,254,200, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 6, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
+168,255,200, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 24, 0,201, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+248,249,200, 4, 0, 0, 0, 0,104,250,200, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
+ 24, 0,201, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,136, 0,201, 4, 0, 0, 0, 0,168,255,200, 4, 0, 0, 0, 0,
+248,249,200, 4, 0, 0, 0, 0, 72,251,200, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
+136, 0,201, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,248, 0,201, 4, 0, 0, 0, 0, 24, 0,201, 4, 0, 0, 0, 0,
+104,250,200, 4, 0, 0, 0, 0,184,251,200, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
+248, 0,201, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,104, 1,201, 4, 0, 0, 0, 0,136, 0,201, 4, 0, 0, 0, 0,
+ 72,251,200, 4, 0, 0, 0, 0,184,251,200, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
+104, 1,201, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,216, 1,201, 4, 0, 0, 0, 0,248, 0,201, 4, 0, 0, 0, 0,
+216,250,200, 4, 0, 0, 0, 0,152,252,200, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
+216, 1,201, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 72, 2,201, 4, 0, 0, 0, 0,104, 1,201, 4, 0, 0, 0, 0,
+ 40,252,200, 4, 0, 0, 0, 0,152,252,200, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
+ 72, 2,201, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,184, 2,201, 4, 0, 0, 0, 0,216, 1,201, 4, 0, 0, 0, 0,
+184,251,200, 4, 0, 0, 0, 0, 8,253,200, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
+184, 2,201, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 40, 3,201, 4, 0, 0, 0, 0, 72, 2,201, 4, 0, 0, 0, 0,
+ 72,251,200, 4, 0, 0, 0, 0, 8,253,200, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
+ 40, 3,201, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,152, 3,201, 4, 0, 0, 0, 0,184, 2,201, 4, 0, 0, 0, 0,
+ 40,252,200, 4, 0, 0, 0, 0, 8,253,200, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
+152, 3,201, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 8, 4,201, 4, 0, 0, 0, 0, 40, 3,201, 4, 0, 0, 0, 0,
+184,251,200, 4, 0, 0, 0, 0,152,252,200, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
+ 8, 4,201, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,120, 4,201, 4, 0, 0, 0, 0,152, 3,201, 4, 0, 0, 0, 0,
+ 72,251,200, 4, 0, 0, 0, 0,120,253,200, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
+120, 4,201, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,232, 4,201, 4, 0, 0, 0, 0, 8, 4,201, 4, 0, 0, 0, 0,
+ 8,253,200, 4, 0, 0, 0, 0,232,253,200, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
+232, 4,201, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 88, 5,201, 4, 0, 0, 0, 0,120, 4,201, 4, 0, 0, 0, 0,
+120,253,200, 4, 0, 0, 0, 0,232,253,200, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
+ 88, 5,201, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,200, 5,201, 4, 0, 0, 0, 0,232, 4,201, 4, 0, 0, 0, 0,
+120,253,200, 4, 0, 0, 0, 0, 88,254,200, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
+200, 5,201, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 56, 6,201, 4, 0, 0, 0, 0, 88, 5,201, 4, 0, 0, 0, 0,
+232,253,200, 4, 0, 0, 0, 0, 88,254,200, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
+ 56, 6,201, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,168, 6,201, 4, 0, 0, 0, 0,200, 5,201, 4, 0, 0, 0, 0,
+136,249,200, 4, 0, 0, 0, 0,200,254,200, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
+168, 6,201, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 24, 7,201, 4, 0, 0, 0, 0, 56, 6,201, 4, 0, 0, 0, 0,
+200,254,200, 4, 0, 0, 0, 0, 56,255,200, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
+ 24, 7,201, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,136, 7,201, 4, 0, 0, 0, 0,168, 6,201, 4, 0, 0, 0, 0,
+216,250,200, 4, 0, 0, 0, 0, 56,255,200, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
+136, 7,201, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,248, 7,201, 4, 0, 0, 0, 0, 24, 7,201, 4, 0, 0, 0, 0,
+ 40,252,200, 4, 0, 0, 0, 0, 56,255,200, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
+248, 7,201, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,104, 8,201, 4, 0, 0, 0, 0,136, 7,201, 4, 0, 0, 0, 0,
+ 88,254,200, 4, 0, 0, 0, 0,200,254,200, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
+104, 8,201, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,216, 8,201, 4, 0, 0, 0, 0,248, 7,201, 4, 0, 0, 0, 0,
+232,253,200, 4, 0, 0, 0, 0, 56,255,200, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
+216, 8,201, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104, 8,201, 4, 0, 0, 0, 0,
+136,249,200, 4, 0, 0, 0, 0,120,253,200, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,
+ 72, 9,201, 4, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 24, 13,201, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 72,251,200, 4, 0, 0, 0, 0,248,249,200, 4, 0, 0, 0, 0,104,250,200, 4, 0, 0, 0, 0,184,251,200, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 0, 0,235, 3, 0, 0, 5, 4, 0, 0, 7, 7,127, 7, 27, 0, 1, 0,
+ 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,100,201, 4, 0, 0, 0, 0, 40,100,201, 4, 0, 0, 0, 0,
+ 56, 10,201, 4, 0, 0, 0, 0,168, 11,201, 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, 68, 65, 84, 65, 40, 1, 0, 0, 56, 10,201, 4, 0, 0, 0, 0,
+217, 0, 0, 0, 1, 0, 0, 0,168, 11,201, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32,148, 68,
+ 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,224,239, 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,126, 7, 0, 0,
+ 0, 0, 0, 0, 25, 0, 0, 0, 0,192,239, 68, 0, 0,200, 65, 0,192,239, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,127, 7, 26, 0,127, 7, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 0, 0,235, 3, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,127, 7, 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, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,168, 11,201, 4, 0, 0, 0, 0,
+217, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 10,201, 4, 0, 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,128, 63, 0, 0,128, 63,
+ 2, 0, 0, 0, 1, 0, 3, 3, 2, 0, 0, 4, 10, 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, 5, 4, 0, 0, 5, 4, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,129,147, 5,
- 0, 0, 0, 0, 68, 65, 84, 65,112, 3, 0, 0,136,129,147, 5, 0, 0, 0, 0,174, 0, 0, 0, 1, 0, 0, 0, 56,255, 13, 64,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,228,100, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,154, 65,128,191, 0, 0,128,191, 0, 0, 0, 0, 0, 0, 0, 0, 72, 1, 77,190, 0, 0, 0, 0,221,149, 47, 63,
- 86,126,162,190, 8,165, 39, 63, 0, 0, 0, 0, 51, 70, 58, 63,225,251,159, 62,149, 84, 28,191, 0, 0, 0, 0,192, 56, 49,188,
- 55, 53,101, 63, 52,247,227, 62, 0, 0, 0, 0, 90, 38,173,190, 0,222,192,190,152, 9, 52,193, 0, 0,128, 63,223,149, 47, 63,
- 55, 70, 58, 63,160, 56, 49,188, 0, 0, 0, 0, 88,126,162,190,229,251,159, 62, 55, 53,101, 63, 0, 0, 0, 0, 7,165, 39, 63,
-150, 84, 28,191, 51,247,227, 62, 0, 0, 0, 0,110,101,239, 64,151, 62,208,192, 78,255,170, 64, 0, 0,128, 63, 47,201,194, 63,
- 61, 73,145,191,244,250, 39,191, 8,165, 39,191,190,164,206, 63,209, 10,143, 63,180,164, 28, 63,149, 84, 28, 63,224,153,196,188,
-136,239, 76, 64, 10,108,228,190, 52,247,227,190,125, 21, 64,191,126,113,172,191,216, 49, 49, 65,152, 9, 52, 65,149, 70,158, 62,
- 24,234,167, 62,192,214,159,187, 0, 0, 6,181,196,188,181,189, 71,238,178, 61,127, 45,128, 62, 0, 0,226, 51,168,120, 21,194,
-107, 5, 2, 66,203,135,213,193,147,214,159,192,177, 38, 19, 66,124,173,255,193, 96,101,210, 65,128, 40,160, 64,221,149, 47, 63,
- 86,126,162,190, 8,165, 39, 63, 0, 0, 0, 0, 51, 70, 58, 63,225,251,159, 62,149, 84, 28,191, 0, 0, 0, 0,192, 56, 49,188,
- 55, 53,101, 63, 52,247,227, 62, 0, 0, 0, 0, 90, 38,173,190, 0,222,192,190,152, 9, 52,193, 0, 0,128, 63, 47,201,194, 63,
- 61, 73,145,191,244,250, 39,191, 8,165, 39,191,190,164,206, 63,209, 10,143, 63,180,164, 28, 63,149, 84, 28, 63,224,153,196,188,
-136,239, 76, 64, 10,108,228,190, 52,247,227,190,125, 21, 64,191,126,113,172,191,216, 49, 49, 65,152, 9, 52, 65, 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, 24, 13,201, 4, 0, 0, 0, 0,
+216, 0, 0, 0, 1, 0, 0, 0, 8, 18,201, 4, 0, 0, 0, 0, 72, 9,201, 4, 0, 0, 0, 0, 56,255,200, 4, 0, 0, 0, 0,
+ 40,252,200, 4, 0, 0, 0, 0,152,252,200, 4, 0, 0, 0, 0,216,250,200, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 33, 6, 0, 0,126, 7, 0, 0, 0, 0, 0, 0, 91, 0, 0, 0, 15, 15, 94, 1, 92, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,232, 16,201, 4, 0, 0, 0, 0,232, 16,201, 4, 0, 0, 0, 0, 8, 14,201, 4, 0, 0, 0, 0,
+120, 15,201, 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, 68, 65, 84, 65, 40, 1, 0, 0, 8, 14,201, 4, 0, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0,
+120, 15,201, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,115, 68, 0, 0, 0, 0, 0, 0,208, 65,
+ 0, 0, 0, 0, 0, 0,175, 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, 93, 1, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0,
+ 0,128,174, 67, 0, 0,200, 65, 0,128,174, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3,
+ 4, 0, 12, 0, 10, 0, 94, 1, 26, 0, 94, 1, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 33, 6, 0, 0,126, 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,
+ 94, 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,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,120, 15,201, 4, 0, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 8, 14,201, 4, 0, 0, 0, 0, 0, 0, 64,192, 0, 0,126, 67, 0, 0, 0, 0, 0, 0, 72, 66,
+ 50, 51, 74,193,154,209,131, 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, 93, 1, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 93, 1, 0, 0, 18, 0, 0, 0, 65, 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, 94, 1, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 33, 6, 0, 0,126, 7, 0, 0, 26, 0, 0, 0, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 94, 1, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,232, 16,201, 4, 0, 0, 0, 0,185, 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,
+ 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,102,103, 97, 64,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,102,103, 97, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,102,103, 97, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,241, 22, 72, 63,
- 78,162,246,190, 43, 8, 90,190, 2, 35,171,190, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,253,191,136, 59,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 65, 1, 2, 0, 0,255,255, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 7, 0, 0, 0,128, 63,190,133, 65, 66, 99,212, 90, 66, 27,183,118, 66, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 1, 0, 0, 72,133,147, 5, 0, 0, 0, 0,175, 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, 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,205,204, 76, 62, 2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 1, 0, 7, 0, 24,213,168, 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, 31, 0, 0, 0, 1, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, 8, 18,201, 4, 0, 0, 0, 0,
+216, 0, 0, 0, 1, 0, 0, 0,152, 42,201, 4, 0, 0, 0, 0, 24, 13,201, 4, 0, 0, 0, 0, 40,252,200, 4, 0, 0, 0, 0,
+ 8,253,200, 4, 0, 0, 0, 0,184,251,200, 4, 0, 0, 0, 0,152,252,200, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 33, 6, 0, 0,126, 7, 0, 0, 93, 0, 0, 0,233, 3, 0, 0, 4, 4, 94, 1,141, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 88, 41,201, 4, 0, 0, 0, 0, 88, 41,201, 4, 0, 0, 0, 0,248, 18,201, 4, 0, 0, 0, 0,
+104, 20,201, 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, 68, 65, 84, 65, 40, 1, 0, 0,248, 18,201, 4, 0, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0,
+104, 20,201, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,148, 67, 0, 0, 0, 0, 0, 0,208, 65,
+ 0, 0, 0, 0, 0, 0,175, 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, 93, 1, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0,
+ 0,128,174, 67, 0, 0,200, 65, 0,128,174, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3,
+ 4, 0, 12, 0, 10, 0, 94, 1, 26, 0, 94, 1, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 33, 6, 0, 0,126, 7, 0, 0,208, 3, 0, 0,233, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 94, 1, 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,
- 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, 3, 0, 8, 0,128, 0, 0, 0, 12, 66, 0, 0,128, 63, 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, 0, 0, 16, 0, 10, 0, 7, 1, 0, 3, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,104, 20,201, 4, 0, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,248, 18,201, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,174, 67, 0,128, 92,196, 0, 0, 0, 0,
+ 0, 0, 0, 0,255,127,166, 67,255,191, 92,196, 0, 0, 0, 0, 77, 1, 0, 0, 94, 1, 0, 0, 0, 0, 0, 0,114, 3, 0, 0,
+ 0, 0, 0, 0, 82, 1, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 76, 1, 0, 0, 0, 0, 0, 0,114, 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, 3, 0, 0, 1, 0, 7, 0,
+ 18, 0, 0, 4, 6, 0, 94, 1,115, 3, 77, 1,115, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 33, 6, 0, 0,126, 7, 0, 0, 93, 0, 0, 0,207, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 94, 1,115, 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,216, 21,201, 4, 0, 0, 0, 0,
+184, 39,201, 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, 68, 65, 84, 65, 88, 1, 0, 0,216, 21,201, 4, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,
+120, 23,201, 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,
+ 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, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 78, 0, 0, 8, 1, 0, 0,248,134,147, 5, 0, 0, 0, 0,211, 0, 0, 0, 1, 0, 0, 0,104, 63,166, 5,
- 0, 0, 0, 0, 24, 42,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 82, 67,111,
-109,112,111,115,105,116,105,110,103, 0,103, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 67,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, 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, 72,136,147, 5, 0, 0, 0, 0,248,141,147, 5,
- 0, 0, 0, 0,104,142,147, 5, 0, 0, 0, 0,152,151,147, 5, 0, 0, 0, 0, 8,152,147, 5, 0, 0, 0, 0, 56,204,147, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,184,168, 5, 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,220,255, 76, 1, 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, 68, 65, 84, 65, 32, 0, 0, 0, 72,136,147, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,184,136,147, 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, 68, 65, 84, 65,
- 32, 0, 0, 0,184,136,147, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 40,137,147, 5, 0, 0, 0, 0, 72,136,147, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 40,137,147, 5,
- 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,152,137,147, 5, 0, 0, 0, 0,184,136,147, 5, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,126, 7, 5, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,152,137,147, 5, 0, 0, 0, 0,212, 0, 0, 0,
- 1, 0, 0, 0, 8,138,147, 5, 0, 0, 0, 0, 40,137,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 8,138,147, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,120,138,147, 5,
- 0, 0, 0, 0,152,137,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,234, 3, 1, 0, 0, 0, 68, 65, 84, 65,
- 32, 0, 0, 0,120,138,147, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,232,138,147, 5, 0, 0, 0, 0, 8,138,147, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7,234, 3, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,232,138,147, 5,
- 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 88,139,147, 5, 0, 0, 0, 0,120,138,147, 5, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 32, 6, 92, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 88,139,147, 5, 0, 0, 0, 0,212, 0, 0, 0,
- 1, 0, 0, 0,200,139,147, 5, 0, 0, 0, 0,232,138,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 92, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,200,139,147, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 56,140,147, 5,
- 0, 0, 0, 0, 88,139,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 6,234, 3, 1, 0, 0, 0, 68, 65, 84, 65,
- 32, 0, 0, 0, 56,140,147, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,168,140,147, 5, 0, 0, 0, 0,200,139,147, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,140, 1, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,168,140,147, 5,
- 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 24,141,147, 5, 0, 0, 0, 0, 56,140,147, 5, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 32, 6,140, 1, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 24,141,147, 5, 0, 0, 0, 0,212, 0, 0, 0,
- 1, 0, 0, 0,136,141,147, 5, 0, 0, 0, 0,168,140,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 3,140, 1,
- 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,136,141,147, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,248,141,147, 5,
- 0, 0, 0, 0, 24,141,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 32, 0, 0, 0,248,141,147, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,141,147, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 6, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,104,142,147, 5,
- 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,216,142,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,136,147, 5,
- 0, 0, 0, 0, 40,137,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,216,142,147, 5,
- 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 72,143,147, 5, 0, 0, 0, 0,104,142,147, 5, 0, 0, 0, 0,184,136,147, 5,
- 0, 0, 0, 0, 8,138,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 72,143,147, 5,
- 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,184,143,147, 5, 0, 0, 0, 0,216,142,147, 5, 0, 0, 0, 0, 40,137,147, 5,
- 0, 0, 0, 0,120,138,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,184,143,147, 5,
- 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 40,144,147, 5, 0, 0, 0, 0, 72,143,147, 5, 0, 0, 0, 0, 8,138,147, 5,
- 0, 0, 0, 0,120,138,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 40,144,147, 5,
- 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,152,144,147, 5, 0, 0, 0, 0,184,143,147, 5, 0, 0, 0, 0,152,137,147, 5,
- 0, 0, 0, 0, 88,139,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,152,144,147, 5,
- 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 8,145,147, 5, 0, 0, 0, 0, 40,144,147, 5, 0, 0, 0, 0,232,138,147, 5,
- 0, 0, 0, 0, 88,139,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 8,145,147, 5,
- 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,120,145,147, 5, 0, 0, 0, 0,152,144,147, 5, 0, 0, 0, 0,120,138,147, 5,
- 0, 0, 0, 0,200,139,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,120,145,147, 5,
- 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,232,145,147, 5, 0, 0, 0, 0, 8,145,147, 5, 0, 0, 0, 0, 8,138,147, 5,
- 0, 0, 0, 0,200,139,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,232,145,147, 5,
- 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 88,146,147, 5, 0, 0, 0, 0,120,145,147, 5, 0, 0, 0, 0,232,138,147, 5,
- 0, 0, 0, 0,200,139,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 88,146,147, 5,
- 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,200,146,147, 5, 0, 0, 0, 0,232,145,147, 5, 0, 0, 0, 0,120,138,147, 5,
- 0, 0, 0, 0, 88,139,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,200,146,147, 5,
- 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 56,147,147, 5, 0, 0, 0, 0, 88,146,147, 5, 0, 0, 0, 0, 8,138,147, 5,
- 0, 0, 0, 0, 56,140,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 56,147,147, 5,
- 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,168,147,147, 5, 0, 0, 0, 0,200,146,147, 5, 0, 0, 0, 0,200,139,147, 5,
- 0, 0, 0, 0,168,140,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,168,147,147, 5,
- 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 24,148,147, 5, 0, 0, 0, 0, 56,147,147, 5, 0, 0, 0, 0, 56,140,147, 5,
- 0, 0, 0, 0,168,140,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 24,148,147, 5,
- 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,136,148,147, 5, 0, 0, 0, 0,168,147,147, 5, 0, 0, 0, 0, 56,140,147, 5,
- 0, 0, 0, 0, 24,141,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,136,148,147, 5,
- 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,248,148,147, 5, 0, 0, 0, 0, 24,148,147, 5, 0, 0, 0, 0,168,140,147, 5,
- 0, 0, 0, 0, 24,141,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,248,148,147, 5,
- 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,104,149,147, 5, 0, 0, 0, 0,136,148,147, 5, 0, 0, 0, 0, 72,136,147, 5,
- 0, 0, 0, 0,136,141,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,104,149,147, 5,
- 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,216,149,147, 5, 0, 0, 0, 0,248,148,147, 5, 0, 0, 0, 0,136,141,147, 5,
- 0, 0, 0, 0,248,141,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,216,149,147, 5,
- 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 72,150,147, 5, 0, 0, 0, 0,104,149,147, 5, 0, 0, 0, 0,152,137,147, 5,
- 0, 0, 0, 0,248,141,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 72,150,147, 5,
- 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,184,150,147, 5, 0, 0, 0, 0,216,149,147, 5, 0, 0, 0, 0,232,138,147, 5,
- 0, 0, 0, 0,248,141,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,184,150,147, 5,
- 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 40,151,147, 5, 0, 0, 0, 0, 72,150,147, 5, 0, 0, 0, 0, 24,141,147, 5,
- 0, 0, 0, 0,136,141,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 40,151,147, 5,
- 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,152,151,147, 5, 0, 0, 0, 0,184,150,147, 5, 0, 0, 0, 0,168,140,147, 5,
- 0, 0, 0, 0,248,141,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,152,151,147, 5,
- 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,151,147, 5, 0, 0, 0, 0, 72,136,147, 5,
- 0, 0, 0, 0, 56,140,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, 8,152,147, 5,
- 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,216,155,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,138,147, 5,
- 0, 0, 0, 0,184,136,147, 5, 0, 0, 0, 0, 40,137,147, 5, 0, 0, 0, 0,120,138,147, 5, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 0, 0,235, 3, 0, 0, 5, 4, 0, 0, 7, 7,127, 7, 27, 0, 1, 0, 0, 0, 0, 0,
- 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,243,146, 5, 0, 0, 0, 0,184,243,146, 5, 0, 0, 0, 0,248,152,147, 5,
- 0, 0, 0, 0,104,154,147, 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, 68, 65, 84, 65, 40, 1, 0, 0,248,152,147, 5, 0, 0, 0, 0,216, 0, 0, 0,
- 1, 0, 0, 0,104,154,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32,148, 68, 0, 0, 0, 0,
- 0, 0,208, 65, 0, 0, 0, 0, 0,224,239, 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,126, 7, 0, 0, 0, 0, 0, 0,
- 25, 0, 0, 0, 0,192,239, 68, 0, 0,200, 65, 0,192,239, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,127, 7, 26, 0,127, 7, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 0, 0,235, 3, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,127, 7, 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, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,104,154,147, 5, 0, 0, 0, 0,216, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,152,147, 5, 0, 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,128, 63, 0, 0,128, 63, 2, 0, 0, 0,
- 1, 0, 3, 3, 2, 0, 0, 4, 10, 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, 5, 4, 0, 0, 5, 4, 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,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,216,155,147, 5, 0, 0, 0, 0,215, 0, 0, 0,
- 1, 0, 0, 0,200,160,147, 5, 0, 0, 0, 0, 8,152,147, 5, 0, 0, 0, 0,248,141,147, 5, 0, 0, 0, 0,232,138,147, 5,
- 0, 0, 0, 0, 88,139,147, 5, 0, 0, 0, 0,152,137,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 6, 0, 0,
-126, 7, 0, 0, 0, 0, 0, 0, 91, 0, 0, 0, 15, 15, 94, 1, 92, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,168,159,147, 5, 0, 0, 0, 0,168,159,147, 5, 0, 0, 0, 0,200,156,147, 5, 0, 0, 0, 0, 56,158,147, 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, 68, 65, 84, 65, 40, 1, 0, 0,200,156,147, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 56,158,147, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,115, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0,
- 0, 0,175, 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, 93, 1, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,128,174, 67,
- 0, 0,200, 65, 0,128,174, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0,
- 10, 0, 94, 1, 26, 0, 94, 1, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 6, 0, 0,
-126, 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, 94, 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, 68, 65, 84, 65, 88, 1, 0, 0,
+120, 23,201, 4, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0, 24, 25,201, 4, 0, 0, 0, 0,216, 21,201, 4, 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, 68, 65, 84, 65, 40, 1, 0, 0, 56,158,147, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,200,156,147, 5, 0, 0, 0, 0, 0, 0, 64,192, 0, 0,126, 67, 0, 0, 0, 0, 0, 0, 72, 66, 50, 51, 74,193,
-154,209,131, 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,
- 93, 1, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 93, 1, 0, 0, 18, 0, 0, 0, 65, 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, 94, 1, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 6, 0, 0,
-126, 7, 0, 0, 26, 0, 0, 0, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, 1, 66, 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, 76, 1, 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,
- 0, 0, 0, 0, 68, 65, 84, 65,208, 0, 0, 0,168,159,147, 5, 0, 0, 0, 0,191, 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, 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, 68, 65, 84, 65, 88, 1, 0, 0, 24, 25,201, 4, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,
+184, 26,201, 4, 0, 0, 0, 0,120, 23,201, 4, 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,
+ 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, 76, 1, 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, 31, 0, 0, 0, 1, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,200,160,147, 5, 0, 0, 0, 0,215, 0, 0, 0,
- 1, 0, 0, 0, 88,185,147, 5, 0, 0, 0, 0,216,155,147, 5, 0, 0, 0, 0,232,138,147, 5, 0, 0, 0, 0,200,139,147, 5,
- 0, 0, 0, 0,120,138,147, 5, 0, 0, 0, 0, 88,139,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 6, 0, 0,
-126, 7, 0, 0, 93, 0, 0, 0,233, 3, 0, 0, 4, 4, 94, 1,141, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 24,184,147, 5, 0, 0, 0, 0, 24,184,147, 5, 0, 0, 0, 0,184,161,147, 5, 0, 0, 0, 0, 40,163,147, 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, 68, 65, 84, 65, 40, 1, 0, 0,184,161,147, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 40,163,147, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,148, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0,
- 0, 0,175, 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, 93, 1, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,128,174, 67,
- 0, 0,200, 65, 0,128,174, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0,
- 10, 0, 94, 1, 26, 0, 94, 1, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 6, 0, 0,
-126, 7, 0, 0,208, 3, 0, 0,233, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, 1, 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, 68, 65, 84, 65, 88, 1, 0, 0,
+184, 26,201, 4, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0, 88, 28,201, 4, 0, 0, 0, 0, 24, 25,201, 4, 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, 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, 76, 1,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, 68, 65, 84, 65, 40, 1, 0, 0, 40,163,147, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,184,161,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,174, 67, 0,128, 92,196, 0, 0, 0, 0, 0, 0, 0, 0,
-255,127,166, 67,255,191, 92,196, 0, 0, 0, 0, 77, 1, 0, 0, 94, 1, 0, 0, 0, 0, 0, 0,114, 3, 0, 0, 0, 0, 0, 0,
- 82, 1, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 76, 1, 0, 0, 0, 0, 0, 0,114, 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, 3, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4,
- 6, 0, 94, 1,115, 3, 77, 1,115, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 6, 0, 0,
-126, 7, 0, 0, 93, 0, 0, 0,207, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, 1,115, 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,152,164,147, 5, 0, 0, 0, 0,120,182,147, 5,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 88, 28,201, 4, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,
+248, 29,201, 4, 0, 0, 0, 0,184, 26,201, 4, 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, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,152,164,147, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 56,166,147, 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, 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, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,220,255,
- 76, 1, 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,
+ 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,
+ 65,110,116,105, 45, 65,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, 0, 0, 0, 0, 0, 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, 56,166,147, 5,
- 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,216,167,147, 5, 0, 0, 0, 0,152,164,147, 5, 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, 58,254, 76, 1, 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, 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, 68, 65, 84, 65, 88, 1, 0, 0,
+248, 29,201, 4, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,152, 31,201, 4, 0, 0, 0, 0, 88, 28,201, 4, 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, 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, 83, 97,109,112,108,101,100, 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, 0, 0, 0, 0, 34,254, 76, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,135,255, 76, 1, 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, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,152, 31,201, 4, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,
+ 56, 33,201, 4, 0, 0, 0, 0,248, 29,201, 4, 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,
- 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,216,167,147, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,120,169,147, 5,
- 0, 0, 0, 0, 56,166,147, 5, 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, 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,
- 76, 1, 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,
+ 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, 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,120,169,147, 5,
- 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 24,171,147, 5, 0, 0, 0, 0,216,167,147, 5, 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, 10,254, 76, 1, 0, 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, 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, 68, 65, 84, 65, 88, 1, 0, 0,
+ 56, 33,201, 4, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,216, 34,201, 4, 0, 0, 0, 0,152, 31,201, 4, 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, 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,140,254, 76, 1,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,242,253, 76, 1, 0, 0, 0, 0, 0, 0, 4, 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,
- 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 24,171,147, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,184,172,147, 5,
- 0, 0, 0, 0,120,169,147, 5, 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, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65,110,116,105,
- 45, 65,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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58,254,
- 76, 1, 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, 68, 65, 84, 65, 88, 1, 0, 0,216, 34,201, 4, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,
+120, 36,201, 4, 0, 0, 0, 0, 56, 33,201, 4, 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,
+ 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,
- 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,184,172,147, 5,
- 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 88,174,147, 5, 0, 0, 0, 0, 24,171,147, 5, 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, 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, 83, 97,109,112,108,101,100, 32, 77,111,116,105,111,110, 32, 66,108,117,114, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,254, 76, 1, 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,218,253, 76, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 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, 88,174,147, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,248,175,147, 5,
- 0, 0, 0, 0,184,172,147, 5, 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, 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, 10,254,
- 76, 1, 0, 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, 68, 65, 84, 65, 88, 1, 0, 0,
+120, 36,201, 4, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0, 24, 38,201, 4, 0, 0, 0, 0,216, 34,201, 4, 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, 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, 68, 65, 84, 65, 88, 1, 0, 0,248,175,147, 5,
- 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,152,177,147, 5, 0, 0, 0, 0, 88,174,147, 5, 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, 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, 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,242,253, 76, 1, 0, 0, 0, 0, 0, 0, 4, 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,194,253, 76, 1, 0, 0, 20, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,152,177,147, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 56,179,147, 5,
- 0, 0, 0, 0,248,175,147, 5, 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, 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,218,253,
- 76, 1, 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, 68, 65, 84, 65, 88, 1, 0, 0, 24, 38,201, 4, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,
+184, 39,201, 4, 0, 0, 0, 0,120, 36,201, 4, 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, 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,
- 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, 56,179,147, 5,
- 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,216,180,147, 5, 0, 0, 0, 0,152,177,147, 5, 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,
+ 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, 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, 40,253, 76, 1,130, 0, 0, 0, 0, 0, 0, 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, 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,194,253, 76, 1, 0, 0, 20, 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, 68, 65, 84, 65, 88, 1, 0, 0,
+184, 39,201, 4, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 38,201, 4, 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, 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, 68, 65, 84, 65, 88, 1, 0, 0,216,180,147, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,120,182,147, 5,
- 0, 0, 0, 0, 56,179,147, 5, 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, 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, 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, 40,253,
- 76, 1,130, 0, 0, 0, 0, 0, 0, 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, 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, 16,253, 76, 1, 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, 68, 65, 84, 65, 88, 1, 0, 0,120,182,147, 5,
- 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,180,147, 5, 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, 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, 68, 65, 84, 65,248, 0, 0, 0, 88, 41,201, 4, 0, 0, 0, 0,180, 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, 66, 97,107,101, 0, 0, 0, 0, 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, 16,253, 76, 1, 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, 68, 65, 84, 65,248, 0, 0, 0, 24,184,147, 5, 0, 0, 0, 0,180, 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, 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, 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, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,
+152, 42,201, 4, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 40, 56,201, 4, 0, 0, 0, 0, 8, 18,201, 4, 0, 0, 0, 0,
+200,254,200, 4, 0, 0, 0, 0, 88,254,200, 4, 0, 0, 0, 0,232,253,200, 4, 0, 0, 0, 0, 56,255,200, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 5, 3, 0, 0, 31, 6, 0, 0, 0, 0, 0, 0,139, 1, 0, 0, 1, 1, 27, 3,140, 1, 1, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120, 54,201, 4, 0, 0, 0, 0,120, 54,201, 4, 0, 0, 0, 0,
+136, 43,201, 4, 0, 0, 0, 0, 72, 49,201, 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, 68, 65, 84, 65, 40, 1, 0, 0,136, 43,201, 4, 0, 0, 0, 0,
+217, 0, 0, 0, 1, 0, 0, 0,248, 44,201, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64,113, 68,
+ 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,192, 70, 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, 26, 3, 0, 0,
+ 0, 0, 0, 0, 25, 0, 0, 0, 0,128, 70, 68, 0, 0,200, 65, 0,128, 70, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 27, 3, 26, 0, 27, 3, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 5, 3, 0, 0, 31, 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, 27, 3, 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, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,248, 44,201, 4, 0, 0, 0, 0,
+217, 0, 0, 0, 1, 0, 0, 0,104, 46,201, 4, 0, 0, 0, 0,136, 43,201, 4, 0, 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, 5, 3, 0, 0, 5, 3, 0, 0, 26, 0, 0, 0,139, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,114, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 40, 1, 0, 0,104, 46,201, 4, 0, 0, 0, 0,
+217, 0, 0, 0, 1, 0, 0, 0,216, 47,201, 4, 0, 0, 0, 0,248, 44,201, 4, 0, 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, 5, 3, 0, 0, 31, 6, 0, 0, 26, 0, 0, 0, 26, 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,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 40, 1, 0, 0,216, 47,201, 4, 0, 0, 0, 0,
+217, 0, 0, 0, 1, 0, 0, 0, 72, 49,201, 4, 0, 0, 0, 0,104, 46,201, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 67,
+ 0,192,108,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 67, 0, 0,184,195, 0, 0, 0, 0,163, 0, 0, 0,180, 0, 0, 0,
+ 18, 0, 0, 0,129, 1, 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,129, 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, 0, 0, 0, 1, 0, 7, 0, 18, 0, 0, 0, 6, 0,180, 0,130, 1,163, 0,112, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 31, 6, 0, 0, 31, 6, 0, 0, 26, 0, 0, 0,139, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 40, 1, 0, 0, 72, 49,201, 4, 0, 0, 0, 0,
+217, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216, 47,201, 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, 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, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, 88,185,147, 5,
- 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,232,198,147, 5, 0, 0, 0, 0,200,160,147, 5, 0, 0, 0, 0,136,141,147, 5,
- 0, 0, 0, 0, 24,141,147, 5, 0, 0, 0, 0,168,140,147, 5, 0, 0, 0, 0,248,141,147, 5, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 5, 3, 0, 0, 31, 6, 0, 0, 0, 0, 0, 0,139, 1, 0, 0, 1, 1, 27, 3,140, 1, 1, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,197,147, 5, 0, 0, 0, 0, 56,197,147, 5, 0, 0, 0, 0, 72,186,147, 5,
- 0, 0, 0, 0, 8,192,147, 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, 68, 65, 84, 65, 40, 1, 0, 0, 72,186,147, 5, 0, 0, 0, 0,216, 0, 0, 0,
- 1, 0, 0, 0,184,187,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64,113, 68, 0, 0, 0, 0,
- 0, 0,208, 65, 0, 0, 0, 0, 0,192, 70, 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, 26, 3, 0, 0, 0, 0, 0, 0,
- 25, 0, 0, 0, 0,128, 70, 68, 0, 0,200, 65, 0,128, 70, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 27, 3, 26, 0, 27, 3, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 5, 3, 0, 0, 31, 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, 27, 3, 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, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,184,187,147, 5, 0, 0, 0, 0,216, 0, 0, 0,
- 1, 0, 0, 0, 40,189,147, 5, 0, 0, 0, 0, 72,186,147, 5, 0, 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, 5, 3, 0, 0, 5, 3, 0, 0, 26, 0, 0, 0,139, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1, 0,114, 1, 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, 5, 3, 0, 0, 31, 6, 0, 0, 26, 0, 0, 0,139, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 27, 3,114, 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, 68, 65, 84, 65, 40, 1, 0, 0, 40,189,147, 5, 0, 0, 0, 0,216, 0, 0, 0,
- 1, 0, 0, 0,152,190,147, 5, 0, 0, 0, 0,184,187,147, 5, 0, 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, 5, 3, 0, 0, 31, 6, 0, 0, 26, 0, 0, 0, 26, 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,184, 50,201, 4, 0, 0, 0, 0, 68, 65, 84, 65,112, 3, 0, 0,184, 50,201, 4, 0, 0, 0, 0,
+175, 0, 0, 0, 1, 0, 0, 0, 93,101,230, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30,133,119, 64,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,154, 65,128,191, 0, 0,128,191, 0, 0, 0, 0, 0, 0, 0, 0,
+ 72, 1, 77,190, 0, 0, 0, 0,221,149, 47, 63, 85,126,162,190, 8,165, 39, 63, 0, 0, 0, 0, 51, 70, 58, 63,225,251,159, 62,
+149, 84, 28,191, 0, 0, 0, 0,191, 56, 49,188, 54, 53,101, 63, 50,247,227, 62, 0, 0, 0, 0, 90, 38,173,190,254,221,192,190,
+152, 9, 52,193, 0, 0,128, 63,223,149, 47, 63, 55, 70, 58, 63,192, 56, 49,188, 0, 0, 0, 0, 87,126,162,190,228,251,159, 62,
+ 56, 53,101, 63, 0, 0, 0, 0, 7,165, 39, 63,150, 84, 28,191, 50,247,227, 62, 0, 0, 0, 0,110,101,239, 64,151, 62,208,192,
+ 77,255,170, 64, 0, 0,128, 63, 42, 6,158, 63, 99, 28,157,191,244,250, 39,191, 8,165, 39,191,211,164,167, 63, 55,175,154, 63,
+180,164, 28, 63,149, 84, 28, 63, 39,127,159,188,135,157, 93, 64, 8,108,228,190, 50,247,227,190, 4,213, 27,191,122,122,186,191,
+216, 49, 49, 65,152, 9, 52, 65, 25, 25,195, 62,176,249,206, 62,128,238,196,187, 0, 0,192,179, 55, 15,168,189,201,118,165, 61,
+152, 15,109, 62, 0, 0,152, 51,211,120, 21,194,144, 5, 2, 66, 6,136,213,193,193,214,159,192,219, 38, 19, 66,196,173,255,193,
+154,101,210, 65,173, 40,160, 64,221,149, 47, 63, 85,126,162,190, 8,165, 39, 63, 0, 0, 0, 0, 51, 70, 58, 63,225,251,159, 62,
+149, 84, 28,191, 0, 0, 0, 0,191, 56, 49,188, 54, 53,101, 63, 50,247,227, 62, 0, 0, 0, 0, 90, 38,173,190,254,221,192,190,
+152, 9, 52,193, 0, 0,128, 63, 42, 6,158, 63, 99, 28,157,191,244,250, 39,191, 8,165, 39,191,211,164,167, 63, 55,175,154, 63,
+180,164, 28, 63,149, 84, 28, 63, 39,127,159,188,135,157, 93, 64, 8,108,228,190, 50,247,227,190, 4,213, 27,191,122,122,186,191,
+216, 49, 49, 65,152, 9, 52, 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,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,152,190,147, 5, 0, 0, 0, 0,216, 0, 0, 0,
- 1, 0, 0, 0, 8,192,147, 5, 0, 0, 0, 0, 40,189,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 67, 0,192,108,196,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 67, 0, 0,184,195, 0, 0, 0, 0,163, 0, 0, 0,180, 0, 0, 0, 18, 0, 0, 0,
-129, 1, 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,
-129, 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, 0, 0, 0,
- 1, 0, 7, 0, 18, 0, 0, 0, 6, 0,180, 0,130, 1,163, 0,112, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 31, 6, 0, 0, 31, 6, 0, 0, 26, 0, 0, 0,139, 1, 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,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 40, 1, 0, 0, 8,192,147, 5, 0, 0, 0, 0,216, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,190,147, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 62,250,150, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62,250,150, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62,250,150, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63,241, 22, 72, 63, 78,162,246,190, 44, 8, 90,190, 3, 35,171,190,214,211,111, 65,214,211,111, 65,
+ 0, 0, 0, 0, 0, 0, 0, 0, 80, 49,183, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 65, 1, 2, 0, 0,
+255,255, 0, 0, 92, 62, 55, 63, 56,186,224,190,237,203,148,190, 3,236,234,190, 1, 0, 0, 0, 0, 0,128, 63,190,133, 65, 66,
+100,212, 90, 66, 31,183,118, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 1, 0, 0,
+120, 54,201, 4, 0, 0, 0, 0,176, 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, 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,205,204, 76, 62,
+ 2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 7, 0,216,120,222, 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, 5, 3, 0, 0, 31, 6, 0, 0, 26, 0, 0, 0,139, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 27, 3,114, 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,120,193,147, 5, 0, 0, 0, 0, 68, 65, 84, 65,112, 3, 0, 0,120,193,147, 5, 0, 0, 0, 0,174, 0, 0, 0,
- 1, 0, 0, 0, 93,101,230, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30,133,119, 64, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,154, 65,128,191, 0, 0,128,191, 0, 0, 0, 0, 0, 0, 0, 0, 72, 1, 77,190,
- 0, 0, 0, 0,221,149, 47, 63, 85,126,162,190, 8,165, 39, 63, 0, 0, 0, 0, 51, 70, 58, 63,225,251,159, 62,149, 84, 28,191,
- 0, 0, 0, 0,191, 56, 49,188, 54, 53,101, 63, 50,247,227, 62, 0, 0, 0, 0, 90, 38,173,190,254,221,192,190,152, 9, 52,193,
- 0, 0,128, 63,223,149, 47, 63, 55, 70, 58, 63,192, 56, 49,188, 0, 0, 0, 0, 87,126,162,190,228,251,159, 62, 56, 53,101, 63,
- 0, 0, 0, 0, 7,165, 39, 63,150, 84, 28,191, 50,247,227, 62, 0, 0, 0, 0,110,101,239, 64,151, 62,208,192, 77,255,170, 64,
- 0, 0,128, 63, 42, 6,158, 63, 99, 28,157,191,244,250, 39,191, 8,165, 39,191,211,164,167, 63, 55,175,154, 63,180,164, 28, 63,
-149, 84, 28, 63, 39,127,159,188,135,157, 93, 64, 8,108,228,190, 50,247,227,190, 4,213, 27,191,122,122,186,191,216, 49, 49, 65,
-152, 9, 52, 65, 25, 25,195, 62,176,249,206, 62,128,238,196,187, 0, 0,192,179, 55, 15,168,189,201,118,165, 61,152, 15,109, 62,
- 0, 0,152, 51,211,120, 21,194,144, 5, 2, 66, 6,136,213,193,193,214,159,192,219, 38, 19, 66,196,173,255,193,154,101,210, 65,
-173, 40,160, 64,221,149, 47, 63, 85,126,162,190, 8,165, 39, 63, 0, 0, 0, 0, 51, 70, 58, 63,225,251,159, 62,149, 84, 28,191,
- 0, 0, 0, 0,191, 56, 49,188, 54, 53,101, 63, 50,247,227, 62, 0, 0, 0, 0, 90, 38,173,190,254,221,192,190,152, 9, 52,193,
- 0, 0,128, 63, 42, 6,158, 63, 99, 28,157,191,244,250, 39,191, 8,165, 39,191,211,164,167, 63, 55,175,154, 63,180,164, 28, 63,
-149, 84, 28, 63, 39,127,159,188,135,157, 93, 64, 8,108,228,190, 50,247,227,190, 4,213, 27,191,122,122,186,191,216, 49, 49, 65,
-152, 9, 52, 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,
+ 1, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 1, 0, 3, 0, 8, 8,128, 0, 0, 0, 12, 66, 0, 0,128, 63,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, 0, 0, 16, 0,
+ 10, 0, 7, 1, 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, 68, 65, 84, 65,160, 0, 0, 0, 40, 56,201, 4, 0, 0, 0, 0,
+216, 0, 0, 0, 1, 0, 0, 0,120, 61,201, 4, 0, 0, 0, 0,152, 42,201, 4, 0, 0, 0, 0,120,253,200, 4, 0, 0, 0, 0,
+ 72,251,200, 4, 0, 0, 0, 0, 8,253,200, 4, 0, 0, 0, 0,232,253,200, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 31, 6, 0, 0,141, 1, 0, 0,233, 3, 0, 0, 16, 16, 32, 6, 93, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,248, 59,201, 4, 0, 0, 0, 0,248, 59,201, 4, 0, 0, 0, 0, 24, 57,201, 4, 0, 0, 0, 0,
+136, 58,201, 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, 68, 65, 84, 65, 40, 1, 0, 0, 24, 57,201, 4, 0, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0,
+136, 58,201, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 66, 68, 0, 0, 0, 0, 0, 0,208, 65,
+ 0, 0, 0, 0, 0, 0,196, 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, 6, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0,
+ 0,224,195, 68, 0, 0,200, 65, 0,224,195, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3,
+ 4, 0, 12, 0, 10, 0, 32, 6, 26, 0, 32, 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, 31, 6, 0, 0,141, 1, 0, 0,166, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 32, 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,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,136, 58,201, 4, 0, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 24, 57,201, 4, 0, 0, 0, 0, 0, 0, 32,193, 0, 0, 0, 68, 0, 0, 32,193, 0, 0, 0, 68,
+128,195,217,195,192,225,108, 68, 96,240,187, 64, 62, 16,253, 67, 15, 6, 0, 0, 32, 6, 0, 0, 18, 0, 0, 0, 66, 2, 0, 0,
+ 0, 0, 0, 0, 14, 6, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 14, 6, 0, 0, 18, 0, 0, 0, 66, 2, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,250, 70, 0, 0,250, 70,236, 81,184, 61, 10,215, 19, 64, 10, 0, 0, 0, 0, 0, 3, 0,
+ 0, 0, 0, 4, 0, 0, 32, 6, 67, 2, 15, 6, 49, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 31, 6, 0, 0,167, 1, 0, 0,233, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 32, 6, 67, 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,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 1, 0, 0,248, 59,201, 4, 0, 0, 0, 0,193, 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,
+ 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,250,150, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62,250,150, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62,250,150, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63,241, 22, 72, 63, 78,162,246,190, 44, 8, 90,190, 3, 35,171,190,214,211,111, 65,214,211,111, 65, 0, 0, 0, 0,
- 0, 0, 0, 0, 80, 49,183, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 65, 1, 2, 0, 0,255,255, 0, 0,
- 92, 62, 55, 63, 56,186,224,190,237,203,148,190, 3,236,234,190, 1, 0, 0, 0, 0, 0,128, 63,190,133, 65, 66,100,212, 90, 66,
- 31,183,118, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 1, 0, 0, 56,197,147, 5,
- 0, 0, 0, 0,175, 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, 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,205,204, 76, 62, 2, 0, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 7, 0, 24,213,168, 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, 10,215, 19, 64,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 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, 3, 0, 8, 8,128, 0, 0, 0, 12, 66, 0, 0,128, 63,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, 0, 0, 16, 0, 10, 0, 7, 1,
- 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, 68, 65, 84, 65,160, 0, 0, 0,232,198,147, 5, 0, 0, 0, 0,215, 0, 0, 0,
- 1, 0, 0, 0, 56,204,147, 5, 0, 0, 0, 0, 88,185,147, 5, 0, 0, 0, 0, 56,140,147, 5, 0, 0, 0, 0, 8,138,147, 5,
- 0, 0, 0, 0,200,139,147, 5, 0, 0, 0, 0,168,140,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 31, 6, 0, 0,141, 1, 0, 0,233, 3, 0, 0, 16, 16, 32, 6, 93, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,184,202,147, 5, 0, 0, 0, 0,184,202,147, 5, 0, 0, 0, 0,216,199,147, 5, 0, 0, 0, 0, 72,201,147, 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, 68, 65, 84, 65, 40, 1, 0, 0,216,199,147, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 72,201,147, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 66, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0,
- 0, 0,196, 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, 6, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,224,195, 68,
- 0, 0,200, 65, 0,224,195, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0,
- 10, 0, 32, 6, 26, 0, 32, 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,
- 31, 6, 0, 0,141, 1, 0, 0,166, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 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, 40, 92,222, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10,206, 97, 63,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,120, 61,201, 4, 0, 0, 0, 0,
+216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 56,201, 4, 0, 0, 0, 0,136,249,200, 4, 0, 0, 0, 0,
+120,253,200, 4, 0, 0, 0, 0, 88,254,200, 4, 0, 0, 0, 0,200,254,200, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0,139, 1, 0, 0, 6, 6, 4, 3,140, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,184, 66,201, 4, 0, 0, 0, 0,184, 66,201, 4, 0, 0, 0, 0,104, 62,201, 4, 0, 0, 0, 0,
+ 72, 65,201, 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, 68, 65, 84, 65, 40, 1, 0, 0,104, 62,201, 4, 0, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0,
+216, 63,201, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,215, 67, 0, 0, 0, 0, 0, 0,208, 65,
+ 0, 0, 0, 0, 0, 0, 65, 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, 3, 3, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0,
+ 0,192, 64, 68, 0, 0,200, 65, 0,192, 64, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3,
+ 4, 0, 12, 0, 10, 0, 4, 3, 26, 0, 4, 3, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 3, 3, 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,
+ 4, 3, 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, 68, 65, 84, 65, 40, 1, 0, 0, 72,201,147, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,216,199,147, 5, 0, 0, 0, 0, 0, 0, 32,193, 0, 0, 0, 68, 0, 0, 32,193, 0, 0, 0, 68,128,195,217,195,
-192,225,108, 68, 96,240,187, 64, 62, 16,253, 67, 15, 6, 0, 0, 32, 6, 0, 0, 18, 0, 0, 0, 66, 2, 0, 0, 0, 0, 0, 0,
- 14, 6, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 14, 6, 0, 0, 18, 0, 0, 0, 66, 2, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,250, 70, 0, 0,250, 70,236, 81,184, 61, 10,215, 19, 64, 10, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 4,
- 0, 0, 32, 6, 67, 2, 15, 6, 49, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 31, 6, 0, 0,167, 1, 0, 0,233, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 6, 67, 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, 68, 65, 84, 65, 40, 1, 0, 0,216, 63,201, 4, 0, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0,
+ 72, 65,201, 4, 0, 0, 0, 0,104, 62,201, 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, 68, 65, 84, 65, 48, 1, 0, 0,184,202,147, 5, 0, 0, 0, 0,192, 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, 16, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0,139, 1, 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, 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, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10,215, 19, 64, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10,206, 97, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 72, 65,201, 4, 0, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,216, 63,201, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 67,
+ 0, 0,129,191, 0,128, 0, 64, 0, 0,100,190, 0,128,156, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 3, 0, 0, 0, 0, 0, 0,114, 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, 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, 68, 65, 84, 65,160, 0, 0, 0, 56,204,147, 5, 0, 0, 0, 0,215, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,198,147, 5, 0, 0, 0, 0, 72,136,147, 5, 0, 0, 0, 0, 56,140,147, 5,
- 0, 0, 0, 0, 24,141,147, 5, 0, 0, 0, 0,136,141,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 3, 3, 0, 0, 0, 0, 0, 0,139, 1, 0, 0, 6, 6, 4, 3,140, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,248, 29,166, 5, 0, 0, 0, 0,248, 29,166, 5, 0, 0, 0, 0, 40,205,147, 5, 0, 0, 0, 0,136, 28,166, 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, 68, 65, 84, 65, 40, 1, 0, 0, 40,205,147, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,152,206,147, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,215, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0,
- 0, 0, 65, 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, 3, 3, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,192, 64, 68,
- 0, 0,200, 65, 0,192, 64, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0,
- 10, 0, 4, 3, 26, 0, 4, 3, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 3, 3, 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, 4, 3, 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, 3, 3, 0, 0, 26, 0, 0, 0,139, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 4, 3,114, 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, 68, 65, 84, 65, 40, 1, 0, 0,152,206,147, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,136, 28,166, 5,
- 0, 0, 0, 0, 40,205,147, 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, 68, 65, 84, 65, 40, 33, 0, 0,184, 66,201, 4, 0, 0, 0, 0,189, 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,
+ 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,100, 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, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 65, 0, 0, 0, 0,154,153,153, 62, 0, 0, 0, 0,100, 0, 0, 0,
+154,153,153, 62,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 26, 0, 0, 0,139, 1, 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, 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, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 40, 1, 0, 0,136, 28,166, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,152,206,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 67, 0, 0,129,191,
- 0,128, 0, 64, 0, 0,100,190, 0,128,156, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 3, 0, 0, 0, 0, 0, 0,114, 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,
- 3, 3, 0, 0, 26, 0, 0, 0,139, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 3,114, 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, 68, 65, 84, 65, 40, 33, 0, 0,248, 29,166, 5, 0, 0, 0, 0,185, 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, 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,100, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 65, 0, 0, 0, 0,154,153,153, 62, 0, 0, 0, 0,100, 0, 0, 0,154,153,153, 62,
-100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1302,6 +1310,7 @@ char datatoc_startup_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, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1311,7 +1320,6 @@ char datatoc_startup_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, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1432,3801 +1440,3564 @@ char datatoc_startup_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, 0, 0, 0, 0, 0, 0, 0, 0,100, 0, 0, 0, 0, 0, 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,
+ 1, 0, 0, 0, 0, 0, 0, 0, 83, 78, 0, 0, 8, 1, 0, 0,184,100,201, 4, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,
+104,254,220, 4, 0, 0, 0, 0, 56,248,200, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 83, 82, 68,101,102, 97,117,108,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, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,102,201, 4, 0, 0, 0, 0,
+184,107,201, 4, 0, 0, 0, 0, 40,108,201, 4, 0, 0, 0, 0,200,224,219, 4, 0, 0, 0, 0, 56,225,219, 4, 0, 0, 0, 0,
+232,215,220, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184, 86,252, 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, 8,102,201, 4, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,
+120,102,201, 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,
+ 68, 65, 84, 65, 32, 0, 0, 0,120,102,201, 4, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,232,102,201, 4, 0, 0, 0, 0,
+ 8,102,201, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,146, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,
+232,102,201, 4, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 88,103,201, 4, 0, 0, 0, 0,120,102,201, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,126, 7,146, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 88,103,201, 4, 0, 0, 0, 0,
+213, 0, 0, 0, 1, 0, 0, 0,200,103,201, 4, 0, 0, 0, 0,232,102,201, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+126, 7, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,200,103,201, 4, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,
+ 56,104,201, 4, 0, 0, 0, 0, 88,103,201, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,100, 4, 1, 0, 0, 0,
+ 68, 65, 84, 65, 32, 0, 0, 0, 56,104,201, 4, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,168,104,201, 4, 0, 0, 0, 0,
+200,103,201, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7,100, 4, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,
+168,104,201, 4, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 24,105,201, 4, 0, 0, 0, 0, 56,104,201, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,100, 6, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 24,105,201, 4, 0, 0, 0, 0,
+213, 0, 0, 0, 1, 0, 0, 0,136,105,201, 4, 0, 0, 0, 0,168,104,201, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+100, 6,100, 4, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,136,105,201, 4, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,
+248,105,201, 4, 0, 0, 0, 0, 24,105,201, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,100, 6,204, 3, 0, 0, 0, 0,
+ 68, 65, 84, 65, 32, 0, 0, 0,248,105,201, 4, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,104,106,201, 4, 0, 0, 0, 0,
+136,105,201, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7,204, 3, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,
+104,106,201, 4, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,216,106,201, 4, 0, 0, 0, 0,248,105,201, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,156, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,216,106,201, 4, 0, 0, 0, 0,
+213, 0, 0, 0, 1, 0, 0, 0, 72,107,201, 4, 0, 0, 0, 0,104,106,201, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+100, 6,156, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 72,107,201, 4, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,
+184,107,201, 4, 0, 0, 0, 0,216,106,201, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,252, 3, 0, 0, 0, 0,
+ 68, 65, 84, 65, 32, 0, 0, 0,184,107,201, 4, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 72,107,201, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,100, 6,252, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
+ 40,108,201, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,200,217,219, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+120,102,201, 4, 0, 0, 0, 0,232,102,201, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
+200,217,219, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 56,218,219, 4, 0, 0, 0, 0, 40,108,201, 4, 0, 0, 0, 0,
+120,102,201, 4, 0, 0, 0, 0,200,103,201, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
+ 56,218,219, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,168,218,219, 4, 0, 0, 0, 0,200,217,219, 4, 0, 0, 0, 0,
+232,102,201, 4, 0, 0, 0, 0, 56,104,201, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
+168,218,219, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 24,219,219, 4, 0, 0, 0, 0, 56,218,219, 4, 0, 0, 0, 0,
+200,103,201, 4, 0, 0, 0, 0, 56,104,201, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
+ 24,219,219, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,136,219,219, 4, 0, 0, 0, 0,168,218,219, 4, 0, 0, 0, 0,
+ 8,102,201, 4, 0, 0, 0, 0,168,104,201, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
+136,219,219, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,248,219,219, 4, 0, 0, 0, 0, 24,219,219, 4, 0, 0, 0, 0,
+ 88,103,201, 4, 0, 0, 0, 0,168,104,201, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
+248,219,219, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,104,220,219, 4, 0, 0, 0, 0,136,219,219, 4, 0, 0, 0, 0,
+200,103,201, 4, 0, 0, 0, 0, 24,105,201, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
+104,220,219, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,216,220,219, 4, 0, 0, 0, 0,248,219,219, 4, 0, 0, 0, 0,
+ 56,104,201, 4, 0, 0, 0, 0, 24,105,201, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
+216,220,219, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 72,221,219, 4, 0, 0, 0, 0,104,220,219, 4, 0, 0, 0, 0,
+168,104,201, 4, 0, 0, 0, 0,136,105,201, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
+ 72,221,219, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,184,221,219, 4, 0, 0, 0, 0,216,220,219, 4, 0, 0, 0, 0,
+ 24,105,201, 4, 0, 0, 0, 0,136,105,201, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
+184,221,219, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 40,222,219, 4, 0, 0, 0, 0, 72,221,219, 4, 0, 0, 0, 0,
+ 56,104,201, 4, 0, 0, 0, 0,248,105,201, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
+ 40,222,219, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,152,222,219, 4, 0, 0, 0, 0,184,221,219, 4, 0, 0, 0, 0,
+ 88,103,201, 4, 0, 0, 0, 0,248,105,201, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
+152,222,219, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 8,223,219, 4, 0, 0, 0, 0, 40,222,219, 4, 0, 0, 0, 0,
+136,105,201, 4, 0, 0, 0, 0,248,105,201, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
+ 8,223,219, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,120,223,219, 4, 0, 0, 0, 0,152,222,219, 4, 0, 0, 0, 0,
+ 8,102,201, 4, 0, 0, 0, 0,104,106,201, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
+120,223,219, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,232,223,219, 4, 0, 0, 0, 0, 8,223,219, 4, 0, 0, 0, 0,
+168,104,201, 4, 0, 0, 0, 0,216,106,201, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
+232,223,219, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 88,224,219, 4, 0, 0, 0, 0,120,223,219, 4, 0, 0, 0, 0,
+104,106,201, 4, 0, 0, 0, 0,216,106,201, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
+ 88,224,219, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,200,224,219, 4, 0, 0, 0, 0,232,223,219, 4, 0, 0, 0, 0,
+200,103,201, 4, 0, 0, 0, 0,104,106,201, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
+200,224,219, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88,224,219, 4, 0, 0, 0, 0,
+ 24,105,201, 4, 0, 0, 0, 0,216,106,201, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,
+ 56,225,219, 4, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 8,229,219, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+200,103,201, 4, 0, 0, 0, 0,120,102,201, 4, 0, 0, 0, 0,232,102,201, 4, 0, 0, 0, 0, 56,104,201, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 0, 0,101, 4, 0, 0,146, 4, 0, 0, 7, 7,127, 7, 46, 0, 1, 0,
+ 0, 0, 0, 0, 7, 0, 8, 0, 8,179,109, 3, 0, 0, 0, 0,216,253,220, 4, 0, 0, 0, 0,216,253,220, 4, 0, 0, 0, 0,
+ 40,226,219, 4, 0, 0, 0, 0,152,227,219, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+152,134,145, 3, 0, 0, 0, 0, 40,204,184, 4, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 40,226,219, 4, 0, 0, 0, 0,
+217, 0, 0, 0, 1, 0, 0, 0,152,227,219, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32,171, 68,
+ 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,224,239, 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,126, 7, 0, 0,
+ 0, 0, 0, 0, 25, 0, 0, 0, 0,192,239, 68, 0, 0,200, 65, 0,192,239, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,127, 7, 26, 0,127, 7, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 0, 0,101, 4, 0, 0,126, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,127, 7, 26, 0, 2, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 40,181,109, 3, 0, 0, 0, 0, 72, 13,189, 4, 0, 0, 0, 0, 72, 13,189, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 61,133, 3, 0, 0, 0, 0,152, 63,133, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,152,227,219, 4, 0, 0, 0, 0,
+217, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,226,219, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,192,239, 68,
+ 0, 0, 0, 0, 0, 0, 48, 65, 0, 0, 0, 0,255,191,237, 68, 0, 0, 0, 0, 0, 0,160, 65,110, 7, 0, 0,127, 7, 0, 0,
+ 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0,111, 7, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,109, 7, 0, 0,
+ 0, 0, 0, 0, 19, 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,
+ 2, 2, 0, 0, 1, 0, 3, 3, 2, 0, 0, 4, 10, 0,127, 7, 20, 0,110, 7, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 0, 0,127, 4, 0, 0,146, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,127, 7, 20, 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, 40,180,109, 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,104, 64,133, 3, 0, 0, 0, 0, 8, 66,133, 3, 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, 8,229,219, 4, 0, 0, 0, 0,
+216, 0, 0, 0, 1, 0, 0, 0,216, 26,220, 4, 0, 0, 0, 0, 56,225,219, 4, 0, 0, 0, 0,168,104,201, 4, 0, 0, 0, 0,
+136,105,201, 4, 0, 0, 0, 0,248,105,201, 4, 0, 0, 0, 0, 88,103,201, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+101, 6, 0, 0,126, 7, 0, 0, 0, 0, 0, 0,203, 3, 0, 0, 4, 4, 26, 1,204, 3, 1, 0, 0, 0, 0, 0, 0, 0, 8, 0,
+136,174,109, 3, 0, 0, 0, 0,152, 25,220, 4, 0, 0, 0, 0,152, 25,220, 4, 0, 0, 0, 0,248,229,219, 4, 0, 0, 0, 0,
+104,231,219, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,207,184, 4, 0, 0, 0, 0,
+232,217,184, 4, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,248,229,219, 4, 0, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0,
+104,231,219, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,148, 67, 0, 0, 0, 0, 0, 0,208, 65,
+ 0, 0, 0, 0, 0, 0,141, 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, 25, 1, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0,
+ 0,128,140, 67, 0, 0,200, 65, 0,128,140, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3,
+ 4, 0, 12, 0, 10, 0, 26, 1, 26, 0, 26, 1, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+101, 6, 0, 0,126, 7, 0, 0,178, 3, 0, 0,203, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 26, 1, 26, 0, 4, 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,
+ 8,178,109, 3, 0, 0, 0, 0,216,191,188, 4, 0, 0, 0, 0,216,191,188, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,136,209,186, 4, 0, 0, 0, 0, 56, 9,189, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,104,231,219, 4, 0, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,248,229,219, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,178, 67, 0,128,108,196, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1,128,132, 67, 2,128,108,196, 0, 0, 0, 0, 9, 1, 0, 0, 26, 1, 0, 0, 0, 0, 0, 0,177, 3, 0, 0,
+ 0, 0, 0, 0, 74, 1, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 8, 1, 0, 0, 0, 0, 0, 0,177, 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, 3, 0, 0, 1, 0, 7, 0,
+ 18, 0, 0, 4, 6, 0, 26, 1,178, 3, 9, 1,178, 3, 0, 0,136, 89,189, 4, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+101, 6, 0, 0,126, 7, 0, 0, 0, 0, 0, 0,177, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 26, 1,178, 3, 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,
+168,175,109, 3, 0, 0, 0, 0, 56, 69,145, 3, 0, 0, 0, 0,248, 62,194, 4, 0, 0, 0, 0,216,232,219, 4, 0, 0, 0, 0,
+248, 23,220, 4, 0, 0, 0, 0, 8, 10,189, 4, 0, 0, 0, 0,120, 12,189, 4, 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,216,232,219, 4, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,
+120,234,219, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168,176,109, 3, 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, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 67,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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,220,255, 9, 1, 36, 0, 0, 0, 0, 0, 0, 0, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 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,
+120,234,219, 4, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0, 24,236,219, 4, 0, 0, 0, 0,216,232,219, 4, 0, 0, 0, 0,
+184,253, 25, 4, 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, 9, 1, 61, 0, 0, 0, 0, 0, 0, 0, 6, 0,
+ 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,100, 0, 0, 0, 0, 0, 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, 1, 0, 0, 0,
- 0, 0, 0, 0, 83, 78, 0, 0, 8, 1, 0, 0,104, 63,166, 5, 0, 0, 0, 0,211, 0, 0, 0, 1, 0, 0, 0,184, 90,167, 5,
- 0, 0, 0, 0,248,134,147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 82, 68,101,
-102, 97,117,108,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,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184, 64,166, 5, 0, 0, 0, 0,104, 70,166, 5,
- 0, 0, 0, 0,216, 70,166, 5, 0, 0, 0, 0, 72, 78,166, 5, 0, 0, 0, 0,184, 78,166, 5, 0, 0, 0, 0, 8,208,147, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 6, 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, 1, 0,
- 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96, 22,114, 1, 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,184, 64,166, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 40, 65,166, 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, 68, 65, 84, 65,
- 32, 0, 0, 0, 40, 65,166, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,152, 65,166, 5, 0, 0, 0, 0,184, 64,166, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,152, 65,166, 5,
- 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 8, 66,166, 5, 0, 0, 0, 0, 40, 65,166, 5, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,128, 7, 32, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 8, 66,166, 5, 0, 0, 0, 0,212, 0, 0, 0,
- 1, 0, 0, 0,120, 66,166, 5, 0, 0, 0, 0,152, 65,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 7, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,120, 66,166, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,232, 66,166, 5,
- 0, 0, 0, 0, 8, 66,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 3, 1, 0, 0, 0, 68, 65, 84, 65,
- 32, 0, 0, 0,232, 66,166, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 88, 67,166, 5, 0, 0, 0, 0,120, 66,166, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 7,248, 3, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 88, 67,166, 5,
- 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,200, 67,166, 5, 0, 0, 0, 0,232, 66,166, 5, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 96, 6, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,200, 67,166, 5, 0, 0, 0, 0,212, 0, 0, 0,
- 1, 0, 0, 0, 56, 68,166, 5, 0, 0, 0, 0, 88, 67,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96, 6,248, 3,
- 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 56, 68,166, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,168, 68,166, 5,
- 0, 0, 0, 0,200, 67,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96, 6,108, 3, 0, 0, 0, 0, 68, 65, 84, 65,
- 32, 0, 0, 0,168, 68,166, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 24, 69,166, 5, 0, 0, 0, 0, 56, 68,166, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 7,108, 3, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 24, 69,166, 5,
- 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,136, 69,166, 5, 0, 0, 0, 0,168, 68,166, 5, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,140, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,136, 69,166, 5, 0, 0, 0, 0,212, 0, 0, 0,
- 1, 0, 0, 0,248, 69,166, 5, 0, 0, 0, 0, 24, 69,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96, 6,140, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,248, 69,166, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,104, 70,166, 5,
- 0, 0, 0, 0,136, 69,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,144, 3, 0, 0, 0, 0, 68, 65, 84, 65,
- 32, 0, 0, 0,104, 70,166, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 69,166, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96, 6,144, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,216, 70,166, 5,
- 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 72, 71,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 65,166, 5,
- 0, 0, 0, 0,152, 65,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 72, 71,166, 5,
- 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,184, 71,166, 5, 0, 0, 0, 0,216, 70,166, 5, 0, 0, 0, 0, 40, 65,166, 5,
- 0, 0, 0, 0,120, 66,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,184, 71,166, 5,
- 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 40, 72,166, 5, 0, 0, 0, 0, 72, 71,166, 5, 0, 0, 0, 0,152, 65,166, 5,
- 0, 0, 0, 0,232, 66,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 40, 72,166, 5,
- 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,152, 72,166, 5, 0, 0, 0, 0,184, 71,166, 5, 0, 0, 0, 0,120, 66,166, 5,
- 0, 0, 0, 0,232, 66,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,152, 72,166, 5,
- 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 8, 73,166, 5, 0, 0, 0, 0, 40, 72,166, 5, 0, 0, 0, 0,184, 64,166, 5,
- 0, 0, 0, 0, 88, 67,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 8, 73,166, 5,
- 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,120, 73,166, 5, 0, 0, 0, 0,152, 72,166, 5, 0, 0, 0, 0, 8, 66,166, 5,
- 0, 0, 0, 0, 88, 67,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,120, 73,166, 5,
- 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,232, 73,166, 5, 0, 0, 0, 0, 8, 73,166, 5, 0, 0, 0, 0,120, 66,166, 5,
- 0, 0, 0, 0,200, 67,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,232, 73,166, 5,
- 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 88, 74,166, 5, 0, 0, 0, 0,120, 73,166, 5, 0, 0, 0, 0,232, 66,166, 5,
- 0, 0, 0, 0,200, 67,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 88, 74,166, 5,
- 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,200, 74,166, 5, 0, 0, 0, 0,232, 73,166, 5, 0, 0, 0, 0, 88, 67,166, 5,
- 0, 0, 0, 0, 56, 68,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,200, 74,166, 5,
- 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 56, 75,166, 5, 0, 0, 0, 0, 88, 74,166, 5, 0, 0, 0, 0,200, 67,166, 5,
- 0, 0, 0, 0, 56, 68,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 56, 75,166, 5,
- 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,168, 75,166, 5, 0, 0, 0, 0,200, 74,166, 5, 0, 0, 0, 0,232, 66,166, 5,
- 0, 0, 0, 0,168, 68,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,168, 75,166, 5,
- 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 24, 76,166, 5, 0, 0, 0, 0, 56, 75,166, 5, 0, 0, 0, 0, 8, 66,166, 5,
- 0, 0, 0, 0,168, 68,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 24, 76,166, 5,
- 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,136, 76,166, 5, 0, 0, 0, 0,168, 75,166, 5, 0, 0, 0, 0, 56, 68,166, 5,
- 0, 0, 0, 0,168, 68,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,136, 76,166, 5,
- 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,248, 76,166, 5, 0, 0, 0, 0, 24, 76,166, 5, 0, 0, 0, 0,184, 64,166, 5,
- 0, 0, 0, 0, 24, 69,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,248, 76,166, 5,
- 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,104, 77,166, 5, 0, 0, 0, 0,136, 76,166, 5, 0, 0, 0, 0, 88, 67,166, 5,
- 0, 0, 0, 0,136, 69,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,104, 77,166, 5,
- 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,216, 77,166, 5, 0, 0, 0, 0,248, 76,166, 5, 0, 0, 0, 0, 24, 69,166, 5,
- 0, 0, 0, 0,136, 69,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,216, 77,166, 5,
- 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 72, 78,166, 5, 0, 0, 0, 0,104, 77,166, 5, 0, 0, 0, 0,120, 66,166, 5,
- 0, 0, 0, 0, 24, 69,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 72, 78,166, 5,
- 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216, 77,166, 5, 0, 0, 0, 0,200, 67,166, 5,
- 0, 0, 0, 0,136, 69,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,184, 78,166, 5,
- 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,136, 82,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120, 66,166, 5,
- 0, 0, 0, 0, 40, 65,166, 5, 0, 0, 0, 0,152, 65,166, 5, 0, 0, 0, 0,232, 66,166, 5, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,128, 7, 0, 0,249, 3, 0, 0, 32, 4, 0, 0, 7, 7,129, 7, 40, 0, 1, 0, 0, 0, 0, 0,
- 7, 0, 8, 0,248, 19, 64, 4, 0, 0, 0, 0, 40, 90,167, 5, 0, 0, 0, 0, 40, 90,167, 5, 0, 0, 0, 0,168, 79,166, 5,
- 0, 0, 0, 0, 24, 81,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,127, 98, 4,
- 0, 0, 0, 0,184,193,117, 5, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,168, 79,166, 5, 0, 0, 0, 0,216, 0, 0, 0,
- 1, 0, 0, 0, 24, 81,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32,171, 68, 0, 0, 0, 0,
- 0, 0,208, 65, 0, 0, 0, 0, 0, 32,240, 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,128, 7, 0, 0, 0, 0, 0, 0,
- 25, 0, 0, 0, 0, 0,240, 68, 0, 0,200, 65, 0, 0,240, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,129, 7, 26, 0,129, 7, 26, 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, 0, 0,249, 3, 0, 0, 18, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,129, 7, 26, 0, 2, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 24, 22, 64, 4, 0, 0, 0, 0,136,237,100, 4, 0, 0, 0, 0,136,237,100, 4, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104,242,148, 5, 0, 0, 0, 0, 56,129,123, 5, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 24, 81,166, 5, 0, 0, 0, 0,216, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168, 79,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0,192,239, 68, 0, 0, 0, 0,
- 0, 0,200, 65, 0, 0, 0, 0, 0, 0,238, 68, 0, 0,128, 63, 0, 0,112, 65,112, 7, 0, 0,129, 7, 0, 0, 0, 0, 0, 0,
- 13, 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, 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,128, 63, 0, 0,128, 63, 2, 0, 0, 0,
- 1, 0, 3, 3, 2, 0, 0, 4, 10, 0,129, 7, 14, 0,112, 7, 14, 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, 0, 0, 19, 4, 0, 0, 32, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,129, 7, 14, 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, 24, 21, 64, 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,200, 60,133, 5, 0, 0, 0, 0, 56,132,123, 5, 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,136, 82,166, 5, 0, 0, 0, 0,215, 0, 0, 0,
- 1, 0, 0, 0, 88,123,166, 5, 0, 0, 0, 0,184, 78,166, 5, 0, 0, 0, 0, 88, 67,166, 5, 0, 0, 0, 0, 56, 68,166, 5,
- 0, 0, 0, 0,168, 68,166, 5, 0, 0, 0, 0, 8, 66,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 97, 6, 0, 0,
-128, 7, 0, 0, 0, 0, 0, 0,107, 3, 0, 0, 4, 4, 32, 1,108, 3, 1, 0, 0, 0, 0, 0, 0, 0, 8, 0,120, 15, 64, 4,
- 0, 0, 0, 0, 24,122,166, 5, 0, 0, 0, 0, 24,122,166, 5, 0, 0, 0, 0,120, 83,166, 5, 0, 0, 0, 0,232, 84,166, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120, 75,118, 5, 0, 0, 0, 0,120, 60,135, 5,
- 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,120, 83,166, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,232, 84,166, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,148, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0,
- 0, 0,144, 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, 31, 1, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,128,143, 67,
- 0, 0,200, 65, 0,128,143, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0,
- 10, 0, 32, 1, 26, 0, 32, 1, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 97, 6, 0, 0,
-128, 7, 0, 0, 82, 3, 0, 0,107, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 1, 26, 0,
- 4, 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,248, 18, 64, 4,
- 0, 0, 0, 0, 24,214,139, 5, 0, 0, 0, 0, 24,214,139, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,232, 93,137, 5, 0, 0, 0, 0,120,135,123, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,232, 84,166, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,120, 83,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,178, 67, 0,128, 84,196, 0, 0, 0, 0, 0, 0, 0, 0,
- 2,128,135, 67, 3,128, 84,196, 0, 0, 0, 0, 15, 1, 0, 0, 32, 1, 0, 0, 0, 0, 0, 0, 81, 3, 0, 0, 0, 0, 0, 0,
- 74, 1, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 14, 1, 0, 0, 0, 0, 0, 0, 81, 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, 3, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4,
- 6, 0, 32, 1, 82, 3, 15, 1, 82, 3, 0, 0,136, 69,115, 5, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 97, 6, 0, 0,
-128, 7, 0, 0, 0, 0, 0, 0, 81, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 1, 82, 3,
- 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,152, 16, 64, 4,
- 0, 0, 0, 0, 88,174,149, 5, 0, 0, 0, 0,152,144, 99, 4, 0, 0, 0, 0, 88, 86,166, 5, 0, 0, 0, 0,120,120,166, 5,
- 0, 0, 0, 0,200,126,123, 5, 0, 0, 0, 0, 72,139,123, 5, 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, 88, 86,166, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,248, 87,166, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152, 17, 64, 4, 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, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,220,255,
- 15, 1, 36, 0, 0, 0, 0, 0, 0, 0, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,248, 87,166, 5,
- 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,152, 89,166, 5, 0, 0, 0, 0, 88, 86,166, 5, 0, 0, 0, 0,136,175,227, 4,
- 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, 15, 1, 61, 0, 0, 0, 0, 0, 0, 0, 6, 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, 68, 65, 84, 65, 88, 1, 0, 0,152, 89,166, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 56, 91,166, 5,
- 0, 0, 0, 0,248, 87,166, 5, 0, 0, 0, 0,136,178,227, 4, 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, 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,
- 15, 1, 0, 0, 0, 0, 0, 0, 4, 0, 6, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 56, 91,166, 5,
- 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,216, 92,166, 5, 0, 0, 0, 0,152, 89,166, 5, 0, 0, 0, 0,152,181,227, 4,
- 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, 15, 1,203, 0, 0, 0, 0, 0, 0, 0, 6, 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, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,216, 92,166, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,120, 94,166, 5,
- 0, 0, 0, 0, 56, 91,166, 5, 0, 0, 0, 0,168,184,227, 4, 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, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65,110,116,105,
- 45, 65,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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58,254,
- 15, 1, 58, 0, 20, 0, 0, 0, 0, 0, 6, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,120, 94,166, 5,
- 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 24, 96,166, 5, 0, 0, 0, 0,216, 92,166, 5, 0, 0, 0, 0,120,187,227, 4,
- 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,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 97,109,112,108,101,100, 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, 0, 0, 0, 0, 34,254, 15, 1, 0, 0, 20, 0, 0, 0, 4, 0, 6, 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, 68, 65, 84, 65, 88, 1, 0, 0, 24,236,219, 4, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,
+184,237,219, 4, 0, 0, 0, 0,120,234,219, 4, 0, 0, 0, 0, 40, 0, 26, 4, 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,
- 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 24, 96,166, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,184, 97,166, 5,
- 0, 0, 0, 0,120, 94,166, 5, 0, 0, 0, 0, 8,204,185, 4, 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, 10,254,
- 15, 1, 0, 0, 0, 0, 0, 0, 4, 0, 6, 0, 0, 0, 0, 0, 16, 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, 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,184, 97,166, 5,
- 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 88, 99,166, 5, 0, 0, 0, 0, 24, 96,166, 5, 0, 0, 0, 0, 72,198,227, 4,
- 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, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,111,255, 9, 1, 0, 0, 0, 0, 0, 0, 4, 0, 6, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,242,253, 15, 1, 0, 0, 0, 0, 0, 0, 4, 0, 6, 0, 0, 0, 0, 0,
- 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 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,
+184,237,219, 4, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0, 88,239,219, 4, 0, 0, 0, 0, 24,236,219, 4, 0, 0, 0, 0,
+152, 2, 26, 4, 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, 68, 65, 84, 65, 88, 1, 0, 0, 88, 99,166, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,248,100,166, 5,
- 0, 0, 0, 0,184, 97,166, 5, 0, 0, 0, 0, 24,201,227, 4, 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, 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,218,253,
- 15, 1, 0, 0, 0, 0, 0, 0, 4, 0, 6, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 9, 1,203, 0, 0, 0, 0, 0, 0, 0, 6, 0,
+ 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,248,100,166, 5,
- 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,152,102,166, 5, 0, 0, 0, 0, 88, 99,166, 5, 0, 0, 0, 0, 40,204,227, 4,
- 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, 68, 65, 84, 65, 88, 1, 0, 0, 88,239,219, 4, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,
+248,240,219, 4, 0, 0, 0, 0,184,237,219, 4, 0, 0, 0, 0, 8, 5, 26, 4, 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, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,
+ 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,
- 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,
+ 65,110,116,105, 45, 65,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, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,194,253, 15, 1, 0, 0, 20, 0, 0, 0, 4, 0, 6, 0, 0, 0, 0, 0,
- 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 58,254, 9, 1, 58, 0, 20, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,152,102,166, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 56,104,166, 5,
- 0, 0, 0, 0,248,100,166, 5, 0, 0, 0, 0, 40,207,227, 4, 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,
- 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36,253,
- 15, 1,134, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 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,
+248,240,219, 4, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,152,242,219, 4, 0, 0, 0, 0, 88,239,219, 4, 0, 0, 0, 0,
+120, 7, 26, 4, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 97,109,112,108,101,100, 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, 0, 0, 0, 0, 34,254, 9, 1, 0, 0, 20, 0, 0, 0, 4, 0, 6, 0,
+ 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 56,104,166, 5,
- 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,216,105,166, 5, 0, 0, 0, 0,152,102,166, 5, 0, 0, 0, 0, 56,213,227, 4,
- 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, 68, 65, 84, 65, 88, 1, 0, 0,152,242,219, 4, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,
+ 56,244,219, 4, 0, 0, 0, 0,248,240,219, 4, 0, 0, 0, 0,152,140,238, 3, 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,
- 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,
+ 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,
- 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,
+ 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12,253, 15, 1, 0, 0, 0, 0, 0, 0, 4, 0, 7, 0, 0, 0, 0, 0,
- 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 10,254, 9, 1, 0, 0, 0, 0, 0, 0, 4, 0, 6, 0, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,216,105,166, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,120,107,166, 5,
- 0, 0, 0, 0, 56,104,166, 5, 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, 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,
- 41, 1, 61, 0, 0, 0, 0, 0, 0, 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, 68, 65, 84, 65, 88, 1, 0, 0,
+ 56,244,219, 4, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,216,245,219, 4, 0, 0, 0, 0,152,242,219, 4, 0, 0, 0, 0,
+ 8, 17, 26, 4, 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, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,242,253, 9, 1, 0, 0, 0, 0, 0, 0, 4, 0, 6, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,120,107,166, 5,
- 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 24,109,166, 5, 0, 0, 0, 0,216,105,166, 5, 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, 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, 68, 65, 84, 65, 88, 1, 0, 0,216,245,219, 4, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,
+120,247,219, 4, 0, 0, 0, 0, 56,244,219, 4, 0, 0, 0, 0,120, 19, 26, 4, 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,
- 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,
+ 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,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28,255, 41, 1, 83, 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,
+ 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,218,253, 9, 1, 0, 0, 0, 0, 0, 0, 4, 0, 6, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 24,109,166, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,184,110,166, 5,
- 0, 0, 0, 0,120,107,166, 5, 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, 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,191,254,
- 41, 1, 69, 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, 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,184,110,166, 5,
- 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 88,112,166, 5, 0, 0, 0, 0, 24,109,166, 5, 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, 68, 65, 84, 65, 88, 1, 0, 0,
+120,247,219, 4, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0, 24,249,219, 4, 0, 0, 0, 0,216,245,219, 4, 0, 0, 0, 0,
+232, 21, 26, 4, 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, 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, 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, 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, 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,131,254, 41, 1, 36, 0, 20, 0, 0, 0, 0, 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, 0, 0,194,253, 9, 1, 0, 0, 20, 0, 0, 0, 4, 0, 6, 0,
+ 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 88,112,166, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,248,113,166, 5,
- 0, 0, 0, 0,184,110,166, 5, 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,105,109,112,108,105,102,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, 83, 67, 69, 78,
- 69, 95, 80, 84, 95,115,105,109,112,108,105,102,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, 83,105,109,112,
-108,105,102,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, 27,254,
- 41, 1, 80, 0, 20, 0, 0, 0, 0, 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, 68, 65, 84, 65, 88, 1, 0, 0, 24,249,219, 4, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,
+184,250,219, 4, 0, 0, 0, 0,120,247,219, 4, 0, 0, 0, 0, 88, 24, 26, 4, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,248,113,166, 5,
- 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,152,115,166, 5, 0, 0, 0, 0, 88,112,166, 5, 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, 99,117,115,116,111,109, 95,112,114,111,112,
-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, 83, 67, 69, 78, 69, 95, 80, 84, 95, 99,117,115,116,111,109, 95,112,114,111,112,
-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, 67,117,115,116,111,109, 32, 80,114,111,112,101,114,116,105,101,115, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,223,253, 41, 1, 36, 0, 0, 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, 36,253, 9, 1,134, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,152,115,166, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 56,117,166, 5,
- 0, 0, 0, 0,248,113,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84,
- 85, 82, 69, 95, 80, 84, 95, 99,111,110,116,101,120,116, 95,116,101,120,116,117,114,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, 84, 69, 88, 84,
- 85, 82, 69, 95, 80, 84, 95, 99,111,110,116,101,120,116, 95,116,101,120,116,117,114,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, 68, 65, 84, 65, 88, 1, 0, 0,
+184,250,219, 4, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0, 88,252,219, 4, 0, 0, 0, 0, 24,249,219, 4, 0, 0, 0, 0,
+ 56, 29, 26, 4, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,255,
-187, 0,204, 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, 5, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 68, 65, 84, 65, 88, 1, 0, 0, 56,117,166, 5,
- 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,216,118,166, 5, 0, 0, 0, 0,152,115,166, 5, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, 80, 84, 95,109, 97,112,112,105,110,103, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12,253, 9, 1, 0, 0, 0, 0, 0, 0, 4, 0, 7, 0,
+ 0, 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 69, 88, 84, 85, 82, 69, 95, 80, 84, 95,109, 97,112,112,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, 77, 97,112,112,105,110,103, 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, 88,252,219, 4, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,
+248,253,219, 4, 0, 0, 0, 0,184,250,219, 4, 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,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77,254,187, 0,171, 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,
+ 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, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,216,118,166, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,120,120,166, 5,
- 0, 0, 0, 0, 56,117,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84,
- 85, 82, 69, 95, 80, 84, 95,105,110,102,108,117,101,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, 84, 69, 88, 84,
- 85, 82, 69, 95, 80, 84, 95,105,110,102,108,117,101,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, 73,110,102,108,
-117,101,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,223,252,
-187, 0, 86, 1, 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,135,255, 41, 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, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,120,120,166, 5,
- 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,118,166, 5, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 74, 69, 67, 84, 95, 80, 84, 95, 99,111,110,115,116,114, 97,105,110,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, 79, 66, 74, 69, 67, 84, 95, 80, 84, 95, 99,111,110,115,116,114, 97,105,110,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, 79, 98,106,101, 99,116, 32, 67,111,110,115,116,114, 97,105,110,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, 68, 65, 84, 65, 88, 1, 0, 0,
+248,253,219, 4, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,152,255,219, 4, 0, 0, 0, 0, 88,252,219, 4, 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, 0, 0, 0, 0,160,255,187, 0, 36, 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, 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, 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, 68, 65, 84, 65,248, 0, 0, 0, 24,122,166, 5, 0, 0, 0, 0,180, 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, 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, 2, 0, 1, 0, 0, 0, 0, 0, 40,235,139, 5, 0, 0, 0, 0,255, 21, 0, 0,
-160, 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, 88,123,166, 5,
- 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0, 72,128,166, 5, 0, 0, 0, 0,136, 82,166, 5, 0, 0, 0, 0,184, 64,166, 5,
- 0, 0, 0, 0, 24, 69,166, 5, 0, 0, 0, 0,136, 69,166, 5, 0, 0, 0, 0, 88, 67,166, 5, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 95, 6, 0, 0, 0, 0, 0, 0,139, 0, 0, 0, 15, 15, 96, 6,140, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 40,226, 63, 4, 0, 0, 0, 0, 40,127,166, 5, 0, 0, 0, 0, 40,127,166, 5, 0, 0, 0, 0, 72,124,166, 5,
- 0, 0, 0, 0,184,125,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152, 75,135, 5,
- 0, 0, 0, 0,200,159,139, 5, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 72,124,166, 5, 0, 0, 0, 0,216, 0, 0, 0,
- 1, 0, 0, 0,184,125,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,224,143, 68, 0, 0, 0, 0,
- 0, 0,208, 65, 0, 0, 0, 0, 0, 0,204, 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, 95, 6, 0, 0, 0, 0, 0, 0,
- 25, 0, 0, 0, 0,224,203, 68, 0, 0,200, 65, 0,224,203, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 96, 6, 26, 0, 96, 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, 95, 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, 96, 6, 26, 0, 6, 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, 72,228, 63, 4, 0, 0, 0, 0,120, 14,135, 5, 0, 0, 0, 0,120, 14,135, 5, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,130,123, 5, 0, 0, 0, 0,184,144,123, 5, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,184,125,166, 5, 0, 0, 0, 0,216, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,124,166, 5, 0, 0, 0, 0, 0, 0, 64,192, 0, 0,126, 67, 0, 0, 0, 0,
- 0, 0, 72, 66, 88,218,103,194, 40,147,141, 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, 95, 6, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 95, 6, 0, 0, 18, 0, 0, 0,
-113, 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, 96, 6,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, 95, 6, 0, 0, 26, 0, 0, 0,139, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 96, 6,114, 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, 72,227, 63, 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,136,145,123, 5, 0, 0, 0, 0,168,217,126, 5, 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, 40,127,166, 5, 0, 0, 0, 0,191, 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, 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, 28,255, 41, 1, 83, 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, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,152,255,219, 4, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,
+ 56, 1,220, 4, 0, 0, 0, 0,248,253,219, 4, 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,
+ 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, 63, 0, 0, 0, 1, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, 72,128,166, 5,
- 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0, 8,208,147, 5, 0, 0, 0, 0, 88,123,166, 5, 0, 0, 0, 0, 56, 68,166, 5,
- 0, 0, 0, 0,200, 67,166, 5, 0, 0, 0, 0,232, 66,166, 5, 0, 0, 0, 0,168, 68,166, 5, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 97, 6, 0, 0,128, 7, 0, 0,109, 3, 0, 0,247, 3, 0, 0, 3, 3, 32, 1,139, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 8, 0, 8,223, 63, 4, 0, 0, 0, 0, 24,132,166, 5, 0, 0, 0, 0, 24,132,166, 5, 0, 0, 0, 0, 56,129,166, 5,
- 0, 0, 0, 0,168,130,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,148,118, 5,
- 0, 0, 0, 0,248,243,119, 5, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 56,129,166, 5, 0, 0, 0, 0,216, 0, 0, 0,
- 1, 0, 0, 0,168,130,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,244, 67, 0, 0, 0, 0,
- 0, 0,208, 65, 0, 0, 0, 0, 0, 0,144, 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, 31, 1, 0, 0, 0, 0, 0, 0,
- 25, 0, 0, 0, 0,128,143, 67, 0, 0,200, 65, 0,128,143, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 32, 1, 26, 0, 32, 1, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 97, 6, 0, 0,128, 7, 0, 0,222, 3, 0, 0,247, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 32, 1, 26, 0, 8, 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, 40,225, 63, 4, 0, 0, 0, 0, 40,236,141, 5, 0, 0, 0, 0, 40,236,141, 5, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,133,123, 5, 0, 0, 0, 0, 24,223,126, 5, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,168,130,166, 5, 0, 0, 0, 0,216, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,129,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,141, 67, 0, 0,244,194,
- 0, 0, 0, 0, 0, 0, 0, 0, 0,128,135, 67, 0, 0,190,194, 0, 0, 0, 0, 15, 1, 0, 0, 32, 1, 0, 0, 18, 0, 0, 0,
-112, 0, 0, 0, 0, 0, 0, 0, 14, 1, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 14, 1, 0, 0, 18, 0, 0, 0,
-112, 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, 0, 0, 0,
- 2, 0, 3, 3, 0, 0, 12, 4, 6, 0, 32, 1,113, 0, 15, 1, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 97, 6, 0, 0,128, 7, 0, 0,109, 3, 0, 0,221, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 32, 1,113, 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, 40,224, 63, 4, 0, 0, 0, 0, 88, 20,140, 5, 0, 0, 0, 0, 88, 20,140, 5, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,136,123, 5, 0, 0, 0, 0,136,225,126, 5, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 1, 0, 0, 24,132,166, 5, 0, 0, 0, 0,184, 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, 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,
+ 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,191,254, 41, 1, 69, 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, 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,
+ 56, 1,220, 4, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,216, 2,220, 4, 0, 0, 0, 0,152,255,219, 4, 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, 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,168, 89,170, 5, 0, 0, 0, 0,168, 89,170, 5, 0, 0, 0, 0,232,209,134, 5,
- 0, 0, 0, 0, 0,115,101, 32, 83, 99,117,108,112,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, 1, 0, 0, 0, 68, 65, 84, 65,
- 16, 0, 0, 0,232,209,134, 5, 0, 0, 0, 0,238, 0, 0, 0, 1, 0, 0, 0, 42, 11, 0, 0, 42, 11, 0, 0,120,133,166, 5,
- 0, 0, 0, 0, 68, 65, 84, 65,160,178, 0, 0,120,133,166, 5, 0, 0, 0, 0,237, 0, 0, 0, 42, 11, 0, 0, 0, 0, 0, 0,
- 2, 0, 1, 0,120,184,168, 5, 0, 0, 0, 0, 19, 0, 0, 0, 1, 0, 1, 0,120,184,168, 5, 0, 0, 0, 0, 20, 0, 0, 0,
- 1, 0, 1, 0,120,184,168, 5, 0, 0, 0, 0, 21, 0, 1, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 1, 0, 72,210,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,184,219,168, 5, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 1, 0,184, 17,169, 5, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,248,232,168, 5, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 1, 0, 8,255,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 88,226,168, 5, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 1, 0,232,205,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 24,213,168, 5, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 1, 0,216,204,168, 5, 0, 0, 0, 0, 21, 0, 0, 0, 1, 0, 1, 0,120,184,168, 5, 0, 0, 0, 0, 30, 0,255,255,
- 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 1, 0,
- 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 3, 0,
- 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 5, 0,
- 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 7, 0,
- 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 9, 0,
- 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 11, 0,
- 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 13, 0,
- 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 15, 0,
- 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 17, 0,
- 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 19, 0,
- 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 21, 0,
- 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 23, 0,
- 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 25, 0,
- 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 27, 0,
- 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 29, 0,
- 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 31, 0,
- 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 33, 0,
- 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 35, 0,
- 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 37, 0,
- 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 39, 0,
- 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 41, 0,
- 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 43, 0,
- 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 45, 0,
- 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 47, 0,
- 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 30, 0,255,255,
- 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 1, 0,
- 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 3, 0,
- 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 5, 0,
- 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 7, 0,
- 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 9, 0,
- 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 11, 0,
- 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 13, 0,
- 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 15, 0,
- 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 17, 0,
- 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 19, 0,
- 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 21, 0,
- 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 23, 0,
- 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 25, 0,
- 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 27, 0,
- 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 29, 0,
- 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 31, 0,
- 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 33, 0,
- 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 35, 0,
- 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 37, 0,
- 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 39, 0,
- 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 30, 0,255,255,
- 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 30, 0,255,255,
- 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 30, 0,255,255,
- 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 30, 0,255,255,
- 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 30, 0,255,255,
- 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 30, 0,255,255,
- 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 30, 0,255,255,
- 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 30, 0,255,255,
- 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 30, 0,255,255,
- 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 30, 0,255,255,
- 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 30, 0,255,255,
- 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 30, 0,255,255,
- 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 30, 0,255,255,
- 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 30, 0,255,255,
- 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 30, 0,255,255,
- 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 0, 0,
- 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 2, 0,
- 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 4, 0,
- 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 6, 0,
- 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 8, 0,
- 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 10, 0,
- 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 12, 0,
- 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 14, 0,
- 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 16, 0,
- 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 18, 0,
- 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 20, 0,
- 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 22, 0,
- 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 24, 0,
- 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 26, 0,
- 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 28, 0,
- 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 30, 0,
- 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 32, 0,
- 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 34, 0,
- 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 36, 0,
- 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 38, 0,
- 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 40, 0,
- 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 42, 0,
- 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 44, 0,
- 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 46, 0,
- 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 48, 0,
- 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 50, 0,
- 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 52, 0,
- 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 54, 0,
- 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 56, 0,
- 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 58, 0,
- 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 60, 0,
- 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 62, 0,
- 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 64, 0,
- 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 66, 0,
- 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 68, 0,
- 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 30, 0,255,255,
- 1, 0, 0, 0,216,204,168, 5, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,232,205,168, 5, 0, 0, 0, 0, 30, 0,255,255,
- 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 30, 0,255,255,
- 3, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 30, 0,255,255,
- 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0, 24, 42,147, 5, 0, 0, 0, 0, 30, 0,255,255,
- 1, 0, 0, 0,248,134,147, 5, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,104, 63,166, 5, 0, 0, 0, 0, 30, 0,255,255,
- 1, 0, 0, 0,184, 90,167, 5, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0, 72,242,167, 5, 0, 0, 0, 0, 30, 0,255,255,
- 1, 0, 0, 0, 8, 65,168, 5, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0, 40,136,168, 5, 0, 0, 0, 0, 30, 0,255,255,
- 1, 0, 0, 0, 8,255,168, 5, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0, 40, 39,147, 5, 0, 0, 0, 0, 30, 0,255,255,
- 1, 0, 0, 0, 72,210,168, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 1, 0,
- 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 3, 0,
- 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 5, 0,
- 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 7, 0,
- 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 9, 0,
- 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 11, 0,
- 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 13, 0,
- 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 15, 0,
- 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 17, 0,
- 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 19, 0,
- 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 21, 0,
- 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 23, 0,
- 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 25, 0,
- 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 27, 0,
- 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 29, 0,
- 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 31, 0,
- 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 33, 0,
- 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 35, 0,
- 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 37, 0,
- 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 39, 0,
- 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 41, 0,
- 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 43, 0,
- 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 45, 0,
- 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 47, 0,
- 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 49, 0,
- 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 51, 0,
- 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 53, 0,
- 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 55, 0,
- 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 57, 0,
- 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 59, 0,
- 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 61, 0,
- 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 63, 0,
- 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 65, 0,
- 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 67, 0,
- 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 69, 0,
- 1, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 1, 0,
- 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 3, 0,
- 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 5, 0,
- 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 7, 0,
- 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 9, 0,
- 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 11, 0,
- 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 13, 0,
- 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 15, 0,
- 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 17, 0,
- 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 19, 0,
- 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 21, 0,
- 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 23, 0,
- 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 25, 0,
- 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 27, 0,
- 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 29, 0,
- 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 31, 0,
- 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 33, 0,
- 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 35, 0,
- 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 37, 0,
- 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 39, 0,
- 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 41, 0,
- 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 43, 0,
- 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 45, 0,
- 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 47, 0,
- 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 49, 0,
- 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 51, 0,
- 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 53, 0,
- 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 55, 0,
- 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 57, 0,
- 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 59, 0,
- 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 61, 0,
- 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 63, 0,
- 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 65, 0,
- 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 67, 0,
- 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 69, 0,
- 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 1, 0,
- 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 3, 0,
- 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 5, 0,
- 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 7, 0,
- 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 9, 0,
- 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 11, 0,
- 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 13, 0,
- 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 15, 0,
- 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 17, 0,
- 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 19, 0,
- 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 21, 0,
- 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 23, 0,
- 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 25, 0,
- 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 27, 0,
- 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 29, 0,
- 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 31, 0,
- 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 33, 0,
- 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 35, 0,
- 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 37, 0,
- 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 39, 0,
- 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 41, 0,
- 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 43, 0,
- 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 45, 0,
- 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 47, 0,
- 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 49, 0,
- 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 51, 0,
- 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 53, 0,
- 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 55, 0,
- 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 57, 0,
- 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 59, 0,
- 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 61, 0,
- 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 63, 0,
- 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 65, 0,
- 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 67, 0,
- 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 69, 0,
- 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 1, 0,
- 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 3, 0,
- 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 5, 0,
- 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 7, 0,
- 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 9, 0,
- 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 11, 0,
- 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 13, 0,
- 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 15, 0,
- 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 17, 0,
- 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 19, 0,
- 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 21, 0,
- 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 23, 0,
- 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 25, 0,
- 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 27, 0,
- 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 29, 0,
- 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 31, 0,
- 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 33, 0,
- 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 35, 0,
- 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 37, 0,
- 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 39, 0,
- 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 41, 0,
- 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 43, 0,
- 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 45, 0,
- 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 47, 0,
- 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 49, 0,
- 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 51, 0,
- 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 53, 0,
- 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 55, 0,
- 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 57, 0,
- 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 59, 0,
- 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 61, 0,
- 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 63, 0,
- 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 65, 0,
- 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 67, 0,
- 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 69, 0,
- 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 1, 0,
- 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 3, 0,
- 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 5, 0,
- 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 7, 0,
- 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 9, 0,
- 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 11, 0,
- 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 13, 0,
- 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 15, 0,
- 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 17, 0,
- 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 19, 0,
- 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 21, 0,
- 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 23, 0,
- 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 25, 0,
- 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 27, 0,
- 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 29, 0,
- 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 31, 0,
- 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 33, 0,
- 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 35, 0,
- 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 37, 0,
- 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 39, 0,
- 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 41, 0,
- 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 43, 0,
- 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 45, 0,
- 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 47, 0,
- 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 49, 0,
- 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 51, 0,
- 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 53, 0,
- 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 55, 0,
- 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 57, 0,
- 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 59, 0,
- 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 61, 0,
- 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 63, 0,
- 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 65, 0,
- 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 67, 0,
- 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 69, 0,
- 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 1, 0,
- 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 3, 0,
- 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 5, 0,
- 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 7, 0,
- 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 9, 0,
- 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 11, 0,
- 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 13, 0,
- 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 15, 0,
- 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 17, 0,
- 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 19, 0,
- 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 21, 0,
- 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 23, 0,
- 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 25, 0,
- 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 27, 0,
- 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 29, 0,
- 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 31, 0,
- 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 33, 0,
- 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 35, 0,
- 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 37, 0,
- 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 39, 0,
- 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 41, 0,
- 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 43, 0,
- 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 45, 0,
- 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 47, 0,
- 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 49, 0,
- 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 51, 0,
- 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 53, 0,
- 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 55, 0,
- 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 57, 0,
- 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 59, 0,
- 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 61, 0,
- 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 63, 0,
- 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 65, 0,
- 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 67, 0,
- 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 69, 0,
- 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 1, 0,
- 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 3, 0,
- 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 5, 0,
- 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 7, 0,
- 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 9, 0,
- 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 11, 0,
- 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 13, 0,
- 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 15, 0,
- 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 17, 0,
- 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 19, 0,
- 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 21, 0,
- 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 23, 0,
- 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 25, 0,
- 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 27, 0,
- 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 29, 0,
- 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 31, 0,
- 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 33, 0,
- 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 35, 0,
- 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 37, 0,
- 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 39, 0,
- 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 41, 0,
- 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 43, 0,
- 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 45, 0,
- 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 47, 0,
- 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 49, 0,
- 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 51, 0,
- 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 53, 0,
- 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 55, 0,
- 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 57, 0,
- 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 59, 0,
- 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 61, 0,
- 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 63, 0,
- 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 65, 0,
- 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 67, 0,
- 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 69, 0,
- 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 1, 0,
- 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 3, 0,
- 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 5, 0,
- 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 7, 0,
- 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 9, 0,
- 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 11, 0,
- 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 13, 0,
- 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 15, 0,
- 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 17, 0,
- 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 19, 0,
- 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 21, 0,
- 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 23, 0,
- 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 25, 0,
- 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 27, 0,
- 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 29, 0,
- 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 31, 0,
- 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 33, 0,
- 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 35, 0,
- 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 37, 0,
- 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 39, 0,
- 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 41, 0,
- 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 43, 0,
- 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 45, 0,
- 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 47, 0,
- 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 49, 0,
- 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 51, 0,
- 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 53, 0,
- 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 55, 0,
- 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 57, 0,
- 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 59, 0,
- 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 61, 0,
- 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 63, 0,
- 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 65, 0,
- 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 67, 0,
- 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 69, 0,
- 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 1, 0,
- 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 3, 0,
- 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 5, 0,
- 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 7, 0,
- 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 9, 0,
- 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 11, 0,
- 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 13, 0,
- 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 15, 0,
- 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 17, 0,
- 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 19, 0,
- 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 21, 0,
- 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 23, 0,
- 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 25, 0,
- 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 27, 0,
- 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 29, 0,
- 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 31, 0,
- 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 33, 0,
- 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 35, 0,
- 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 37, 0,
- 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 39, 0,
- 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 41, 0,
- 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 43, 0,
- 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 45, 0,
- 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 47, 0,
- 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 49, 0,
- 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 51, 0,
- 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 53, 0,
- 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 55, 0,
- 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 57, 0,
- 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 59, 0,
- 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 61, 0,
- 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 63, 0,
- 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 65, 0,
- 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 67, 0,
- 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 69, 0,
- 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 1, 0,
- 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 3, 0,
- 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 5, 0,
- 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 7, 0,
- 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 9, 0,
- 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 11, 0,
- 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 13, 0,
- 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 15, 0,
- 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 17, 0,
- 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 19, 0,
- 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 21, 0,
- 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 23, 0,
- 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 25, 0,
- 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 27, 0,
- 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 29, 0,
- 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 31, 0,
- 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 33, 0,
- 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 35, 0,
- 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 37, 0,
- 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 39, 0,
- 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 41, 0,
- 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 43, 0,
- 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 45, 0,
- 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 47, 0,
- 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 49, 0,
- 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 51, 0,
- 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 53, 0,
- 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 55, 0,
- 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 57, 0,
- 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 59, 0,
- 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 61, 0,
- 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 63, 0,
- 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 65, 0,
- 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 67, 0,
- 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 69, 0,
- 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 1, 0,
- 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 3, 0,
- 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 5, 0,
- 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 7, 0,
- 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 9, 0,
- 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 11, 0,
- 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 13, 0,
- 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 15, 0,
- 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 17, 0,
- 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 19, 0,
- 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 21, 0,
- 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 23, 0,
- 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 25, 0,
- 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 27, 0,
- 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 29, 0,
- 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 31, 0,
- 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 33, 0,
- 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 35, 0,
- 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 37, 0,
- 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 39, 0,
- 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 41, 0,
- 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 43, 0,
- 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 45, 0,
- 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 47, 0,
- 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 49, 0,
- 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 51, 0,
- 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 53, 0,
- 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 55, 0,
- 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 57, 0,
- 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 59, 0,
- 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 61, 0,
- 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 63, 0,
- 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 65, 0,
- 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 67, 0,
- 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 69, 0,
- 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 1, 0,
- 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 3, 0,
- 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 5, 0,
- 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 7, 0,
- 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 9, 0,
- 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 11, 0,
- 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 13, 0,
- 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 15, 0,
- 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 17, 0,
- 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 19, 0,
- 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 21, 0,
- 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 23, 0,
- 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 25, 0,
- 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 27, 0,
- 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 29, 0,
- 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 31, 0,
- 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 33, 0,
- 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 35, 0,
- 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 37, 0,
- 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 39, 0,
- 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 41, 0,
- 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 43, 0,
- 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 45, 0,
- 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 47, 0,
- 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 49, 0,
- 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 51, 0,
- 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 53, 0,
- 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 55, 0,
- 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 57, 0,
- 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 59, 0,
- 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 61, 0,
- 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 63, 0,
- 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 65, 0,
- 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 67, 0,
- 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 69, 0,
- 1, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 1, 0,
- 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 3, 0,
- 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 5, 0,
- 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 7, 0,
- 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 9, 0,
- 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 11, 0,
- 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 13, 0,
- 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 15, 0,
- 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 17, 0,
- 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 19, 0,
- 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 21, 0,
- 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 23, 0,
- 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 25, 0,
- 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 27, 0,
- 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 29, 0,
- 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 31, 0,
- 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 33, 0,
- 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 35, 0,
- 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 37, 0,
- 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 39, 0,
- 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 41, 0,
- 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 43, 0,
- 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 45, 0,
- 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 47, 0,
- 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 49, 0,
- 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 51, 0,
- 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 53, 0,
- 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 55, 0,
- 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 57, 0,
- 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 59, 0,
- 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 61, 0,
- 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 63, 0,
- 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 65, 0,
- 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 67, 0,
- 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 69, 0,
- 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 1, 0,
- 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 3, 0,
- 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 5, 0,
- 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 7, 0,
- 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 9, 0,
- 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 11, 0,
- 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 13, 0,
- 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 15, 0,
- 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 17, 0,
- 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 19, 0,
- 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 21, 0,
- 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 23, 0,
- 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 25, 0,
- 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 27, 0,
- 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 29, 0,
- 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 31, 0,
- 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 33, 0,
- 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 35, 0,
- 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 37, 0,
- 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 39, 0,
- 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 41, 0,
- 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 43, 0,
- 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 45, 0,
- 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 47, 0,
- 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 49, 0,
- 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 51, 0,
- 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 53, 0,
- 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 55, 0,
- 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 57, 0,
- 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 59, 0,
- 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 61, 0,
- 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 63, 0,
- 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 65, 0,
- 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 67, 0,
- 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 69, 0,
- 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 1, 0,
- 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 3, 0,
- 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 5, 0,
- 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 7, 0,
- 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 9, 0,
- 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 11, 0,
- 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 13, 0,
- 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 15, 0,
- 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 17, 0,
- 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 19, 0,
- 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 21, 0,
- 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 23, 0,
- 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 25, 0,
- 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 27, 0,
- 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 29, 0,
- 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 31, 0,
- 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 33, 0,
- 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 35, 0,
- 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 37, 0,
- 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 39, 0,
- 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 41, 0,
- 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 43, 0,
- 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 45, 0,
- 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 47, 0,
- 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 49, 0,
- 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 51, 0,
- 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 53, 0,
- 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 55, 0,
- 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 57, 0,
- 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 59, 0,
- 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 61, 0,
- 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 63, 0,
- 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 65, 0,
- 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 67, 0,
- 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 69, 0,
- 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 1, 0,
- 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 3, 0,
- 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 5, 0,
- 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 7, 0,
- 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 9, 0,
- 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 11, 0,
- 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 13, 0,
- 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 15, 0,
- 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 17, 0,
- 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 19, 0,
- 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 21, 0,
- 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 23, 0,
- 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 25, 0,
- 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 27, 0,
- 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 29, 0,
- 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 31, 0,
- 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 33, 0,
- 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 35, 0,
- 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 37, 0,
- 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 39, 0,
- 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 41, 0,
- 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 43, 0,
- 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 45, 0,
- 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 47, 0,
- 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 49, 0,
- 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 51, 0,
- 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 53, 0,
- 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 55, 0,
- 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 57, 0,
- 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 59, 0,
- 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 61, 0,
- 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 63, 0,
- 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 65, 0,
- 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 67, 0,
- 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 69, 0,
- 1, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 1, 0,
- 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 3, 0,
- 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 5, 0,
- 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 7, 0,
- 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 9, 0,
- 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 11, 0,
- 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 13, 0,
- 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 15, 0,
- 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 17, 0,
- 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 19, 0,
- 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 21, 0,
- 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 23, 0,
- 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 25, 0,
- 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 27, 0,
- 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 29, 0,
- 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 31, 0,
- 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 33, 0,
- 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 35, 0,
- 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 37, 0,
- 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 39, 0,
- 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 41, 0,
- 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 43, 0,
- 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 45, 0,
- 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 47, 0,
- 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 49, 0,
- 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 51, 0,
- 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 53, 0,
- 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 55, 0,
- 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 57, 0,
- 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 59, 0,
- 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 61, 0,
- 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 63, 0,
- 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 65, 0,
- 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 67, 0,
- 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 69, 0,
- 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 1, 0,
- 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 3, 0,
- 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 5, 0,
- 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 7, 0,
- 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 9, 0,
- 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 11, 0,
- 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 13, 0,
- 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 15, 0,
- 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 17, 0,
- 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 19, 0,
- 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 21, 0,
- 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 23, 0,
- 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 25, 0,
- 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 27, 0,
- 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 29, 0,
- 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 31, 0,
- 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 33, 0,
- 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 35, 0,
- 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 37, 0,
- 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 39, 0,
- 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 41, 0,
- 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 43, 0,
- 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 45, 0,
- 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 47, 0,
- 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 49, 0,
- 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 51, 0,
- 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 53, 0,
- 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 55, 0,
- 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 57, 0,
- 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 59, 0,
- 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 61, 0,
- 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 63, 0,
- 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 65, 0,
- 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 67, 0,
- 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 69, 0,
- 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 1, 0,
- 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 3, 0,
- 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 5, 0,
- 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 7, 0,
- 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 9, 0,
- 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 11, 0,
- 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 13, 0,
- 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 15, 0,
- 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 17, 0,
- 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 19, 0,
- 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 21, 0,
- 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 23, 0,
- 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 25, 0,
- 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 27, 0,
- 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 29, 0,
- 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 31, 0,
- 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 33, 0,
- 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 35, 0,
- 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 37, 0,
- 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 39, 0,
- 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 41, 0,
- 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 43, 0,
- 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 45, 0,
- 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 47, 0,
- 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 49, 0,
- 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 51, 0,
- 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 53, 0,
- 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 55, 0,
- 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 57, 0,
- 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 59, 0,
- 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 61, 0,
- 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 63, 0,
- 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 65, 0,
- 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 67, 0,
- 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 69, 0,
- 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 1, 0,
- 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 3, 0,
- 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 5, 0,
- 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 7, 0,
- 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 9, 0,
- 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 11, 0,
- 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 13, 0,
- 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 15, 0,
- 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 17, 0,
- 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 19, 0,
- 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 21, 0,
- 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 23, 0,
- 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 25, 0,
- 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 27, 0,
- 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 29, 0,
- 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 31, 0,
- 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 33, 0,
- 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 35, 0,
- 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 37, 0,
- 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 39, 0,
- 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 41, 0,
- 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 43, 0,
- 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 45, 0,
- 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 47, 0,
- 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 49, 0,
- 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 51, 0,
- 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 53, 0,
- 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 55, 0,
- 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 57, 0,
- 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 59, 0,
- 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 61, 0,
- 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 63, 0,
- 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 65, 0,
- 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 67, 0,
- 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 69, 0,
- 1, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 1, 0,
- 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 3, 0,
- 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 5, 0,
- 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 7, 0,
- 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 9, 0,
- 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 11, 0,
- 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 13, 0,
- 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 15, 0,
- 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 17, 0,
- 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 19, 0,
- 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 21, 0,
- 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 23, 0,
- 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 25, 0,
- 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 27, 0,
- 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 29, 0,
- 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 31, 0,
- 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 33, 0,
- 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 35, 0,
- 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 37, 0,
- 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 39, 0,
- 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 41, 0,
- 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 43, 0,
- 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 45, 0,
- 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 47, 0,
- 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 49, 0,
- 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 51, 0,
- 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 53, 0,
- 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 55, 0,
- 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 57, 0,
- 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 59, 0,
- 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 61, 0,
- 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 63, 0,
- 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 65, 0,
- 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 67, 0,
- 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 69, 0,
- 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 1, 0,
- 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 3, 0,
- 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 5, 0,
- 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 7, 0,
- 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 9, 0,
- 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 11, 0,
- 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 13, 0,
- 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 15, 0,
- 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 17, 0,
- 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 19, 0,
- 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 21, 0,
- 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 23, 0,
- 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 25, 0,
- 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 27, 0,
- 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 29, 0,
- 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 31, 0,
- 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 33, 0,
- 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 35, 0,
- 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 37, 0,
- 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 39, 0,
- 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 41, 0,
- 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 43, 0,
- 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 45, 0,
- 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 47, 0,
- 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 49, 0,
- 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 51, 0,
- 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 53, 0,
- 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 55, 0,
- 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 57, 0,
- 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 59, 0,
- 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 61, 0,
- 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 63, 0,
- 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 65, 0,
- 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 67, 0,
- 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 69, 0,
- 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 1, 0,
- 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 3, 0,
- 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 5, 0,
- 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 7, 0,
- 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 9, 0,
- 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 11, 0,
- 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 13, 0,
- 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 15, 0,
- 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 17, 0,
- 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 19, 0,
- 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 21, 0,
- 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 23, 0,
- 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 25, 0,
- 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 27, 0,
- 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 29, 0,
- 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 31, 0,
- 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 33, 0,
- 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 35, 0,
- 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 37, 0,
- 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 39, 0,
- 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 41, 0,
- 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 43, 0,
- 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 45, 0,
- 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 47, 0,
- 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 49, 0,
- 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 51, 0,
- 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 53, 0,
- 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 55, 0,
- 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 57, 0,
- 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 59, 0,
- 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 61, 0,
- 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 63, 0,
- 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 65, 0,
- 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 67, 0,
- 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 69, 0,
- 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 1, 0,
- 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 3, 0,
- 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 5, 0,
- 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 7, 0,
- 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 9, 0,
- 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 11, 0,
- 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 13, 0,
- 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 15, 0,
- 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 17, 0,
- 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 19, 0,
- 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 21, 0,
- 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 23, 0,
- 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 25, 0,
- 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 27, 0,
- 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 29, 0,
- 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 31, 0,
- 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 33, 0,
- 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 35, 0,
- 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 37, 0,
- 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 39, 0,
- 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 41, 0,
- 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 43, 0,
- 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 45, 0,
- 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 47, 0,
- 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 49, 0,
- 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 51, 0,
- 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 53, 0,
- 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 55, 0,
- 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 57, 0,
- 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 59, 0,
- 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 61, 0,
- 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 63, 0,
- 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 65, 0,
- 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 67, 0,
- 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 69, 0,
- 1, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 1, 0,
- 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 3, 0,
- 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 5, 0,
- 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 7, 0,
- 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 9, 0,
- 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 11, 0,
- 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 13, 0,
- 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 15, 0,
- 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 17, 0,
- 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 19, 0,
- 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 21, 0,
- 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 23, 0,
- 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 25, 0,
- 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 27, 0,
- 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 29, 0,
- 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 31, 0,
- 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 33, 0,
- 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 35, 0,
- 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 37, 0,
- 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 39, 0,
- 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 41, 0,
- 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 43, 0,
- 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 45, 0,
- 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 47, 0,
- 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 49, 0,
- 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 51, 0,
- 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 53, 0,
- 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 55, 0,
- 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 57, 0,
- 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 59, 0,
- 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 61, 0,
- 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 63, 0,
- 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 65, 0,
- 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 67, 0,
- 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 69, 0,
- 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 1, 0,
- 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 3, 0,
- 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 5, 0,
- 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 7, 0,
- 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 9, 0,
- 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 11, 0,
- 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 13, 0,
- 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 15, 0,
- 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 17, 0,
- 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 19, 0,
- 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 21, 0,
- 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 23, 0,
- 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 25, 0,
- 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 27, 0,
- 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 29, 0,
- 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 31, 0,
- 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 33, 0,
- 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 35, 0,
- 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 37, 0,
- 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 39, 0,
- 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 41, 0,
- 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 43, 0,
- 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 45, 0,
- 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 47, 0,
- 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 49, 0,
- 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 51, 0,
- 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 53, 0,
- 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 55, 0,
- 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 57, 0,
- 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 59, 0,
- 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 61, 0,
- 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 63, 0,
- 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 65, 0,
- 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 67, 0,
- 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 69, 0,
- 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 1, 0,
- 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 3, 0,
- 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 5, 0,
- 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 7, 0,
- 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 9, 0,
- 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 11, 0,
- 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 13, 0,
- 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 15, 0,
- 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 17, 0,
- 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 19, 0,
- 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 21, 0,
- 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 23, 0,
- 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 25, 0,
- 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 27, 0,
- 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 29, 0,
- 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 31, 0,
- 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 33, 0,
- 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 35, 0,
- 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 37, 0,
- 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 39, 0,
- 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 41, 0,
- 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 43, 0,
- 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 45, 0,
- 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 47, 0,
- 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 49, 0,
- 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 51, 0,
- 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 53, 0,
- 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 55, 0,
- 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 57, 0,
- 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 59, 0,
- 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 61, 0,
- 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 63, 0,
- 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 65, 0,
- 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 67, 0,
- 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 69, 0,
- 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 1, 0,
- 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 3, 0,
- 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 5, 0,
- 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 7, 0,
- 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 9, 0,
- 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 11, 0,
- 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 13, 0,
- 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 15, 0,
- 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 17, 0,
- 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 19, 0,
- 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 21, 0,
- 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 23, 0,
- 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 25, 0,
- 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 27, 0,
- 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 29, 0,
- 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 31, 0,
- 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 33, 0,
- 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 35, 0,
- 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 37, 0,
- 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 39, 0,
- 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 41, 0,
- 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 43, 0,
- 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 45, 0,
- 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 47, 0,
- 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 49, 0,
- 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 51, 0,
- 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 53, 0,
- 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 55, 0,
- 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 57, 0,
- 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 59, 0,
- 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 61, 0,
- 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 63, 0,
- 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 65, 0,
- 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 67, 0,
- 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 69, 0,
- 1, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 1, 0,
- 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 3, 0,
- 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 5, 0,
- 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 7, 0,
- 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 9, 0,
- 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 11, 0,
- 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 13, 0,
- 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 15, 0,
- 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 17, 0,
- 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 19, 0,
- 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 21, 0,
- 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 23, 0,
- 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 25, 0,
- 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 27, 0,
- 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 29, 0,
- 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 31, 0,
- 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 33, 0,
- 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 35, 0,
- 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 37, 0,
- 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 39, 0,
- 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 41, 0,
- 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 43, 0,
- 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 45, 0,
- 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 47, 0,
- 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 49, 0,
- 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 51, 0,
- 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 53, 0,
- 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 55, 0,
- 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 57, 0,
- 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 59, 0,
- 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 61, 0,
- 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 63, 0,
- 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 65, 0,
- 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 67, 0,
- 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 69, 0,
- 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,216,204,168, 5, 0, 0, 0, 0, 31, 0, 1, 0,
- 1, 0, 0, 0,216,204,168, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,216,204,168, 5, 0, 0, 0, 0, 31, 0, 3, 0,
- 1, 0, 0, 0,216,204,168, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,216,204,168, 5, 0, 0, 0, 0, 31, 0, 5, 0,
- 1, 0, 0, 0,216,204,168, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,216,204,168, 5, 0, 0, 0, 0, 31, 0, 7, 0,
- 1, 0, 0, 0,216,204,168, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,216,204,168, 5, 0, 0, 0, 0, 31, 0, 9, 0,
- 1, 0, 0, 0,216,204,168, 5, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,216,204,168, 5, 0, 0, 0, 0, 31, 0, 11, 0,
- 1, 0, 0, 0,216,204,168, 5, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,216,204,168, 5, 0, 0, 0, 0, 31, 0, 13, 0,
- 1, 0, 0, 0,216,204,168, 5, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,216,204,168, 5, 0, 0, 0, 0, 31, 0, 15, 0,
- 1, 0, 0, 0,216,204,168, 5, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,216,204,168, 5, 0, 0, 0, 0, 31, 0, 17, 0,
- 1, 0, 0, 0,216,204,168, 5, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,216,204,168, 5, 0, 0, 0, 0, 31, 0, 19, 0,
- 1, 0, 0, 0,216,204,168, 5, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,216,204,168, 5, 0, 0, 0, 0, 31, 0, 21, 0,
- 1, 0, 0, 0,216,204,168, 5, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,216,204,168, 5, 0, 0, 0, 0, 31, 0, 23, 0,
- 1, 0, 0, 0,216,204,168, 5, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,216,204,168, 5, 0, 0, 0, 0, 31, 0, 25, 0,
- 1, 0, 0, 0,216,204,168, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,232,205,168, 5, 0, 0, 0, 0, 31, 0, 1, 0,
- 1, 0, 0, 0,232,205,168, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,232,205,168, 5, 0, 0, 0, 0, 31, 0, 3, 0,
- 1, 0, 0, 0,232,205,168, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,232,205,168, 5, 0, 0, 0, 0, 31, 0, 5, 0,
- 1, 0, 0, 0,232,205,168, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,232,205,168, 5, 0, 0, 0, 0, 31, 0, 7, 0,
- 1, 0, 0, 0,232,205,168, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,232,205,168, 5, 0, 0, 0, 0, 31, 0, 9, 0,
- 1, 0, 0, 0,232,205,168, 5, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,232,205,168, 5, 0, 0, 0, 0, 31, 0, 11, 0,
- 1, 0, 0, 0,232,205,168, 5, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,232,205,168, 5, 0, 0, 0, 0, 31, 0, 13, 0,
- 1, 0, 0, 0,232,205,168, 5, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,232,205,168, 5, 0, 0, 0, 0, 31, 0, 15, 0,
- 1, 0, 0, 0,232,205,168, 5, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,232,205,168, 5, 0, 0, 0, 0, 31, 0, 17, 0,
- 1, 0, 0, 0,232,205,168, 5, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,232,205,168, 5, 0, 0, 0, 0, 31, 0, 19, 0,
- 1, 0, 0, 0,232,205,168, 5, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,232,205,168, 5, 0, 0, 0, 0, 31, 0, 21, 0,
- 1, 0, 0, 0,232,205,168, 5, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,232,205,168, 5, 0, 0, 0, 0, 31, 0, 23, 0,
- 1, 0, 0, 0,232,205,168, 5, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,232,205,168, 5, 0, 0, 0, 0, 31, 0, 25, 0,
- 1, 0, 0, 0,232,205,168, 5, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,232,205,168, 5, 0, 0, 0, 0, 31, 0, 27, 0,
- 1, 0, 0, 0,232,205,168, 5, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,232,205,168, 5, 0, 0, 0, 0, 31, 0, 29, 0,
- 1, 0, 0, 0,232,205,168, 5, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,232,205,168, 5, 0, 0, 0, 0, 31, 0, 0, 0,
- 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 2, 0,
- 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 4, 0,
- 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 6, 0,
- 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 8, 0,
- 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 10, 0,
- 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 12, 0,
- 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 14, 0,
- 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 16, 0,
- 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 18, 0,
- 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 20, 0,
- 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 22, 0,
- 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 24, 0,
- 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 26, 0,
- 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 28, 0,
- 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 30, 0,
- 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 32, 0,
- 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 34, 0,
- 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 36, 0,
- 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 38, 0,
- 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 40, 0,
- 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 42, 0,
- 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 44, 0,
- 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 46, 0,
- 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 48, 0,
- 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 50, 0,
- 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 52, 0,
- 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 54, 0,
- 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 56, 0,
- 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 58, 0,
- 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 60, 0,
- 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 62, 0,
- 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 64, 0,
- 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 66, 0,
- 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 68, 0,
- 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 70, 0,
- 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 71, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 72, 0,
- 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 73, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 74, 0,
- 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 75, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 76, 0,
- 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 77, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 78, 0,
- 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 79, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 80, 0,
- 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 81, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 82, 0,
- 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 83, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 31, 0, 0, 0,
- 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 2, 0,
- 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 4, 0,
- 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 6, 0,
- 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 8, 0,
- 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 10, 0,
- 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 12, 0,
- 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 14, 0,
- 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 16, 0,
- 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 18, 0,
- 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 20, 0,
- 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 22, 0,
- 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 24, 0,
- 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 26, 0,
- 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 28, 0,
- 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 30, 0,
- 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 32, 0,
- 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 34, 0,
- 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 36, 0,
- 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 38, 0,
- 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 40, 0,
- 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 42, 0,
- 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 44, 0,
- 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 46, 0,
- 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 48, 0,
- 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 50, 0,
- 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0,184, 17,169, 5, 0, 0, 0, 0, 31, 0, 0, 0,
- 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 2, 0,
- 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 4, 0,
- 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 6, 0,
- 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 8, 0,
- 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 10, 0,
- 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 12, 0,
- 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 14, 0,
- 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 16, 0,
- 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 18, 0,
- 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 20, 0,
- 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 22, 0,
- 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 24, 0,
- 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 26, 0,
- 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 28, 0,
- 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 30, 0,
- 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 32, 0,
- 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 34, 0,
- 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 36, 0,
- 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 38, 0,
- 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 40, 0,
- 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 42, 0,
- 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 44, 0,
- 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 46, 0,
- 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 48, 0,
- 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 50, 0,
- 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 52, 0,
- 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 54, 0,
- 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 56, 0,
- 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 58, 0,
- 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 60, 0,
- 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 62, 0,
- 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 64, 0,
- 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 66, 0,
- 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 68, 0,
- 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 70, 0,
- 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 71, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 72, 0,
- 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 73, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 74, 0,
- 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 75, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 76, 0,
- 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 77, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 78, 0,
- 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 79, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 80, 0,
- 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 81, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 82, 0,
- 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 83, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 84, 0,
- 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 85, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 86, 0,
- 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 87, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 88, 0,
- 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 89, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 90, 0,
- 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 91, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 92, 0,
- 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 93, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 94, 0,
- 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 95, 0, 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 96, 0,
- 1, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 1, 0,
- 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 3, 0,
- 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 5, 0,
- 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 7, 0,
- 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 9, 0,
- 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 11, 0,
- 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 13, 0,
- 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 15, 0,
- 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 17, 0,
- 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 19, 0,
- 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 21, 0,
- 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 23, 0,
- 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 25, 0,
- 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 27, 0,
- 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 29, 0,
- 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 31, 0,
- 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 33, 0,
- 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 35, 0,
- 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 37, 0,
- 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 39, 0,
- 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 41, 0,
- 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 43, 0,
- 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 45, 0,
- 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 47, 0,
- 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 49, 0,
- 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 51, 0,
- 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 53, 0,
- 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 55, 0,
- 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 57, 0,
- 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 59, 0,
- 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 61, 0,
- 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 63, 0,
- 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 65, 0,
- 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 67, 0,
- 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 69, 0,
- 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 70, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 71, 0,
- 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 72, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 73, 0,
- 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 74, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 75, 0,
- 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 76, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 77, 0,
- 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 78, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 79, 0,
- 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 80, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 81, 0,
- 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 82, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 83, 0,
- 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 84, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 85, 0,
- 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 86, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 87, 0,
- 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 88, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 89, 0,
- 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 90, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 91, 0,
- 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 92, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 93, 0,
- 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 94, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 95, 0,
- 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 96, 0, 1, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 31, 0, 0, 0,
- 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 2, 0,
- 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 4, 0,
- 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 6, 0,
- 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 8, 0,
- 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 10, 0,
- 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 12, 0,
- 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 14, 0,
- 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 16, 0,
- 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 18, 0,
- 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 20, 0,
- 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 22, 0,
- 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 24, 0,
- 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 26, 0,
- 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 28, 0,
- 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 30, 0,
- 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 32, 0,
- 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 34, 0,
- 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 36, 0,
- 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 38, 0,
- 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 40, 0,
- 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 42, 0,
- 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 44, 0,
- 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 46, 0,
- 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 48, 0,
- 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 50, 0,
- 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 52, 0,
- 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 54, 0,
- 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 56, 0,
- 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 58, 0,
- 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 60, 0,
- 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 62, 0,
- 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 64, 0,
- 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 66, 0,
- 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 68, 0,
- 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 70, 0,
- 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 71, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 72, 0,
- 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 73, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 74, 0,
- 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 75, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 76, 0,
- 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 77, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 78, 0,
- 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 79, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 80, 0,
- 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 81, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 82, 0,
- 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 83, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 84, 0,
- 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 85, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 86, 0,
- 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 87, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 88, 0,
- 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 89, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 90, 0,
- 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 91, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 92, 0,
- 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 93, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 94, 0,
- 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 95, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 96, 0,
- 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 24, 42,147, 5, 0, 0, 0, 0, 31, 0, 1, 0,
- 1, 0, 0, 0, 24, 42,147, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 24, 42,147, 5, 0, 0, 0, 0, 31, 0, 3, 0,
- 1, 0, 0, 0, 24, 42,147, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 24, 42,147, 5, 0, 0, 0, 0, 31, 0, 5, 0,
- 1, 0, 0, 0, 24, 42,147, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 24, 42,147, 5, 0, 0, 0, 0, 31, 0, 7, 0,
- 1, 0, 0, 0, 24, 42,147, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 24, 42,147, 5, 0, 0, 0, 0, 31, 0, 9, 0,
- 1, 0, 0, 0, 24, 42,147, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,248,134,147, 5, 0, 0, 0, 0, 31, 0, 1, 0,
- 1, 0, 0, 0,248,134,147, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,248,134,147, 5, 0, 0, 0, 0, 31, 0, 3, 0,
- 1, 0, 0, 0,248,134,147, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,248,134,147, 5, 0, 0, 0, 0, 31, 0, 5, 0,
- 1, 0, 0, 0,248,134,147, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,248,134,147, 5, 0, 0, 0, 0, 31, 0, 7, 0,
- 1, 0, 0, 0,248,134,147, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,248,134,147, 5, 0, 0, 0, 0, 31, 0, 9, 0,
- 1, 0, 0, 0,248,134,147, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,104, 63,166, 5, 0, 0, 0, 0, 31, 0, 1, 0,
- 1, 0, 0, 0,104, 63,166, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,104, 63,166, 5, 0, 0, 0, 0, 31, 0, 3, 0,
- 1, 0, 0, 0,104, 63,166, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,104, 63,166, 5, 0, 0, 0, 0, 31, 0, 5, 0,
- 1, 0, 0, 0,104, 63,166, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,104, 63,166, 5, 0, 0, 0, 0, 31, 0, 7, 0,
- 1, 0, 0, 0,104, 63,166, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,104, 63,166, 5, 0, 0, 0, 0, 31, 0, 9, 0,
- 1, 0, 0, 0,104, 63,166, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,184, 90,167, 5, 0, 0, 0, 0, 31, 0, 1, 0,
- 1, 0, 0, 0,184, 90,167, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,184, 90,167, 5, 0, 0, 0, 0, 31, 0, 3, 0,
- 1, 0, 0, 0,184, 90,167, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,184, 90,167, 5, 0, 0, 0, 0, 31, 0, 5, 0,
- 1, 0, 0, 0,184, 90,167, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,184, 90,167, 5, 0, 0, 0, 0, 31, 0, 7, 0,
- 1, 0, 0, 0,184, 90,167, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,184, 90,167, 5, 0, 0, 0, 0, 31, 0, 9, 0,
- 1, 0, 0, 0,184, 90,167, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 72,242,167, 5, 0, 0, 0, 0, 31, 0, 1, 0,
- 1, 0, 0, 0, 72,242,167, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 72,242,167, 5, 0, 0, 0, 0, 31, 0, 3, 0,
- 1, 0, 0, 0, 72,242,167, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 72,242,167, 5, 0, 0, 0, 0, 31, 0, 5, 0,
- 1, 0, 0, 0, 72,242,167, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 72,242,167, 5, 0, 0, 0, 0, 31, 0, 7, 0,
- 1, 0, 0, 0, 72,242,167, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 72,242,167, 5, 0, 0, 0, 0, 31, 0, 9, 0,
- 1, 0, 0, 0, 72,242,167, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 8, 65,168, 5, 0, 0, 0, 0, 31, 0, 1, 0,
- 1, 0, 0, 0, 8, 65,168, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 8, 65,168, 5, 0, 0, 0, 0, 31, 0, 3, 0,
- 1, 0, 0, 0, 8, 65,168, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 8, 65,168, 5, 0, 0, 0, 0, 31, 0, 5, 0,
- 1, 0, 0, 0, 8, 65,168, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 8, 65,168, 5, 0, 0, 0, 0, 31, 0, 7, 0,
- 1, 0, 0, 0, 8, 65,168, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 8, 65,168, 5, 0, 0, 0, 0, 31, 0, 9, 0,
- 1, 0, 0, 0, 8, 65,168, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 40,136,168, 5, 0, 0, 0, 0, 31, 0, 1, 0,
- 1, 0, 0, 0, 40,136,168, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 40,136,168, 5, 0, 0, 0, 0, 31, 0, 3, 0,
- 1, 0, 0, 0, 40,136,168, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 40,136,168, 5, 0, 0, 0, 0, 31, 0, 5, 0,
- 1, 0, 0, 0, 40,136,168, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 40,136,168, 5, 0, 0, 0, 0, 31, 0, 7, 0,
- 1, 0, 0, 0, 40,136,168, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 40,136,168, 5, 0, 0, 0, 0, 31, 0, 9, 0,
- 1, 0, 0, 0, 40,136,168, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 8,255,168, 5, 0, 0, 0, 0, 31, 0, 1, 0,
- 1, 0, 0, 0, 8,255,168, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 8,255,168, 5, 0, 0, 0, 0, 31, 0, 3, 0,
- 1, 0, 0, 0, 8,255,168, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 8,255,168, 5, 0, 0, 0, 0, 31, 0, 5, 0,
- 1, 0, 0, 0, 8,255,168, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 8,255,168, 5, 0, 0, 0, 0, 31, 0, 7, 0,
- 1, 0, 0, 0, 8,255,168, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 8,255,168, 5, 0, 0, 0, 0, 31, 0, 9, 0,
- 1, 0, 0, 0, 8,255,168, 5, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 8,255,168, 5, 0, 0, 0, 0, 31, 0, 11, 0,
- 1, 0, 0, 0, 8,255,168, 5, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 8,255,168, 5, 0, 0, 0, 0, 31, 0, 13, 0,
- 1, 0, 0, 0, 8,255,168, 5, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 8,255,168, 5, 0, 0, 0, 0, 31, 0, 15, 0,
- 1, 0, 0, 0, 8,255,168, 5, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 8,255,168, 5, 0, 0, 0, 0, 31, 0, 17, 0,
- 1, 0, 0, 0, 8,255,168, 5, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 8,255,168, 5, 0, 0, 0, 0, 31, 0, 0, 0,
- 1, 0, 0, 0, 40, 39,147, 5, 0, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0, 40, 39,147, 5, 0, 0, 0, 0, 31, 0, 2, 0,
- 1, 0, 0, 0, 40, 39,147, 5, 0, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0, 40, 39,147, 5, 0, 0, 0, 0, 31, 0, 4, 0,
- 1, 0, 0, 0, 40, 39,147, 5, 0, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0, 40, 39,147, 5, 0, 0, 0, 0, 31, 0, 6, 0,
- 1, 0, 0, 0, 40, 39,147, 5, 0, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0, 40, 39,147, 5, 0, 0, 0, 0, 31, 0, 8, 0,
- 1, 0, 0, 0, 40, 39,147, 5, 0, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0, 40, 39,147, 5, 0, 0, 0, 0, 31, 0, 10, 0,
- 1, 0, 0, 0, 40, 39,147, 5, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 72,210,168, 5, 0, 0, 0, 0, 31, 0, 1, 0,
- 1, 0, 0, 0, 72,210,168, 5, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 72,210,168, 5, 0, 0, 0, 0, 31, 0, 3, 0,
- 1, 0, 0, 0, 72,210,168, 5, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 72,210,168, 5, 0, 0, 0, 0, 31, 0, 5, 0,
- 1, 0, 0, 0, 72,210,168, 5, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 72,210,168, 5, 0, 0, 0, 0, 31, 0, 7, 0,
- 1, 0, 0, 0, 72,210,168, 5, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 72,210,168, 5, 0, 0, 0, 0, 31, 0, 9, 0,
- 1, 0, 0, 0, 72,210,168, 5, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 72,210,168, 5, 0, 0, 0, 0, 31, 0, 11, 0,
- 1, 0, 0, 0, 72,210,168, 5, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 72,210,168, 5, 0, 0, 0, 0, 31, 0, 13, 0,
- 1, 0, 0, 0, 72,210,168, 5, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 72,210,168, 5, 0, 0, 0, 0, 31, 0, 15, 0,
- 1, 0, 0, 0, 72,210,168, 5, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 72,210,168, 5, 0, 0, 0, 0, 31, 0, 17, 0,
- 1, 0, 0, 0, 72,210,168, 5, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 72,210,168, 5, 0, 0, 0, 0, 31, 0, 19, 0,
- 1, 0, 0, 0, 72,210,168, 5, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 72,210,168, 5, 0, 0, 0, 0, 68, 65, 84, 65,
-160, 0, 0, 0, 8,208,147, 5, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,128,166, 5,
- 0, 0, 0, 0, 24, 69,166, 5, 0, 0, 0, 0,120, 66,166, 5, 0, 0, 0, 0,200, 67,166, 5, 0, 0, 0, 0,136, 69,166, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 95, 6, 0, 0,141, 0, 0, 0,247, 3, 0, 0, 1, 1, 96, 6,
-107, 3, 1, 0, 0, 0, 0, 0, 0, 0, 8, 0, 72,229, 63, 4, 0, 0, 0, 0,120, 88,167, 5, 0, 0, 0, 0,120, 88,167, 5,
- 0, 0, 0, 0,104, 56,167, 5, 0, 0, 0, 0, 72, 83,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,232, 31,125, 5, 0, 0, 0, 0,184,167,126, 5, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,104, 56,167, 5,
- 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,216, 57,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,192,108, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0,204, 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,
- 95, 6, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,224,203, 68, 0, 0,200, 65, 0,224,203, 68, 0, 0,200, 65, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 96, 6, 26, 0, 96, 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, 95, 6, 0, 0,141, 0, 0, 0,166, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96, 6, 26, 0, 10, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,239, 63, 4, 0, 0, 0, 0,200, 6,182, 5, 0, 0, 0, 0,200, 6,182, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,223,126, 5, 0, 0, 0, 0, 24, 50,127, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,216, 57,167, 5,
- 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,200, 78,167, 5, 0, 0, 0, 0,104, 56,167, 5, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,128,178, 67, 0, 64, 30,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67, 0, 64, 30,196, 0, 0, 0, 0,143, 0, 0, 0,
-160, 0, 0, 0, 0, 0, 0, 0,120, 2, 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, 0, 0, 0, 0,120, 2, 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, 3, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,160, 0,121, 2,143, 0,121, 2, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,159, 0, 0, 0,127, 1, 0, 0,247, 3, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 0,121, 2, 11, 0, 5, 0, 3, 0, 0, 0, 0, 0, 0, 0,160, 0, 50, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,236, 63, 4, 0, 0, 0, 0,232, 30,140, 5, 0, 0, 0, 0,232, 30,140, 5,
- 0, 0, 0, 0, 72, 59,167, 5, 0, 0, 0, 0, 40, 77,167, 5, 0, 0, 0, 0,216, 46,127, 5, 0, 0, 0, 0,104,206,129, 5,
- 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, 72, 59,167, 5,
- 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,232, 60,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,165,231, 4,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95,111, 98,106,101,
- 99,116,109,111,100,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, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95,111, 98,106,101,
- 99,116,109,111,100,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, 79, 98,106,101, 99,116, 32, 84,111,111,108,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,233,253,143, 0,255, 1, 0, 0, 0, 0, 0, 0, 39, 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, 68, 65, 84, 65, 88, 1, 0, 0,232, 60,167, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,136, 62,167, 5,
- 0, 0, 0, 0, 72, 59,167, 5, 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,111,111,108,115, 95, 98,114,117,115,104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 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,111,111,108,115, 95, 98,114,117,115,104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 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,114,117,115,
-104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,117,254,
-143, 0,115, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,136, 62,167, 5,
- 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 40, 64,167, 5, 0, 0, 0, 0,232, 60,167, 5, 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,111,111,108,115, 95, 98,114,117,115,
-104, 95,116,111,111,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, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95, 98,114,117,115,
-104, 95,116,111,111,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, 84,111,111,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, 74,254,143, 0, 61, 0, 0, 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, 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,131,254, 41, 1, 36, 0, 20, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 40, 64,167, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,200, 65,167, 5,
- 0, 0, 0, 0,136, 62,167, 5, 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,111,111,108,115, 95, 98,114,117,115,104, 95,115,116,114,111,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, 86, 73, 69, 87,
- 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95, 98,114,117,115,104, 95,115,116,114,111,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, 83,116,114,111,
-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, 69,254,
-143, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,200, 65,167, 5,
- 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,104, 67,167, 5, 0, 0, 0, 0, 40, 64,167, 5, 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,111,111,108,115, 95, 98,114,117,115,
-104, 95, 99,117,114,118,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, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95, 98,114,117,115,
-104, 95, 99,117,114,118,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, 67,117,114,118,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, 45,254,143, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,104, 67,167, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 8, 69,167, 5,
- 0, 0, 0, 0,200, 65,167, 5, 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,111,111,108,115, 95, 98,114,117,115,104, 95, 97,112,112,101, 97,114, 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, 86, 73, 69, 87,
- 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95, 98,114,117,115,104, 95, 97,112,112,101, 97,114, 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, 65,112,112,101,
- 97,114, 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,229,253,
-143, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 8, 69,167, 5,
- 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,168, 70,167, 5, 0, 0, 0, 0,104, 67,167, 5, 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,111,111,108,115, 95,118,101,114,116,
-101,120,112, 97,105,110,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, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95,118,101,114,116,
-101,120,112, 97,105,110,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, 79,112,116,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, 0, 0, 0,149,253,143, 0,146, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,168, 70,167, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 72, 72,167, 5,
- 0, 0, 0, 0, 8, 69,167, 5, 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,111,111,108,115, 95, 98,114,117,115,104, 95,116,101,120,116,117,114,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, 86, 73, 69, 87,
- 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95, 98,114,117,115,104, 95,116,101,120,116,117,114,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, 84,101,120,116,
-117,114,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, 93,254,
-143, 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, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 72, 72,167, 5,
- 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,232, 73,167, 5, 0, 0, 0, 0,168, 70,167, 5, 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,115, 99,117,108,112,116, 95,111,112,116,
-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, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,115, 99,117,108,112,116, 95,111,112,116,
-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, 79,112,116,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, 0, 0, 0, 21,254,143, 0, 0, 0, 0, 0, 0, 0, 4, 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, 68, 65, 84, 65, 88, 1, 0, 0,216, 2,220, 4, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,
+120, 4,220, 4, 0, 0, 0, 0, 56, 1,220, 4, 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,105,109,112,108,105,102,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,
+ 83, 67, 69, 78, 69, 95, 80, 84, 95,115,105,109,112,108,105,102,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, 68, 65, 84, 65, 88, 1, 0, 0,232, 73,167, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,136, 75,167, 5,
- 0, 0, 0, 0, 72, 72,167, 5, 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,115, 99,117,108,112,116, 95,115,121,109,109,101,116,114,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, 86, 73, 69, 87,
- 51, 68, 95, 80, 84, 95,115, 99,117,108,112,116, 95,115,121,109,109,101,116,114,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, 83,121,109,109,
-101,116,114,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,253,253,
-143, 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,
+ 83,105,109,112,108,105,102,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, 27,254, 41, 1, 80, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,136, 75,167, 5,
- 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 40, 77,167, 5, 0, 0, 0, 0,232, 73,167, 5, 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,111,111,108,115, 95,109,101,115,104,
-101,100,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, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95,109,101,115,104,
-101,100,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, 77,101,115,104, 32, 84,111,111,108,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,164,252,143, 0, 68, 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, 68, 65, 84, 65, 88, 1, 0, 0,
+120, 4,220, 4, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0, 24, 6,220, 4, 0, 0, 0, 0,216, 2,220, 4, 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, 99,117,115,116,111,109, 95,
+112,114,111,112,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, 83, 67, 69, 78, 69, 95, 80, 84, 95, 99,117,115,116,111,109, 95,
+112,114,111,112,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, 67,117,115,116,111,109, 32, 80,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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,223,253, 41, 1, 36, 0, 0, 0, 0, 0, 4, 0, 0, 0,
+ 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 24, 6,220, 4, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,
+184, 7,220, 4, 0, 0, 0, 0,120, 4,220, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 84, 69, 88, 84, 85, 82, 69, 95, 80, 84, 95, 99,111,110,116,101,120,116, 95,116,101,120,116,117,114,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, 68, 65, 84, 65, 88, 1, 0, 0, 40, 77,167, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,136, 75,167, 5, 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,111,111,108,115, 95,109,101,115,104,101,100,105,116, 95,111,112,116,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, 86, 73, 69, 87,
- 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95,109,101,115,104,101,100,105,116, 95,111,112,116,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, 77,101,115,104,
- 32, 79,112,116,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,235,251,
-143, 0,161, 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,
+ 84, 69, 88, 84, 85, 82, 69, 95, 80, 84, 95, 99,111,110,116,101,120,116, 95,116,101,120,116,117,114,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, 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, 40, 1, 0, 0,200, 78,167, 5,
- 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,216, 81,167, 5, 0, 0, 0, 0,216, 57,167, 5, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,128,178, 67, 0, 0, 90,195, 0, 0, 0, 0, 0, 0, 0, 0,227,102, 16, 67, 24, 30, 90,195, 0, 0, 0, 0,143, 0, 0, 0,
-160, 0, 0, 0, 0, 0, 0, 0,215, 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, 0, 0, 0, 0,215, 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, 3, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,160, 0,216, 0,143, 0,216, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,159, 0, 0, 0,167, 0, 0, 0,126, 1, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 0,216, 0, 12, 0, 6, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0,216, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,237, 63, 4, 0, 0, 0, 0,200, 86,170, 5, 0, 0, 0, 0,200, 86,170, 5,
- 0, 0, 0, 0, 56, 80,167, 5, 0, 0, 0, 0, 56, 80,167, 5, 0, 0, 0, 0,232, 50,127, 5, 0, 0, 0, 0, 56,210,129, 5,
- 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, 56, 80,167, 5,
- 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,238, 63, 4,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,108, 97,115,116, 95,111,112,101,114, 97,
-116,111,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, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,108, 97,115,116, 95,111,112,101,114, 97,
-116,111,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, 79,112,101,114, 97,116,111,114, 0,105,116,109,111,100,101, 0,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,216,255,144, 0, 16, 0, 0, 0, 0, 0, 0, 0, 39, 0, 0, 0, 0, 0,
+ 0, 0, 16,255,187, 0,204, 0, 0, 0, 0, 0, 0, 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, 5, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 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,
+184, 7,220, 4, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0, 88, 9,220, 4, 0, 0, 0, 0, 24, 6,220, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, 80, 84, 95,109, 97,112,112,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, 84, 69, 88, 84, 85, 82, 69, 95, 80, 84, 95,109, 97,112,112,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, 77, 97,112,112,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, 77,254,187, 0,171, 0, 0, 0, 0, 0, 0, 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, 68, 65, 84, 65, 40, 1, 0, 0,216, 81,167, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 72, 83,167, 5,
- 0, 0, 0, 0,200, 78,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 67, 0, 96,158,196, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 35, 67, 0, 96,158,196, 0,128,142,195,163, 0, 0, 0,180, 0, 0, 0, 0, 0, 0, 0,213, 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, 0, 0, 0, 0,213, 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, 1, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4,
- 6, 0,180, 0,214, 3,163, 0,214, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 95, 6, 0, 0,
- 95, 6, 0, 0,167, 0, 0, 0,247, 3, 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, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104,231, 63, 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, 68, 65, 84, 65, 88, 1, 0, 0, 88, 9,220, 4, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,
+248, 10,220, 4, 0, 0, 0, 0,184, 7,220, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 84, 69, 88, 84, 85, 82, 69, 95, 80, 84, 95,105,110,102,108,117,101,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, 68, 65, 84, 65, 40, 1, 0, 0, 72, 83,167, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,216, 81,167, 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,
+ 84, 69, 88, 84, 85, 82, 69, 95, 80, 84, 95,105,110,102,108,117,101,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,
+ 73,110,102,108,117,101,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,223,252,187, 0, 86, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0,160, 0, 0, 0,
- 95, 6, 0, 0,167, 0, 0, 0,247, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192, 5, 81, 3,
- 13, 0, 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,104,230, 63, 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,200,229,129, 5, 0, 0, 0, 0,248,228,129, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184, 84,167, 5,
- 0, 0, 0, 0, 68, 65, 84, 65,112, 3, 0, 0,184, 84,167, 5, 0, 0, 0, 0,174, 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,142,187,242, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,142, 6,128,191, 0, 0,128,191, 0, 0, 0, 0, 0, 0, 0, 0, 11,210, 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, 33,210,111,193, 0, 0,128, 63, 68,239,209, 62,
- 70,119,105, 63,176, 84, 89,188, 0, 0, 0, 0, 52,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, 62, 95, 68, 65, 51,120,173,192,115,208,213, 64, 0, 0,128, 63,178,157,229, 62,
- 53, 8, 67,191,116,169, 81,191,184,158, 81,191,117, 90,127, 63,194, 3,188, 62,158, 53,185, 62, 35, 44,185, 62,145,180,109,188,
-174, 65,217, 63,218, 72,228,190, 42, 61,228,190, 0, 0, 0, 0, 0, 0, 0, 0, 33,171,108, 65, 33,210,111, 65,100,240,191, 62,
-110,116, 85, 63, 64,185, 70,188, 0, 0, 82,180, 51,239, 88,190, 2, 33,209, 61,210,167,241, 62, 0, 0, 88, 51,197,112,117,194,
-178,208,216, 65,220,158, 5,194,231,251,159,192,221, 54,114, 66, 29,247,213,193, 58,221, 3, 66, 25, 4,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, 33,210,111,193, 0, 0,128, 63,178,157,229, 62,
- 53, 8, 67,191,116,169, 81,191,184,158, 81,191,117, 90,127, 63,194, 3,188, 62,158, 53,185, 62, 35, 44,185, 62,145,180,109,188,
-174, 65,217, 63,218, 72,228,190, 42, 61,228,190, 0, 0, 0, 0, 0, 0, 0, 0, 33,171,108, 65, 33,210,111, 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, 68, 65, 84, 65, 88, 1, 0, 0,
+248, 10,220, 4, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,152, 12,220, 4, 0, 0, 0, 0, 88, 9,220, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 74, 69, 67, 84, 95, 80, 84, 95, 99,111,110,115,116,114,
+ 97,105,110,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, 79, 66, 74, 69, 67, 84, 95, 80, 84, 95, 99,111,110,115,116,114,
+ 97,105,110,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, 79, 98,106,101, 99,116, 32, 67,111,110,115,116,114, 97,105,110,
+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,160,255,187, 0, 36, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,152, 12,220, 4, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,
+ 56, 14,220, 4, 0, 0, 0, 0,248, 10,220, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 95, 80, 84, 95, 99,111,110,116,101,120,116, 95,109,101,115,104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 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, 95, 80, 84, 95, 99,111,110,116,101,120,116, 95,109,101,115,104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,184,255,171, 0, 36, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,154,191,178, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,154,191,178, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,154,191,178, 63, 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, 33,210,111, 65, 33,210,111, 65, 0, 0, 0, 0, 0, 0, 0, 0,134,210,162, 58,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,255,255, 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,113, 27,126, 66, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 1, 0, 0,120, 88,167, 5, 0, 0, 0, 0,175, 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, 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,205,204, 76, 62, 2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 1, 0, 7, 0, 24,213,168, 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, 68, 65, 84, 65, 88, 1, 0, 0,
+ 56, 14,220, 4, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,216, 15,220, 4, 0, 0, 0, 0,152, 12,220, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,110,111,114,109, 97,108,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, 1, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0,
- 1, 0, 3, 0, 8, 24,128, 0, 0, 0, 12, 66, 0, 0,128, 63,205,204,204, 61, 0, 0,122, 68, 0, 0, 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, 10, 0, 7, 1, 0, 3, 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, 95, 80, 84, 95,110,111,114,109, 97,108,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, 78,111,114,109, 97,108,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, 83, 78, 0, 0, 8, 1, 0, 0,184, 90,167, 5, 0, 0, 0, 0,211, 0, 0, 0, 1, 0, 0, 0,104,170,167, 5,
- 0, 0, 0, 0,104, 63,166, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 82, 71, 97,
-109,101, 32, 76,111,103,105, 99, 0, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,102,255,171, 0, 58, 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,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 92,167, 5, 0, 0, 0, 0,184, 97,167, 5,
- 0, 0, 0, 0, 40, 98,167, 5, 0, 0, 0, 0,232,106,167, 5, 0, 0, 0, 0, 88,107,167, 5, 0, 0, 0, 0,120,163,167, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,184,168, 5, 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, 32, 0, 0, 0, 8, 92,167, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,120, 92,167, 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, 68, 65, 84, 65,
- 32, 0, 0, 0,120, 92,167, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,232, 92,167, 5, 0, 0, 0, 0, 8, 92,167, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,232, 92,167, 5,
- 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 88, 93,167, 5, 0, 0, 0, 0,120, 92,167, 5, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,126, 7, 5, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 88, 93,167, 5, 0, 0, 0, 0,212, 0, 0, 0,
- 1, 0, 0, 0,200, 93,167, 5, 0, 0, 0, 0,232, 92,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,200, 93,167, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 56, 94,167, 5,
- 0, 0, 0, 0, 88, 93,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,234, 3, 1, 0, 0, 0, 68, 65, 84, 65,
- 32, 0, 0, 0, 56, 94,167, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,168, 94,167, 5, 0, 0, 0, 0,200, 93,167, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7,234, 3, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,168, 94,167, 5,
- 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 24, 95,167, 5, 0, 0, 0, 0, 56, 94,167, 5, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,140, 1, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 24, 95,167, 5, 0, 0, 0, 0,212, 0, 0, 0,
- 1, 0, 0, 0,136, 95,167, 5, 0, 0, 0, 0,168, 94,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 6,140, 1,
- 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,136, 95,167, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,248, 95,167, 5,
- 0, 0, 0, 0, 24, 95,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 6, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 32, 0, 0, 0,248, 95,167, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,104, 96,167, 5, 0, 0, 0, 0,136, 95,167, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7,140, 1, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,104, 96,167, 5,
- 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,216, 96,167, 5, 0, 0, 0, 0,248, 95,167, 5, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 64, 5,140, 1, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,216, 96,167, 5, 0, 0, 0, 0,212, 0, 0, 0,
- 1, 0, 0, 0, 72, 97,167, 5, 0, 0, 0, 0,104, 96,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 5,234, 3,
- 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 72, 97,167, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,184, 97,167, 5,
- 0, 0, 0, 0,216, 96,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 1,140, 1, 0, 0, 0, 0, 68, 65, 84, 65,
- 32, 0, 0, 0,184, 97,167, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 97,167, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 1,234, 3, 1, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 40, 98,167, 5,
- 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,152, 98,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120, 92,167, 5,
- 0, 0, 0, 0,232, 92,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,152, 98,167, 5,
- 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 8, 99,167, 5, 0, 0, 0, 0, 40, 98,167, 5, 0, 0, 0, 0,120, 92,167, 5,
- 0, 0, 0, 0,200, 93,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 8, 99,167, 5,
- 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,120, 99,167, 5, 0, 0, 0, 0,152, 98,167, 5, 0, 0, 0, 0,232, 92,167, 5,
- 0, 0, 0, 0, 56, 94,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,120, 99,167, 5,
- 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,232, 99,167, 5, 0, 0, 0, 0, 8, 99,167, 5, 0, 0, 0, 0,200, 93,167, 5,
- 0, 0, 0, 0, 56, 94,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,232, 99,167, 5,
- 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 88,100,167, 5, 0, 0, 0, 0,120, 99,167, 5, 0, 0, 0, 0,200, 93,167, 5,
- 0, 0, 0, 0,168, 94,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 88,100,167, 5,
- 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,200,100,167, 5, 0, 0, 0, 0,232, 99,167, 5, 0, 0, 0, 0,168, 94,167, 5,
- 0, 0, 0, 0, 24, 95,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,200,100,167, 5,
- 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 56,101,167, 5, 0, 0, 0, 0, 88,100,167, 5, 0, 0, 0, 0, 88, 93,167, 5,
- 0, 0, 0, 0,136, 95,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 56,101,167, 5,
- 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,168,101,167, 5, 0, 0, 0, 0,200,100,167, 5, 0, 0, 0, 0, 24, 95,167, 5,
- 0, 0, 0, 0,136, 95,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,168,101,167, 5,
- 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 24,102,167, 5, 0, 0, 0, 0, 56,101,167, 5, 0, 0, 0, 0, 8, 92,167, 5,
- 0, 0, 0, 0,168, 94,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 24,102,167, 5,
- 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,136,102,167, 5, 0, 0, 0, 0,168,101,167, 5, 0, 0, 0, 0, 8, 92,167, 5,
- 0, 0, 0, 0,136, 95,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,136,102,167, 5,
- 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,248,102,167, 5, 0, 0, 0, 0, 24,102,167, 5, 0, 0, 0, 0, 56, 94,167, 5,
- 0, 0, 0, 0,248, 95,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,248,102,167, 5,
- 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,104,103,167, 5, 0, 0, 0, 0,136,102,167, 5, 0, 0, 0, 0, 88, 93,167, 5,
- 0, 0, 0, 0,248, 95,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,104,103,167, 5,
- 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,216,103,167, 5, 0, 0, 0, 0,248,102,167, 5, 0, 0, 0, 0, 24, 95,167, 5,
- 0, 0, 0, 0,248, 95,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,216,103,167, 5,
- 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 72,104,167, 5, 0, 0, 0, 0,104,103,167, 5, 0, 0, 0, 0,104, 96,167, 5,
- 0, 0, 0, 0,216, 96,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 72,104,167, 5,
- 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,184,104,167, 5, 0, 0, 0, 0,216,103,167, 5, 0, 0, 0, 0, 56, 94,167, 5,
- 0, 0, 0, 0,216, 96,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,184,104,167, 5,
- 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 40,105,167, 5, 0, 0, 0, 0, 72,104,167, 5, 0, 0, 0, 0,248, 95,167, 5,
- 0, 0, 0, 0,104, 96,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 40,105,167, 5,
- 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,152,105,167, 5, 0, 0, 0, 0,184,104,167, 5, 0, 0, 0, 0,168, 94,167, 5,
- 0, 0, 0, 0, 72, 97,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,152,105,167, 5,
- 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 8,106,167, 5, 0, 0, 0, 0, 40,105,167, 5, 0, 0, 0, 0,104, 96,167, 5,
- 0, 0, 0, 0, 72, 97,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 8,106,167, 5,
- 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,120,106,167, 5, 0, 0, 0, 0,152,105,167, 5, 0, 0, 0, 0,200, 93,167, 5,
- 0, 0, 0, 0,184, 97,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,120,106,167, 5,
- 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,232,106,167, 5, 0, 0, 0, 0, 8,106,167, 5, 0, 0, 0, 0,216, 96,167, 5,
- 0, 0, 0, 0,184, 97,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,232,106,167, 5,
- 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,106,167, 5, 0, 0, 0, 0, 72, 97,167, 5,
- 0, 0, 0, 0,184, 97,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, 88,107,167, 5,
- 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0, 40,111,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 93,167, 5,
- 0, 0, 0, 0,120, 92,167, 5, 0, 0, 0, 0,232, 92,167, 5, 0, 0, 0, 0, 56, 94,167, 5, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 0, 0,235, 3, 0, 0, 5, 4, 0, 0, 7, 7,127, 7, 27, 0, 1, 0, 0, 0, 0, 0,
- 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,169,167, 5, 0, 0, 0, 0,216,169,167, 5, 0, 0, 0, 0, 72,108,167, 5,
- 0, 0, 0, 0,184,109,167, 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, 68, 65, 84, 65, 40, 1, 0, 0, 72,108,167, 5, 0, 0, 0, 0,216, 0, 0, 0,
- 1, 0, 0, 0,184,109,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32,148, 68, 0, 0, 0, 0,
- 0, 0,208, 65, 0, 0, 0, 0, 0,224,239, 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,126, 7, 0, 0, 0, 0, 0, 0,
- 25, 0, 0, 0, 0,192,239, 68, 0, 0,200, 65, 0,192,239, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,127, 7, 26, 0,127, 7, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 0, 0,235, 3, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,127, 7, 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, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,184,109,167, 5, 0, 0, 0, 0,216, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,108,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0,240,109, 69, 0, 0,128,192,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,238, 68, 0, 0, 0, 0, 0, 0, 0, 64,112, 7, 0, 0,129, 7, 0, 0, 0, 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, 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,128, 63, 0, 0,128, 63, 2, 0, 0, 0,
- 1, 0, 3, 3, 2, 0, 0, 4, 10, 0,129, 7, 2, 0,112, 7, 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, 5, 4, 0, 0, 5, 4, 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,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 40,111,167, 5, 0, 0, 0, 0,215, 0, 0, 0,
- 1, 0, 0, 0,184,135,167, 5, 0, 0, 0, 0, 88,107,167, 5, 0, 0, 0, 0,136, 95,167, 5, 0, 0, 0, 0, 24, 95,167, 5,
- 0, 0, 0, 0,248, 95,167, 5, 0, 0, 0, 0, 88, 93,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 6, 0, 0,
-126, 7, 0, 0, 0, 0, 0, 0,139, 1, 0, 0, 4, 4, 94, 1,140, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,120,134,167, 5, 0, 0, 0, 0,120,134,167, 5, 0, 0, 0, 0, 24,112,167, 5, 0, 0, 0, 0,136,113,167, 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, 68, 65, 84, 65, 40, 1, 0, 0, 24,112,167, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,136,113,167, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,148, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0,
- 0, 0,175, 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, 93, 1, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,128,174, 67,
- 0, 0,200, 65, 0,128,174, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0,
- 10, 0, 94, 1, 26, 0, 94, 1, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 6, 0, 0,
-126, 7, 0, 0,114, 1, 0, 0,139, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, 1, 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, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,136,113,167, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 24,112,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,174, 67, 0, 0, 61,196, 0, 0, 0, 0, 0, 0, 0, 0,
-255,127,166, 67,255,255,184,195, 0, 0, 0, 0, 77, 1, 0, 0, 94, 1, 0, 0, 0, 0, 0, 0,113, 1, 0, 0, 0, 0, 0, 0,
- 78, 1, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 76, 1, 0, 0, 0, 0, 0, 0,113, 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, 94, 1,114, 1, 77, 1,114, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 6, 0, 0,
-126, 7, 0, 0, 0, 0, 0, 0,113, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, 1,114, 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,248,114,167, 5, 0, 0, 0, 0,216,132,167, 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, 68, 65, 84, 65, 88, 1, 0, 0,248,114,167, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,152,116,167, 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, 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, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,220,255,
- 76, 1, 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,152,116,167, 5,
- 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 56,118,167, 5, 0, 0, 0, 0,248,114,167, 5, 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, 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, 76, 1, 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, 68, 65, 84, 65, 88, 1, 0, 0,216, 15,220, 4, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,
+120, 17,220, 4, 0, 0, 0, 0, 56, 14,220, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 95, 80, 84, 95,116,101,120,116,117,114,101, 95,115,112, 97, 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,
+ 68, 65, 84, 65, 95, 80, 84, 95,116,101,120,116,117,114,101, 95,115,112, 97, 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, 68, 65, 84, 65, 88, 1, 0, 0, 56,118,167, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,216,119,167, 5,
- 0, 0, 0, 0,152,116,167, 5, 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, 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,
- 76, 1, 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,
+ 84,101,120,116,117,114,101, 32, 83,112, 97, 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, 78,255,171, 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, 68, 65, 84, 65, 88, 1, 0, 0,216,119,167, 5,
- 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,120,121,167, 5, 0, 0, 0, 0, 56,118,167, 5, 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, 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, 68, 65, 84, 65, 88, 1, 0, 0,
+120, 17,220, 4, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0, 24, 19,220, 4, 0, 0, 0, 0,216, 15,220, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,118,101,114,116,101,120, 95,103,
+114,111,117,112,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, 68, 65, 84, 65, 95, 80, 84, 95,118,101,114,116,101,120, 95,103,
+114,111,117,112,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, 86,101,114,116,101,120, 32, 71,114,111,117,112,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, 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,234,254,171, 0, 76, 0, 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, 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,140,254, 76, 1,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, 68, 65, 84, 65, 88, 1, 0, 0, 24, 19,220, 4, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,
+184, 20,220, 4, 0, 0, 0, 0,120, 17,220, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 95, 80, 84, 95,115,104, 97,112,101, 95,107,101,121,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, 68, 65, 84, 65, 88, 1, 0, 0,120,121,167, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 24,123,167, 5,
- 0, 0, 0, 0,216,119,167, 5, 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, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65,110,116,105,
- 45, 65,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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58,254,
- 76, 1, 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,
+ 68, 65, 84, 65, 95, 80, 84, 95,115,104, 97,112,101, 95,107,101,121,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,
+ 83,104, 97,112,101, 32, 75,101,121,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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 24,123,167, 5,
- 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,184,124,167, 5, 0, 0, 0, 0,120,121,167, 5, 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, 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, 83, 97,109,112,108,101,100, 32, 77,111,116,105,111,110, 32, 66,108,117,114, 0,
+ 0, 0,134,254,171, 0, 76, 0, 0, 0, 0, 0, 0, 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, 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, 34,254, 76, 1, 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, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,
+184, 20,220, 4, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0, 88, 22,220, 4, 0, 0, 0, 0, 24, 19,220, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,117,118, 95,116,101,120,116,117,
+114,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, 68, 65, 84, 65, 95, 80, 84, 95,117,118, 95,116,101,120,116,117,
+114,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, 85, 86, 32, 77, 97,112,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, 41,254,171, 0, 69, 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, 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, 68, 65, 84, 65, 88, 1, 0, 0,184,124,167, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 88,126,167, 5,
- 0, 0, 0, 0, 24,123,167, 5, 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, 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, 10,254,
- 76, 1, 0, 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, 68, 65, 84, 65, 88, 1, 0, 0, 88, 22,220, 4, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,
+248, 23,220, 4, 0, 0, 0, 0,184, 20,220, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 95, 80, 84, 95,118,101,114,116,101,120, 95, 99,111,108,111,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, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 88,126,167, 5,
- 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,248,127,167, 5, 0, 0, 0, 0,184,124,167, 5, 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, 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,
+ 68, 65, 84, 65, 95, 80, 84, 95,118,101,114,116,101,120, 95, 99,111,108,111,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,242,253, 76, 1, 0, 0, 0, 0, 0, 0, 4, 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,
+ 86,101,114,116,101,120, 32, 67,111,108,111,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,204,253,171, 0, 69, 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, 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, 88, 1, 0, 0,248,127,167, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,152,129,167, 5,
- 0, 0, 0, 0, 88,126,167, 5, 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, 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,218,253,
- 76, 1, 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, 68, 65, 84, 65, 88, 1, 0, 0,
+248, 23,220, 4, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 22,220, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95, 99,117,115,116,111,109, 95,112,
+114,111,112,115, 95,109,101,115,104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 95, 80, 84, 95, 99,117,115,116,111,109, 95,112,
+114,111,112,115, 95,109,101,115,104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,117,115,116,111,109, 32, 80,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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,180,253,171, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,152,129,167, 5,
- 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 56,131,167, 5, 0, 0, 0, 0,248,127,167, 5, 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, 68, 65, 84, 65,248, 0, 0, 0,152, 25,220, 4, 0, 0, 0, 0,180, 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, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,116, 97,109,112, 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, 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,194,253, 76, 1, 0, 0, 20, 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, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 56,131,167, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,216,132,167, 5,
- 0, 0, 0, 0,152,129,167, 5, 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, 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, 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, 40,253,
- 76, 1,130, 0, 0, 0, 0, 0, 0, 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, 2, 0, 1, 0, 0, 0, 0, 0,120, 98,186, 4, 0, 0, 0, 0,
+255, 13, 0, 0,160, 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,
+216, 26,220, 4, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,200, 31,220, 4, 0, 0, 0, 0, 8,229,219, 4, 0, 0, 0, 0,
+ 8,102,201, 4, 0, 0, 0, 0,104,106,201, 4, 0, 0, 0, 0,216,106,201, 4, 0, 0, 0, 0,168,104,201, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 6, 0, 0, 0, 0, 0, 0,155, 0, 0, 0, 15, 15,100, 6,156, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 56,129,109, 3, 0, 0, 0, 0,168, 30,220, 4, 0, 0, 0, 0,168, 30,220, 4, 0, 0, 0, 0,
+200, 27,220, 4, 0, 0, 0, 0, 56, 29,220, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 24,134,184, 4, 0, 0, 0, 0,184,229,184, 4, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,200, 27,220, 4, 0, 0, 0, 0,
+217, 0, 0, 0, 1, 0, 0, 0, 56, 29,220, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,224,143, 68,
+ 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,128,204, 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, 99, 6, 0, 0,
+ 0, 0, 0, 0, 25, 0, 0, 0, 0, 96,204, 68, 0, 0,200, 65, 0, 96,204, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,100, 6, 26, 0,100, 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, 99, 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,100, 6, 26, 0, 6, 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, 88,131,109, 3, 0, 0, 0, 0,168, 71,145, 3, 0, 0, 0, 0,168, 71,145, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,185,133, 3, 0, 0, 0, 0,248, 73,189, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 56, 29,220, 4, 0, 0, 0, 0,
+217, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 27,220, 4, 0, 0, 0, 0, 0, 0, 64,192, 0, 0,126, 67,
+ 0, 0, 0, 0, 0, 0, 72, 66, 88,218,103,194, 40,147,141, 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, 99, 6, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 99, 6, 0, 0,
+ 18, 0, 0, 0,129, 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,100, 6,130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 6, 0, 0, 26, 0, 0, 0,155, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,100, 6,130, 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, 88,130,109, 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,200, 74,189, 4, 0, 0, 0, 0, 8, 78,189, 4, 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,168, 30,220, 4, 0, 0, 0, 0,
+185, 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, 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, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 1, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,
+200, 31,220, 4, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,232,215,220, 4, 0, 0, 0, 0,216, 26,220, 4, 0, 0, 0, 0,
+136,105,201, 4, 0, 0, 0, 0, 24,105,201, 4, 0, 0, 0, 0, 56,104,201, 4, 0, 0, 0, 0,248,105,201, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,101, 6, 0, 0,126, 7, 0, 0,205, 3, 0, 0, 99, 4, 0, 0, 3, 3, 26, 1,151, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0, 8, 0, 24,126,109, 3, 0, 0, 0, 0,152, 35,220, 4, 0, 0, 0, 0,152, 35,220, 4, 0, 0, 0, 0,
+184, 32,220, 4, 0, 0, 0, 0, 40, 34,220, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 40,238,184, 4, 0, 0, 0, 0, 24, 7,168, 4, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,184, 32,220, 4, 0, 0, 0, 0,
+217, 0, 0, 0, 1, 0, 0, 0, 40, 34,220, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,244, 67,
+ 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0,141, 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, 25, 1, 0, 0,
+ 0, 0, 0, 0, 25, 0, 0, 0, 0,128,140, 67, 0, 0,200, 65, 0,128,140, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 26, 1, 26, 0, 26, 1, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,101, 6, 0, 0,126, 7, 0, 0, 74, 4, 0, 0, 99, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 26, 1, 26, 0, 8, 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, 56,128,109, 3, 0, 0, 0, 0, 40, 20,194, 4, 0, 0, 0, 0, 40, 20,194, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 91,187, 4, 0, 0, 0, 0,168, 93,187, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 40, 34,220, 4, 0, 0, 0, 0,
+217, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184, 32,220, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,141, 67,
+ 0, 0,244,194, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,132, 67, 0, 0,214,194, 0, 0, 0, 0, 9, 1, 0, 0, 26, 1, 0, 0,
+ 18, 0, 0, 0,124, 0, 0, 0, 0, 0, 0, 0, 8, 1, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 8, 1, 0, 0,
+ 18, 0, 0, 0,124, 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, 0, 0, 0, 2, 0, 3, 3, 0, 0, 12, 4, 6, 0, 26, 1,125, 0, 9, 1,107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,101, 6, 0, 0,126, 7, 0, 0,205, 3, 0, 0, 73, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 26, 1,125, 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, 56,127,109, 3, 0, 0, 0, 0,152,153,203, 4, 0, 0, 0, 0,152,153,203, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120, 94,187, 4, 0, 0, 0, 0, 24, 96,187, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 1, 0, 0,152, 35,220, 4, 0, 0, 0, 0,
+181, 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, 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, 68, 65, 84, 65, 88, 1, 0, 0,216,132,167, 5,
- 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,131,167, 5, 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, 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, 0, 0, 0, 0, 0, 0, 0, 0,248, 21,177, 4, 0, 0, 0, 0,248, 21,177, 4, 0, 0, 0, 0,
+104,222,190, 4, 0, 0, 0, 0, 0,115,101, 32, 83, 99,117,108,112,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, 1, 0, 0, 0,
+ 68, 65, 84, 65, 16, 0, 0, 0,104,222,190, 4, 0, 0, 0, 0,238, 0, 0, 0, 1, 0, 0, 0, 42, 11, 0, 0, 42, 11, 0, 0,
+248, 36,220, 4, 0, 0, 0, 0, 68, 65, 84, 65,160,178, 0, 0,248, 36,220, 4, 0, 0, 0, 0,237, 0, 0, 0, 42, 11, 0, 0,
+ 0, 0, 0, 0, 2, 0, 1, 0, 40, 92,222, 4, 0, 0, 0, 0, 19, 0, 0, 0, 1, 0, 1, 0, 40, 92,222, 4, 0, 0, 0, 0,
+ 20, 0, 0, 0, 1, 0, 1, 0, 40, 92,222, 4, 0, 0, 0, 0, 21, 0, 1, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 0, 1, 0, 8,118,222, 4, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,136,127,222, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 0, 1, 0,168,181,222, 4, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,232,140,222, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 0, 1, 0,248,162,222, 4, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 56,134,222, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 0, 1, 0,168,113,222, 4, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,216,120,222, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 0, 1, 0,152,112,222, 4, 0, 0, 0, 0, 21, 0, 0, 0, 1, 0, 1, 0, 40, 92,222, 4, 0, 0, 0, 0,
+ 30, 0,255,255, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0,
+ 31, 0, 1, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0,
+ 31, 0, 3, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0,
+ 31, 0, 5, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0,
+ 31, 0, 7, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0,
+ 31, 0, 9, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0,
+ 31, 0, 11, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0,
+ 31, 0, 13, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0,
+ 31, 0, 15, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0,
+ 31, 0, 17, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0,
+ 31, 0, 19, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0,
+ 31, 0, 21, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0,
+ 31, 0, 23, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0,
+ 31, 0, 25, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0,
+ 31, 0, 27, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0,
+ 31, 0, 29, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0,
+ 31, 0, 31, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0,
+ 31, 0, 33, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0,
+ 31, 0, 35, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0,
+ 31, 0, 37, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0,
+ 31, 0, 39, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0,
+ 31, 0, 41, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0,
+ 31, 0, 43, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0,
+ 31, 0, 45, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0,
+ 31, 0, 47, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0,
+ 30, 0,255,255, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0,
+ 31, 0, 1, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0,
+ 31, 0, 3, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0,
+ 31, 0, 5, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0,
+ 31, 0, 7, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0,
+ 31, 0, 9, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0,
+ 31, 0, 11, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0,
+ 31, 0, 13, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0,
+ 31, 0, 15, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0,
+ 31, 0, 17, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0,
+ 31, 0, 19, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0,
+ 31, 0, 21, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0,
+ 31, 0, 23, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0,
+ 31, 0, 25, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0,
+ 31, 0, 27, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0,
+ 31, 0, 29, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0,
+ 31, 0, 31, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0,
+ 31, 0, 33, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0,
+ 31, 0, 35, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0,
+ 31, 0, 37, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0,
+ 31, 0, 39, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0,
+ 30, 0,255,255, 1, 0, 0, 0, 40,200,222, 4, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,104,210,222, 4, 0, 0, 0, 0,
+ 30, 0,255,255, 1, 0, 0, 0, 40,219,222, 4, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,232,227,222, 4, 0, 0, 0, 0,
+ 30, 0,255,255, 1, 0, 0, 0,168,236,222, 4, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0, 40,254,222, 4, 0, 0, 0, 0,
+ 30, 0,255,255, 1, 0, 0, 0,232, 6,223, 4, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,168, 15,223, 4, 0, 0, 0, 0,
+ 30, 0,255,255, 1, 0, 0, 0,104, 24,223, 4, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0, 40, 33,223, 4, 0, 0, 0, 0,
+ 30, 0,255,255, 1, 0, 0, 0,232, 41,223, 4, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,168, 50,223, 4, 0, 0, 0, 0,
+ 30, 0,255,255, 1, 0, 0, 0,104, 59,223, 4, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0, 40, 68,223, 4, 0, 0, 0, 0,
+ 30, 0,255,255, 1, 0, 0, 0,232, 76,223, 4, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,104, 94,223, 4, 0, 0, 0, 0,
+ 30, 0,255,255, 1, 0, 0, 0, 40,103,223, 4, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,232,111,223, 4, 0, 0, 0, 0,
+ 30, 0,255,255, 1, 0, 0, 0,168,120,223, 4, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,104,129,223, 4, 0, 0, 0, 0,
+ 30, 0,255,255, 1, 0, 0, 0, 40,138,223, 4, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,232,146,223, 4, 0, 0, 0, 0,
+ 30, 0,255,255, 1, 0, 0, 0,168,155,223, 4, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,104,164,223, 4, 0, 0, 0, 0,
+ 30, 0,255,255, 1, 0, 0, 0, 40,173,223, 4, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,232,181,223, 4, 0, 0, 0, 0,
+ 30, 0,255,255, 1, 0, 0, 0,168,190,223, 4, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,104,199,223, 4, 0, 0, 0, 0,
+ 30, 0,255,255, 1, 0, 0, 0, 40,208,223, 4, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,232,216,223, 4, 0, 0, 0, 0,
+ 31, 0, 0, 0, 1, 0, 0, 0, 40,200,222, 4, 0, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0, 40,200,222, 4, 0, 0, 0, 0,
+ 31, 0, 2, 0, 1, 0, 0, 0, 40,200,222, 4, 0, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0, 40,200,222, 4, 0, 0, 0, 0,
+ 31, 0, 4, 0, 1, 0, 0, 0, 40,200,222, 4, 0, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0, 40,200,222, 4, 0, 0, 0, 0,
+ 31, 0, 6, 0, 1, 0, 0, 0, 40,200,222, 4, 0, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0, 40,200,222, 4, 0, 0, 0, 0,
+ 31, 0, 8, 0, 1, 0, 0, 0, 40,200,222, 4, 0, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0, 40,200,222, 4, 0, 0, 0, 0,
+ 31, 0, 10, 0, 1, 0, 0, 0, 40,200,222, 4, 0, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0, 40,200,222, 4, 0, 0, 0, 0,
+ 31, 0, 12, 0, 1, 0, 0, 0, 40,200,222, 4, 0, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0, 40,200,222, 4, 0, 0, 0, 0,
+ 31, 0, 14, 0, 1, 0, 0, 0, 40,200,222, 4, 0, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0, 40,200,222, 4, 0, 0, 0, 0,
+ 31, 0, 16, 0, 1, 0, 0, 0, 40,200,222, 4, 0, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0, 40,200,222, 4, 0, 0, 0, 0,
+ 31, 0, 18, 0, 1, 0, 0, 0, 40,200,222, 4, 0, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0, 40,200,222, 4, 0, 0, 0, 0,
+ 31, 0, 20, 0, 1, 0, 0, 0, 40,200,222, 4, 0, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0, 40,200,222, 4, 0, 0, 0, 0,
+ 31, 0, 22, 0, 1, 0, 0, 0, 40,200,222, 4, 0, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0, 40,200,222, 4, 0, 0, 0, 0,
+ 31, 0, 24, 0, 1, 0, 0, 0, 40,200,222, 4, 0, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0, 40,200,222, 4, 0, 0, 0, 0,
+ 31, 0, 26, 0, 1, 0, 0, 0, 40,200,222, 4, 0, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0, 40,200,222, 4, 0, 0, 0, 0,
+ 31, 0, 28, 0, 1, 0, 0, 0, 40,200,222, 4, 0, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0, 40,200,222, 4, 0, 0, 0, 0,
+ 31, 0, 30, 0, 1, 0, 0, 0, 40,200,222, 4, 0, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0, 40,200,222, 4, 0, 0, 0, 0,
+ 31, 0, 32, 0, 1, 0, 0, 0, 40,200,222, 4, 0, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0, 40,200,222, 4, 0, 0, 0, 0,
+ 31, 0, 34, 0, 1, 0, 0, 0, 40,200,222, 4, 0, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0, 40,200,222, 4, 0, 0, 0, 0,
+ 31, 0, 36, 0, 1, 0, 0, 0, 40,200,222, 4, 0, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0, 40,200,222, 4, 0, 0, 0, 0,
+ 31, 0, 38, 0, 1, 0, 0, 0, 40,200,222, 4, 0, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0, 40,200,222, 4, 0, 0, 0, 0,
+ 31, 0, 40, 0, 1, 0, 0, 0, 40,200,222, 4, 0, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0, 40,200,222, 4, 0, 0, 0, 0,
+ 31, 0, 42, 0, 1, 0, 0, 0, 40,200,222, 4, 0, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0, 40,200,222, 4, 0, 0, 0, 0,
+ 31, 0, 44, 0, 1, 0, 0, 0, 40,200,222, 4, 0, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0, 40,200,222, 4, 0, 0, 0, 0,
+ 31, 0, 46, 0, 1, 0, 0, 0, 40,200,222, 4, 0, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0, 40,200,222, 4, 0, 0, 0, 0,
+ 31, 0, 48, 0, 1, 0, 0, 0, 40,200,222, 4, 0, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0, 40,200,222, 4, 0, 0, 0, 0,
+ 31, 0, 50, 0, 1, 0, 0, 0, 40,200,222, 4, 0, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0, 40,200,222, 4, 0, 0, 0, 0,
+ 31, 0, 52, 0, 1, 0, 0, 0, 40,200,222, 4, 0, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0, 40,200,222, 4, 0, 0, 0, 0,
+ 31, 0, 54, 0, 1, 0, 0, 0, 40,200,222, 4, 0, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0, 40,200,222, 4, 0, 0, 0, 0,
+ 31, 0, 56, 0, 1, 0, 0, 0, 40,200,222, 4, 0, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0, 40,200,222, 4, 0, 0, 0, 0,
+ 31, 0, 58, 0, 1, 0, 0, 0, 40,200,222, 4, 0, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0, 40,200,222, 4, 0, 0, 0, 0,
+ 31, 0, 60, 0, 1, 0, 0, 0, 40,200,222, 4, 0, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0, 40,200,222, 4, 0, 0, 0, 0,
+ 31, 0, 62, 0, 1, 0, 0, 0, 40,200,222, 4, 0, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0, 40,200,222, 4, 0, 0, 0, 0,
+ 31, 0, 64, 0, 1, 0, 0, 0, 40,200,222, 4, 0, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0, 40,200,222, 4, 0, 0, 0, 0,
+ 31, 0, 66, 0, 1, 0, 0, 0, 40,200,222, 4, 0, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0, 40,200,222, 4, 0, 0, 0, 0,
+ 31, 0, 68, 0, 1, 0, 0, 0, 40,200,222, 4, 0, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0, 40,200,222, 4, 0, 0, 0, 0,
+ 30, 0,255,255, 1, 0, 0, 0,152,112,222, 4, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,168,113,222, 4, 0, 0, 0, 0,
+ 30, 0,255,255, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,168,181,222, 4, 0, 0, 0, 0,
+ 30, 0,255,255, 3, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0,
+ 30, 0,255,255, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,232,152,200, 4, 0, 0, 0, 0,
+ 30, 0,255,255, 1, 0, 0, 0, 56,248,200, 4, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,184,100,201, 4, 0, 0, 0, 0,
+ 30, 0,255,255, 1, 0, 0, 0,104,254,220, 4, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,248,149,221, 4, 0, 0, 0, 0,
+ 30, 0,255,255, 1, 0, 0, 0,184,228,221, 4, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,216, 43,222, 4, 0, 0, 0, 0,
+ 30, 0,255,255, 1, 0, 0, 0,248,162,222, 4, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,248,149,200, 4, 0, 0, 0, 0,
+ 30, 0,255,255, 1, 0, 0, 0, 8,118,222, 4, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,104,210,222, 4, 0, 0, 0, 0,
+ 31, 0, 1, 0, 1, 0, 0, 0,104,210,222, 4, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,104,210,222, 4, 0, 0, 0, 0,
+ 31, 0, 3, 0, 1, 0, 0, 0,104,210,222, 4, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,104,210,222, 4, 0, 0, 0, 0,
+ 31, 0, 5, 0, 1, 0, 0, 0,104,210,222, 4, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,104,210,222, 4, 0, 0, 0, 0,
+ 31, 0, 7, 0, 1, 0, 0, 0,104,210,222, 4, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,104,210,222, 4, 0, 0, 0, 0,
+ 31, 0, 9, 0, 1, 0, 0, 0,104,210,222, 4, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,104,210,222, 4, 0, 0, 0, 0,
+ 31, 0, 11, 0, 1, 0, 0, 0,104,210,222, 4, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,104,210,222, 4, 0, 0, 0, 0,
+ 31, 0, 13, 0, 1, 0, 0, 0,104,210,222, 4, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,104,210,222, 4, 0, 0, 0, 0,
+ 31, 0, 15, 0, 1, 0, 0, 0,104,210,222, 4, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,104,210,222, 4, 0, 0, 0, 0,
+ 31, 0, 17, 0, 1, 0, 0, 0,104,210,222, 4, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,104,210,222, 4, 0, 0, 0, 0,
+ 31, 0, 19, 0, 1, 0, 0, 0,104,210,222, 4, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,104,210,222, 4, 0, 0, 0, 0,
+ 31, 0, 21, 0, 1, 0, 0, 0,104,210,222, 4, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,104,210,222, 4, 0, 0, 0, 0,
+ 31, 0, 23, 0, 1, 0, 0, 0,104,210,222, 4, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,104,210,222, 4, 0, 0, 0, 0,
+ 31, 0, 25, 0, 1, 0, 0, 0,104,210,222, 4, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,104,210,222, 4, 0, 0, 0, 0,
+ 31, 0, 27, 0, 1, 0, 0, 0,104,210,222, 4, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,104,210,222, 4, 0, 0, 0, 0,
+ 31, 0, 29, 0, 1, 0, 0, 0,104,210,222, 4, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,104,210,222, 4, 0, 0, 0, 0,
+ 31, 0, 31, 0, 1, 0, 0, 0,104,210,222, 4, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,104,210,222, 4, 0, 0, 0, 0,
+ 31, 0, 33, 0, 1, 0, 0, 0,104,210,222, 4, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,104,210,222, 4, 0, 0, 0, 0,
+ 31, 0, 35, 0, 1, 0, 0, 0,104,210,222, 4, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,104,210,222, 4, 0, 0, 0, 0,
+ 31, 0, 37, 0, 1, 0, 0, 0,104,210,222, 4, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,104,210,222, 4, 0, 0, 0, 0,
+ 31, 0, 39, 0, 1, 0, 0, 0,104,210,222, 4, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,104,210,222, 4, 0, 0, 0, 0,
+ 31, 0, 41, 0, 1, 0, 0, 0,104,210,222, 4, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,104,210,222, 4, 0, 0, 0, 0,
+ 31, 0, 43, 0, 1, 0, 0, 0,104,210,222, 4, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,104,210,222, 4, 0, 0, 0, 0,
+ 31, 0, 45, 0, 1, 0, 0, 0,104,210,222, 4, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,104,210,222, 4, 0, 0, 0, 0,
+ 31, 0, 47, 0, 1, 0, 0, 0,104,210,222, 4, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,104,210,222, 4, 0, 0, 0, 0,
+ 31, 0, 49, 0, 1, 0, 0, 0,104,210,222, 4, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,104,210,222, 4, 0, 0, 0, 0,
+ 31, 0, 51, 0, 1, 0, 0, 0,104,210,222, 4, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,104,210,222, 4, 0, 0, 0, 0,
+ 31, 0, 53, 0, 1, 0, 0, 0,104,210,222, 4, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,104,210,222, 4, 0, 0, 0, 0,
+ 31, 0, 55, 0, 1, 0, 0, 0,104,210,222, 4, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,104,210,222, 4, 0, 0, 0, 0,
+ 31, 0, 57, 0, 1, 0, 0, 0,104,210,222, 4, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,104,210,222, 4, 0, 0, 0, 0,
+ 31, 0, 59, 0, 1, 0, 0, 0,104,210,222, 4, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,104,210,222, 4, 0, 0, 0, 0,
+ 31, 0, 61, 0, 1, 0, 0, 0,104,210,222, 4, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,104,210,222, 4, 0, 0, 0, 0,
+ 31, 0, 63, 0, 1, 0, 0, 0,104,210,222, 4, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,104,210,222, 4, 0, 0, 0, 0,
+ 31, 0, 65, 0, 1, 0, 0, 0,104,210,222, 4, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,104,210,222, 4, 0, 0, 0, 0,
+ 31, 0, 67, 0, 1, 0, 0, 0,104,210,222, 4, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,104,210,222, 4, 0, 0, 0, 0,
+ 31, 0, 69, 0, 1, 0, 0, 0,104,210,222, 4, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 40,219,222, 4, 0, 0, 0, 0,
+ 31, 0, 1, 0, 1, 0, 0, 0, 40,219,222, 4, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 40,219,222, 4, 0, 0, 0, 0,
+ 31, 0, 3, 0, 1, 0, 0, 0, 40,219,222, 4, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 40,219,222, 4, 0, 0, 0, 0,
+ 31, 0, 5, 0, 1, 0, 0, 0, 40,219,222, 4, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 40,219,222, 4, 0, 0, 0, 0,
+ 31, 0, 7, 0, 1, 0, 0, 0, 40,219,222, 4, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 40,219,222, 4, 0, 0, 0, 0,
+ 31, 0, 9, 0, 1, 0, 0, 0, 40,219,222, 4, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 40,219,222, 4, 0, 0, 0, 0,
+ 31, 0, 11, 0, 1, 0, 0, 0, 40,219,222, 4, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 40,219,222, 4, 0, 0, 0, 0,
+ 31, 0, 13, 0, 1, 0, 0, 0, 40,219,222, 4, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 40,219,222, 4, 0, 0, 0, 0,
+ 31, 0, 15, 0, 1, 0, 0, 0, 40,219,222, 4, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 40,219,222, 4, 0, 0, 0, 0,
+ 31, 0, 17, 0, 1, 0, 0, 0, 40,219,222, 4, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 40,219,222, 4, 0, 0, 0, 0,
+ 31, 0, 19, 0, 1, 0, 0, 0, 40,219,222, 4, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 40,219,222, 4, 0, 0, 0, 0,
+ 31, 0, 21, 0, 1, 0, 0, 0, 40,219,222, 4, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, 40,219,222, 4, 0, 0, 0, 0,
+ 31, 0, 23, 0, 1, 0, 0, 0, 40,219,222, 4, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, 40,219,222, 4, 0, 0, 0, 0,
+ 31, 0, 25, 0, 1, 0, 0, 0, 40,219,222, 4, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0, 40,219,222, 4, 0, 0, 0, 0,
+ 31, 0, 27, 0, 1, 0, 0, 0, 40,219,222, 4, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0, 40,219,222, 4, 0, 0, 0, 0,
+ 31, 0, 29, 0, 1, 0, 0, 0, 40,219,222, 4, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0, 40,219,222, 4, 0, 0, 0, 0,
+ 31, 0, 31, 0, 1, 0, 0, 0, 40,219,222, 4, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0, 40,219,222, 4, 0, 0, 0, 0,
+ 31, 0, 33, 0, 1, 0, 0, 0, 40,219,222, 4, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0, 40,219,222, 4, 0, 0, 0, 0,
+ 31, 0, 35, 0, 1, 0, 0, 0, 40,219,222, 4, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0, 40,219,222, 4, 0, 0, 0, 0,
+ 31, 0, 37, 0, 1, 0, 0, 0, 40,219,222, 4, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0, 40,219,222, 4, 0, 0, 0, 0,
+ 31, 0, 39, 0, 1, 0, 0, 0, 40,219,222, 4, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0, 40,219,222, 4, 0, 0, 0, 0,
+ 31, 0, 41, 0, 1, 0, 0, 0, 40,219,222, 4, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0, 40,219,222, 4, 0, 0, 0, 0,
+ 31, 0, 43, 0, 1, 0, 0, 0, 40,219,222, 4, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0, 40,219,222, 4, 0, 0, 0, 0,
+ 31, 0, 45, 0, 1, 0, 0, 0, 40,219,222, 4, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0, 40,219,222, 4, 0, 0, 0, 0,
+ 31, 0, 47, 0, 1, 0, 0, 0, 40,219,222, 4, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0, 40,219,222, 4, 0, 0, 0, 0,
+ 31, 0, 49, 0, 1, 0, 0, 0, 40,219,222, 4, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0, 40,219,222, 4, 0, 0, 0, 0,
+ 31, 0, 51, 0, 1, 0, 0, 0, 40,219,222, 4, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0, 40,219,222, 4, 0, 0, 0, 0,
+ 31, 0, 53, 0, 1, 0, 0, 0, 40,219,222, 4, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0, 40,219,222, 4, 0, 0, 0, 0,
+ 31, 0, 55, 0, 1, 0, 0, 0, 40,219,222, 4, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0, 40,219,222, 4, 0, 0, 0, 0,
+ 31, 0, 57, 0, 1, 0, 0, 0, 40,219,222, 4, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0, 40,219,222, 4, 0, 0, 0, 0,
+ 31, 0, 59, 0, 1, 0, 0, 0, 40,219,222, 4, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0, 40,219,222, 4, 0, 0, 0, 0,
+ 31, 0, 61, 0, 1, 0, 0, 0, 40,219,222, 4, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0, 40,219,222, 4, 0, 0, 0, 0,
+ 31, 0, 63, 0, 1, 0, 0, 0, 40,219,222, 4, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0, 40,219,222, 4, 0, 0, 0, 0,
+ 31, 0, 65, 0, 1, 0, 0, 0, 40,219,222, 4, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0, 40,219,222, 4, 0, 0, 0, 0,
+ 31, 0, 67, 0, 1, 0, 0, 0, 40,219,222, 4, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0, 40,219,222, 4, 0, 0, 0, 0,
+ 31, 0, 69, 0, 1, 0, 0, 0, 40,219,222, 4, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,232,227,222, 4, 0, 0, 0, 0,
+ 31, 0, 1, 0, 1, 0, 0, 0,232,227,222, 4, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,232,227,222, 4, 0, 0, 0, 0,
+ 31, 0, 3, 0, 1, 0, 0, 0,232,227,222, 4, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,232,227,222, 4, 0, 0, 0, 0,
+ 31, 0, 5, 0, 1, 0, 0, 0,232,227,222, 4, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,232,227,222, 4, 0, 0, 0, 0,
+ 31, 0, 7, 0, 1, 0, 0, 0,232,227,222, 4, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,232,227,222, 4, 0, 0, 0, 0,
+ 31, 0, 9, 0, 1, 0, 0, 0,232,227,222, 4, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,232,227,222, 4, 0, 0, 0, 0,
+ 31, 0, 11, 0, 1, 0, 0, 0,232,227,222, 4, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,232,227,222, 4, 0, 0, 0, 0,
+ 31, 0, 13, 0, 1, 0, 0, 0,232,227,222, 4, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,232,227,222, 4, 0, 0, 0, 0,
+ 31, 0, 15, 0, 1, 0, 0, 0,232,227,222, 4, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,232,227,222, 4, 0, 0, 0, 0,
+ 31, 0, 17, 0, 1, 0, 0, 0,232,227,222, 4, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,232,227,222, 4, 0, 0, 0, 0,
+ 31, 0, 19, 0, 1, 0, 0, 0,232,227,222, 4, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,232,227,222, 4, 0, 0, 0, 0,
+ 31, 0, 21, 0, 1, 0, 0, 0,232,227,222, 4, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,232,227,222, 4, 0, 0, 0, 0,
+ 31, 0, 23, 0, 1, 0, 0, 0,232,227,222, 4, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,232,227,222, 4, 0, 0, 0, 0,
+ 31, 0, 25, 0, 1, 0, 0, 0,232,227,222, 4, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,232,227,222, 4, 0, 0, 0, 0,
+ 31, 0, 27, 0, 1, 0, 0, 0,232,227,222, 4, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,232,227,222, 4, 0, 0, 0, 0,
+ 31, 0, 29, 0, 1, 0, 0, 0,232,227,222, 4, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,232,227,222, 4, 0, 0, 0, 0,
+ 31, 0, 31, 0, 1, 0, 0, 0,232,227,222, 4, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,232,227,222, 4, 0, 0, 0, 0,
+ 31, 0, 33, 0, 1, 0, 0, 0,232,227,222, 4, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,232,227,222, 4, 0, 0, 0, 0,
+ 31, 0, 35, 0, 1, 0, 0, 0,232,227,222, 4, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,232,227,222, 4, 0, 0, 0, 0,
+ 31, 0, 37, 0, 1, 0, 0, 0,232,227,222, 4, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,232,227,222, 4, 0, 0, 0, 0,
+ 31, 0, 39, 0, 1, 0, 0, 0,232,227,222, 4, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,232,227,222, 4, 0, 0, 0, 0,
+ 31, 0, 41, 0, 1, 0, 0, 0,232,227,222, 4, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,232,227,222, 4, 0, 0, 0, 0,
+ 31, 0, 43, 0, 1, 0, 0, 0,232,227,222, 4, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,232,227,222, 4, 0, 0, 0, 0,
+ 31, 0, 45, 0, 1, 0, 0, 0,232,227,222, 4, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,232,227,222, 4, 0, 0, 0, 0,
+ 31, 0, 47, 0, 1, 0, 0, 0,232,227,222, 4, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,232,227,222, 4, 0, 0, 0, 0,
+ 31, 0, 49, 0, 1, 0, 0, 0,232,227,222, 4, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,232,227,222, 4, 0, 0, 0, 0,
+ 31, 0, 51, 0, 1, 0, 0, 0,232,227,222, 4, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,232,227,222, 4, 0, 0, 0, 0,
+ 31, 0, 53, 0, 1, 0, 0, 0,232,227,222, 4, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,232,227,222, 4, 0, 0, 0, 0,
+ 31, 0, 55, 0, 1, 0, 0, 0,232,227,222, 4, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,232,227,222, 4, 0, 0, 0, 0,
+ 31, 0, 57, 0, 1, 0, 0, 0,232,227,222, 4, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,232,227,222, 4, 0, 0, 0, 0,
+ 31, 0, 59, 0, 1, 0, 0, 0,232,227,222, 4, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,232,227,222, 4, 0, 0, 0, 0,
+ 31, 0, 61, 0, 1, 0, 0, 0,232,227,222, 4, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,232,227,222, 4, 0, 0, 0, 0,
+ 31, 0, 63, 0, 1, 0, 0, 0,232,227,222, 4, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,232,227,222, 4, 0, 0, 0, 0,
+ 31, 0, 65, 0, 1, 0, 0, 0,232,227,222, 4, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,232,227,222, 4, 0, 0, 0, 0,
+ 31, 0, 67, 0, 1, 0, 0, 0,232,227,222, 4, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,232,227,222, 4, 0, 0, 0, 0,
+ 31, 0, 69, 0, 1, 0, 0, 0,232,227,222, 4, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,168,236,222, 4, 0, 0, 0, 0,
+ 31, 0, 1, 0, 1, 0, 0, 0,168,236,222, 4, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,168,236,222, 4, 0, 0, 0, 0,
+ 31, 0, 3, 0, 1, 0, 0, 0,168,236,222, 4, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,168,236,222, 4, 0, 0, 0, 0,
+ 31, 0, 5, 0, 1, 0, 0, 0,168,236,222, 4, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,168,236,222, 4, 0, 0, 0, 0,
+ 31, 0, 7, 0, 1, 0, 0, 0,168,236,222, 4, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,168,236,222, 4, 0, 0, 0, 0,
+ 31, 0, 9, 0, 1, 0, 0, 0,168,236,222, 4, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,168,236,222, 4, 0, 0, 0, 0,
+ 31, 0, 11, 0, 1, 0, 0, 0,168,236,222, 4, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,168,236,222, 4, 0, 0, 0, 0,
+ 31, 0, 13, 0, 1, 0, 0, 0,168,236,222, 4, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,168,236,222, 4, 0, 0, 0, 0,
+ 31, 0, 15, 0, 1, 0, 0, 0,168,236,222, 4, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,168,236,222, 4, 0, 0, 0, 0,
+ 31, 0, 17, 0, 1, 0, 0, 0,168,236,222, 4, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,168,236,222, 4, 0, 0, 0, 0,
+ 31, 0, 19, 0, 1, 0, 0, 0,168,236,222, 4, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,168,236,222, 4, 0, 0, 0, 0,
+ 31, 0, 21, 0, 1, 0, 0, 0,168,236,222, 4, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,168,236,222, 4, 0, 0, 0, 0,
+ 31, 0, 23, 0, 1, 0, 0, 0,168,236,222, 4, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,168,236,222, 4, 0, 0, 0, 0,
+ 31, 0, 25, 0, 1, 0, 0, 0,168,236,222, 4, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,168,236,222, 4, 0, 0, 0, 0,
+ 31, 0, 27, 0, 1, 0, 0, 0,168,236,222, 4, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,168,236,222, 4, 0, 0, 0, 0,
+ 31, 0, 29, 0, 1, 0, 0, 0,168,236,222, 4, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,168,236,222, 4, 0, 0, 0, 0,
+ 31, 0, 31, 0, 1, 0, 0, 0,168,236,222, 4, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,168,236,222, 4, 0, 0, 0, 0,
+ 31, 0, 33, 0, 1, 0, 0, 0,168,236,222, 4, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,168,236,222, 4, 0, 0, 0, 0,
+ 31, 0, 35, 0, 1, 0, 0, 0,168,236,222, 4, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,168,236,222, 4, 0, 0, 0, 0,
+ 31, 0, 37, 0, 1, 0, 0, 0,168,236,222, 4, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,168,236,222, 4, 0, 0, 0, 0,
+ 31, 0, 39, 0, 1, 0, 0, 0,168,236,222, 4, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,168,236,222, 4, 0, 0, 0, 0,
+ 31, 0, 41, 0, 1, 0, 0, 0,168,236,222, 4, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,168,236,222, 4, 0, 0, 0, 0,
+ 31, 0, 43, 0, 1, 0, 0, 0,168,236,222, 4, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,168,236,222, 4, 0, 0, 0, 0,
+ 31, 0, 45, 0, 1, 0, 0, 0,168,236,222, 4, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,168,236,222, 4, 0, 0, 0, 0,
+ 31, 0, 47, 0, 1, 0, 0, 0,168,236,222, 4, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,168,236,222, 4, 0, 0, 0, 0,
+ 31, 0, 49, 0, 1, 0, 0, 0,168,236,222, 4, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,168,236,222, 4, 0, 0, 0, 0,
+ 31, 0, 51, 0, 1, 0, 0, 0,168,236,222, 4, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,168,236,222, 4, 0, 0, 0, 0,
+ 31, 0, 53, 0, 1, 0, 0, 0,168,236,222, 4, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,168,236,222, 4, 0, 0, 0, 0,
+ 31, 0, 55, 0, 1, 0, 0, 0,168,236,222, 4, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,168,236,222, 4, 0, 0, 0, 0,
+ 31, 0, 57, 0, 1, 0, 0, 0,168,236,222, 4, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,168,236,222, 4, 0, 0, 0, 0,
+ 31, 0, 59, 0, 1, 0, 0, 0,168,236,222, 4, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,168,236,222, 4, 0, 0, 0, 0,
+ 31, 0, 61, 0, 1, 0, 0, 0,168,236,222, 4, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,168,236,222, 4, 0, 0, 0, 0,
+ 31, 0, 63, 0, 1, 0, 0, 0,168,236,222, 4, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,168,236,222, 4, 0, 0, 0, 0,
+ 31, 0, 65, 0, 1, 0, 0, 0,168,236,222, 4, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,168,236,222, 4, 0, 0, 0, 0,
+ 31, 0, 67, 0, 1, 0, 0, 0,168,236,222, 4, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,168,236,222, 4, 0, 0, 0, 0,
+ 31, 0, 69, 0, 1, 0, 0, 0,168,236,222, 4, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 40,254,222, 4, 0, 0, 0, 0,
+ 31, 0, 1, 0, 1, 0, 0, 0, 40,254,222, 4, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 40,254,222, 4, 0, 0, 0, 0,
+ 31, 0, 3, 0, 1, 0, 0, 0, 40,254,222, 4, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 40,254,222, 4, 0, 0, 0, 0,
+ 31, 0, 5, 0, 1, 0, 0, 0, 40,254,222, 4, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 40,254,222, 4, 0, 0, 0, 0,
+ 31, 0, 7, 0, 1, 0, 0, 0, 40,254,222, 4, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 40,254,222, 4, 0, 0, 0, 0,
+ 31, 0, 9, 0, 1, 0, 0, 0, 40,254,222, 4, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 40,254,222, 4, 0, 0, 0, 0,
+ 31, 0, 11, 0, 1, 0, 0, 0, 40,254,222, 4, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 40,254,222, 4, 0, 0, 0, 0,
+ 31, 0, 13, 0, 1, 0, 0, 0, 40,254,222, 4, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 40,254,222, 4, 0, 0, 0, 0,
+ 31, 0, 15, 0, 1, 0, 0, 0, 40,254,222, 4, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 40,254,222, 4, 0, 0, 0, 0,
+ 31, 0, 17, 0, 1, 0, 0, 0, 40,254,222, 4, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 40,254,222, 4, 0, 0, 0, 0,
+ 31, 0, 19, 0, 1, 0, 0, 0, 40,254,222, 4, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 40,254,222, 4, 0, 0, 0, 0,
+ 31, 0, 21, 0, 1, 0, 0, 0, 40,254,222, 4, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, 40,254,222, 4, 0, 0, 0, 0,
+ 31, 0, 23, 0, 1, 0, 0, 0, 40,254,222, 4, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, 40,254,222, 4, 0, 0, 0, 0,
+ 31, 0, 25, 0, 1, 0, 0, 0, 40,254,222, 4, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0, 40,254,222, 4, 0, 0, 0, 0,
+ 31, 0, 27, 0, 1, 0, 0, 0, 40,254,222, 4, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0, 40,254,222, 4, 0, 0, 0, 0,
+ 31, 0, 29, 0, 1, 0, 0, 0, 40,254,222, 4, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0, 40,254,222, 4, 0, 0, 0, 0,
+ 31, 0, 31, 0, 1, 0, 0, 0, 40,254,222, 4, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0, 40,254,222, 4, 0, 0, 0, 0,
+ 31, 0, 33, 0, 1, 0, 0, 0, 40,254,222, 4, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0, 40,254,222, 4, 0, 0, 0, 0,
+ 31, 0, 35, 0, 1, 0, 0, 0, 40,254,222, 4, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0, 40,254,222, 4, 0, 0, 0, 0,
+ 31, 0, 37, 0, 1, 0, 0, 0, 40,254,222, 4, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0, 40,254,222, 4, 0, 0, 0, 0,
+ 31, 0, 39, 0, 1, 0, 0, 0, 40,254,222, 4, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0, 40,254,222, 4, 0, 0, 0, 0,
+ 31, 0, 41, 0, 1, 0, 0, 0, 40,254,222, 4, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0, 40,254,222, 4, 0, 0, 0, 0,
+ 31, 0, 43, 0, 1, 0, 0, 0, 40,254,222, 4, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0, 40,254,222, 4, 0, 0, 0, 0,
+ 31, 0, 45, 0, 1, 0, 0, 0, 40,254,222, 4, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0, 40,254,222, 4, 0, 0, 0, 0,
+ 31, 0, 47, 0, 1, 0, 0, 0, 40,254,222, 4, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0, 40,254,222, 4, 0, 0, 0, 0,
+ 31, 0, 49, 0, 1, 0, 0, 0, 40,254,222, 4, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0, 40,254,222, 4, 0, 0, 0, 0,
+ 31, 0, 51, 0, 1, 0, 0, 0, 40,254,222, 4, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0, 40,254,222, 4, 0, 0, 0, 0,
+ 31, 0, 53, 0, 1, 0, 0, 0, 40,254,222, 4, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0, 40,254,222, 4, 0, 0, 0, 0,
+ 31, 0, 55, 0, 1, 0, 0, 0, 40,254,222, 4, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0, 40,254,222, 4, 0, 0, 0, 0,
+ 31, 0, 57, 0, 1, 0, 0, 0, 40,254,222, 4, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0, 40,254,222, 4, 0, 0, 0, 0,
+ 31, 0, 59, 0, 1, 0, 0, 0, 40,254,222, 4, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0, 40,254,222, 4, 0, 0, 0, 0,
+ 31, 0, 61, 0, 1, 0, 0, 0, 40,254,222, 4, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0, 40,254,222, 4, 0, 0, 0, 0,
+ 31, 0, 63, 0, 1, 0, 0, 0, 40,254,222, 4, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0, 40,254,222, 4, 0, 0, 0, 0,
+ 31, 0, 65, 0, 1, 0, 0, 0, 40,254,222, 4, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0, 40,254,222, 4, 0, 0, 0, 0,
+ 31, 0, 67, 0, 1, 0, 0, 0, 40,254,222, 4, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0, 40,254,222, 4, 0, 0, 0, 0,
+ 31, 0, 69, 0, 1, 0, 0, 0, 40,254,222, 4, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,232, 6,223, 4, 0, 0, 0, 0,
+ 31, 0, 1, 0, 1, 0, 0, 0,232, 6,223, 4, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,232, 6,223, 4, 0, 0, 0, 0,
+ 31, 0, 3, 0, 1, 0, 0, 0,232, 6,223, 4, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,232, 6,223, 4, 0, 0, 0, 0,
+ 31, 0, 5, 0, 1, 0, 0, 0,232, 6,223, 4, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,232, 6,223, 4, 0, 0, 0, 0,
+ 31, 0, 7, 0, 1, 0, 0, 0,232, 6,223, 4, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,232, 6,223, 4, 0, 0, 0, 0,
+ 31, 0, 9, 0, 1, 0, 0, 0,232, 6,223, 4, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,232, 6,223, 4, 0, 0, 0, 0,
+ 31, 0, 11, 0, 1, 0, 0, 0,232, 6,223, 4, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,232, 6,223, 4, 0, 0, 0, 0,
+ 31, 0, 13, 0, 1, 0, 0, 0,232, 6,223, 4, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,232, 6,223, 4, 0, 0, 0, 0,
+ 31, 0, 15, 0, 1, 0, 0, 0,232, 6,223, 4, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,232, 6,223, 4, 0, 0, 0, 0,
+ 31, 0, 17, 0, 1, 0, 0, 0,232, 6,223, 4, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,232, 6,223, 4, 0, 0, 0, 0,
+ 31, 0, 19, 0, 1, 0, 0, 0,232, 6,223, 4, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,232, 6,223, 4, 0, 0, 0, 0,
+ 31, 0, 21, 0, 1, 0, 0, 0,232, 6,223, 4, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,232, 6,223, 4, 0, 0, 0, 0,
+ 31, 0, 23, 0, 1, 0, 0, 0,232, 6,223, 4, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,232, 6,223, 4, 0, 0, 0, 0,
+ 31, 0, 25, 0, 1, 0, 0, 0,232, 6,223, 4, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,232, 6,223, 4, 0, 0, 0, 0,
+ 31, 0, 27, 0, 1, 0, 0, 0,232, 6,223, 4, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,232, 6,223, 4, 0, 0, 0, 0,
+ 31, 0, 29, 0, 1, 0, 0, 0,232, 6,223, 4, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,232, 6,223, 4, 0, 0, 0, 0,
+ 31, 0, 31, 0, 1, 0, 0, 0,232, 6,223, 4, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,232, 6,223, 4, 0, 0, 0, 0,
+ 31, 0, 33, 0, 1, 0, 0, 0,232, 6,223, 4, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,232, 6,223, 4, 0, 0, 0, 0,
+ 31, 0, 35, 0, 1, 0, 0, 0,232, 6,223, 4, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,232, 6,223, 4, 0, 0, 0, 0,
+ 31, 0, 37, 0, 1, 0, 0, 0,232, 6,223, 4, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,232, 6,223, 4, 0, 0, 0, 0,
+ 31, 0, 39, 0, 1, 0, 0, 0,232, 6,223, 4, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,232, 6,223, 4, 0, 0, 0, 0,
+ 31, 0, 41, 0, 1, 0, 0, 0,232, 6,223, 4, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,232, 6,223, 4, 0, 0, 0, 0,
+ 31, 0, 43, 0, 1, 0, 0, 0,232, 6,223, 4, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,232, 6,223, 4, 0, 0, 0, 0,
+ 31, 0, 45, 0, 1, 0, 0, 0,232, 6,223, 4, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,232, 6,223, 4, 0, 0, 0, 0,
+ 31, 0, 47, 0, 1, 0, 0, 0,232, 6,223, 4, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,232, 6,223, 4, 0, 0, 0, 0,
+ 31, 0, 49, 0, 1, 0, 0, 0,232, 6,223, 4, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,232, 6,223, 4, 0, 0, 0, 0,
+ 31, 0, 51, 0, 1, 0, 0, 0,232, 6,223, 4, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,232, 6,223, 4, 0, 0, 0, 0,
+ 31, 0, 53, 0, 1, 0, 0, 0,232, 6,223, 4, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,232, 6,223, 4, 0, 0, 0, 0,
+ 31, 0, 55, 0, 1, 0, 0, 0,232, 6,223, 4, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,232, 6,223, 4, 0, 0, 0, 0,
+ 31, 0, 57, 0, 1, 0, 0, 0,232, 6,223, 4, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,232, 6,223, 4, 0, 0, 0, 0,
+ 31, 0, 59, 0, 1, 0, 0, 0,232, 6,223, 4, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,232, 6,223, 4, 0, 0, 0, 0,
+ 31, 0, 61, 0, 1, 0, 0, 0,232, 6,223, 4, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,232, 6,223, 4, 0, 0, 0, 0,
+ 31, 0, 63, 0, 1, 0, 0, 0,232, 6,223, 4, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,232, 6,223, 4, 0, 0, 0, 0,
+ 31, 0, 65, 0, 1, 0, 0, 0,232, 6,223, 4, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,232, 6,223, 4, 0, 0, 0, 0,
+ 31, 0, 67, 0, 1, 0, 0, 0,232, 6,223, 4, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,232, 6,223, 4, 0, 0, 0, 0,
+ 31, 0, 69, 0, 1, 0, 0, 0,232, 6,223, 4, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,168, 15,223, 4, 0, 0, 0, 0,
+ 31, 0, 1, 0, 1, 0, 0, 0,168, 15,223, 4, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,168, 15,223, 4, 0, 0, 0, 0,
+ 31, 0, 3, 0, 1, 0, 0, 0,168, 15,223, 4, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,168, 15,223, 4, 0, 0, 0, 0,
+ 31, 0, 5, 0, 1, 0, 0, 0,168, 15,223, 4, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,168, 15,223, 4, 0, 0, 0, 0,
+ 31, 0, 7, 0, 1, 0, 0, 0,168, 15,223, 4, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,168, 15,223, 4, 0, 0, 0, 0,
+ 31, 0, 9, 0, 1, 0, 0, 0,168, 15,223, 4, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,168, 15,223, 4, 0, 0, 0, 0,
+ 31, 0, 11, 0, 1, 0, 0, 0,168, 15,223, 4, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,168, 15,223, 4, 0, 0, 0, 0,
+ 31, 0, 13, 0, 1, 0, 0, 0,168, 15,223, 4, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,168, 15,223, 4, 0, 0, 0, 0,
+ 31, 0, 15, 0, 1, 0, 0, 0,168, 15,223, 4, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,168, 15,223, 4, 0, 0, 0, 0,
+ 31, 0, 17, 0, 1, 0, 0, 0,168, 15,223, 4, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,168, 15,223, 4, 0, 0, 0, 0,
+ 31, 0, 19, 0, 1, 0, 0, 0,168, 15,223, 4, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,168, 15,223, 4, 0, 0, 0, 0,
+ 31, 0, 21, 0, 1, 0, 0, 0,168, 15,223, 4, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,168, 15,223, 4, 0, 0, 0, 0,
+ 31, 0, 23, 0, 1, 0, 0, 0,168, 15,223, 4, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,168, 15,223, 4, 0, 0, 0, 0,
+ 31, 0, 25, 0, 1, 0, 0, 0,168, 15,223, 4, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,168, 15,223, 4, 0, 0, 0, 0,
+ 31, 0, 27, 0, 1, 0, 0, 0,168, 15,223, 4, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,168, 15,223, 4, 0, 0, 0, 0,
+ 31, 0, 29, 0, 1, 0, 0, 0,168, 15,223, 4, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,168, 15,223, 4, 0, 0, 0, 0,
+ 31, 0, 31, 0, 1, 0, 0, 0,168, 15,223, 4, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,168, 15,223, 4, 0, 0, 0, 0,
+ 31, 0, 33, 0, 1, 0, 0, 0,168, 15,223, 4, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,168, 15,223, 4, 0, 0, 0, 0,
+ 31, 0, 35, 0, 1, 0, 0, 0,168, 15,223, 4, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,168, 15,223, 4, 0, 0, 0, 0,
+ 31, 0, 37, 0, 1, 0, 0, 0,168, 15,223, 4, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,168, 15,223, 4, 0, 0, 0, 0,
+ 31, 0, 39, 0, 1, 0, 0, 0,168, 15,223, 4, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,168, 15,223, 4, 0, 0, 0, 0,
+ 31, 0, 41, 0, 1, 0, 0, 0,168, 15,223, 4, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,168, 15,223, 4, 0, 0, 0, 0,
+ 31, 0, 43, 0, 1, 0, 0, 0,168, 15,223, 4, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,168, 15,223, 4, 0, 0, 0, 0,
+ 31, 0, 45, 0, 1, 0, 0, 0,168, 15,223, 4, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,168, 15,223, 4, 0, 0, 0, 0,
+ 31, 0, 47, 0, 1, 0, 0, 0,168, 15,223, 4, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,168, 15,223, 4, 0, 0, 0, 0,
+ 31, 0, 49, 0, 1, 0, 0, 0,168, 15,223, 4, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,168, 15,223, 4, 0, 0, 0, 0,
+ 31, 0, 51, 0, 1, 0, 0, 0,168, 15,223, 4, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,168, 15,223, 4, 0, 0, 0, 0,
+ 31, 0, 53, 0, 1, 0, 0, 0,168, 15,223, 4, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,168, 15,223, 4, 0, 0, 0, 0,
+ 31, 0, 55, 0, 1, 0, 0, 0,168, 15,223, 4, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,168, 15,223, 4, 0, 0, 0, 0,
+ 31, 0, 57, 0, 1, 0, 0, 0,168, 15,223, 4, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,168, 15,223, 4, 0, 0, 0, 0,
+ 31, 0, 59, 0, 1, 0, 0, 0,168, 15,223, 4, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,168, 15,223, 4, 0, 0, 0, 0,
+ 31, 0, 61, 0, 1, 0, 0, 0,168, 15,223, 4, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,168, 15,223, 4, 0, 0, 0, 0,
+ 31, 0, 63, 0, 1, 0, 0, 0,168, 15,223, 4, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,168, 15,223, 4, 0, 0, 0, 0,
+ 31, 0, 65, 0, 1, 0, 0, 0,168, 15,223, 4, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,168, 15,223, 4, 0, 0, 0, 0,
+ 31, 0, 67, 0, 1, 0, 0, 0,168, 15,223, 4, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,168, 15,223, 4, 0, 0, 0, 0,
+ 31, 0, 69, 0, 1, 0, 0, 0,168, 15,223, 4, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,104, 24,223, 4, 0, 0, 0, 0,
+ 31, 0, 1, 0, 1, 0, 0, 0,104, 24,223, 4, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,104, 24,223, 4, 0, 0, 0, 0,
+ 31, 0, 3, 0, 1, 0, 0, 0,104, 24,223, 4, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,104, 24,223, 4, 0, 0, 0, 0,
+ 31, 0, 5, 0, 1, 0, 0, 0,104, 24,223, 4, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,104, 24,223, 4, 0, 0, 0, 0,
+ 31, 0, 7, 0, 1, 0, 0, 0,104, 24,223, 4, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,104, 24,223, 4, 0, 0, 0, 0,
+ 31, 0, 9, 0, 1, 0, 0, 0,104, 24,223, 4, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,104, 24,223, 4, 0, 0, 0, 0,
+ 31, 0, 11, 0, 1, 0, 0, 0,104, 24,223, 4, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,104, 24,223, 4, 0, 0, 0, 0,
+ 31, 0, 13, 0, 1, 0, 0, 0,104, 24,223, 4, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,104, 24,223, 4, 0, 0, 0, 0,
+ 31, 0, 15, 0, 1, 0, 0, 0,104, 24,223, 4, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,104, 24,223, 4, 0, 0, 0, 0,
+ 31, 0, 17, 0, 1, 0, 0, 0,104, 24,223, 4, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,104, 24,223, 4, 0, 0, 0, 0,
+ 31, 0, 19, 0, 1, 0, 0, 0,104, 24,223, 4, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,104, 24,223, 4, 0, 0, 0, 0,
+ 31, 0, 21, 0, 1, 0, 0, 0,104, 24,223, 4, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,104, 24,223, 4, 0, 0, 0, 0,
+ 31, 0, 23, 0, 1, 0, 0, 0,104, 24,223, 4, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,104, 24,223, 4, 0, 0, 0, 0,
+ 31, 0, 25, 0, 1, 0, 0, 0,104, 24,223, 4, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,104, 24,223, 4, 0, 0, 0, 0,
+ 31, 0, 27, 0, 1, 0, 0, 0,104, 24,223, 4, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,104, 24,223, 4, 0, 0, 0, 0,
+ 31, 0, 29, 0, 1, 0, 0, 0,104, 24,223, 4, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,104, 24,223, 4, 0, 0, 0, 0,
+ 31, 0, 31, 0, 1, 0, 0, 0,104, 24,223, 4, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,104, 24,223, 4, 0, 0, 0, 0,
+ 31, 0, 33, 0, 1, 0, 0, 0,104, 24,223, 4, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,104, 24,223, 4, 0, 0, 0, 0,
+ 31, 0, 35, 0, 1, 0, 0, 0,104, 24,223, 4, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,104, 24,223, 4, 0, 0, 0, 0,
+ 31, 0, 37, 0, 1, 0, 0, 0,104, 24,223, 4, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,104, 24,223, 4, 0, 0, 0, 0,
+ 31, 0, 39, 0, 1, 0, 0, 0,104, 24,223, 4, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,104, 24,223, 4, 0, 0, 0, 0,
+ 31, 0, 41, 0, 1, 0, 0, 0,104, 24,223, 4, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,104, 24,223, 4, 0, 0, 0, 0,
+ 31, 0, 43, 0, 1, 0, 0, 0,104, 24,223, 4, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,104, 24,223, 4, 0, 0, 0, 0,
+ 31, 0, 45, 0, 1, 0, 0, 0,104, 24,223, 4, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,104, 24,223, 4, 0, 0, 0, 0,
+ 31, 0, 47, 0, 1, 0, 0, 0,104, 24,223, 4, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,104, 24,223, 4, 0, 0, 0, 0,
+ 31, 0, 49, 0, 1, 0, 0, 0,104, 24,223, 4, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,104, 24,223, 4, 0, 0, 0, 0,
+ 31, 0, 51, 0, 1, 0, 0, 0,104, 24,223, 4, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,104, 24,223, 4, 0, 0, 0, 0,
+ 31, 0, 53, 0, 1, 0, 0, 0,104, 24,223, 4, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,104, 24,223, 4, 0, 0, 0, 0,
+ 31, 0, 55, 0, 1, 0, 0, 0,104, 24,223, 4, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,104, 24,223, 4, 0, 0, 0, 0,
+ 31, 0, 57, 0, 1, 0, 0, 0,104, 24,223, 4, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,104, 24,223, 4, 0, 0, 0, 0,
+ 31, 0, 59, 0, 1, 0, 0, 0,104, 24,223, 4, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,104, 24,223, 4, 0, 0, 0, 0,
+ 31, 0, 61, 0, 1, 0, 0, 0,104, 24,223, 4, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,104, 24,223, 4, 0, 0, 0, 0,
+ 31, 0, 63, 0, 1, 0, 0, 0,104, 24,223, 4, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,104, 24,223, 4, 0, 0, 0, 0,
+ 31, 0, 65, 0, 1, 0, 0, 0,104, 24,223, 4, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,104, 24,223, 4, 0, 0, 0, 0,
+ 31, 0, 67, 0, 1, 0, 0, 0,104, 24,223, 4, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,104, 24,223, 4, 0, 0, 0, 0,
+ 31, 0, 69, 0, 1, 0, 0, 0,104, 24,223, 4, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 40, 33,223, 4, 0, 0, 0, 0,
+ 31, 0, 1, 0, 1, 0, 0, 0, 40, 33,223, 4, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 40, 33,223, 4, 0, 0, 0, 0,
+ 31, 0, 3, 0, 1, 0, 0, 0, 40, 33,223, 4, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 40, 33,223, 4, 0, 0, 0, 0,
+ 31, 0, 5, 0, 1, 0, 0, 0, 40, 33,223, 4, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 40, 33,223, 4, 0, 0, 0, 0,
+ 31, 0, 7, 0, 1, 0, 0, 0, 40, 33,223, 4, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 40, 33,223, 4, 0, 0, 0, 0,
+ 31, 0, 9, 0, 1, 0, 0, 0, 40, 33,223, 4, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 40, 33,223, 4, 0, 0, 0, 0,
+ 31, 0, 11, 0, 1, 0, 0, 0, 40, 33,223, 4, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 40, 33,223, 4, 0, 0, 0, 0,
+ 31, 0, 13, 0, 1, 0, 0, 0, 40, 33,223, 4, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 40, 33,223, 4, 0, 0, 0, 0,
+ 31, 0, 15, 0, 1, 0, 0, 0, 40, 33,223, 4, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 40, 33,223, 4, 0, 0, 0, 0,
+ 31, 0, 17, 0, 1, 0, 0, 0, 40, 33,223, 4, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 40, 33,223, 4, 0, 0, 0, 0,
+ 31, 0, 19, 0, 1, 0, 0, 0, 40, 33,223, 4, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 40, 33,223, 4, 0, 0, 0, 0,
+ 31, 0, 21, 0, 1, 0, 0, 0, 40, 33,223, 4, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, 40, 33,223, 4, 0, 0, 0, 0,
+ 31, 0, 23, 0, 1, 0, 0, 0, 40, 33,223, 4, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, 40, 33,223, 4, 0, 0, 0, 0,
+ 31, 0, 25, 0, 1, 0, 0, 0, 40, 33,223, 4, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0, 40, 33,223, 4, 0, 0, 0, 0,
+ 31, 0, 27, 0, 1, 0, 0, 0, 40, 33,223, 4, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0, 40, 33,223, 4, 0, 0, 0, 0,
+ 31, 0, 29, 0, 1, 0, 0, 0, 40, 33,223, 4, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0, 40, 33,223, 4, 0, 0, 0, 0,
+ 31, 0, 31, 0, 1, 0, 0, 0, 40, 33,223, 4, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0, 40, 33,223, 4, 0, 0, 0, 0,
+ 31, 0, 33, 0, 1, 0, 0, 0, 40, 33,223, 4, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0, 40, 33,223, 4, 0, 0, 0, 0,
+ 31, 0, 35, 0, 1, 0, 0, 0, 40, 33,223, 4, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0, 40, 33,223, 4, 0, 0, 0, 0,
+ 31, 0, 37, 0, 1, 0, 0, 0, 40, 33,223, 4, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0, 40, 33,223, 4, 0, 0, 0, 0,
+ 31, 0, 39, 0, 1, 0, 0, 0, 40, 33,223, 4, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0, 40, 33,223, 4, 0, 0, 0, 0,
+ 31, 0, 41, 0, 1, 0, 0, 0, 40, 33,223, 4, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0, 40, 33,223, 4, 0, 0, 0, 0,
+ 31, 0, 43, 0, 1, 0, 0, 0, 40, 33,223, 4, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0, 40, 33,223, 4, 0, 0, 0, 0,
+ 31, 0, 45, 0, 1, 0, 0, 0, 40, 33,223, 4, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0, 40, 33,223, 4, 0, 0, 0, 0,
+ 31, 0, 47, 0, 1, 0, 0, 0, 40, 33,223, 4, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0, 40, 33,223, 4, 0, 0, 0, 0,
+ 31, 0, 49, 0, 1, 0, 0, 0, 40, 33,223, 4, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0, 40, 33,223, 4, 0, 0, 0, 0,
+ 31, 0, 51, 0, 1, 0, 0, 0, 40, 33,223, 4, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0, 40, 33,223, 4, 0, 0, 0, 0,
+ 31, 0, 53, 0, 1, 0, 0, 0, 40, 33,223, 4, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0, 40, 33,223, 4, 0, 0, 0, 0,
+ 31, 0, 55, 0, 1, 0, 0, 0, 40, 33,223, 4, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0, 40, 33,223, 4, 0, 0, 0, 0,
+ 31, 0, 57, 0, 1, 0, 0, 0, 40, 33,223, 4, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0, 40, 33,223, 4, 0, 0, 0, 0,
+ 31, 0, 59, 0, 1, 0, 0, 0, 40, 33,223, 4, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0, 40, 33,223, 4, 0, 0, 0, 0,
+ 31, 0, 61, 0, 1, 0, 0, 0, 40, 33,223, 4, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0, 40, 33,223, 4, 0, 0, 0, 0,
+ 31, 0, 63, 0, 1, 0, 0, 0, 40, 33,223, 4, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0, 40, 33,223, 4, 0, 0, 0, 0,
+ 31, 0, 65, 0, 1, 0, 0, 0, 40, 33,223, 4, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0, 40, 33,223, 4, 0, 0, 0, 0,
+ 31, 0, 67, 0, 1, 0, 0, 0, 40, 33,223, 4, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0, 40, 33,223, 4, 0, 0, 0, 0,
+ 31, 0, 69, 0, 1, 0, 0, 0, 40, 33,223, 4, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,232, 41,223, 4, 0, 0, 0, 0,
+ 31, 0, 1, 0, 1, 0, 0, 0,232, 41,223, 4, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,232, 41,223, 4, 0, 0, 0, 0,
+ 31, 0, 3, 0, 1, 0, 0, 0,232, 41,223, 4, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,232, 41,223, 4, 0, 0, 0, 0,
+ 31, 0, 5, 0, 1, 0, 0, 0,232, 41,223, 4, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,232, 41,223, 4, 0, 0, 0, 0,
+ 31, 0, 7, 0, 1, 0, 0, 0,232, 41,223, 4, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,232, 41,223, 4, 0, 0, 0, 0,
+ 31, 0, 9, 0, 1, 0, 0, 0,232, 41,223, 4, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,232, 41,223, 4, 0, 0, 0, 0,
+ 31, 0, 11, 0, 1, 0, 0, 0,232, 41,223, 4, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,232, 41,223, 4, 0, 0, 0, 0,
+ 31, 0, 13, 0, 1, 0, 0, 0,232, 41,223, 4, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,232, 41,223, 4, 0, 0, 0, 0,
+ 31, 0, 15, 0, 1, 0, 0, 0,232, 41,223, 4, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,232, 41,223, 4, 0, 0, 0, 0,
+ 31, 0, 17, 0, 1, 0, 0, 0,232, 41,223, 4, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,232, 41,223, 4, 0, 0, 0, 0,
+ 31, 0, 19, 0, 1, 0, 0, 0,232, 41,223, 4, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,232, 41,223, 4, 0, 0, 0, 0,
+ 31, 0, 21, 0, 1, 0, 0, 0,232, 41,223, 4, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,232, 41,223, 4, 0, 0, 0, 0,
+ 31, 0, 23, 0, 1, 0, 0, 0,232, 41,223, 4, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,232, 41,223, 4, 0, 0, 0, 0,
+ 31, 0, 25, 0, 1, 0, 0, 0,232, 41,223, 4, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,232, 41,223, 4, 0, 0, 0, 0,
+ 31, 0, 27, 0, 1, 0, 0, 0,232, 41,223, 4, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,232, 41,223, 4, 0, 0, 0, 0,
+ 31, 0, 29, 0, 1, 0, 0, 0,232, 41,223, 4, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,232, 41,223, 4, 0, 0, 0, 0,
+ 31, 0, 31, 0, 1, 0, 0, 0,232, 41,223, 4, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,232, 41,223, 4, 0, 0, 0, 0,
+ 31, 0, 33, 0, 1, 0, 0, 0,232, 41,223, 4, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,232, 41,223, 4, 0, 0, 0, 0,
+ 31, 0, 35, 0, 1, 0, 0, 0,232, 41,223, 4, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,232, 41,223, 4, 0, 0, 0, 0,
+ 31, 0, 37, 0, 1, 0, 0, 0,232, 41,223, 4, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,232, 41,223, 4, 0, 0, 0, 0,
+ 31, 0, 39, 0, 1, 0, 0, 0,232, 41,223, 4, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,232, 41,223, 4, 0, 0, 0, 0,
+ 31, 0, 41, 0, 1, 0, 0, 0,232, 41,223, 4, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,232, 41,223, 4, 0, 0, 0, 0,
+ 31, 0, 43, 0, 1, 0, 0, 0,232, 41,223, 4, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,232, 41,223, 4, 0, 0, 0, 0,
+ 31, 0, 45, 0, 1, 0, 0, 0,232, 41,223, 4, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,232, 41,223, 4, 0, 0, 0, 0,
+ 31, 0, 47, 0, 1, 0, 0, 0,232, 41,223, 4, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,232, 41,223, 4, 0, 0, 0, 0,
+ 31, 0, 49, 0, 1, 0, 0, 0,232, 41,223, 4, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,232, 41,223, 4, 0, 0, 0, 0,
+ 31, 0, 51, 0, 1, 0, 0, 0,232, 41,223, 4, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,232, 41,223, 4, 0, 0, 0, 0,
+ 31, 0, 53, 0, 1, 0, 0, 0,232, 41,223, 4, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,232, 41,223, 4, 0, 0, 0, 0,
+ 31, 0, 55, 0, 1, 0, 0, 0,232, 41,223, 4, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,232, 41,223, 4, 0, 0, 0, 0,
+ 31, 0, 57, 0, 1, 0, 0, 0,232, 41,223, 4, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,232, 41,223, 4, 0, 0, 0, 0,
+ 31, 0, 59, 0, 1, 0, 0, 0,232, 41,223, 4, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,232, 41,223, 4, 0, 0, 0, 0,
+ 31, 0, 61, 0, 1, 0, 0, 0,232, 41,223, 4, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,232, 41,223, 4, 0, 0, 0, 0,
+ 31, 0, 63, 0, 1, 0, 0, 0,232, 41,223, 4, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,232, 41,223, 4, 0, 0, 0, 0,
+ 31, 0, 65, 0, 1, 0, 0, 0,232, 41,223, 4, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,232, 41,223, 4, 0, 0, 0, 0,
+ 31, 0, 67, 0, 1, 0, 0, 0,232, 41,223, 4, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,232, 41,223, 4, 0, 0, 0, 0,
+ 31, 0, 69, 0, 1, 0, 0, 0,232, 41,223, 4, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,168, 50,223, 4, 0, 0, 0, 0,
+ 31, 0, 1, 0, 1, 0, 0, 0,168, 50,223, 4, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,168, 50,223, 4, 0, 0, 0, 0,
+ 31, 0, 3, 0, 1, 0, 0, 0,168, 50,223, 4, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,168, 50,223, 4, 0, 0, 0, 0,
+ 31, 0, 5, 0, 1, 0, 0, 0,168, 50,223, 4, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,168, 50,223, 4, 0, 0, 0, 0,
+ 31, 0, 7, 0, 1, 0, 0, 0,168, 50,223, 4, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,168, 50,223, 4, 0, 0, 0, 0,
+ 31, 0, 9, 0, 1, 0, 0, 0,168, 50,223, 4, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,168, 50,223, 4, 0, 0, 0, 0,
+ 31, 0, 11, 0, 1, 0, 0, 0,168, 50,223, 4, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,168, 50,223, 4, 0, 0, 0, 0,
+ 31, 0, 13, 0, 1, 0, 0, 0,168, 50,223, 4, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,168, 50,223, 4, 0, 0, 0, 0,
+ 31, 0, 15, 0, 1, 0, 0, 0,168, 50,223, 4, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,168, 50,223, 4, 0, 0, 0, 0,
+ 31, 0, 17, 0, 1, 0, 0, 0,168, 50,223, 4, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,168, 50,223, 4, 0, 0, 0, 0,
+ 31, 0, 19, 0, 1, 0, 0, 0,168, 50,223, 4, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,168, 50,223, 4, 0, 0, 0, 0,
+ 31, 0, 21, 0, 1, 0, 0, 0,168, 50,223, 4, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,168, 50,223, 4, 0, 0, 0, 0,
+ 31, 0, 23, 0, 1, 0, 0, 0,168, 50,223, 4, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,168, 50,223, 4, 0, 0, 0, 0,
+ 31, 0, 25, 0, 1, 0, 0, 0,168, 50,223, 4, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,168, 50,223, 4, 0, 0, 0, 0,
+ 31, 0, 27, 0, 1, 0, 0, 0,168, 50,223, 4, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,168, 50,223, 4, 0, 0, 0, 0,
+ 31, 0, 29, 0, 1, 0, 0, 0,168, 50,223, 4, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,168, 50,223, 4, 0, 0, 0, 0,
+ 31, 0, 31, 0, 1, 0, 0, 0,168, 50,223, 4, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,168, 50,223, 4, 0, 0, 0, 0,
+ 31, 0, 33, 0, 1, 0, 0, 0,168, 50,223, 4, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,168, 50,223, 4, 0, 0, 0, 0,
+ 31, 0, 35, 0, 1, 0, 0, 0,168, 50,223, 4, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,168, 50,223, 4, 0, 0, 0, 0,
+ 31, 0, 37, 0, 1, 0, 0, 0,168, 50,223, 4, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,168, 50,223, 4, 0, 0, 0, 0,
+ 31, 0, 39, 0, 1, 0, 0, 0,168, 50,223, 4, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,168, 50,223, 4, 0, 0, 0, 0,
+ 31, 0, 41, 0, 1, 0, 0, 0,168, 50,223, 4, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,168, 50,223, 4, 0, 0, 0, 0,
+ 31, 0, 43, 0, 1, 0, 0, 0,168, 50,223, 4, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,168, 50,223, 4, 0, 0, 0, 0,
+ 31, 0, 45, 0, 1, 0, 0, 0,168, 50,223, 4, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,168, 50,223, 4, 0, 0, 0, 0,
+ 31, 0, 47, 0, 1, 0, 0, 0,168, 50,223, 4, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,168, 50,223, 4, 0, 0, 0, 0,
+ 31, 0, 49, 0, 1, 0, 0, 0,168, 50,223, 4, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,168, 50,223, 4, 0, 0, 0, 0,
+ 31, 0, 51, 0, 1, 0, 0, 0,168, 50,223, 4, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,168, 50,223, 4, 0, 0, 0, 0,
+ 31, 0, 53, 0, 1, 0, 0, 0,168, 50,223, 4, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,168, 50,223, 4, 0, 0, 0, 0,
+ 31, 0, 55, 0, 1, 0, 0, 0,168, 50,223, 4, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,168, 50,223, 4, 0, 0, 0, 0,
+ 31, 0, 57, 0, 1, 0, 0, 0,168, 50,223, 4, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,168, 50,223, 4, 0, 0, 0, 0,
+ 31, 0, 59, 0, 1, 0, 0, 0,168, 50,223, 4, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,168, 50,223, 4, 0, 0, 0, 0,
+ 31, 0, 61, 0, 1, 0, 0, 0,168, 50,223, 4, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,168, 50,223, 4, 0, 0, 0, 0,
+ 31, 0, 63, 0, 1, 0, 0, 0,168, 50,223, 4, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,168, 50,223, 4, 0, 0, 0, 0,
+ 31, 0, 65, 0, 1, 0, 0, 0,168, 50,223, 4, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,168, 50,223, 4, 0, 0, 0, 0,
+ 31, 0, 67, 0, 1, 0, 0, 0,168, 50,223, 4, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,168, 50,223, 4, 0, 0, 0, 0,
+ 31, 0, 69, 0, 1, 0, 0, 0,168, 50,223, 4, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,104, 59,223, 4, 0, 0, 0, 0,
+ 31, 0, 1, 0, 1, 0, 0, 0,104, 59,223, 4, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,104, 59,223, 4, 0, 0, 0, 0,
+ 31, 0, 3, 0, 1, 0, 0, 0,104, 59,223, 4, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,104, 59,223, 4, 0, 0, 0, 0,
+ 31, 0, 5, 0, 1, 0, 0, 0,104, 59,223, 4, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,104, 59,223, 4, 0, 0, 0, 0,
+ 31, 0, 7, 0, 1, 0, 0, 0,104, 59,223, 4, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,104, 59,223, 4, 0, 0, 0, 0,
+ 31, 0, 9, 0, 1, 0, 0, 0,104, 59,223, 4, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,104, 59,223, 4, 0, 0, 0, 0,
+ 31, 0, 11, 0, 1, 0, 0, 0,104, 59,223, 4, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,104, 59,223, 4, 0, 0, 0, 0,
+ 31, 0, 13, 0, 1, 0, 0, 0,104, 59,223, 4, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,104, 59,223, 4, 0, 0, 0, 0,
+ 31, 0, 15, 0, 1, 0, 0, 0,104, 59,223, 4, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,104, 59,223, 4, 0, 0, 0, 0,
+ 31, 0, 17, 0, 1, 0, 0, 0,104, 59,223, 4, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,104, 59,223, 4, 0, 0, 0, 0,
+ 31, 0, 19, 0, 1, 0, 0, 0,104, 59,223, 4, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,104, 59,223, 4, 0, 0, 0, 0,
+ 31, 0, 21, 0, 1, 0, 0, 0,104, 59,223, 4, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,104, 59,223, 4, 0, 0, 0, 0,
+ 31, 0, 23, 0, 1, 0, 0, 0,104, 59,223, 4, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,104, 59,223, 4, 0, 0, 0, 0,
+ 31, 0, 25, 0, 1, 0, 0, 0,104, 59,223, 4, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,104, 59,223, 4, 0, 0, 0, 0,
+ 31, 0, 27, 0, 1, 0, 0, 0,104, 59,223, 4, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,104, 59,223, 4, 0, 0, 0, 0,
+ 31, 0, 29, 0, 1, 0, 0, 0,104, 59,223, 4, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,104, 59,223, 4, 0, 0, 0, 0,
+ 31, 0, 31, 0, 1, 0, 0, 0,104, 59,223, 4, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,104, 59,223, 4, 0, 0, 0, 0,
+ 31, 0, 33, 0, 1, 0, 0, 0,104, 59,223, 4, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,104, 59,223, 4, 0, 0, 0, 0,
+ 31, 0, 35, 0, 1, 0, 0, 0,104, 59,223, 4, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,104, 59,223, 4, 0, 0, 0, 0,
+ 31, 0, 37, 0, 1, 0, 0, 0,104, 59,223, 4, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,104, 59,223, 4, 0, 0, 0, 0,
+ 31, 0, 39, 0, 1, 0, 0, 0,104, 59,223, 4, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,104, 59,223, 4, 0, 0, 0, 0,
+ 31, 0, 41, 0, 1, 0, 0, 0,104, 59,223, 4, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,104, 59,223, 4, 0, 0, 0, 0,
+ 31, 0, 43, 0, 1, 0, 0, 0,104, 59,223, 4, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,104, 59,223, 4, 0, 0, 0, 0,
+ 31, 0, 45, 0, 1, 0, 0, 0,104, 59,223, 4, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,104, 59,223, 4, 0, 0, 0, 0,
+ 31, 0, 47, 0, 1, 0, 0, 0,104, 59,223, 4, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,104, 59,223, 4, 0, 0, 0, 0,
+ 31, 0, 49, 0, 1, 0, 0, 0,104, 59,223, 4, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,104, 59,223, 4, 0, 0, 0, 0,
+ 31, 0, 51, 0, 1, 0, 0, 0,104, 59,223, 4, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,104, 59,223, 4, 0, 0, 0, 0,
+ 31, 0, 53, 0, 1, 0, 0, 0,104, 59,223, 4, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,104, 59,223, 4, 0, 0, 0, 0,
+ 31, 0, 55, 0, 1, 0, 0, 0,104, 59,223, 4, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,104, 59,223, 4, 0, 0, 0, 0,
+ 31, 0, 57, 0, 1, 0, 0, 0,104, 59,223, 4, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,104, 59,223, 4, 0, 0, 0, 0,
+ 31, 0, 59, 0, 1, 0, 0, 0,104, 59,223, 4, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,104, 59,223, 4, 0, 0, 0, 0,
+ 31, 0, 61, 0, 1, 0, 0, 0,104, 59,223, 4, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,104, 59,223, 4, 0, 0, 0, 0,
+ 31, 0, 63, 0, 1, 0, 0, 0,104, 59,223, 4, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,104, 59,223, 4, 0, 0, 0, 0,
+ 31, 0, 65, 0, 1, 0, 0, 0,104, 59,223, 4, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,104, 59,223, 4, 0, 0, 0, 0,
+ 31, 0, 67, 0, 1, 0, 0, 0,104, 59,223, 4, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,104, 59,223, 4, 0, 0, 0, 0,
+ 31, 0, 69, 0, 1, 0, 0, 0,104, 59,223, 4, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 40, 68,223, 4, 0, 0, 0, 0,
+ 31, 0, 1, 0, 1, 0, 0, 0, 40, 68,223, 4, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 40, 68,223, 4, 0, 0, 0, 0,
+ 31, 0, 3, 0, 1, 0, 0, 0, 40, 68,223, 4, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 40, 68,223, 4, 0, 0, 0, 0,
+ 31, 0, 5, 0, 1, 0, 0, 0, 40, 68,223, 4, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 40, 68,223, 4, 0, 0, 0, 0,
+ 31, 0, 7, 0, 1, 0, 0, 0, 40, 68,223, 4, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 40, 68,223, 4, 0, 0, 0, 0,
+ 31, 0, 9, 0, 1, 0, 0, 0, 40, 68,223, 4, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 40, 68,223, 4, 0, 0, 0, 0,
+ 31, 0, 11, 0, 1, 0, 0, 0, 40, 68,223, 4, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 40, 68,223, 4, 0, 0, 0, 0,
+ 31, 0, 13, 0, 1, 0, 0, 0, 40, 68,223, 4, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 40, 68,223, 4, 0, 0, 0, 0,
+ 31, 0, 15, 0, 1, 0, 0, 0, 40, 68,223, 4, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 40, 68,223, 4, 0, 0, 0, 0,
+ 31, 0, 17, 0, 1, 0, 0, 0, 40, 68,223, 4, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 40, 68,223, 4, 0, 0, 0, 0,
+ 31, 0, 19, 0, 1, 0, 0, 0, 40, 68,223, 4, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 40, 68,223, 4, 0, 0, 0, 0,
+ 31, 0, 21, 0, 1, 0, 0, 0, 40, 68,223, 4, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, 40, 68,223, 4, 0, 0, 0, 0,
+ 31, 0, 23, 0, 1, 0, 0, 0, 40, 68,223, 4, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, 40, 68,223, 4, 0, 0, 0, 0,
+ 31, 0, 25, 0, 1, 0, 0, 0, 40, 68,223, 4, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0, 40, 68,223, 4, 0, 0, 0, 0,
+ 31, 0, 27, 0, 1, 0, 0, 0, 40, 68,223, 4, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0, 40, 68,223, 4, 0, 0, 0, 0,
+ 31, 0, 29, 0, 1, 0, 0, 0, 40, 68,223, 4, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0, 40, 68,223, 4, 0, 0, 0, 0,
+ 31, 0, 31, 0, 1, 0, 0, 0, 40, 68,223, 4, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0, 40, 68,223, 4, 0, 0, 0, 0,
+ 31, 0, 33, 0, 1, 0, 0, 0, 40, 68,223, 4, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0, 40, 68,223, 4, 0, 0, 0, 0,
+ 31, 0, 35, 0, 1, 0, 0, 0, 40, 68,223, 4, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0, 40, 68,223, 4, 0, 0, 0, 0,
+ 31, 0, 37, 0, 1, 0, 0, 0, 40, 68,223, 4, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0, 40, 68,223, 4, 0, 0, 0, 0,
+ 31, 0, 39, 0, 1, 0, 0, 0, 40, 68,223, 4, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0, 40, 68,223, 4, 0, 0, 0, 0,
+ 31, 0, 41, 0, 1, 0, 0, 0, 40, 68,223, 4, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0, 40, 68,223, 4, 0, 0, 0, 0,
+ 31, 0, 43, 0, 1, 0, 0, 0, 40, 68,223, 4, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0, 40, 68,223, 4, 0, 0, 0, 0,
+ 31, 0, 45, 0, 1, 0, 0, 0, 40, 68,223, 4, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0, 40, 68,223, 4, 0, 0, 0, 0,
+ 31, 0, 47, 0, 1, 0, 0, 0, 40, 68,223, 4, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0, 40, 68,223, 4, 0, 0, 0, 0,
+ 31, 0, 49, 0, 1, 0, 0, 0, 40, 68,223, 4, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0, 40, 68,223, 4, 0, 0, 0, 0,
+ 31, 0, 51, 0, 1, 0, 0, 0, 40, 68,223, 4, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0, 40, 68,223, 4, 0, 0, 0, 0,
+ 31, 0, 53, 0, 1, 0, 0, 0, 40, 68,223, 4, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0, 40, 68,223, 4, 0, 0, 0, 0,
+ 31, 0, 55, 0, 1, 0, 0, 0, 40, 68,223, 4, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0, 40, 68,223, 4, 0, 0, 0, 0,
+ 31, 0, 57, 0, 1, 0, 0, 0, 40, 68,223, 4, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0, 40, 68,223, 4, 0, 0, 0, 0,
+ 31, 0, 59, 0, 1, 0, 0, 0, 40, 68,223, 4, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0, 40, 68,223, 4, 0, 0, 0, 0,
+ 31, 0, 61, 0, 1, 0, 0, 0, 40, 68,223, 4, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0, 40, 68,223, 4, 0, 0, 0, 0,
+ 31, 0, 63, 0, 1, 0, 0, 0, 40, 68,223, 4, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0, 40, 68,223, 4, 0, 0, 0, 0,
+ 31, 0, 65, 0, 1, 0, 0, 0, 40, 68,223, 4, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0, 40, 68,223, 4, 0, 0, 0, 0,
+ 31, 0, 67, 0, 1, 0, 0, 0, 40, 68,223, 4, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0, 40, 68,223, 4, 0, 0, 0, 0,
+ 31, 0, 69, 0, 1, 0, 0, 0, 40, 68,223, 4, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,232, 76,223, 4, 0, 0, 0, 0,
+ 31, 0, 1, 0, 1, 0, 0, 0,232, 76,223, 4, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,232, 76,223, 4, 0, 0, 0, 0,
+ 31, 0, 3, 0, 1, 0, 0, 0,232, 76,223, 4, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,232, 76,223, 4, 0, 0, 0, 0,
+ 31, 0, 5, 0, 1, 0, 0, 0,232, 76,223, 4, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,232, 76,223, 4, 0, 0, 0, 0,
+ 31, 0, 7, 0, 1, 0, 0, 0,232, 76,223, 4, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,232, 76,223, 4, 0, 0, 0, 0,
+ 31, 0, 9, 0, 1, 0, 0, 0,232, 76,223, 4, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,232, 76,223, 4, 0, 0, 0, 0,
+ 31, 0, 11, 0, 1, 0, 0, 0,232, 76,223, 4, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,232, 76,223, 4, 0, 0, 0, 0,
+ 31, 0, 13, 0, 1, 0, 0, 0,232, 76,223, 4, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,232, 76,223, 4, 0, 0, 0, 0,
+ 31, 0, 15, 0, 1, 0, 0, 0,232, 76,223, 4, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,232, 76,223, 4, 0, 0, 0, 0,
+ 31, 0, 17, 0, 1, 0, 0, 0,232, 76,223, 4, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,232, 76,223, 4, 0, 0, 0, 0,
+ 31, 0, 19, 0, 1, 0, 0, 0,232, 76,223, 4, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,232, 76,223, 4, 0, 0, 0, 0,
+ 31, 0, 21, 0, 1, 0, 0, 0,232, 76,223, 4, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,232, 76,223, 4, 0, 0, 0, 0,
+ 31, 0, 23, 0, 1, 0, 0, 0,232, 76,223, 4, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,232, 76,223, 4, 0, 0, 0, 0,
+ 31, 0, 25, 0, 1, 0, 0, 0,232, 76,223, 4, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,232, 76,223, 4, 0, 0, 0, 0,
+ 31, 0, 27, 0, 1, 0, 0, 0,232, 76,223, 4, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,232, 76,223, 4, 0, 0, 0, 0,
+ 31, 0, 29, 0, 1, 0, 0, 0,232, 76,223, 4, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,232, 76,223, 4, 0, 0, 0, 0,
+ 31, 0, 31, 0, 1, 0, 0, 0,232, 76,223, 4, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,232, 76,223, 4, 0, 0, 0, 0,
+ 31, 0, 33, 0, 1, 0, 0, 0,232, 76,223, 4, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,232, 76,223, 4, 0, 0, 0, 0,
+ 31, 0, 35, 0, 1, 0, 0, 0,232, 76,223, 4, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,232, 76,223, 4, 0, 0, 0, 0,
+ 31, 0, 37, 0, 1, 0, 0, 0,232, 76,223, 4, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,232, 76,223, 4, 0, 0, 0, 0,
+ 31, 0, 39, 0, 1, 0, 0, 0,232, 76,223, 4, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,232, 76,223, 4, 0, 0, 0, 0,
+ 31, 0, 41, 0, 1, 0, 0, 0,232, 76,223, 4, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,232, 76,223, 4, 0, 0, 0, 0,
+ 31, 0, 43, 0, 1, 0, 0, 0,232, 76,223, 4, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,232, 76,223, 4, 0, 0, 0, 0,
+ 31, 0, 45, 0, 1, 0, 0, 0,232, 76,223, 4, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,232, 76,223, 4, 0, 0, 0, 0,
+ 31, 0, 47, 0, 1, 0, 0, 0,232, 76,223, 4, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,232, 76,223, 4, 0, 0, 0, 0,
+ 31, 0, 49, 0, 1, 0, 0, 0,232, 76,223, 4, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,232, 76,223, 4, 0, 0, 0, 0,
+ 31, 0, 51, 0, 1, 0, 0, 0,232, 76,223, 4, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,232, 76,223, 4, 0, 0, 0, 0,
+ 31, 0, 53, 0, 1, 0, 0, 0,232, 76,223, 4, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,232, 76,223, 4, 0, 0, 0, 0,
+ 31, 0, 55, 0, 1, 0, 0, 0,232, 76,223, 4, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,232, 76,223, 4, 0, 0, 0, 0,
+ 31, 0, 57, 0, 1, 0, 0, 0,232, 76,223, 4, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,232, 76,223, 4, 0, 0, 0, 0,
+ 31, 0, 59, 0, 1, 0, 0, 0,232, 76,223, 4, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,232, 76,223, 4, 0, 0, 0, 0,
+ 31, 0, 61, 0, 1, 0, 0, 0,232, 76,223, 4, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,232, 76,223, 4, 0, 0, 0, 0,
+ 31, 0, 63, 0, 1, 0, 0, 0,232, 76,223, 4, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,232, 76,223, 4, 0, 0, 0, 0,
+ 31, 0, 65, 0, 1, 0, 0, 0,232, 76,223, 4, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,232, 76,223, 4, 0, 0, 0, 0,
+ 31, 0, 67, 0, 1, 0, 0, 0,232, 76,223, 4, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,232, 76,223, 4, 0, 0, 0, 0,
+ 31, 0, 69, 0, 1, 0, 0, 0,232, 76,223, 4, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,104, 94,223, 4, 0, 0, 0, 0,
+ 31, 0, 1, 0, 1, 0, 0, 0,104, 94,223, 4, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,104, 94,223, 4, 0, 0, 0, 0,
+ 31, 0, 3, 0, 1, 0, 0, 0,104, 94,223, 4, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,104, 94,223, 4, 0, 0, 0, 0,
+ 31, 0, 5, 0, 1, 0, 0, 0,104, 94,223, 4, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,104, 94,223, 4, 0, 0, 0, 0,
+ 31, 0, 7, 0, 1, 0, 0, 0,104, 94,223, 4, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,104, 94,223, 4, 0, 0, 0, 0,
+ 31, 0, 9, 0, 1, 0, 0, 0,104, 94,223, 4, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,104, 94,223, 4, 0, 0, 0, 0,
+ 31, 0, 11, 0, 1, 0, 0, 0,104, 94,223, 4, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,104, 94,223, 4, 0, 0, 0, 0,
+ 31, 0, 13, 0, 1, 0, 0, 0,104, 94,223, 4, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,104, 94,223, 4, 0, 0, 0, 0,
+ 31, 0, 15, 0, 1, 0, 0, 0,104, 94,223, 4, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,104, 94,223, 4, 0, 0, 0, 0,
+ 31, 0, 17, 0, 1, 0, 0, 0,104, 94,223, 4, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,104, 94,223, 4, 0, 0, 0, 0,
+ 31, 0, 19, 0, 1, 0, 0, 0,104, 94,223, 4, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,104, 94,223, 4, 0, 0, 0, 0,
+ 31, 0, 21, 0, 1, 0, 0, 0,104, 94,223, 4, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,104, 94,223, 4, 0, 0, 0, 0,
+ 31, 0, 23, 0, 1, 0, 0, 0,104, 94,223, 4, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,104, 94,223, 4, 0, 0, 0, 0,
+ 31, 0, 25, 0, 1, 0, 0, 0,104, 94,223, 4, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,104, 94,223, 4, 0, 0, 0, 0,
+ 31, 0, 27, 0, 1, 0, 0, 0,104, 94,223, 4, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,104, 94,223, 4, 0, 0, 0, 0,
+ 31, 0, 29, 0, 1, 0, 0, 0,104, 94,223, 4, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,104, 94,223, 4, 0, 0, 0, 0,
+ 31, 0, 31, 0, 1, 0, 0, 0,104, 94,223, 4, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,104, 94,223, 4, 0, 0, 0, 0,
+ 31, 0, 33, 0, 1, 0, 0, 0,104, 94,223, 4, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,104, 94,223, 4, 0, 0, 0, 0,
+ 31, 0, 35, 0, 1, 0, 0, 0,104, 94,223, 4, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,104, 94,223, 4, 0, 0, 0, 0,
+ 31, 0, 37, 0, 1, 0, 0, 0,104, 94,223, 4, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,104, 94,223, 4, 0, 0, 0, 0,
+ 31, 0, 39, 0, 1, 0, 0, 0,104, 94,223, 4, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,104, 94,223, 4, 0, 0, 0, 0,
+ 31, 0, 41, 0, 1, 0, 0, 0,104, 94,223, 4, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,104, 94,223, 4, 0, 0, 0, 0,
+ 31, 0, 43, 0, 1, 0, 0, 0,104, 94,223, 4, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,104, 94,223, 4, 0, 0, 0, 0,
+ 31, 0, 45, 0, 1, 0, 0, 0,104, 94,223, 4, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,104, 94,223, 4, 0, 0, 0, 0,
+ 31, 0, 47, 0, 1, 0, 0, 0,104, 94,223, 4, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,104, 94,223, 4, 0, 0, 0, 0,
+ 31, 0, 49, 0, 1, 0, 0, 0,104, 94,223, 4, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,104, 94,223, 4, 0, 0, 0, 0,
+ 31, 0, 51, 0, 1, 0, 0, 0,104, 94,223, 4, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,104, 94,223, 4, 0, 0, 0, 0,
+ 31, 0, 53, 0, 1, 0, 0, 0,104, 94,223, 4, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,104, 94,223, 4, 0, 0, 0, 0,
+ 31, 0, 55, 0, 1, 0, 0, 0,104, 94,223, 4, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,104, 94,223, 4, 0, 0, 0, 0,
+ 31, 0, 57, 0, 1, 0, 0, 0,104, 94,223, 4, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,104, 94,223, 4, 0, 0, 0, 0,
+ 31, 0, 59, 0, 1, 0, 0, 0,104, 94,223, 4, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,104, 94,223, 4, 0, 0, 0, 0,
+ 31, 0, 61, 0, 1, 0, 0, 0,104, 94,223, 4, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,104, 94,223, 4, 0, 0, 0, 0,
+ 31, 0, 63, 0, 1, 0, 0, 0,104, 94,223, 4, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,104, 94,223, 4, 0, 0, 0, 0,
+ 31, 0, 65, 0, 1, 0, 0, 0,104, 94,223, 4, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,104, 94,223, 4, 0, 0, 0, 0,
+ 31, 0, 67, 0, 1, 0, 0, 0,104, 94,223, 4, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,104, 94,223, 4, 0, 0, 0, 0,
+ 31, 0, 69, 0, 1, 0, 0, 0,104, 94,223, 4, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 40,103,223, 4, 0, 0, 0, 0,
+ 31, 0, 1, 0, 1, 0, 0, 0, 40,103,223, 4, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 40,103,223, 4, 0, 0, 0, 0,
+ 31, 0, 3, 0, 1, 0, 0, 0, 40,103,223, 4, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 40,103,223, 4, 0, 0, 0, 0,
+ 31, 0, 5, 0, 1, 0, 0, 0, 40,103,223, 4, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 40,103,223, 4, 0, 0, 0, 0,
+ 31, 0, 7, 0, 1, 0, 0, 0, 40,103,223, 4, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 40,103,223, 4, 0, 0, 0, 0,
+ 31, 0, 9, 0, 1, 0, 0, 0, 40,103,223, 4, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 40,103,223, 4, 0, 0, 0, 0,
+ 31, 0, 11, 0, 1, 0, 0, 0, 40,103,223, 4, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 40,103,223, 4, 0, 0, 0, 0,
+ 31, 0, 13, 0, 1, 0, 0, 0, 40,103,223, 4, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 40,103,223, 4, 0, 0, 0, 0,
+ 31, 0, 15, 0, 1, 0, 0, 0, 40,103,223, 4, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 40,103,223, 4, 0, 0, 0, 0,
+ 31, 0, 17, 0, 1, 0, 0, 0, 40,103,223, 4, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 40,103,223, 4, 0, 0, 0, 0,
+ 31, 0, 19, 0, 1, 0, 0, 0, 40,103,223, 4, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 40,103,223, 4, 0, 0, 0, 0,
+ 31, 0, 21, 0, 1, 0, 0, 0, 40,103,223, 4, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, 40,103,223, 4, 0, 0, 0, 0,
+ 31, 0, 23, 0, 1, 0, 0, 0, 40,103,223, 4, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, 40,103,223, 4, 0, 0, 0, 0,
+ 31, 0, 25, 0, 1, 0, 0, 0, 40,103,223, 4, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0, 40,103,223, 4, 0, 0, 0, 0,
+ 31, 0, 27, 0, 1, 0, 0, 0, 40,103,223, 4, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0, 40,103,223, 4, 0, 0, 0, 0,
+ 31, 0, 29, 0, 1, 0, 0, 0, 40,103,223, 4, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0, 40,103,223, 4, 0, 0, 0, 0,
+ 31, 0, 31, 0, 1, 0, 0, 0, 40,103,223, 4, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0, 40,103,223, 4, 0, 0, 0, 0,
+ 31, 0, 33, 0, 1, 0, 0, 0, 40,103,223, 4, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0, 40,103,223, 4, 0, 0, 0, 0,
+ 31, 0, 35, 0, 1, 0, 0, 0, 40,103,223, 4, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0, 40,103,223, 4, 0, 0, 0, 0,
+ 31, 0, 37, 0, 1, 0, 0, 0, 40,103,223, 4, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0, 40,103,223, 4, 0, 0, 0, 0,
+ 31, 0, 39, 0, 1, 0, 0, 0, 40,103,223, 4, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0, 40,103,223, 4, 0, 0, 0, 0,
+ 31, 0, 41, 0, 1, 0, 0, 0, 40,103,223, 4, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0, 40,103,223, 4, 0, 0, 0, 0,
+ 31, 0, 43, 0, 1, 0, 0, 0, 40,103,223, 4, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0, 40,103,223, 4, 0, 0, 0, 0,
+ 31, 0, 45, 0, 1, 0, 0, 0, 40,103,223, 4, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0, 40,103,223, 4, 0, 0, 0, 0,
+ 31, 0, 47, 0, 1, 0, 0, 0, 40,103,223, 4, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0, 40,103,223, 4, 0, 0, 0, 0,
+ 31, 0, 49, 0, 1, 0, 0, 0, 40,103,223, 4, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0, 40,103,223, 4, 0, 0, 0, 0,
+ 31, 0, 51, 0, 1, 0, 0, 0, 40,103,223, 4, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0, 40,103,223, 4, 0, 0, 0, 0,
+ 31, 0, 53, 0, 1, 0, 0, 0, 40,103,223, 4, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0, 40,103,223, 4, 0, 0, 0, 0,
+ 31, 0, 55, 0, 1, 0, 0, 0, 40,103,223, 4, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0, 40,103,223, 4, 0, 0, 0, 0,
+ 31, 0, 57, 0, 1, 0, 0, 0, 40,103,223, 4, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0, 40,103,223, 4, 0, 0, 0, 0,
+ 31, 0, 59, 0, 1, 0, 0, 0, 40,103,223, 4, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0, 40,103,223, 4, 0, 0, 0, 0,
+ 31, 0, 61, 0, 1, 0, 0, 0, 40,103,223, 4, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0, 40,103,223, 4, 0, 0, 0, 0,
+ 31, 0, 63, 0, 1, 0, 0, 0, 40,103,223, 4, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0, 40,103,223, 4, 0, 0, 0, 0,
+ 31, 0, 65, 0, 1, 0, 0, 0, 40,103,223, 4, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0, 40,103,223, 4, 0, 0, 0, 0,
+ 31, 0, 67, 0, 1, 0, 0, 0, 40,103,223, 4, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0, 40,103,223, 4, 0, 0, 0, 0,
+ 31, 0, 69, 0, 1, 0, 0, 0, 40,103,223, 4, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,232,111,223, 4, 0, 0, 0, 0,
+ 31, 0, 1, 0, 1, 0, 0, 0,232,111,223, 4, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,232,111,223, 4, 0, 0, 0, 0,
+ 31, 0, 3, 0, 1, 0, 0, 0,232,111,223, 4, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,232,111,223, 4, 0, 0, 0, 0,
+ 31, 0, 5, 0, 1, 0, 0, 0,232,111,223, 4, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,232,111,223, 4, 0, 0, 0, 0,
+ 31, 0, 7, 0, 1, 0, 0, 0,232,111,223, 4, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,232,111,223, 4, 0, 0, 0, 0,
+ 31, 0, 9, 0, 1, 0, 0, 0,232,111,223, 4, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,232,111,223, 4, 0, 0, 0, 0,
+ 31, 0, 11, 0, 1, 0, 0, 0,232,111,223, 4, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,232,111,223, 4, 0, 0, 0, 0,
+ 31, 0, 13, 0, 1, 0, 0, 0,232,111,223, 4, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,232,111,223, 4, 0, 0, 0, 0,
+ 31, 0, 15, 0, 1, 0, 0, 0,232,111,223, 4, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,232,111,223, 4, 0, 0, 0, 0,
+ 31, 0, 17, 0, 1, 0, 0, 0,232,111,223, 4, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,232,111,223, 4, 0, 0, 0, 0,
+ 31, 0, 19, 0, 1, 0, 0, 0,232,111,223, 4, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,232,111,223, 4, 0, 0, 0, 0,
+ 31, 0, 21, 0, 1, 0, 0, 0,232,111,223, 4, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,232,111,223, 4, 0, 0, 0, 0,
+ 31, 0, 23, 0, 1, 0, 0, 0,232,111,223, 4, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,232,111,223, 4, 0, 0, 0, 0,
+ 31, 0, 25, 0, 1, 0, 0, 0,232,111,223, 4, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,232,111,223, 4, 0, 0, 0, 0,
+ 31, 0, 27, 0, 1, 0, 0, 0,232,111,223, 4, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,232,111,223, 4, 0, 0, 0, 0,
+ 31, 0, 29, 0, 1, 0, 0, 0,232,111,223, 4, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,232,111,223, 4, 0, 0, 0, 0,
+ 31, 0, 31, 0, 1, 0, 0, 0,232,111,223, 4, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,232,111,223, 4, 0, 0, 0, 0,
+ 31, 0, 33, 0, 1, 0, 0, 0,232,111,223, 4, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,232,111,223, 4, 0, 0, 0, 0,
+ 31, 0, 35, 0, 1, 0, 0, 0,232,111,223, 4, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,232,111,223, 4, 0, 0, 0, 0,
+ 31, 0, 37, 0, 1, 0, 0, 0,232,111,223, 4, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,232,111,223, 4, 0, 0, 0, 0,
+ 31, 0, 39, 0, 1, 0, 0, 0,232,111,223, 4, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,232,111,223, 4, 0, 0, 0, 0,
+ 31, 0, 41, 0, 1, 0, 0, 0,232,111,223, 4, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,232,111,223, 4, 0, 0, 0, 0,
+ 31, 0, 43, 0, 1, 0, 0, 0,232,111,223, 4, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,232,111,223, 4, 0, 0, 0, 0,
+ 31, 0, 45, 0, 1, 0, 0, 0,232,111,223, 4, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,232,111,223, 4, 0, 0, 0, 0,
+ 31, 0, 47, 0, 1, 0, 0, 0,232,111,223, 4, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,232,111,223, 4, 0, 0, 0, 0,
+ 31, 0, 49, 0, 1, 0, 0, 0,232,111,223, 4, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,232,111,223, 4, 0, 0, 0, 0,
+ 31, 0, 51, 0, 1, 0, 0, 0,232,111,223, 4, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,232,111,223, 4, 0, 0, 0, 0,
+ 31, 0, 53, 0, 1, 0, 0, 0,232,111,223, 4, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,232,111,223, 4, 0, 0, 0, 0,
+ 31, 0, 55, 0, 1, 0, 0, 0,232,111,223, 4, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,232,111,223, 4, 0, 0, 0, 0,
+ 31, 0, 57, 0, 1, 0, 0, 0,232,111,223, 4, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,232,111,223, 4, 0, 0, 0, 0,
+ 31, 0, 59, 0, 1, 0, 0, 0,232,111,223, 4, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,232,111,223, 4, 0, 0, 0, 0,
+ 31, 0, 61, 0, 1, 0, 0, 0,232,111,223, 4, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,232,111,223, 4, 0, 0, 0, 0,
+ 31, 0, 63, 0, 1, 0, 0, 0,232,111,223, 4, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,232,111,223, 4, 0, 0, 0, 0,
+ 31, 0, 65, 0, 1, 0, 0, 0,232,111,223, 4, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,232,111,223, 4, 0, 0, 0, 0,
+ 31, 0, 67, 0, 1, 0, 0, 0,232,111,223, 4, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,232,111,223, 4, 0, 0, 0, 0,
+ 31, 0, 69, 0, 1, 0, 0, 0,232,111,223, 4, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,168,120,223, 4, 0, 0, 0, 0,
+ 31, 0, 1, 0, 1, 0, 0, 0,168,120,223, 4, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,168,120,223, 4, 0, 0, 0, 0,
+ 31, 0, 3, 0, 1, 0, 0, 0,168,120,223, 4, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,168,120,223, 4, 0, 0, 0, 0,
+ 31, 0, 5, 0, 1, 0, 0, 0,168,120,223, 4, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,168,120,223, 4, 0, 0, 0, 0,
+ 31, 0, 7, 0, 1, 0, 0, 0,168,120,223, 4, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,168,120,223, 4, 0, 0, 0, 0,
+ 31, 0, 9, 0, 1, 0, 0, 0,168,120,223, 4, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,168,120,223, 4, 0, 0, 0, 0,
+ 31, 0, 11, 0, 1, 0, 0, 0,168,120,223, 4, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,168,120,223, 4, 0, 0, 0, 0,
+ 31, 0, 13, 0, 1, 0, 0, 0,168,120,223, 4, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,168,120,223, 4, 0, 0, 0, 0,
+ 31, 0, 15, 0, 1, 0, 0, 0,168,120,223, 4, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,168,120,223, 4, 0, 0, 0, 0,
+ 31, 0, 17, 0, 1, 0, 0, 0,168,120,223, 4, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,168,120,223, 4, 0, 0, 0, 0,
+ 31, 0, 19, 0, 1, 0, 0, 0,168,120,223, 4, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,168,120,223, 4, 0, 0, 0, 0,
+ 31, 0, 21, 0, 1, 0, 0, 0,168,120,223, 4, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,168,120,223, 4, 0, 0, 0, 0,
+ 31, 0, 23, 0, 1, 0, 0, 0,168,120,223, 4, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,168,120,223, 4, 0, 0, 0, 0,
+ 31, 0, 25, 0, 1, 0, 0, 0,168,120,223, 4, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,168,120,223, 4, 0, 0, 0, 0,
+ 31, 0, 27, 0, 1, 0, 0, 0,168,120,223, 4, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,168,120,223, 4, 0, 0, 0, 0,
+ 31, 0, 29, 0, 1, 0, 0, 0,168,120,223, 4, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,168,120,223, 4, 0, 0, 0, 0,
+ 31, 0, 31, 0, 1, 0, 0, 0,168,120,223, 4, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,168,120,223, 4, 0, 0, 0, 0,
+ 31, 0, 33, 0, 1, 0, 0, 0,168,120,223, 4, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,168,120,223, 4, 0, 0, 0, 0,
+ 31, 0, 35, 0, 1, 0, 0, 0,168,120,223, 4, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,168,120,223, 4, 0, 0, 0, 0,
+ 31, 0, 37, 0, 1, 0, 0, 0,168,120,223, 4, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,168,120,223, 4, 0, 0, 0, 0,
+ 31, 0, 39, 0, 1, 0, 0, 0,168,120,223, 4, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,168,120,223, 4, 0, 0, 0, 0,
+ 31, 0, 41, 0, 1, 0, 0, 0,168,120,223, 4, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,168,120,223, 4, 0, 0, 0, 0,
+ 31, 0, 43, 0, 1, 0, 0, 0,168,120,223, 4, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,168,120,223, 4, 0, 0, 0, 0,
+ 31, 0, 45, 0, 1, 0, 0, 0,168,120,223, 4, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,168,120,223, 4, 0, 0, 0, 0,
+ 31, 0, 47, 0, 1, 0, 0, 0,168,120,223, 4, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,168,120,223, 4, 0, 0, 0, 0,
+ 31, 0, 49, 0, 1, 0, 0, 0,168,120,223, 4, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,168,120,223, 4, 0, 0, 0, 0,
+ 31, 0, 51, 0, 1, 0, 0, 0,168,120,223, 4, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,168,120,223, 4, 0, 0, 0, 0,
+ 31, 0, 53, 0, 1, 0, 0, 0,168,120,223, 4, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,168,120,223, 4, 0, 0, 0, 0,
+ 31, 0, 55, 0, 1, 0, 0, 0,168,120,223, 4, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,168,120,223, 4, 0, 0, 0, 0,
+ 31, 0, 57, 0, 1, 0, 0, 0,168,120,223, 4, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,168,120,223, 4, 0, 0, 0, 0,
+ 31, 0, 59, 0, 1, 0, 0, 0,168,120,223, 4, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,168,120,223, 4, 0, 0, 0, 0,
+ 31, 0, 61, 0, 1, 0, 0, 0,168,120,223, 4, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,168,120,223, 4, 0, 0, 0, 0,
+ 31, 0, 63, 0, 1, 0, 0, 0,168,120,223, 4, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,168,120,223, 4, 0, 0, 0, 0,
+ 31, 0, 65, 0, 1, 0, 0, 0,168,120,223, 4, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,168,120,223, 4, 0, 0, 0, 0,
+ 31, 0, 67, 0, 1, 0, 0, 0,168,120,223, 4, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,168,120,223, 4, 0, 0, 0, 0,
+ 31, 0, 69, 0, 1, 0, 0, 0,168,120,223, 4, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,104,129,223, 4, 0, 0, 0, 0,
+ 31, 0, 1, 0, 1, 0, 0, 0,104,129,223, 4, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,104,129,223, 4, 0, 0, 0, 0,
+ 31, 0, 3, 0, 1, 0, 0, 0,104,129,223, 4, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,104,129,223, 4, 0, 0, 0, 0,
+ 31, 0, 5, 0, 1, 0, 0, 0,104,129,223, 4, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,104,129,223, 4, 0, 0, 0, 0,
+ 31, 0, 7, 0, 1, 0, 0, 0,104,129,223, 4, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,104,129,223, 4, 0, 0, 0, 0,
+ 31, 0, 9, 0, 1, 0, 0, 0,104,129,223, 4, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,104,129,223, 4, 0, 0, 0, 0,
+ 31, 0, 11, 0, 1, 0, 0, 0,104,129,223, 4, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,104,129,223, 4, 0, 0, 0, 0,
+ 31, 0, 13, 0, 1, 0, 0, 0,104,129,223, 4, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,104,129,223, 4, 0, 0, 0, 0,
+ 31, 0, 15, 0, 1, 0, 0, 0,104,129,223, 4, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,104,129,223, 4, 0, 0, 0, 0,
+ 31, 0, 17, 0, 1, 0, 0, 0,104,129,223, 4, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,104,129,223, 4, 0, 0, 0, 0,
+ 31, 0, 19, 0, 1, 0, 0, 0,104,129,223, 4, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,104,129,223, 4, 0, 0, 0, 0,
+ 31, 0, 21, 0, 1, 0, 0, 0,104,129,223, 4, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,104,129,223, 4, 0, 0, 0, 0,
+ 31, 0, 23, 0, 1, 0, 0, 0,104,129,223, 4, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,104,129,223, 4, 0, 0, 0, 0,
+ 31, 0, 25, 0, 1, 0, 0, 0,104,129,223, 4, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,104,129,223, 4, 0, 0, 0, 0,
+ 31, 0, 27, 0, 1, 0, 0, 0,104,129,223, 4, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,104,129,223, 4, 0, 0, 0, 0,
+ 31, 0, 29, 0, 1, 0, 0, 0,104,129,223, 4, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,104,129,223, 4, 0, 0, 0, 0,
+ 31, 0, 31, 0, 1, 0, 0, 0,104,129,223, 4, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,104,129,223, 4, 0, 0, 0, 0,
+ 31, 0, 33, 0, 1, 0, 0, 0,104,129,223, 4, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,104,129,223, 4, 0, 0, 0, 0,
+ 31, 0, 35, 0, 1, 0, 0, 0,104,129,223, 4, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,104,129,223, 4, 0, 0, 0, 0,
+ 31, 0, 37, 0, 1, 0, 0, 0,104,129,223, 4, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,104,129,223, 4, 0, 0, 0, 0,
+ 31, 0, 39, 0, 1, 0, 0, 0,104,129,223, 4, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,104,129,223, 4, 0, 0, 0, 0,
+ 31, 0, 41, 0, 1, 0, 0, 0,104,129,223, 4, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,104,129,223, 4, 0, 0, 0, 0,
+ 31, 0, 43, 0, 1, 0, 0, 0,104,129,223, 4, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,104,129,223, 4, 0, 0, 0, 0,
+ 31, 0, 45, 0, 1, 0, 0, 0,104,129,223, 4, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,104,129,223, 4, 0, 0, 0, 0,
+ 31, 0, 47, 0, 1, 0, 0, 0,104,129,223, 4, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,104,129,223, 4, 0, 0, 0, 0,
+ 31, 0, 49, 0, 1, 0, 0, 0,104,129,223, 4, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,104,129,223, 4, 0, 0, 0, 0,
+ 31, 0, 51, 0, 1, 0, 0, 0,104,129,223, 4, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,104,129,223, 4, 0, 0, 0, 0,
+ 31, 0, 53, 0, 1, 0, 0, 0,104,129,223, 4, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,104,129,223, 4, 0, 0, 0, 0,
+ 31, 0, 55, 0, 1, 0, 0, 0,104,129,223, 4, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,104,129,223, 4, 0, 0, 0, 0,
+ 31, 0, 57, 0, 1, 0, 0, 0,104,129,223, 4, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,104,129,223, 4, 0, 0, 0, 0,
+ 31, 0, 59, 0, 1, 0, 0, 0,104,129,223, 4, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,104,129,223, 4, 0, 0, 0, 0,
+ 31, 0, 61, 0, 1, 0, 0, 0,104,129,223, 4, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,104,129,223, 4, 0, 0, 0, 0,
+ 31, 0, 63, 0, 1, 0, 0, 0,104,129,223, 4, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,104,129,223, 4, 0, 0, 0, 0,
+ 31, 0, 65, 0, 1, 0, 0, 0,104,129,223, 4, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,104,129,223, 4, 0, 0, 0, 0,
+ 31, 0, 67, 0, 1, 0, 0, 0,104,129,223, 4, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,104,129,223, 4, 0, 0, 0, 0,
+ 31, 0, 69, 0, 1, 0, 0, 0,104,129,223, 4, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 40,138,223, 4, 0, 0, 0, 0,
+ 31, 0, 1, 0, 1, 0, 0, 0, 40,138,223, 4, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 40,138,223, 4, 0, 0, 0, 0,
+ 31, 0, 3, 0, 1, 0, 0, 0, 40,138,223, 4, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 40,138,223, 4, 0, 0, 0, 0,
+ 31, 0, 5, 0, 1, 0, 0, 0, 40,138,223, 4, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 40,138,223, 4, 0, 0, 0, 0,
+ 31, 0, 7, 0, 1, 0, 0, 0, 40,138,223, 4, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 40,138,223, 4, 0, 0, 0, 0,
+ 31, 0, 9, 0, 1, 0, 0, 0, 40,138,223, 4, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 40,138,223, 4, 0, 0, 0, 0,
+ 31, 0, 11, 0, 1, 0, 0, 0, 40,138,223, 4, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 40,138,223, 4, 0, 0, 0, 0,
+ 31, 0, 13, 0, 1, 0, 0, 0, 40,138,223, 4, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 40,138,223, 4, 0, 0, 0, 0,
+ 31, 0, 15, 0, 1, 0, 0, 0, 40,138,223, 4, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 40,138,223, 4, 0, 0, 0, 0,
+ 31, 0, 17, 0, 1, 0, 0, 0, 40,138,223, 4, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 40,138,223, 4, 0, 0, 0, 0,
+ 31, 0, 19, 0, 1, 0, 0, 0, 40,138,223, 4, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 40,138,223, 4, 0, 0, 0, 0,
+ 31, 0, 21, 0, 1, 0, 0, 0, 40,138,223, 4, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, 40,138,223, 4, 0, 0, 0, 0,
+ 31, 0, 23, 0, 1, 0, 0, 0, 40,138,223, 4, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, 40,138,223, 4, 0, 0, 0, 0,
+ 31, 0, 25, 0, 1, 0, 0, 0, 40,138,223, 4, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0, 40,138,223, 4, 0, 0, 0, 0,
+ 31, 0, 27, 0, 1, 0, 0, 0, 40,138,223, 4, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0, 40,138,223, 4, 0, 0, 0, 0,
+ 31, 0, 29, 0, 1, 0, 0, 0, 40,138,223, 4, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0, 40,138,223, 4, 0, 0, 0, 0,
+ 31, 0, 31, 0, 1, 0, 0, 0, 40,138,223, 4, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0, 40,138,223, 4, 0, 0, 0, 0,
+ 31, 0, 33, 0, 1, 0, 0, 0, 40,138,223, 4, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0, 40,138,223, 4, 0, 0, 0, 0,
+ 31, 0, 35, 0, 1, 0, 0, 0, 40,138,223, 4, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0, 40,138,223, 4, 0, 0, 0, 0,
+ 31, 0, 37, 0, 1, 0, 0, 0, 40,138,223, 4, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0, 40,138,223, 4, 0, 0, 0, 0,
+ 31, 0, 39, 0, 1, 0, 0, 0, 40,138,223, 4, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0, 40,138,223, 4, 0, 0, 0, 0,
+ 31, 0, 41, 0, 1, 0, 0, 0, 40,138,223, 4, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0, 40,138,223, 4, 0, 0, 0, 0,
+ 31, 0, 43, 0, 1, 0, 0, 0, 40,138,223, 4, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0, 40,138,223, 4, 0, 0, 0, 0,
+ 31, 0, 45, 0, 1, 0, 0, 0, 40,138,223, 4, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0, 40,138,223, 4, 0, 0, 0, 0,
+ 31, 0, 47, 0, 1, 0, 0, 0, 40,138,223, 4, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0, 40,138,223, 4, 0, 0, 0, 0,
+ 31, 0, 49, 0, 1, 0, 0, 0, 40,138,223, 4, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0, 40,138,223, 4, 0, 0, 0, 0,
+ 31, 0, 51, 0, 1, 0, 0, 0, 40,138,223, 4, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0, 40,138,223, 4, 0, 0, 0, 0,
+ 31, 0, 53, 0, 1, 0, 0, 0, 40,138,223, 4, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0, 40,138,223, 4, 0, 0, 0, 0,
+ 31, 0, 55, 0, 1, 0, 0, 0, 40,138,223, 4, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0, 40,138,223, 4, 0, 0, 0, 0,
+ 31, 0, 57, 0, 1, 0, 0, 0, 40,138,223, 4, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0, 40,138,223, 4, 0, 0, 0, 0,
+ 31, 0, 59, 0, 1, 0, 0, 0, 40,138,223, 4, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0, 40,138,223, 4, 0, 0, 0, 0,
+ 31, 0, 61, 0, 1, 0, 0, 0, 40,138,223, 4, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0, 40,138,223, 4, 0, 0, 0, 0,
+ 31, 0, 63, 0, 1, 0, 0, 0, 40,138,223, 4, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0, 40,138,223, 4, 0, 0, 0, 0,
+ 31, 0, 65, 0, 1, 0, 0, 0, 40,138,223, 4, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0, 40,138,223, 4, 0, 0, 0, 0,
+ 31, 0, 67, 0, 1, 0, 0, 0, 40,138,223, 4, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0, 40,138,223, 4, 0, 0, 0, 0,
+ 31, 0, 69, 0, 1, 0, 0, 0, 40,138,223, 4, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,232,146,223, 4, 0, 0, 0, 0,
+ 31, 0, 1, 0, 1, 0, 0, 0,232,146,223, 4, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,232,146,223, 4, 0, 0, 0, 0,
+ 31, 0, 3, 0, 1, 0, 0, 0,232,146,223, 4, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,232,146,223, 4, 0, 0, 0, 0,
+ 31, 0, 5, 0, 1, 0, 0, 0,232,146,223, 4, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,232,146,223, 4, 0, 0, 0, 0,
+ 31, 0, 7, 0, 1, 0, 0, 0,232,146,223, 4, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,232,146,223, 4, 0, 0, 0, 0,
+ 31, 0, 9, 0, 1, 0, 0, 0,232,146,223, 4, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,232,146,223, 4, 0, 0, 0, 0,
+ 31, 0, 11, 0, 1, 0, 0, 0,232,146,223, 4, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,232,146,223, 4, 0, 0, 0, 0,
+ 31, 0, 13, 0, 1, 0, 0, 0,232,146,223, 4, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,232,146,223, 4, 0, 0, 0, 0,
+ 31, 0, 15, 0, 1, 0, 0, 0,232,146,223, 4, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,232,146,223, 4, 0, 0, 0, 0,
+ 31, 0, 17, 0, 1, 0, 0, 0,232,146,223, 4, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,232,146,223, 4, 0, 0, 0, 0,
+ 31, 0, 19, 0, 1, 0, 0, 0,232,146,223, 4, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,232,146,223, 4, 0, 0, 0, 0,
+ 31, 0, 21, 0, 1, 0, 0, 0,232,146,223, 4, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,232,146,223, 4, 0, 0, 0, 0,
+ 31, 0, 23, 0, 1, 0, 0, 0,232,146,223, 4, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,232,146,223, 4, 0, 0, 0, 0,
+ 31, 0, 25, 0, 1, 0, 0, 0,232,146,223, 4, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,232,146,223, 4, 0, 0, 0, 0,
+ 31, 0, 27, 0, 1, 0, 0, 0,232,146,223, 4, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,232,146,223, 4, 0, 0, 0, 0,
+ 31, 0, 29, 0, 1, 0, 0, 0,232,146,223, 4, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,232,146,223, 4, 0, 0, 0, 0,
+ 31, 0, 31, 0, 1, 0, 0, 0,232,146,223, 4, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,232,146,223, 4, 0, 0, 0, 0,
+ 31, 0, 33, 0, 1, 0, 0, 0,232,146,223, 4, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,232,146,223, 4, 0, 0, 0, 0,
+ 31, 0, 35, 0, 1, 0, 0, 0,232,146,223, 4, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,232,146,223, 4, 0, 0, 0, 0,
+ 31, 0, 37, 0, 1, 0, 0, 0,232,146,223, 4, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,232,146,223, 4, 0, 0, 0, 0,
+ 31, 0, 39, 0, 1, 0, 0, 0,232,146,223, 4, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,232,146,223, 4, 0, 0, 0, 0,
+ 31, 0, 41, 0, 1, 0, 0, 0,232,146,223, 4, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,232,146,223, 4, 0, 0, 0, 0,
+ 31, 0, 43, 0, 1, 0, 0, 0,232,146,223, 4, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,232,146,223, 4, 0, 0, 0, 0,
+ 31, 0, 45, 0, 1, 0, 0, 0,232,146,223, 4, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,232,146,223, 4, 0, 0, 0, 0,
+ 31, 0, 47, 0, 1, 0, 0, 0,232,146,223, 4, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,232,146,223, 4, 0, 0, 0, 0,
+ 31, 0, 49, 0, 1, 0, 0, 0,232,146,223, 4, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,232,146,223, 4, 0, 0, 0, 0,
+ 31, 0, 51, 0, 1, 0, 0, 0,232,146,223, 4, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,232,146,223, 4, 0, 0, 0, 0,
+ 31, 0, 53, 0, 1, 0, 0, 0,232,146,223, 4, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,232,146,223, 4, 0, 0, 0, 0,
+ 31, 0, 55, 0, 1, 0, 0, 0,232,146,223, 4, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,232,146,223, 4, 0, 0, 0, 0,
+ 31, 0, 57, 0, 1, 0, 0, 0,232,146,223, 4, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,232,146,223, 4, 0, 0, 0, 0,
+ 31, 0, 59, 0, 1, 0, 0, 0,232,146,223, 4, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,232,146,223, 4, 0, 0, 0, 0,
+ 31, 0, 61, 0, 1, 0, 0, 0,232,146,223, 4, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,232,146,223, 4, 0, 0, 0, 0,
+ 31, 0, 63, 0, 1, 0, 0, 0,232,146,223, 4, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,232,146,223, 4, 0, 0, 0, 0,
+ 31, 0, 65, 0, 1, 0, 0, 0,232,146,223, 4, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,232,146,223, 4, 0, 0, 0, 0,
+ 31, 0, 67, 0, 1, 0, 0, 0,232,146,223, 4, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,232,146,223, 4, 0, 0, 0, 0,
+ 31, 0, 69, 0, 1, 0, 0, 0,232,146,223, 4, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,168,155,223, 4, 0, 0, 0, 0,
+ 31, 0, 1, 0, 1, 0, 0, 0,168,155,223, 4, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,168,155,223, 4, 0, 0, 0, 0,
+ 31, 0, 3, 0, 1, 0, 0, 0,168,155,223, 4, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,168,155,223, 4, 0, 0, 0, 0,
+ 31, 0, 5, 0, 1, 0, 0, 0,168,155,223, 4, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,168,155,223, 4, 0, 0, 0, 0,
+ 31, 0, 7, 0, 1, 0, 0, 0,168,155,223, 4, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,168,155,223, 4, 0, 0, 0, 0,
+ 31, 0, 9, 0, 1, 0, 0, 0,168,155,223, 4, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,168,155,223, 4, 0, 0, 0, 0,
+ 31, 0, 11, 0, 1, 0, 0, 0,168,155,223, 4, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,168,155,223, 4, 0, 0, 0, 0,
+ 31, 0, 13, 0, 1, 0, 0, 0,168,155,223, 4, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,168,155,223, 4, 0, 0, 0, 0,
+ 31, 0, 15, 0, 1, 0, 0, 0,168,155,223, 4, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,168,155,223, 4, 0, 0, 0, 0,
+ 31, 0, 17, 0, 1, 0, 0, 0,168,155,223, 4, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,168,155,223, 4, 0, 0, 0, 0,
+ 31, 0, 19, 0, 1, 0, 0, 0,168,155,223, 4, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,168,155,223, 4, 0, 0, 0, 0,
+ 31, 0, 21, 0, 1, 0, 0, 0,168,155,223, 4, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,168,155,223, 4, 0, 0, 0, 0,
+ 31, 0, 23, 0, 1, 0, 0, 0,168,155,223, 4, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,168,155,223, 4, 0, 0, 0, 0,
+ 31, 0, 25, 0, 1, 0, 0, 0,168,155,223, 4, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,168,155,223, 4, 0, 0, 0, 0,
+ 31, 0, 27, 0, 1, 0, 0, 0,168,155,223, 4, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,168,155,223, 4, 0, 0, 0, 0,
+ 31, 0, 29, 0, 1, 0, 0, 0,168,155,223, 4, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,168,155,223, 4, 0, 0, 0, 0,
+ 31, 0, 31, 0, 1, 0, 0, 0,168,155,223, 4, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,168,155,223, 4, 0, 0, 0, 0,
+ 31, 0, 33, 0, 1, 0, 0, 0,168,155,223, 4, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,168,155,223, 4, 0, 0, 0, 0,
+ 31, 0, 35, 0, 1, 0, 0, 0,168,155,223, 4, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,168,155,223, 4, 0, 0, 0, 0,
+ 31, 0, 37, 0, 1, 0, 0, 0,168,155,223, 4, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,168,155,223, 4, 0, 0, 0, 0,
+ 31, 0, 39, 0, 1, 0, 0, 0,168,155,223, 4, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,168,155,223, 4, 0, 0, 0, 0,
+ 31, 0, 41, 0, 1, 0, 0, 0,168,155,223, 4, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,168,155,223, 4, 0, 0, 0, 0,
+ 31, 0, 43, 0, 1, 0, 0, 0,168,155,223, 4, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,168,155,223, 4, 0, 0, 0, 0,
+ 31, 0, 45, 0, 1, 0, 0, 0,168,155,223, 4, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,168,155,223, 4, 0, 0, 0, 0,
+ 31, 0, 47, 0, 1, 0, 0, 0,168,155,223, 4, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,168,155,223, 4, 0, 0, 0, 0,
+ 31, 0, 49, 0, 1, 0, 0, 0,168,155,223, 4, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,168,155,223, 4, 0, 0, 0, 0,
+ 31, 0, 51, 0, 1, 0, 0, 0,168,155,223, 4, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,168,155,223, 4, 0, 0, 0, 0,
+ 31, 0, 53, 0, 1, 0, 0, 0,168,155,223, 4, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,168,155,223, 4, 0, 0, 0, 0,
+ 31, 0, 55, 0, 1, 0, 0, 0,168,155,223, 4, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,168,155,223, 4, 0, 0, 0, 0,
+ 31, 0, 57, 0, 1, 0, 0, 0,168,155,223, 4, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,168,155,223, 4, 0, 0, 0, 0,
+ 31, 0, 59, 0, 1, 0, 0, 0,168,155,223, 4, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,168,155,223, 4, 0, 0, 0, 0,
+ 31, 0, 61, 0, 1, 0, 0, 0,168,155,223, 4, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,168,155,223, 4, 0, 0, 0, 0,
+ 31, 0, 63, 0, 1, 0, 0, 0,168,155,223, 4, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,168,155,223, 4, 0, 0, 0, 0,
+ 31, 0, 65, 0, 1, 0, 0, 0,168,155,223, 4, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,168,155,223, 4, 0, 0, 0, 0,
+ 31, 0, 67, 0, 1, 0, 0, 0,168,155,223, 4, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,168,155,223, 4, 0, 0, 0, 0,
+ 31, 0, 69, 0, 1, 0, 0, 0,168,155,223, 4, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,104,164,223, 4, 0, 0, 0, 0,
+ 31, 0, 1, 0, 1, 0, 0, 0,104,164,223, 4, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,104,164,223, 4, 0, 0, 0, 0,
+ 31, 0, 3, 0, 1, 0, 0, 0,104,164,223, 4, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,104,164,223, 4, 0, 0, 0, 0,
+ 31, 0, 5, 0, 1, 0, 0, 0,104,164,223, 4, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,104,164,223, 4, 0, 0, 0, 0,
+ 31, 0, 7, 0, 1, 0, 0, 0,104,164,223, 4, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,104,164,223, 4, 0, 0, 0, 0,
+ 31, 0, 9, 0, 1, 0, 0, 0,104,164,223, 4, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,104,164,223, 4, 0, 0, 0, 0,
+ 31, 0, 11, 0, 1, 0, 0, 0,104,164,223, 4, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,104,164,223, 4, 0, 0, 0, 0,
+ 31, 0, 13, 0, 1, 0, 0, 0,104,164,223, 4, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,104,164,223, 4, 0, 0, 0, 0,
+ 31, 0, 15, 0, 1, 0, 0, 0,104,164,223, 4, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,104,164,223, 4, 0, 0, 0, 0,
+ 31, 0, 17, 0, 1, 0, 0, 0,104,164,223, 4, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,104,164,223, 4, 0, 0, 0, 0,
+ 31, 0, 19, 0, 1, 0, 0, 0,104,164,223, 4, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,104,164,223, 4, 0, 0, 0, 0,
+ 31, 0, 21, 0, 1, 0, 0, 0,104,164,223, 4, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,104,164,223, 4, 0, 0, 0, 0,
+ 31, 0, 23, 0, 1, 0, 0, 0,104,164,223, 4, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,104,164,223, 4, 0, 0, 0, 0,
+ 31, 0, 25, 0, 1, 0, 0, 0,104,164,223, 4, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,104,164,223, 4, 0, 0, 0, 0,
+ 31, 0, 27, 0, 1, 0, 0, 0,104,164,223, 4, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,104,164,223, 4, 0, 0, 0, 0,
+ 31, 0, 29, 0, 1, 0, 0, 0,104,164,223, 4, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,104,164,223, 4, 0, 0, 0, 0,
+ 31, 0, 31, 0, 1, 0, 0, 0,104,164,223, 4, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,104,164,223, 4, 0, 0, 0, 0,
+ 31, 0, 33, 0, 1, 0, 0, 0,104,164,223, 4, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,104,164,223, 4, 0, 0, 0, 0,
+ 31, 0, 35, 0, 1, 0, 0, 0,104,164,223, 4, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,104,164,223, 4, 0, 0, 0, 0,
+ 31, 0, 37, 0, 1, 0, 0, 0,104,164,223, 4, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,104,164,223, 4, 0, 0, 0, 0,
+ 31, 0, 39, 0, 1, 0, 0, 0,104,164,223, 4, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,104,164,223, 4, 0, 0, 0, 0,
+ 31, 0, 41, 0, 1, 0, 0, 0,104,164,223, 4, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,104,164,223, 4, 0, 0, 0, 0,
+ 31, 0, 43, 0, 1, 0, 0, 0,104,164,223, 4, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,104,164,223, 4, 0, 0, 0, 0,
+ 31, 0, 45, 0, 1, 0, 0, 0,104,164,223, 4, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,104,164,223, 4, 0, 0, 0, 0,
+ 31, 0, 47, 0, 1, 0, 0, 0,104,164,223, 4, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,104,164,223, 4, 0, 0, 0, 0,
+ 31, 0, 49, 0, 1, 0, 0, 0,104,164,223, 4, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,104,164,223, 4, 0, 0, 0, 0,
+ 31, 0, 51, 0, 1, 0, 0, 0,104,164,223, 4, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,104,164,223, 4, 0, 0, 0, 0,
+ 31, 0, 53, 0, 1, 0, 0, 0,104,164,223, 4, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,104,164,223, 4, 0, 0, 0, 0,
+ 31, 0, 55, 0, 1, 0, 0, 0,104,164,223, 4, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,104,164,223, 4, 0, 0, 0, 0,
+ 31, 0, 57, 0, 1, 0, 0, 0,104,164,223, 4, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,104,164,223, 4, 0, 0, 0, 0,
+ 31, 0, 59, 0, 1, 0, 0, 0,104,164,223, 4, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,104,164,223, 4, 0, 0, 0, 0,
+ 31, 0, 61, 0, 1, 0, 0, 0,104,164,223, 4, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,104,164,223, 4, 0, 0, 0, 0,
+ 31, 0, 63, 0, 1, 0, 0, 0,104,164,223, 4, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,104,164,223, 4, 0, 0, 0, 0,
+ 31, 0, 65, 0, 1, 0, 0, 0,104,164,223, 4, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,104,164,223, 4, 0, 0, 0, 0,
+ 31, 0, 67, 0, 1, 0, 0, 0,104,164,223, 4, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,104,164,223, 4, 0, 0, 0, 0,
+ 31, 0, 69, 0, 1, 0, 0, 0,104,164,223, 4, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 40,173,223, 4, 0, 0, 0, 0,
+ 31, 0, 1, 0, 1, 0, 0, 0, 40,173,223, 4, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 40,173,223, 4, 0, 0, 0, 0,
+ 31, 0, 3, 0, 1, 0, 0, 0, 40,173,223, 4, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 40,173,223, 4, 0, 0, 0, 0,
+ 31, 0, 5, 0, 1, 0, 0, 0, 40,173,223, 4, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 40,173,223, 4, 0, 0, 0, 0,
+ 31, 0, 7, 0, 1, 0, 0, 0, 40,173,223, 4, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 40,173,223, 4, 0, 0, 0, 0,
+ 31, 0, 9, 0, 1, 0, 0, 0, 40,173,223, 4, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 40,173,223, 4, 0, 0, 0, 0,
+ 31, 0, 11, 0, 1, 0, 0, 0, 40,173,223, 4, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 40,173,223, 4, 0, 0, 0, 0,
+ 31, 0, 13, 0, 1, 0, 0, 0, 40,173,223, 4, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 40,173,223, 4, 0, 0, 0, 0,
+ 31, 0, 15, 0, 1, 0, 0, 0, 40,173,223, 4, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 40,173,223, 4, 0, 0, 0, 0,
+ 31, 0, 17, 0, 1, 0, 0, 0, 40,173,223, 4, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 40,173,223, 4, 0, 0, 0, 0,
+ 31, 0, 19, 0, 1, 0, 0, 0, 40,173,223, 4, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 40,173,223, 4, 0, 0, 0, 0,
+ 31, 0, 21, 0, 1, 0, 0, 0, 40,173,223, 4, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, 40,173,223, 4, 0, 0, 0, 0,
+ 31, 0, 23, 0, 1, 0, 0, 0, 40,173,223, 4, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, 40,173,223, 4, 0, 0, 0, 0,
+ 31, 0, 25, 0, 1, 0, 0, 0, 40,173,223, 4, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0, 40,173,223, 4, 0, 0, 0, 0,
+ 31, 0, 27, 0, 1, 0, 0, 0, 40,173,223, 4, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0, 40,173,223, 4, 0, 0, 0, 0,
+ 31, 0, 29, 0, 1, 0, 0, 0, 40,173,223, 4, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0, 40,173,223, 4, 0, 0, 0, 0,
+ 31, 0, 31, 0, 1, 0, 0, 0, 40,173,223, 4, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0, 40,173,223, 4, 0, 0, 0, 0,
+ 31, 0, 33, 0, 1, 0, 0, 0, 40,173,223, 4, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0, 40,173,223, 4, 0, 0, 0, 0,
+ 31, 0, 35, 0, 1, 0, 0, 0, 40,173,223, 4, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0, 40,173,223, 4, 0, 0, 0, 0,
+ 31, 0, 37, 0, 1, 0, 0, 0, 40,173,223, 4, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0, 40,173,223, 4, 0, 0, 0, 0,
+ 31, 0, 39, 0, 1, 0, 0, 0, 40,173,223, 4, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0, 40,173,223, 4, 0, 0, 0, 0,
+ 31, 0, 41, 0, 1, 0, 0, 0, 40,173,223, 4, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0, 40,173,223, 4, 0, 0, 0, 0,
+ 31, 0, 43, 0, 1, 0, 0, 0, 40,173,223, 4, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0, 40,173,223, 4, 0, 0, 0, 0,
+ 31, 0, 45, 0, 1, 0, 0, 0, 40,173,223, 4, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0, 40,173,223, 4, 0, 0, 0, 0,
+ 31, 0, 47, 0, 1, 0, 0, 0, 40,173,223, 4, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0, 40,173,223, 4, 0, 0, 0, 0,
+ 31, 0, 49, 0, 1, 0, 0, 0, 40,173,223, 4, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0, 40,173,223, 4, 0, 0, 0, 0,
+ 31, 0, 51, 0, 1, 0, 0, 0, 40,173,223, 4, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0, 40,173,223, 4, 0, 0, 0, 0,
+ 31, 0, 53, 0, 1, 0, 0, 0, 40,173,223, 4, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0, 40,173,223, 4, 0, 0, 0, 0,
+ 31, 0, 55, 0, 1, 0, 0, 0, 40,173,223, 4, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0, 40,173,223, 4, 0, 0, 0, 0,
+ 31, 0, 57, 0, 1, 0, 0, 0, 40,173,223, 4, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0, 40,173,223, 4, 0, 0, 0, 0,
+ 31, 0, 59, 0, 1, 0, 0, 0, 40,173,223, 4, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0, 40,173,223, 4, 0, 0, 0, 0,
+ 31, 0, 61, 0, 1, 0, 0, 0, 40,173,223, 4, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0, 40,173,223, 4, 0, 0, 0, 0,
+ 31, 0, 63, 0, 1, 0, 0, 0, 40,173,223, 4, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0, 40,173,223, 4, 0, 0, 0, 0,
+ 31, 0, 65, 0, 1, 0, 0, 0, 40,173,223, 4, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0, 40,173,223, 4, 0, 0, 0, 0,
+ 31, 0, 67, 0, 1, 0, 0, 0, 40,173,223, 4, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0, 40,173,223, 4, 0, 0, 0, 0,
+ 31, 0, 69, 0, 1, 0, 0, 0, 40,173,223, 4, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,232,181,223, 4, 0, 0, 0, 0,
+ 31, 0, 1, 0, 1, 0, 0, 0,232,181,223, 4, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,232,181,223, 4, 0, 0, 0, 0,
+ 31, 0, 3, 0, 1, 0, 0, 0,232,181,223, 4, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,232,181,223, 4, 0, 0, 0, 0,
+ 31, 0, 5, 0, 1, 0, 0, 0,232,181,223, 4, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,232,181,223, 4, 0, 0, 0, 0,
+ 31, 0, 7, 0, 1, 0, 0, 0,232,181,223, 4, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,232,181,223, 4, 0, 0, 0, 0,
+ 31, 0, 9, 0, 1, 0, 0, 0,232,181,223, 4, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,232,181,223, 4, 0, 0, 0, 0,
+ 31, 0, 11, 0, 1, 0, 0, 0,232,181,223, 4, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,232,181,223, 4, 0, 0, 0, 0,
+ 31, 0, 13, 0, 1, 0, 0, 0,232,181,223, 4, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,232,181,223, 4, 0, 0, 0, 0,
+ 31, 0, 15, 0, 1, 0, 0, 0,232,181,223, 4, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,232,181,223, 4, 0, 0, 0, 0,
+ 31, 0, 17, 0, 1, 0, 0, 0,232,181,223, 4, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,232,181,223, 4, 0, 0, 0, 0,
+ 31, 0, 19, 0, 1, 0, 0, 0,232,181,223, 4, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,232,181,223, 4, 0, 0, 0, 0,
+ 31, 0, 21, 0, 1, 0, 0, 0,232,181,223, 4, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,232,181,223, 4, 0, 0, 0, 0,
+ 31, 0, 23, 0, 1, 0, 0, 0,232,181,223, 4, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,232,181,223, 4, 0, 0, 0, 0,
+ 31, 0, 25, 0, 1, 0, 0, 0,232,181,223, 4, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,232,181,223, 4, 0, 0, 0, 0,
+ 31, 0, 27, 0, 1, 0, 0, 0,232,181,223, 4, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,232,181,223, 4, 0, 0, 0, 0,
+ 31, 0, 29, 0, 1, 0, 0, 0,232,181,223, 4, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,232,181,223, 4, 0, 0, 0, 0,
+ 31, 0, 31, 0, 1, 0, 0, 0,232,181,223, 4, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,232,181,223, 4, 0, 0, 0, 0,
+ 31, 0, 33, 0, 1, 0, 0, 0,232,181,223, 4, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,232,181,223, 4, 0, 0, 0, 0,
+ 31, 0, 35, 0, 1, 0, 0, 0,232,181,223, 4, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,232,181,223, 4, 0, 0, 0, 0,
+ 31, 0, 37, 0, 1, 0, 0, 0,232,181,223, 4, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,232,181,223, 4, 0, 0, 0, 0,
+ 31, 0, 39, 0, 1, 0, 0, 0,232,181,223, 4, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,232,181,223, 4, 0, 0, 0, 0,
+ 31, 0, 41, 0, 1, 0, 0, 0,232,181,223, 4, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,232,181,223, 4, 0, 0, 0, 0,
+ 31, 0, 43, 0, 1, 0, 0, 0,232,181,223, 4, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,232,181,223, 4, 0, 0, 0, 0,
+ 31, 0, 45, 0, 1, 0, 0, 0,232,181,223, 4, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,232,181,223, 4, 0, 0, 0, 0,
+ 31, 0, 47, 0, 1, 0, 0, 0,232,181,223, 4, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,232,181,223, 4, 0, 0, 0, 0,
+ 31, 0, 49, 0, 1, 0, 0, 0,232,181,223, 4, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,232,181,223, 4, 0, 0, 0, 0,
+ 31, 0, 51, 0, 1, 0, 0, 0,232,181,223, 4, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,232,181,223, 4, 0, 0, 0, 0,
+ 31, 0, 53, 0, 1, 0, 0, 0,232,181,223, 4, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,232,181,223, 4, 0, 0, 0, 0,
+ 31, 0, 55, 0, 1, 0, 0, 0,232,181,223, 4, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,232,181,223, 4, 0, 0, 0, 0,
+ 31, 0, 57, 0, 1, 0, 0, 0,232,181,223, 4, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,232,181,223, 4, 0, 0, 0, 0,
+ 31, 0, 59, 0, 1, 0, 0, 0,232,181,223, 4, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,232,181,223, 4, 0, 0, 0, 0,
+ 31, 0, 61, 0, 1, 0, 0, 0,232,181,223, 4, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,232,181,223, 4, 0, 0, 0, 0,
+ 31, 0, 63, 0, 1, 0, 0, 0,232,181,223, 4, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,232,181,223, 4, 0, 0, 0, 0,
+ 31, 0, 65, 0, 1, 0, 0, 0,232,181,223, 4, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,232,181,223, 4, 0, 0, 0, 0,
+ 31, 0, 67, 0, 1, 0, 0, 0,232,181,223, 4, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,232,181,223, 4, 0, 0, 0, 0,
+ 31, 0, 69, 0, 1, 0, 0, 0,232,181,223, 4, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,168,190,223, 4, 0, 0, 0, 0,
+ 31, 0, 1, 0, 1, 0, 0, 0,168,190,223, 4, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,168,190,223, 4, 0, 0, 0, 0,
+ 31, 0, 3, 0, 1, 0, 0, 0,168,190,223, 4, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,168,190,223, 4, 0, 0, 0, 0,
+ 31, 0, 5, 0, 1, 0, 0, 0,168,190,223, 4, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,168,190,223, 4, 0, 0, 0, 0,
+ 31, 0, 7, 0, 1, 0, 0, 0,168,190,223, 4, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,168,190,223, 4, 0, 0, 0, 0,
+ 31, 0, 9, 0, 1, 0, 0, 0,168,190,223, 4, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,168,190,223, 4, 0, 0, 0, 0,
+ 31, 0, 11, 0, 1, 0, 0, 0,168,190,223, 4, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,168,190,223, 4, 0, 0, 0, 0,
+ 31, 0, 13, 0, 1, 0, 0, 0,168,190,223, 4, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,168,190,223, 4, 0, 0, 0, 0,
+ 31, 0, 15, 0, 1, 0, 0, 0,168,190,223, 4, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,168,190,223, 4, 0, 0, 0, 0,
+ 31, 0, 17, 0, 1, 0, 0, 0,168,190,223, 4, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,168,190,223, 4, 0, 0, 0, 0,
+ 31, 0, 19, 0, 1, 0, 0, 0,168,190,223, 4, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,168,190,223, 4, 0, 0, 0, 0,
+ 31, 0, 21, 0, 1, 0, 0, 0,168,190,223, 4, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,168,190,223, 4, 0, 0, 0, 0,
+ 31, 0, 23, 0, 1, 0, 0, 0,168,190,223, 4, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,168,190,223, 4, 0, 0, 0, 0,
+ 31, 0, 25, 0, 1, 0, 0, 0,168,190,223, 4, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,168,190,223, 4, 0, 0, 0, 0,
+ 31, 0, 27, 0, 1, 0, 0, 0,168,190,223, 4, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,168,190,223, 4, 0, 0, 0, 0,
+ 31, 0, 29, 0, 1, 0, 0, 0,168,190,223, 4, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,168,190,223, 4, 0, 0, 0, 0,
+ 31, 0, 31, 0, 1, 0, 0, 0,168,190,223, 4, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,168,190,223, 4, 0, 0, 0, 0,
+ 31, 0, 33, 0, 1, 0, 0, 0,168,190,223, 4, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,168,190,223, 4, 0, 0, 0, 0,
+ 31, 0, 35, 0, 1, 0, 0, 0,168,190,223, 4, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,168,190,223, 4, 0, 0, 0, 0,
+ 31, 0, 37, 0, 1, 0, 0, 0,168,190,223, 4, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,168,190,223, 4, 0, 0, 0, 0,
+ 31, 0, 39, 0, 1, 0, 0, 0,168,190,223, 4, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,168,190,223, 4, 0, 0, 0, 0,
+ 31, 0, 41, 0, 1, 0, 0, 0,168,190,223, 4, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,168,190,223, 4, 0, 0, 0, 0,
+ 31, 0, 43, 0, 1, 0, 0, 0,168,190,223, 4, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,168,190,223, 4, 0, 0, 0, 0,
+ 31, 0, 45, 0, 1, 0, 0, 0,168,190,223, 4, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,168,190,223, 4, 0, 0, 0, 0,
+ 31, 0, 47, 0, 1, 0, 0, 0,168,190,223, 4, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,168,190,223, 4, 0, 0, 0, 0,
+ 31, 0, 49, 0, 1, 0, 0, 0,168,190,223, 4, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,168,190,223, 4, 0, 0, 0, 0,
+ 31, 0, 51, 0, 1, 0, 0, 0,168,190,223, 4, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,168,190,223, 4, 0, 0, 0, 0,
+ 31, 0, 53, 0, 1, 0, 0, 0,168,190,223, 4, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,168,190,223, 4, 0, 0, 0, 0,
+ 31, 0, 55, 0, 1, 0, 0, 0,168,190,223, 4, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,168,190,223, 4, 0, 0, 0, 0,
+ 31, 0, 57, 0, 1, 0, 0, 0,168,190,223, 4, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,168,190,223, 4, 0, 0, 0, 0,
+ 31, 0, 59, 0, 1, 0, 0, 0,168,190,223, 4, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,168,190,223, 4, 0, 0, 0, 0,
+ 31, 0, 61, 0, 1, 0, 0, 0,168,190,223, 4, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,168,190,223, 4, 0, 0, 0, 0,
+ 31, 0, 63, 0, 1, 0, 0, 0,168,190,223, 4, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,168,190,223, 4, 0, 0, 0, 0,
+ 31, 0, 65, 0, 1, 0, 0, 0,168,190,223, 4, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,168,190,223, 4, 0, 0, 0, 0,
+ 31, 0, 67, 0, 1, 0, 0, 0,168,190,223, 4, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,168,190,223, 4, 0, 0, 0, 0,
+ 31, 0, 69, 0, 1, 0, 0, 0,168,190,223, 4, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,104,199,223, 4, 0, 0, 0, 0,
+ 31, 0, 1, 0, 1, 0, 0, 0,104,199,223, 4, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,104,199,223, 4, 0, 0, 0, 0,
+ 31, 0, 3, 0, 1, 0, 0, 0,104,199,223, 4, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,104,199,223, 4, 0, 0, 0, 0,
+ 31, 0, 5, 0, 1, 0, 0, 0,104,199,223, 4, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,104,199,223, 4, 0, 0, 0, 0,
+ 31, 0, 7, 0, 1, 0, 0, 0,104,199,223, 4, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,104,199,223, 4, 0, 0, 0, 0,
+ 31, 0, 9, 0, 1, 0, 0, 0,104,199,223, 4, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,104,199,223, 4, 0, 0, 0, 0,
+ 31, 0, 11, 0, 1, 0, 0, 0,104,199,223, 4, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,104,199,223, 4, 0, 0, 0, 0,
+ 31, 0, 13, 0, 1, 0, 0, 0,104,199,223, 4, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,104,199,223, 4, 0, 0, 0, 0,
+ 31, 0, 15, 0, 1, 0, 0, 0,104,199,223, 4, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,104,199,223, 4, 0, 0, 0, 0,
+ 31, 0, 17, 0, 1, 0, 0, 0,104,199,223, 4, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,104,199,223, 4, 0, 0, 0, 0,
+ 31, 0, 19, 0, 1, 0, 0, 0,104,199,223, 4, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,104,199,223, 4, 0, 0, 0, 0,
+ 31, 0, 21, 0, 1, 0, 0, 0,104,199,223, 4, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,104,199,223, 4, 0, 0, 0, 0,
+ 31, 0, 23, 0, 1, 0, 0, 0,104,199,223, 4, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,104,199,223, 4, 0, 0, 0, 0,
+ 31, 0, 25, 0, 1, 0, 0, 0,104,199,223, 4, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,104,199,223, 4, 0, 0, 0, 0,
+ 31, 0, 27, 0, 1, 0, 0, 0,104,199,223, 4, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,104,199,223, 4, 0, 0, 0, 0,
+ 31, 0, 29, 0, 1, 0, 0, 0,104,199,223, 4, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,104,199,223, 4, 0, 0, 0, 0,
+ 31, 0, 31, 0, 1, 0, 0, 0,104,199,223, 4, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,104,199,223, 4, 0, 0, 0, 0,
+ 31, 0, 33, 0, 1, 0, 0, 0,104,199,223, 4, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,104,199,223, 4, 0, 0, 0, 0,
+ 31, 0, 35, 0, 1, 0, 0, 0,104,199,223, 4, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,104,199,223, 4, 0, 0, 0, 0,
+ 31, 0, 37, 0, 1, 0, 0, 0,104,199,223, 4, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,104,199,223, 4, 0, 0, 0, 0,
+ 31, 0, 39, 0, 1, 0, 0, 0,104,199,223, 4, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,104,199,223, 4, 0, 0, 0, 0,
+ 31, 0, 41, 0, 1, 0, 0, 0,104,199,223, 4, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,104,199,223, 4, 0, 0, 0, 0,
+ 31, 0, 43, 0, 1, 0, 0, 0,104,199,223, 4, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,104,199,223, 4, 0, 0, 0, 0,
+ 31, 0, 45, 0, 1, 0, 0, 0,104,199,223, 4, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,104,199,223, 4, 0, 0, 0, 0,
+ 31, 0, 47, 0, 1, 0, 0, 0,104,199,223, 4, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,104,199,223, 4, 0, 0, 0, 0,
+ 31, 0, 49, 0, 1, 0, 0, 0,104,199,223, 4, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,104,199,223, 4, 0, 0, 0, 0,
+ 31, 0, 51, 0, 1, 0, 0, 0,104,199,223, 4, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,104,199,223, 4, 0, 0, 0, 0,
+ 31, 0, 53, 0, 1, 0, 0, 0,104,199,223, 4, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,104,199,223, 4, 0, 0, 0, 0,
+ 31, 0, 55, 0, 1, 0, 0, 0,104,199,223, 4, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,104,199,223, 4, 0, 0, 0, 0,
+ 31, 0, 57, 0, 1, 0, 0, 0,104,199,223, 4, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,104,199,223, 4, 0, 0, 0, 0,
+ 31, 0, 59, 0, 1, 0, 0, 0,104,199,223, 4, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,104,199,223, 4, 0, 0, 0, 0,
+ 31, 0, 61, 0, 1, 0, 0, 0,104,199,223, 4, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,104,199,223, 4, 0, 0, 0, 0,
+ 31, 0, 63, 0, 1, 0, 0, 0,104,199,223, 4, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,104,199,223, 4, 0, 0, 0, 0,
+ 31, 0, 65, 0, 1, 0, 0, 0,104,199,223, 4, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,104,199,223, 4, 0, 0, 0, 0,
+ 31, 0, 67, 0, 1, 0, 0, 0,104,199,223, 4, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,104,199,223, 4, 0, 0, 0, 0,
+ 31, 0, 69, 0, 1, 0, 0, 0,104,199,223, 4, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 40,208,223, 4, 0, 0, 0, 0,
+ 31, 0, 1, 0, 1, 0, 0, 0, 40,208,223, 4, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 40,208,223, 4, 0, 0, 0, 0,
+ 31, 0, 3, 0, 1, 0, 0, 0, 40,208,223, 4, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 40,208,223, 4, 0, 0, 0, 0,
+ 31, 0, 5, 0, 1, 0, 0, 0, 40,208,223, 4, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 40,208,223, 4, 0, 0, 0, 0,
+ 31, 0, 7, 0, 1, 0, 0, 0, 40,208,223, 4, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 40,208,223, 4, 0, 0, 0, 0,
+ 31, 0, 9, 0, 1, 0, 0, 0, 40,208,223, 4, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 40,208,223, 4, 0, 0, 0, 0,
+ 31, 0, 11, 0, 1, 0, 0, 0, 40,208,223, 4, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 40,208,223, 4, 0, 0, 0, 0,
+ 31, 0, 13, 0, 1, 0, 0, 0, 40,208,223, 4, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 40,208,223, 4, 0, 0, 0, 0,
+ 31, 0, 15, 0, 1, 0, 0, 0, 40,208,223, 4, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 40,208,223, 4, 0, 0, 0, 0,
+ 31, 0, 17, 0, 1, 0, 0, 0, 40,208,223, 4, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 40,208,223, 4, 0, 0, 0, 0,
+ 31, 0, 19, 0, 1, 0, 0, 0, 40,208,223, 4, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 40,208,223, 4, 0, 0, 0, 0,
+ 31, 0, 21, 0, 1, 0, 0, 0, 40,208,223, 4, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, 40,208,223, 4, 0, 0, 0, 0,
+ 31, 0, 23, 0, 1, 0, 0, 0, 40,208,223, 4, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, 40,208,223, 4, 0, 0, 0, 0,
+ 31, 0, 25, 0, 1, 0, 0, 0, 40,208,223, 4, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0, 40,208,223, 4, 0, 0, 0, 0,
+ 31, 0, 27, 0, 1, 0, 0, 0, 40,208,223, 4, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0, 40,208,223, 4, 0, 0, 0, 0,
+ 31, 0, 29, 0, 1, 0, 0, 0, 40,208,223, 4, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0, 40,208,223, 4, 0, 0, 0, 0,
+ 31, 0, 31, 0, 1, 0, 0, 0, 40,208,223, 4, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0, 40,208,223, 4, 0, 0, 0, 0,
+ 31, 0, 33, 0, 1, 0, 0, 0, 40,208,223, 4, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0, 40,208,223, 4, 0, 0, 0, 0,
+ 31, 0, 35, 0, 1, 0, 0, 0, 40,208,223, 4, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0, 40,208,223, 4, 0, 0, 0, 0,
+ 31, 0, 37, 0, 1, 0, 0, 0, 40,208,223, 4, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0, 40,208,223, 4, 0, 0, 0, 0,
+ 31, 0, 39, 0, 1, 0, 0, 0, 40,208,223, 4, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0, 40,208,223, 4, 0, 0, 0, 0,
+ 31, 0, 41, 0, 1, 0, 0, 0, 40,208,223, 4, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0, 40,208,223, 4, 0, 0, 0, 0,
+ 31, 0, 43, 0, 1, 0, 0, 0, 40,208,223, 4, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0, 40,208,223, 4, 0, 0, 0, 0,
+ 31, 0, 45, 0, 1, 0, 0, 0, 40,208,223, 4, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0, 40,208,223, 4, 0, 0, 0, 0,
+ 31, 0, 47, 0, 1, 0, 0, 0, 40,208,223, 4, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0, 40,208,223, 4, 0, 0, 0, 0,
+ 31, 0, 49, 0, 1, 0, 0, 0, 40,208,223, 4, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0, 40,208,223, 4, 0, 0, 0, 0,
+ 31, 0, 51, 0, 1, 0, 0, 0, 40,208,223, 4, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0, 40,208,223, 4, 0, 0, 0, 0,
+ 31, 0, 53, 0, 1, 0, 0, 0, 40,208,223, 4, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0, 40,208,223, 4, 0, 0, 0, 0,
+ 31, 0, 55, 0, 1, 0, 0, 0, 40,208,223, 4, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0, 40,208,223, 4, 0, 0, 0, 0,
+ 31, 0, 57, 0, 1, 0, 0, 0, 40,208,223, 4, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0, 40,208,223, 4, 0, 0, 0, 0,
+ 31, 0, 59, 0, 1, 0, 0, 0, 40,208,223, 4, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0, 40,208,223, 4, 0, 0, 0, 0,
+ 31, 0, 61, 0, 1, 0, 0, 0, 40,208,223, 4, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0, 40,208,223, 4, 0, 0, 0, 0,
+ 31, 0, 63, 0, 1, 0, 0, 0, 40,208,223, 4, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0, 40,208,223, 4, 0, 0, 0, 0,
+ 31, 0, 65, 0, 1, 0, 0, 0, 40,208,223, 4, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0, 40,208,223, 4, 0, 0, 0, 0,
+ 31, 0, 67, 0, 1, 0, 0, 0, 40,208,223, 4, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0, 40,208,223, 4, 0, 0, 0, 0,
+ 31, 0, 69, 0, 1, 0, 0, 0, 40,208,223, 4, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,232,216,223, 4, 0, 0, 0, 0,
+ 31, 0, 1, 0, 1, 0, 0, 0,232,216,223, 4, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,232,216,223, 4, 0, 0, 0, 0,
+ 31, 0, 3, 0, 1, 0, 0, 0,232,216,223, 4, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,232,216,223, 4, 0, 0, 0, 0,
+ 31, 0, 5, 0, 1, 0, 0, 0,232,216,223, 4, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,232,216,223, 4, 0, 0, 0, 0,
+ 31, 0, 7, 0, 1, 0, 0, 0,232,216,223, 4, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,232,216,223, 4, 0, 0, 0, 0,
+ 31, 0, 9, 0, 1, 0, 0, 0,232,216,223, 4, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,232,216,223, 4, 0, 0, 0, 0,
+ 31, 0, 11, 0, 1, 0, 0, 0,232,216,223, 4, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,232,216,223, 4, 0, 0, 0, 0,
+ 31, 0, 13, 0, 1, 0, 0, 0,232,216,223, 4, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,232,216,223, 4, 0, 0, 0, 0,
+ 31, 0, 15, 0, 1, 0, 0, 0,232,216,223, 4, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,232,216,223, 4, 0, 0, 0, 0,
+ 31, 0, 17, 0, 1, 0, 0, 0,232,216,223, 4, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,232,216,223, 4, 0, 0, 0, 0,
+ 31, 0, 19, 0, 1, 0, 0, 0,232,216,223, 4, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,232,216,223, 4, 0, 0, 0, 0,
+ 31, 0, 21, 0, 1, 0, 0, 0,232,216,223, 4, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,232,216,223, 4, 0, 0, 0, 0,
+ 31, 0, 23, 0, 1, 0, 0, 0,232,216,223, 4, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,232,216,223, 4, 0, 0, 0, 0,
+ 31, 0, 25, 0, 1, 0, 0, 0,232,216,223, 4, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,232,216,223, 4, 0, 0, 0, 0,
+ 31, 0, 27, 0, 1, 0, 0, 0,232,216,223, 4, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,232,216,223, 4, 0, 0, 0, 0,
+ 31, 0, 29, 0, 1, 0, 0, 0,232,216,223, 4, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,232,216,223, 4, 0, 0, 0, 0,
+ 31, 0, 31, 0, 1, 0, 0, 0,232,216,223, 4, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,232,216,223, 4, 0, 0, 0, 0,
+ 31, 0, 33, 0, 1, 0, 0, 0,232,216,223, 4, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,232,216,223, 4, 0, 0, 0, 0,
+ 31, 0, 35, 0, 1, 0, 0, 0,232,216,223, 4, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,232,216,223, 4, 0, 0, 0, 0,
+ 31, 0, 37, 0, 1, 0, 0, 0,232,216,223, 4, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,232,216,223, 4, 0, 0, 0, 0,
+ 31, 0, 39, 0, 1, 0, 0, 0,232,216,223, 4, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,232,216,223, 4, 0, 0, 0, 0,
+ 31, 0, 41, 0, 1, 0, 0, 0,232,216,223, 4, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,232,216,223, 4, 0, 0, 0, 0,
+ 31, 0, 43, 0, 1, 0, 0, 0,232,216,223, 4, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,232,216,223, 4, 0, 0, 0, 0,
+ 31, 0, 45, 0, 1, 0, 0, 0,232,216,223, 4, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,232,216,223, 4, 0, 0, 0, 0,
+ 31, 0, 47, 0, 1, 0, 0, 0,232,216,223, 4, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,232,216,223, 4, 0, 0, 0, 0,
+ 31, 0, 49, 0, 1, 0, 0, 0,232,216,223, 4, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,232,216,223, 4, 0, 0, 0, 0,
+ 31, 0, 51, 0, 1, 0, 0, 0,232,216,223, 4, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,232,216,223, 4, 0, 0, 0, 0,
+ 31, 0, 53, 0, 1, 0, 0, 0,232,216,223, 4, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,232,216,223, 4, 0, 0, 0, 0,
+ 31, 0, 55, 0, 1, 0, 0, 0,232,216,223, 4, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,232,216,223, 4, 0, 0, 0, 0,
+ 31, 0, 57, 0, 1, 0, 0, 0,232,216,223, 4, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,232,216,223, 4, 0, 0, 0, 0,
+ 31, 0, 59, 0, 1, 0, 0, 0,232,216,223, 4, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,232,216,223, 4, 0, 0, 0, 0,
+ 31, 0, 61, 0, 1, 0, 0, 0,232,216,223, 4, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,232,216,223, 4, 0, 0, 0, 0,
+ 31, 0, 63, 0, 1, 0, 0, 0,232,216,223, 4, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,232,216,223, 4, 0, 0, 0, 0,
+ 31, 0, 65, 0, 1, 0, 0, 0,232,216,223, 4, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,232,216,223, 4, 0, 0, 0, 0,
+ 31, 0, 67, 0, 1, 0, 0, 0,232,216,223, 4, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,232,216,223, 4, 0, 0, 0, 0,
+ 31, 0, 69, 0, 1, 0, 0, 0,232,216,223, 4, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,152,112,222, 4, 0, 0, 0, 0,
+ 31, 0, 1, 0, 1, 0, 0, 0,152,112,222, 4, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,152,112,222, 4, 0, 0, 0, 0,
+ 31, 0, 3, 0, 1, 0, 0, 0,152,112,222, 4, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,152,112,222, 4, 0, 0, 0, 0,
+ 31, 0, 5, 0, 1, 0, 0, 0,152,112,222, 4, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,152,112,222, 4, 0, 0, 0, 0,
+ 31, 0, 7, 0, 1, 0, 0, 0,152,112,222, 4, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,152,112,222, 4, 0, 0, 0, 0,
+ 31, 0, 9, 0, 1, 0, 0, 0,152,112,222, 4, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,152,112,222, 4, 0, 0, 0, 0,
+ 31, 0, 11, 0, 1, 0, 0, 0,152,112,222, 4, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,152,112,222, 4, 0, 0, 0, 0,
+ 31, 0, 13, 0, 1, 0, 0, 0,152,112,222, 4, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,152,112,222, 4, 0, 0, 0, 0,
+ 31, 0, 15, 0, 1, 0, 0, 0,152,112,222, 4, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,152,112,222, 4, 0, 0, 0, 0,
+ 31, 0, 17, 0, 1, 0, 0, 0,152,112,222, 4, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,152,112,222, 4, 0, 0, 0, 0,
+ 31, 0, 19, 0, 1, 0, 0, 0,152,112,222, 4, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,152,112,222, 4, 0, 0, 0, 0,
+ 31, 0, 21, 0, 1, 0, 0, 0,152,112,222, 4, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,152,112,222, 4, 0, 0, 0, 0,
+ 31, 0, 23, 0, 1, 0, 0, 0,152,112,222, 4, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,152,112,222, 4, 0, 0, 0, 0,
+ 31, 0, 25, 0, 1, 0, 0, 0,152,112,222, 4, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,168,113,222, 4, 0, 0, 0, 0,
+ 31, 0, 1, 0, 1, 0, 0, 0,168,113,222, 4, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,168,113,222, 4, 0, 0, 0, 0,
+ 31, 0, 3, 0, 1, 0, 0, 0,168,113,222, 4, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,168,113,222, 4, 0, 0, 0, 0,
+ 31, 0, 5, 0, 1, 0, 0, 0,168,113,222, 4, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,168,113,222, 4, 0, 0, 0, 0,
+ 31, 0, 7, 0, 1, 0, 0, 0,168,113,222, 4, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,168,113,222, 4, 0, 0, 0, 0,
+ 31, 0, 9, 0, 1, 0, 0, 0,168,113,222, 4, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,168,113,222, 4, 0, 0, 0, 0,
+ 31, 0, 11, 0, 1, 0, 0, 0,168,113,222, 4, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,168,113,222, 4, 0, 0, 0, 0,
+ 31, 0, 13, 0, 1, 0, 0, 0,168,113,222, 4, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,168,113,222, 4, 0, 0, 0, 0,
+ 31, 0, 15, 0, 1, 0, 0, 0,168,113,222, 4, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,168,113,222, 4, 0, 0, 0, 0,
+ 31, 0, 17, 0, 1, 0, 0, 0,168,113,222, 4, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,168,113,222, 4, 0, 0, 0, 0,
+ 31, 0, 19, 0, 1, 0, 0, 0,168,113,222, 4, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,168,113,222, 4, 0, 0, 0, 0,
+ 31, 0, 21, 0, 1, 0, 0, 0,168,113,222, 4, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,168,113,222, 4, 0, 0, 0, 0,
+ 31, 0, 23, 0, 1, 0, 0, 0,168,113,222, 4, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,168,113,222, 4, 0, 0, 0, 0,
+ 31, 0, 25, 0, 1, 0, 0, 0,168,113,222, 4, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,168,113,222, 4, 0, 0, 0, 0,
+ 31, 0, 27, 0, 1, 0, 0, 0,168,113,222, 4, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,168,113,222, 4, 0, 0, 0, 0,
+ 31, 0, 29, 0, 1, 0, 0, 0,168,113,222, 4, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,168,113,222, 4, 0, 0, 0, 0,
+ 31, 0, 0, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0,
+ 31, 0, 2, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0,
+ 31, 0, 4, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0,
+ 31, 0, 6, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0,
+ 31, 0, 8, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0,
+ 31, 0, 10, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0,
+ 31, 0, 12, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0,
+ 31, 0, 14, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0,
+ 31, 0, 16, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0,
+ 31, 0, 18, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0,
+ 31, 0, 20, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0,
+ 31, 0, 22, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0,
+ 31, 0, 24, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0,
+ 31, 0, 26, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0,
+ 31, 0, 28, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0,
+ 31, 0, 30, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0,
+ 31, 0, 32, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0,
+ 31, 0, 34, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0,
+ 31, 0, 36, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0,
+ 31, 0, 38, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0,
+ 31, 0, 40, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0,
+ 31, 0, 42, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0,
+ 31, 0, 44, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0,
+ 31, 0, 46, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0,
+ 31, 0, 48, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0,
+ 31, 0, 50, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0,
+ 31, 0, 52, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0,
+ 31, 0, 54, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0,
+ 31, 0, 56, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0,
+ 31, 0, 58, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0,
+ 31, 0, 60, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0,
+ 31, 0, 62, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0,
+ 31, 0, 64, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0,
+ 31, 0, 66, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0,
+ 31, 0, 68, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0,
+ 31, 0, 70, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0, 31, 0, 71, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0,
+ 31, 0, 72, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0, 31, 0, 73, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0,
+ 31, 0, 74, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0, 31, 0, 75, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0,
+ 31, 0, 76, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0, 31, 0, 77, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0,
+ 31, 0, 78, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0, 31, 0, 79, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0,
+ 31, 0, 80, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0, 31, 0, 81, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0,
+ 31, 0, 82, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0, 31, 0, 83, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0,
+ 31, 0, 0, 0, 1, 0, 0, 0,168,181,222, 4, 0, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,168,181,222, 4, 0, 0, 0, 0,
+ 31, 0, 2, 0, 1, 0, 0, 0,168,181,222, 4, 0, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,168,181,222, 4, 0, 0, 0, 0,
+ 31, 0, 4, 0, 1, 0, 0, 0,168,181,222, 4, 0, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,168,181,222, 4, 0, 0, 0, 0,
+ 31, 0, 6, 0, 1, 0, 0, 0,168,181,222, 4, 0, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,168,181,222, 4, 0, 0, 0, 0,
+ 31, 0, 8, 0, 1, 0, 0, 0,168,181,222, 4, 0, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,168,181,222, 4, 0, 0, 0, 0,
+ 31, 0, 10, 0, 1, 0, 0, 0,168,181,222, 4, 0, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,168,181,222, 4, 0, 0, 0, 0,
+ 31, 0, 12, 0, 1, 0, 0, 0,168,181,222, 4, 0, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,168,181,222, 4, 0, 0, 0, 0,
+ 31, 0, 14, 0, 1, 0, 0, 0,168,181,222, 4, 0, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,168,181,222, 4, 0, 0, 0, 0,
+ 31, 0, 16, 0, 1, 0, 0, 0,168,181,222, 4, 0, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,168,181,222, 4, 0, 0, 0, 0,
+ 31, 0, 18, 0, 1, 0, 0, 0,168,181,222, 4, 0, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,168,181,222, 4, 0, 0, 0, 0,
+ 31, 0, 20, 0, 1, 0, 0, 0,168,181,222, 4, 0, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,168,181,222, 4, 0, 0, 0, 0,
+ 31, 0, 22, 0, 1, 0, 0, 0,168,181,222, 4, 0, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,168,181,222, 4, 0, 0, 0, 0,
+ 31, 0, 24, 0, 1, 0, 0, 0,168,181,222, 4, 0, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,168,181,222, 4, 0, 0, 0, 0,
+ 31, 0, 26, 0, 1, 0, 0, 0,168,181,222, 4, 0, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,168,181,222, 4, 0, 0, 0, 0,
+ 31, 0, 28, 0, 1, 0, 0, 0,168,181,222, 4, 0, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,168,181,222, 4, 0, 0, 0, 0,
+ 31, 0, 30, 0, 1, 0, 0, 0,168,181,222, 4, 0, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,168,181,222, 4, 0, 0, 0, 0,
+ 31, 0, 32, 0, 1, 0, 0, 0,168,181,222, 4, 0, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,168,181,222, 4, 0, 0, 0, 0,
+ 31, 0, 34, 0, 1, 0, 0, 0,168,181,222, 4, 0, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,168,181,222, 4, 0, 0, 0, 0,
+ 31, 0, 36, 0, 1, 0, 0, 0,168,181,222, 4, 0, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,168,181,222, 4, 0, 0, 0, 0,
+ 31, 0, 38, 0, 1, 0, 0, 0,168,181,222, 4, 0, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,168,181,222, 4, 0, 0, 0, 0,
+ 31, 0, 40, 0, 1, 0, 0, 0,168,181,222, 4, 0, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0,168,181,222, 4, 0, 0, 0, 0,
+ 31, 0, 42, 0, 1, 0, 0, 0,168,181,222, 4, 0, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0,168,181,222, 4, 0, 0, 0, 0,
+ 31, 0, 44, 0, 1, 0, 0, 0,168,181,222, 4, 0, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0,168,181,222, 4, 0, 0, 0, 0,
+ 31, 0, 46, 0, 1, 0, 0, 0,168,181,222, 4, 0, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0,168,181,222, 4, 0, 0, 0, 0,
+ 31, 0, 48, 0, 1, 0, 0, 0,168,181,222, 4, 0, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0,168,181,222, 4, 0, 0, 0, 0,
+ 31, 0, 50, 0, 1, 0, 0, 0,168,181,222, 4, 0, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0,168,181,222, 4, 0, 0, 0, 0,
+ 31, 0, 0, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0,
+ 31, 0, 2, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0,
+ 31, 0, 4, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0,
+ 31, 0, 6, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0,
+ 31, 0, 8, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0,
+ 31, 0, 10, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0,
+ 31, 0, 12, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0,
+ 31, 0, 14, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0,
+ 31, 0, 16, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0,
+ 31, 0, 18, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0,
+ 31, 0, 20, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0,
+ 31, 0, 22, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0,
+ 31, 0, 24, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0,
+ 31, 0, 26, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0,
+ 31, 0, 28, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0,
+ 31, 0, 30, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0,
+ 31, 0, 32, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0,
+ 31, 0, 34, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0,
+ 31, 0, 36, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0,
+ 31, 0, 38, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0,
+ 31, 0, 40, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0,
+ 31, 0, 42, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0,
+ 31, 0, 44, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0,
+ 31, 0, 46, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0,
+ 31, 0, 48, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0,
+ 31, 0, 50, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0,
+ 31, 0, 52, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0,
+ 31, 0, 54, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0,
+ 31, 0, 56, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0,
+ 31, 0, 58, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0,
+ 31, 0, 60, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0,
+ 31, 0, 62, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0,
+ 31, 0, 64, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0,
+ 31, 0, 66, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0,
+ 31, 0, 68, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0,
+ 31, 0, 70, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0, 31, 0, 71, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0,
+ 31, 0, 72, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0, 31, 0, 73, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0,
+ 31, 0, 74, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0, 31, 0, 75, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0,
+ 31, 0, 76, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0, 31, 0, 77, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0,
+ 31, 0, 78, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0, 31, 0, 79, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0,
+ 31, 0, 80, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0, 31, 0, 81, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0,
+ 31, 0, 82, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0, 31, 0, 83, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0,
+ 31, 0, 84, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0, 31, 0, 85, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0,
+ 31, 0, 86, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0, 31, 0, 87, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0,
+ 31, 0, 88, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0, 31, 0, 89, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0,
+ 31, 0, 90, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0, 31, 0, 91, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0,
+ 31, 0, 92, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0, 31, 0, 93, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0,
+ 31, 0, 94, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0, 31, 0, 95, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0,
+ 31, 0, 96, 0, 1, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0,
+ 31, 0, 1, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0,
+ 31, 0, 3, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0,
+ 31, 0, 5, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0,
+ 31, 0, 7, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0,
+ 31, 0, 9, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0,
+ 31, 0, 11, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0,
+ 31, 0, 13, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0,
+ 31, 0, 15, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0,
+ 31, 0, 17, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0,
+ 31, 0, 19, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0,
+ 31, 0, 21, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0,
+ 31, 0, 23, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0,
+ 31, 0, 25, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0,
+ 31, 0, 27, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0,
+ 31, 0, 29, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0,
+ 31, 0, 31, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0,
+ 31, 0, 33, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0,
+ 31, 0, 35, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0,
+ 31, 0, 37, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0,
+ 31, 0, 39, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0,
+ 31, 0, 41, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0,
+ 31, 0, 43, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0,
+ 31, 0, 45, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0,
+ 31, 0, 47, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0,
+ 31, 0, 49, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0,
+ 31, 0, 51, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0,
+ 31, 0, 53, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0,
+ 31, 0, 55, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0,
+ 31, 0, 57, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0,
+ 31, 0, 59, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0,
+ 31, 0, 61, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0,
+ 31, 0, 63, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0,
+ 31, 0, 65, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0,
+ 31, 0, 67, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0,
+ 31, 0, 69, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0, 31, 0, 70, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0,
+ 31, 0, 71, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0, 31, 0, 72, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0,
+ 31, 0, 73, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0, 31, 0, 74, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0,
+ 31, 0, 75, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0, 31, 0, 76, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0,
+ 31, 0, 77, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0, 31, 0, 78, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0,
+ 31, 0, 79, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0, 31, 0, 80, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0,
+ 31, 0, 81, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0, 31, 0, 82, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0,
+ 31, 0, 83, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0, 31, 0, 84, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0,
+ 31, 0, 85, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0, 31, 0, 86, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0,
+ 31, 0, 87, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0, 31, 0, 88, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0,
+ 31, 0, 89, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0, 31, 0, 90, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0,
+ 31, 0, 91, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0, 31, 0, 92, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0,
+ 31, 0, 93, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0, 31, 0, 94, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0,
+ 31, 0, 95, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0, 31, 0, 96, 0, 1, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0,
+ 31, 0, 0, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0,
+ 31, 0, 2, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0,
+ 31, 0, 4, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0,
+ 31, 0, 6, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0,
+ 31, 0, 8, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0,
+ 31, 0, 10, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0,
+ 31, 0, 12, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0,
+ 31, 0, 14, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0,
+ 31, 0, 16, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0,
+ 31, 0, 18, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0,
+ 31, 0, 20, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0,
+ 31, 0, 22, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0,
+ 31, 0, 24, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0,
+ 31, 0, 26, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0,
+ 31, 0, 28, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0,
+ 31, 0, 30, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0,
+ 31, 0, 32, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0,
+ 31, 0, 34, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0,
+ 31, 0, 36, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0,
+ 31, 0, 38, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0,
+ 31, 0, 40, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0,
+ 31, 0, 42, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0,
+ 31, 0, 44, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0,
+ 31, 0, 46, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0,
+ 31, 0, 48, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0,
+ 31, 0, 50, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0,
+ 31, 0, 52, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0,
+ 31, 0, 54, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0,
+ 31, 0, 56, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0,
+ 31, 0, 58, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0,
+ 31, 0, 60, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0,
+ 31, 0, 62, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0,
+ 31, 0, 64, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0,
+ 31, 0, 66, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0,
+ 31, 0, 68, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0,
+ 31, 0, 70, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0, 31, 0, 71, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0,
+ 31, 0, 72, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0, 31, 0, 73, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0,
+ 31, 0, 74, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0, 31, 0, 75, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0,
+ 31, 0, 76, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0, 31, 0, 77, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0,
+ 31, 0, 78, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0, 31, 0, 79, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0,
+ 31, 0, 80, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0, 31, 0, 81, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0,
+ 31, 0, 82, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0, 31, 0, 83, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0,
+ 31, 0, 84, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0, 31, 0, 85, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0,
+ 31, 0, 86, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0, 31, 0, 87, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0,
+ 31, 0, 88, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0, 31, 0, 89, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0,
+ 31, 0, 90, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0, 31, 0, 91, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0,
+ 31, 0, 92, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0, 31, 0, 93, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0,
+ 31, 0, 94, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0, 31, 0, 95, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0,
+ 31, 0, 96, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,232,152,200, 4, 0, 0, 0, 0,
+ 31, 0, 1, 0, 1, 0, 0, 0,232,152,200, 4, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,232,152,200, 4, 0, 0, 0, 0,
+ 31, 0, 3, 0, 1, 0, 0, 0,232,152,200, 4, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,232,152,200, 4, 0, 0, 0, 0,
+ 31, 0, 5, 0, 1, 0, 0, 0,232,152,200, 4, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,232,152,200, 4, 0, 0, 0, 0,
+ 31, 0, 7, 0, 1, 0, 0, 0,232,152,200, 4, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,232,152,200, 4, 0, 0, 0, 0,
+ 31, 0, 9, 0, 1, 0, 0, 0,232,152,200, 4, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 56,248,200, 4, 0, 0, 0, 0,
+ 31, 0, 1, 0, 1, 0, 0, 0, 56,248,200, 4, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 56,248,200, 4, 0, 0, 0, 0,
+ 31, 0, 3, 0, 1, 0, 0, 0, 56,248,200, 4, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 56,248,200, 4, 0, 0, 0, 0,
+ 31, 0, 5, 0, 1, 0, 0, 0, 56,248,200, 4, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 56,248,200, 4, 0, 0, 0, 0,
+ 31, 0, 7, 0, 1, 0, 0, 0, 56,248,200, 4, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 56,248,200, 4, 0, 0, 0, 0,
+ 31, 0, 9, 0, 1, 0, 0, 0, 56,248,200, 4, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,184,100,201, 4, 0, 0, 0, 0,
+ 31, 0, 1, 0, 1, 0, 0, 0,184,100,201, 4, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,184,100,201, 4, 0, 0, 0, 0,
+ 31, 0, 3, 0, 1, 0, 0, 0,184,100,201, 4, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,184,100,201, 4, 0, 0, 0, 0,
+ 31, 0, 5, 0, 1, 0, 0, 0,184,100,201, 4, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,184,100,201, 4, 0, 0, 0, 0,
+ 31, 0, 7, 0, 1, 0, 0, 0,184,100,201, 4, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,184,100,201, 4, 0, 0, 0, 0,
+ 31, 0, 9, 0, 1, 0, 0, 0,184,100,201, 4, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,104,254,220, 4, 0, 0, 0, 0,
+ 31, 0, 1, 0, 1, 0, 0, 0,104,254,220, 4, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,104,254,220, 4, 0, 0, 0, 0,
+ 31, 0, 3, 0, 1, 0, 0, 0,104,254,220, 4, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,104,254,220, 4, 0, 0, 0, 0,
+ 31, 0, 5, 0, 1, 0, 0, 0,104,254,220, 4, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,104,254,220, 4, 0, 0, 0, 0,
+ 31, 0, 7, 0, 1, 0, 0, 0,104,254,220, 4, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,104,254,220, 4, 0, 0, 0, 0,
+ 31, 0, 9, 0, 1, 0, 0, 0,104,254,220, 4, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,248,149,221, 4, 0, 0, 0, 0,
+ 31, 0, 1, 0, 1, 0, 0, 0,248,149,221, 4, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,248,149,221, 4, 0, 0, 0, 0,
+ 31, 0, 3, 0, 1, 0, 0, 0,248,149,221, 4, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,248,149,221, 4, 0, 0, 0, 0,
+ 31, 0, 5, 0, 1, 0, 0, 0,248,149,221, 4, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,248,149,221, 4, 0, 0, 0, 0,
+ 31, 0, 7, 0, 1, 0, 0, 0,248,149,221, 4, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,248,149,221, 4, 0, 0, 0, 0,
+ 31, 0, 9, 0, 1, 0, 0, 0,248,149,221, 4, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,184,228,221, 4, 0, 0, 0, 0,
+ 31, 0, 1, 0, 1, 0, 0, 0,184,228,221, 4, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,184,228,221, 4, 0, 0, 0, 0,
+ 31, 0, 3, 0, 1, 0, 0, 0,184,228,221, 4, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,184,228,221, 4, 0, 0, 0, 0,
+ 31, 0, 5, 0, 1, 0, 0, 0,184,228,221, 4, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,184,228,221, 4, 0, 0, 0, 0,
+ 31, 0, 7, 0, 1, 0, 0, 0,184,228,221, 4, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,184,228,221, 4, 0, 0, 0, 0,
+ 31, 0, 9, 0, 1, 0, 0, 0,184,228,221, 4, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,216, 43,222, 4, 0, 0, 0, 0,
+ 31, 0, 1, 0, 1, 0, 0, 0,216, 43,222, 4, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,216, 43,222, 4, 0, 0, 0, 0,
+ 31, 0, 3, 0, 1, 0, 0, 0,216, 43,222, 4, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,216, 43,222, 4, 0, 0, 0, 0,
+ 31, 0, 5, 0, 1, 0, 0, 0,216, 43,222, 4, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,216, 43,222, 4, 0, 0, 0, 0,
+ 31, 0, 7, 0, 1, 0, 0, 0,216, 43,222, 4, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,216, 43,222, 4, 0, 0, 0, 0,
+ 31, 0, 9, 0, 1, 0, 0, 0,216, 43,222, 4, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,248,162,222, 4, 0, 0, 0, 0,
+ 31, 0, 1, 0, 1, 0, 0, 0,248,162,222, 4, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,248,162,222, 4, 0, 0, 0, 0,
+ 31, 0, 3, 0, 1, 0, 0, 0,248,162,222, 4, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,248,162,222, 4, 0, 0, 0, 0,
+ 31, 0, 5, 0, 1, 0, 0, 0,248,162,222, 4, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,248,162,222, 4, 0, 0, 0, 0,
+ 31, 0, 7, 0, 1, 0, 0, 0,248,162,222, 4, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,248,162,222, 4, 0, 0, 0, 0,
+ 31, 0, 9, 0, 1, 0, 0, 0,248,162,222, 4, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,248,162,222, 4, 0, 0, 0, 0,
+ 31, 0, 11, 0, 1, 0, 0, 0,248,162,222, 4, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,248,162,222, 4, 0, 0, 0, 0,
+ 31, 0, 13, 0, 1, 0, 0, 0,248,162,222, 4, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,248,162,222, 4, 0, 0, 0, 0,
+ 31, 0, 15, 0, 1, 0, 0, 0,248,162,222, 4, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,248,162,222, 4, 0, 0, 0, 0,
+ 31, 0, 17, 0, 1, 0, 0, 0,248,162,222, 4, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,248,162,222, 4, 0, 0, 0, 0,
+ 31, 0, 0, 0, 1, 0, 0, 0,248,149,200, 4, 0, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,248,149,200, 4, 0, 0, 0, 0,
+ 31, 0, 2, 0, 1, 0, 0, 0,248,149,200, 4, 0, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,248,149,200, 4, 0, 0, 0, 0,
+ 31, 0, 4, 0, 1, 0, 0, 0,248,149,200, 4, 0, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,248,149,200, 4, 0, 0, 0, 0,
+ 31, 0, 6, 0, 1, 0, 0, 0,248,149,200, 4, 0, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,248,149,200, 4, 0, 0, 0, 0,
+ 31, 0, 8, 0, 1, 0, 0, 0,248,149,200, 4, 0, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,248,149,200, 4, 0, 0, 0, 0,
+ 31, 0, 10, 0, 1, 0, 0, 0,248,149,200, 4, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 8,118,222, 4, 0, 0, 0, 0,
+ 31, 0, 1, 0, 1, 0, 0, 0, 8,118,222, 4, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 8,118,222, 4, 0, 0, 0, 0,
+ 31, 0, 3, 0, 1, 0, 0, 0, 8,118,222, 4, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 8,118,222, 4, 0, 0, 0, 0,
+ 31, 0, 5, 0, 1, 0, 0, 0, 8,118,222, 4, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 8,118,222, 4, 0, 0, 0, 0,
+ 31, 0, 7, 0, 1, 0, 0, 0, 8,118,222, 4, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 8,118,222, 4, 0, 0, 0, 0,
+ 31, 0, 9, 0, 1, 0, 0, 0, 8,118,222, 4, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 8,118,222, 4, 0, 0, 0, 0,
+ 31, 0, 11, 0, 1, 0, 0, 0, 8,118,222, 4, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 8,118,222, 4, 0, 0, 0, 0,
+ 31, 0, 13, 0, 1, 0, 0, 0, 8,118,222, 4, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 8,118,222, 4, 0, 0, 0, 0,
+ 31, 0, 15, 0, 1, 0, 0, 0, 8,118,222, 4, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 8,118,222, 4, 0, 0, 0, 0,
+ 31, 0, 17, 0, 1, 0, 0, 0, 8,118,222, 4, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 8,118,222, 4, 0, 0, 0, 0,
+ 31, 0, 19, 0, 1, 0, 0, 0, 8,118,222, 4, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 8,118,222, 4, 0, 0, 0, 0,
+ 68, 65, 84, 65,160, 0, 0, 0,232,215,220, 4, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+200, 31,220, 4, 0, 0, 0, 0,104,106,201, 4, 0, 0, 0, 0,200,103,201, 4, 0, 0, 0, 0, 24,105,201, 4, 0, 0, 0, 0,
+216,106,201, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 6, 0, 0,157, 0, 0, 0, 99, 4, 0, 0,
+ 1, 1,100, 6,199, 3, 1, 0, 0, 0, 0, 0, 0, 0, 8, 0, 88,132,109, 3, 0, 0, 0, 0, 40,252,220, 4, 0, 0, 0, 0,
+ 40,252,220, 4, 0, 0, 0, 0,216,216,220, 4, 0, 0, 0, 0,248,246,220, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,168, 3,168, 4, 0, 0, 0, 0, 88, 79,171, 4, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,
+216,216,220, 4, 0, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0, 72,218,220, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,192,108, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,128,204, 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, 99, 6, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 96,204, 68, 0, 0,200, 65, 0, 96,204, 68, 0, 0,200, 65,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,100, 6, 26, 0,100, 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, 99, 6, 0, 0,157, 0, 0, 0,182, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,100, 6, 26, 0, 10, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,142,109, 3, 0, 0, 0, 0,184,213,193, 4, 0, 0, 0, 0,
+184,213,193, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,190,149, 3, 0, 0, 0, 0,
+ 40,194,149, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,
+ 72,218,220, 4, 0, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0,120,242,220, 4, 0, 0, 0, 0,216,216,220, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,128,178, 67, 0, 64, 53,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67, 0, 64, 53,196, 0, 0, 0, 0,
+143, 0, 0, 0,160, 0, 0, 0, 0, 0, 0, 0,212, 2, 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, 0, 0, 0, 0,212, 2, 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, 3, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,160, 0,213, 2,143, 0,213, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,159, 0, 0, 0,143, 1, 0, 0, 99, 4, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 0,213, 2, 11, 0, 5, 0, 3, 0, 0, 0, 0, 0, 0, 0,
+160, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,139,109, 3, 0, 0, 0, 0,168,192,202, 4, 0, 0, 0, 0,
+168,192,202, 4, 0, 0, 0, 0,184,219,220, 4, 0, 0, 0, 0,216,240,220, 4, 0, 0, 0, 0,248,194,149, 3, 0, 0, 0, 0,
+104,197,149, 3, 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,
+184,219,220, 4, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0, 88,221,220, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+104, 72, 29, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95,
+111, 98,106,101, 99,116,109,111,100,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, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95,
+111, 98,106,101, 99,116,109,111,100,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, 79, 98,106,101, 99,116, 32, 84,111,111,108,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, 16,253, 76, 1, 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,233,253,143, 0,255, 1, 0, 0, 0, 0, 0, 0, 39, 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,
- 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0,120,134,167, 5, 0, 0, 0, 0,180, 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, 4, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 88,221,220, 4, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,
+248,222,220, 4, 0, 0, 0, 0,184,219,220, 4, 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,111,111,108,115, 95, 98,114,117,115,104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 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,111,111,108,115, 95, 98,114,117,115,104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 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,114,117,115,104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,189,254,143, 0, 43, 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, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,184,135,167, 5,
- 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0, 40,143,167, 5, 0, 0, 0, 0, 40,111,167, 5, 0, 0, 0, 0, 8, 92,167, 5,
- 0, 0, 0, 0,168, 94,167, 5, 0, 0, 0, 0, 24, 95,167, 5, 0, 0, 0, 0,136, 95,167, 5, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 31, 6, 0, 0, 0, 0, 0, 0,139, 1, 0, 0, 17, 17, 32, 6,140, 1, 1, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,142,167, 5, 0, 0, 0, 0,152,142,167, 5, 0, 0, 0, 0,168,136,167, 5,
- 0, 0, 0, 0, 40,141,167, 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, 68, 65, 84, 65, 40, 1, 0, 0,168,136,167, 5, 0, 0, 0, 0,216, 0, 0, 0,
- 1, 0, 0, 0, 24,138,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 74, 67, 0, 0, 0, 0,
- 0, 0,208, 65, 0, 0, 0, 0, 0, 0,196, 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, 6, 0, 0, 0, 0, 0, 0,
- 25, 0, 0, 0, 0,224,195, 68, 0, 0,200, 65, 0,224,195, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 32, 6, 26, 0, 32, 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, 31, 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, 32, 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, 68, 65, 84, 65, 88, 1, 0, 0,
+248,222,220, 4, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,152,224,220, 4, 0, 0, 0, 0, 88,221,220, 4, 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,111,111,108,115, 95,
+ 98,114,117,115,104, 95,116,111,111,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, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95,
+ 98,114,117,115,104, 95,116,111,111,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, 84,111,111,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, 74,254,143, 0, 61, 0, 0, 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, 68, 65, 84, 65, 40, 1, 0, 0, 24,138,167, 5, 0, 0, 0, 0,216, 0, 0, 0,
- 1, 0, 0, 0, 40,141,167, 5, 0, 0, 0, 0,168,136,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 67, 0, 0,185,195,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 67, 0, 0,185,195, 0, 0, 0, 0,203, 0, 0, 0,220, 0, 0, 0, 0, 0, 0, 0,
-113, 1, 0, 0, 0, 0, 0, 0,202, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,202, 0, 0, 0, 0, 0, 0, 0,
-113, 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, 3, 0, 0,
- 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,220, 0,114, 1,203, 0,114, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,219, 0, 0, 0, 26, 0, 0, 0,139, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,220, 0,114, 1, 0, 0, 4, 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,136,139,167, 5,
- 0, 0, 0, 0,136,139,167, 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, 68, 65, 84, 65, 88, 1, 0, 0,136,139,167, 5, 0, 0, 0, 0,214, 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, 76, 79, 71, 73, 67, 95, 80, 84, 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, 0, 0, 0, 0,
- 0, 0, 0, 0, 76, 79, 71, 73, 67, 95, 80, 84, 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, 68, 65, 84, 65, 88, 1, 0, 0,152,224,220, 4, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,
+ 56,226,220, 4, 0, 0, 0, 0,248,222,220, 4, 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,111,111,108,115, 95, 98,114,117,115,104, 95,115,116,114,111,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, 80,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,
+ 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95, 98,114,117,115,104, 95,115,116,114,111,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,196,255,203, 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 83,116,114,111,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,165,254,143, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 1, 0, 0, 40,141,167, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,138,167, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 68, 0, 0, 0, 0, 0, 0,112, 67, 0, 80, 31,195, 0,234,179, 68,224,198,182,194,
-184,177,165, 67, 51, 5, 0, 0, 68, 5, 0, 0, 18, 0, 0, 0,113, 1, 0, 0, 0, 0, 0, 0, 50, 5, 0, 0, 0, 0, 0, 0,
- 17, 0, 0, 0, 0, 0, 0, 0, 50, 5, 0, 0, 18, 0, 0, 0,113, 1, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,250, 70,
- 0, 0,250, 70, 0, 0, 0, 63, 72,225,154, 63, 10, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 4, 0, 0, 68, 5,114, 1, 51, 5,
- 96, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,220, 0, 0, 0, 31, 6, 0, 0, 26, 0, 0, 0,
-139, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 5,114, 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, 68, 65, 84, 65, 88, 1, 0, 0,
+ 56,226,220, 4, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,216,227,220, 4, 0, 0, 0, 0,152,224,220, 4, 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,111,111,108,115, 95,
+ 98,114,117,115,104, 95, 99,117,114,118,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, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95,
+ 98,114,117,115,104, 95, 99,117,114,118,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, 67,117,114,118,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, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 72, 0, 0, 0,152,142,167, 5, 0, 0, 0, 0,193, 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, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-160, 0, 0, 0, 40,143,167, 5, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,232,149,167, 5, 0, 0, 0, 0,184,135,167, 5,
- 0, 0, 0, 0,104, 96,167, 5, 0, 0, 0, 0,216, 96,167, 5, 0, 0, 0, 0, 56, 94,167, 5, 0, 0, 0, 0,248, 95,167, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, 5, 0, 0,126, 7, 0, 0,141, 1, 0, 0,233, 3, 0, 0, 9, 9, 62, 2,
- 93, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,146,167, 5, 0, 0, 0, 0,248,146,167, 5,
- 0, 0, 0, 0, 24,144,167, 5, 0, 0, 0, 0,136,145,167, 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, 68, 65, 84, 65, 40, 1, 0, 0, 24,144,167, 5,
- 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,136,145,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,230, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,128, 15, 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,141,254,143, 0, 0, 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,
- 61, 2, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 64, 15, 68, 0, 0,200, 65, 0, 64, 15, 68, 0, 0,200, 65, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 62, 2, 26, 0, 62, 2, 26, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, 5, 0, 0,126, 7, 0, 0,141, 1, 0, 0,166, 1, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 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, 88, 1, 0, 0,216,227,220, 4, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,
+120,229,220, 4, 0, 0, 0, 0, 56,226,220, 4, 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,111,111,108,115, 95, 98,114,117,115,104, 95, 97,112,112,101, 97,114, 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, 68, 65, 84, 65, 40, 1, 0, 0,136,145,167, 5,
- 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,144,167, 5, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,128,181, 67, 0, 0, 0, 0, 0,128,218, 67, 0, 0, 0, 0,131,248, 1, 68, 0, 0, 0, 0, 86, 26, 3, 68, 0, 0, 0, 0,
+ 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95, 98,114,117,115,104, 95, 97,112,112,101, 97,114, 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,
- 61, 2, 0, 0, 0, 0, 0, 0, 66, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10,215, 35, 60,
- 0, 0,122, 68, 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 4, 10, 0, 62, 2, 67, 2, 62, 2, 67, 2, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, 5, 0, 0,126, 7, 0, 0,167, 1, 0, 0,233, 3, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 2, 67, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 65,112,112,101, 97,114, 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,117,254,143, 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, 0, 0, 68, 65, 84, 65,160, 2, 0, 0,248,146,167, 5,
- 0, 0, 0, 0,187, 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, 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, 12, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 4, 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, 68, 65, 84, 65, 88, 1, 0, 0,
+120,229,220, 4, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0, 24,231,220, 4, 0, 0, 0, 0,216,227,220, 4, 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,111,111,108,115, 95,
+118,101,114,116,101,120,112, 97,105,110,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, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95,
+118,101,114,116,101,120,112, 97,105,110,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, 79,112,116,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, 0, 0, 0,149,253,143, 0,146, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 24,231,220, 4, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,
+184,232,220, 4, 0, 0, 0, 0,120,229,220, 4, 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,111,111,108,115, 95, 98,114,117,115,104, 95,116,101,120,116,117,114,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,
+ 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95, 98,114,117,115,104, 95,116,101,120,116,117,114,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,
+ 84,101,120,116,117,114,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, 93,254,143, 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, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,
+184,232,220, 4, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0, 88,234,220, 4, 0, 0, 0, 0, 24,231,220, 4, 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,115, 99,117,108,112,116,
+ 95,111,112,116,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, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,115, 99,117,108,112,116,
+ 95,111,112,116,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, 79,112,116,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, 0, 0, 0, 21,254,143, 0, 0, 0, 0, 0, 0, 0, 4, 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,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 88,234,220, 4, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,
+248,235,220, 4, 0, 0, 0, 0,184,232,220, 4, 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,115, 99,117,108,112,116, 95,115,121,109,109,101,116,114,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,
+ 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,115, 99,117,108,112,116, 95,115,121,109,109,101,116,114,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,
+ 83,121,109,109,101,116,114,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,253,253,143, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,232,149,167, 5, 0, 0, 0, 0,215, 0, 0, 0,
- 1, 0, 0, 0,120,163,167, 5, 0, 0, 0, 0, 40,143,167, 5, 0, 0, 0, 0, 72, 97,167, 5, 0, 0, 0, 0,184, 97,167, 5,
- 0, 0, 0, 0,216, 96,167, 5, 0, 0, 0, 0,104, 96,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 69, 1, 0, 0,
- 63, 5, 0, 0,141, 1, 0, 0,233, 3, 0, 0, 1, 1,251, 3, 93, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,200,161,167, 5, 0, 0, 0, 0,200,161,167, 5, 0, 0, 0, 0,216,150,167, 5, 0, 0, 0, 0,152,156,167, 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, 68, 65, 84, 65, 88, 1, 0, 0,
+248,235,220, 4, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,152,237,220, 4, 0, 0, 0, 0, 88,234,220, 4, 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,111,111,108,115, 95,
+109,101,115,104,101,100,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, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95,
+109,101,115,104,101,100,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, 77,101,115,104, 32, 84,111,111,108,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, 68, 65, 84, 65, 40, 1, 0, 0,216,150,167, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 72,152,167, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64,113, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0,
- 0,192,126, 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,250, 3, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,128,126, 68,
- 0, 0,200, 65, 0,128,126, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0,
- 10, 0,251, 3, 26, 0,251, 3, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 69, 1, 0, 0,
- 63, 5, 0, 0,141, 1, 0, 0,166, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,251, 3, 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,164,252,143, 0, 68, 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, 68, 65, 84, 65, 40, 1, 0, 0, 72,152,167, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,184,153,167, 5,
- 0, 0, 0, 0,216,150,167, 5, 0, 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, 69, 1, 0, 0,
- 69, 1, 0, 0,167, 1, 0, 0,233, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 67, 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, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,152,237,220, 4, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,
+ 56,239,220, 4, 0, 0, 0, 0,248,235,220, 4, 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,111,111,108,115, 95,109,101,115,104,101,100,105,116, 95,111,112,116,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, 68, 65, 84, 65, 40, 1, 0, 0,184,153,167, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 40,155,167, 5,
- 0, 0, 0, 0, 72,152,167, 5, 0, 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, 69, 1, 0, 0,
- 63, 5, 0, 0,167, 1, 0, 0,167, 1, 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,
+ 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95,109,101,115,104,101,100,105,116, 95,111,112,116,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,
+ 77,101,115,104, 32, 79,112,116,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, 68, 65, 84, 65, 40, 1, 0, 0, 40,155,167, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,152,156,167, 5,
- 0, 0, 0, 0,184,153,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 67, 0, 0,109,196, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 35, 67, 0, 0,109,196, 0,128,145,195,163, 0, 0, 0,180, 0, 0, 0, 0, 0, 0, 0,144, 2, 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, 0, 0, 0, 0,144, 2, 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,180, 0,145, 2,163, 0,145, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 5, 0, 0,
- 63, 5, 0, 0,167, 1, 0, 0,233, 3, 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,235,251,143, 0,161, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,152,156,167, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 40,155,167, 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, 68, 65, 84, 65, 88, 1, 0, 0,
+ 56,239,220, 4, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,216,240,220, 4, 0, 0, 0, 0,152,237,220, 4, 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,111,111,108,115, 95,
+119,101,105,103,104,116,112, 97,105,110,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, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95,
+119,101,105,103,104,116,112, 97,105,110,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, 87,101,105,103,104,116, 32, 84,111,111,108,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,159,253,143, 0,190, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 69, 1, 0, 0,
- 63, 5, 0, 0,167, 1, 0, 0,233, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,251, 3, 67, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,216,240,220, 4, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 56,239,220, 4, 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,111,111,108,115, 95,119,101,105,103,104,116,112, 97,105,110,116, 95,111,112,116,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,
+ 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95,119,101,105,103,104,116,112, 97,105,110,116, 95,111,112,116,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,
+ 79,112,116,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, 0,
+ 0, 0,157,252,143, 0,234, 0, 0, 0, 0, 0, 0, 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, 8,158,167, 5,
- 0, 0, 0, 0, 68, 65, 84, 65,112, 3, 0, 0, 8,158,167, 5, 0, 0, 0, 0,174, 0, 0, 0, 1, 0, 0, 0,190, 35, 30, 61,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 40,139, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,111, 18, 3,187, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0,128, 0, 0, 0,128, 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, 0, 0, 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, 0, 0, 0, 0,128, 63,190, 35, 30, 61,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 40,139, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,111, 18, 3,187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,149, 53,207, 65,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,112,121,107, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,255,255,249,195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0,128, 63,190, 35, 30, 61,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 40,139, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,111, 18, 3,187, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 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, 40, 1, 0, 0,
+120,242,220, 4, 0, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0,136,245,220, 4, 0, 0, 0, 0, 72,218,220, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,128,178, 67, 0, 0, 90,195, 0, 0, 0, 0, 0, 0, 0, 0,227,102, 16, 67, 24, 30, 90,195, 0, 0, 0, 0,
+143, 0, 0, 0,160, 0, 0, 0, 0, 0, 0, 0,215, 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, 0, 0, 0, 0,215, 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, 3, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,160, 0,216, 0,143, 0,216, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,159, 0, 0, 0,183, 0, 0, 0,142, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 0,216, 0, 12, 0, 6, 0, 34, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,140,109, 3, 0, 0, 0, 0, 56,133,193, 4, 0, 0, 0, 0,
+ 56,133,193, 4, 0, 0, 0, 0,232,243,220, 4, 0, 0, 0, 0,232,243,220, 4, 0, 0, 0, 0, 56, 25,193, 4, 0, 0, 0, 0,
+ 8,183,149, 3, 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,
+232,243,220, 4, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+152,141,109, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,108, 97,115,116, 95,111,
+112,101,114, 97,116,111,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, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,108, 97,115,116, 95,111,
+112,101,114, 97,116,111,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, 79,112,101,114, 97,116,111,114, 0, 32, 77, 97,112, 0,111,100,
+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,216,255,144, 0, 16, 0, 0, 0, 0, 0, 0, 0, 39, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 40, 1, 0, 0,136,245,220, 4, 0, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0,
+248,246,220, 4, 0, 0, 0, 0,120,242,220, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 67, 0, 96,158,196, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 35, 67, 0, 96,158,196, 0,128,142,195,163, 0, 0, 0,180, 0, 0, 0, 0, 0, 0, 0,213, 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, 0, 0, 0, 0,213, 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, 1, 0, 0, 1, 0, 7, 0,
+ 18, 0, 0, 4, 6, 0,180, 0,214, 3,163, 0,214, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 99, 6, 0, 0, 99, 6, 0, 0,183, 0, 0, 0, 99, 4, 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, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+120,134,109, 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, 68, 65, 84, 65, 40, 1, 0, 0,248,246,220, 4, 0, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,136,245,220, 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,207, 3,116, 64,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,207, 3,116, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,207, 3,116, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,149, 53,207, 65,214,211,111, 65, 0, 0, 0, 0, 0, 0, 0, 0,221, 57, 80, 61,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 65, 0, 0, 5, 0,251,251, 0, 0, 92, 62, 55, 63, 56,186,224,190,
-237,203,148,190, 3,236,234,190, 1, 0, 0, 0, 0, 0,128, 63, 0, 0,180, 66, 0, 0,180, 66, 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, 1, 0, 0,200,161,167, 5, 0, 0, 0, 0,175, 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, 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,205,204, 76, 62, 2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 1, 0, 7, 0, 24,213,168, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0,
- 1, 0, 3, 0, 8, 8,128, 0, 0, 0, 12, 66, 0, 0,128, 63,205,204,204, 61, 0, 0,122, 68, 0, 0, 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, 10, 0, 7, 1, 0, 3, 0, 0, 0, 0, 0, 0,
+160, 0, 0, 0, 99, 6, 0, 0,183, 0, 0, 0, 99, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+196, 5,173, 3, 13, 0, 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,
+120,133,109, 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, 40,123,186, 4, 0, 0, 0, 0, 88,122,186, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+104,248,220, 4, 0, 0, 0, 0, 68, 65, 84, 65,112, 3, 0, 0,104,248,220, 4, 0, 0, 0, 0,175, 0, 0, 0, 1, 0, 0, 0,
+255,255,139, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,159,152,219, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,142, 6,128,191, 0, 0,128,191, 0, 0, 0, 0, 0, 0, 0, 0, 11,210, 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, 33,210,111,193, 0, 0,128, 63,
+ 68,239,209, 62, 70,119,105, 63,176, 84, 89,188, 0, 0, 0, 0, 52,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, 62, 95, 68, 65, 51,120,173,192,115,208,213, 64, 0, 0,128, 63,
+177,157,229, 62, 56,113, 48,191,116,169, 81,191,184,158, 81,191,115, 90,127, 63, 0, 24,170, 62,158, 53,185, 62, 35, 44,185, 62,
+143,180,109,188, 99,140,196, 63,218, 72,228,190, 42, 61,228,190, 0, 0, 0, 0, 0, 0, 0, 0, 33,171,108, 65, 33,210,111, 65,
+ 39,240,191, 62,126,116, 85, 63, 96,189, 70,188, 0, 0,186,180, 48,202,111,190,126, 41,231, 61,228,142, 5, 63, 0, 0,224, 51,
+197,112,117,194,178,208,216, 65,221,158, 5,194,231,251,159,192,221, 54,114, 66, 29,247,213,193, 59,221, 3, 66, 25, 4,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, 33,210,111,193, 0, 0,128, 63,
+177,157,229, 62, 56,113, 48,191,116,169, 81,191,184,158, 81,191,115, 90,127, 63, 0, 24,170, 62,158, 53,185, 62, 35, 44,185, 62,
+143,180,109,188, 99,140,196, 63,218, 72,228,190, 42, 61,228,190, 0, 0, 0, 0, 0, 0, 0, 0, 33,171,108, 65, 33,210,111, 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, 68, 65, 84, 65,160, 0, 0, 0,120,163,167, 5, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,232,149,167, 5, 0, 0, 0, 0,168, 94,167, 5, 0, 0, 0, 0,200, 93,167, 5, 0, 0, 0, 0,184, 97,167, 5,
- 0, 0, 0, 0, 72, 97,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 1, 0, 0,141, 1, 0, 0,
-233, 3, 0, 0, 3, 3, 68, 1, 93, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,167,167, 5,
- 0, 0, 0, 0, 72,167,167, 5, 0, 0, 0, 0,104,164,167, 5, 0, 0, 0, 0,216,165,167, 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, 68, 65, 84, 65,
- 40, 1, 0, 0,104,164,167, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,216,165,167, 5, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0,128,244, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0,162, 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, 67, 1, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,128,161, 67, 0, 0,200, 65, 0,128,161, 67,
- 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 68, 1, 26, 0, 68, 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, 67, 1, 0, 0,141, 1, 0, 0,
-166, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 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, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 1, 0, 0,216,165,167, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104,164,167, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0,128,141, 67, 0, 0,244,194, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,153, 67, 0, 64, 12,196,
- 0, 0, 0, 0, 51, 1, 0, 0, 68, 1, 0, 0, 18, 0, 0, 0, 66, 2, 0, 0, 0, 0, 0, 0, 50, 1, 0, 0, 0, 0, 0, 0,
- 17, 0, 0, 0, 0, 0, 0, 0, 50, 1, 0, 0, 18, 0, 0, 0, 66, 2, 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, 6, 0, 0, 2, 0, 3, 3, 0, 0, 12, 4, 6, 0, 68, 1, 67, 2, 51, 1,
- 49, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 1, 0, 0,167, 1, 0, 0,
-233, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 1, 67, 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, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 24, 1, 0, 0, 72,167,167, 5, 0, 0, 0, 0,184, 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, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120, 82,137, 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, 1, 0, 0, 0, 68, 65, 84, 65, 16, 0, 0, 0,120, 82,137, 5, 0, 0, 0, 0,238, 0, 0, 0,
- 1, 0, 0, 0, 14, 0, 0, 0, 14, 0, 0, 0,168,168,167, 5, 0, 0, 0, 0, 68, 65, 84, 65,224, 0, 0, 0,168,168,167, 5,
- 0, 0, 0, 0,237, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,120,184,168, 5, 0, 0, 0, 0, 19, 0, 0, 0,
- 1, 0, 1, 0,120,184,168, 5, 0, 0, 0, 0, 20, 0, 0, 0, 1, 0, 1, 0,120,184,168, 5, 0, 0, 0, 0, 21, 0, 1, 0,
- 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 72,210,168, 5, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 1, 0,184,219,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,184, 17,169, 5, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 1, 0,248,232,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 8,255,168, 5, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 1, 0, 88,226,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,232,205,168, 5, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 1, 0, 24,213,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,216,204,168, 5, 0, 0, 0, 0, 21, 0, 0, 0,
- 1, 0, 1, 0,120,184,168, 5, 0, 0, 0, 0, 83, 78, 0, 0, 8, 1, 0, 0,104,170,167, 5, 0, 0, 0, 0,211, 0, 0, 0,
- 1, 0, 0, 0, 72,242,167, 5, 0, 0, 0, 0,184, 90,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 83, 82, 77,111,116,105,111,110, 32, 84,114, 97, 99,107,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, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,171,167, 5,
- 0, 0, 0, 0,104,177,167, 5, 0, 0, 0, 0,216,177,167, 5, 0, 0, 0, 0, 72,185,167, 5, 0, 0, 0, 0,184,185,167, 5,
- 0, 0, 0, 0,248,225,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,184,168, 5,
- 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, 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, 32, 0, 0, 0,184,171,167, 5, 0, 0, 0, 0,212, 0, 0, 0,
- 1, 0, 0, 0, 40,172,167, 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, 68, 65, 84, 65, 32, 0, 0, 0, 40,172,167, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,152,172,167, 5,
- 0, 0, 0, 0,184,171,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 4, 0, 0, 0, 0, 68, 65, 84, 65,
- 32, 0, 0, 0,152,172,167, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 8,173,167, 5, 0, 0, 0, 0, 40,172,167, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 6, 98, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 8,173,167, 5,
- 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,120,173,167, 5, 0, 0, 0, 0,152,172,167, 5, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 62, 6, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,120,173,167, 5, 0, 0, 0, 0,212, 0, 0, 0,
- 1, 0, 0, 0,232,173,167, 5, 0, 0, 0, 0, 8,173,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 4,
- 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,232,173,167, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 88,174,167, 5,
- 0, 0, 0, 0,120,173,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 6, 64, 4, 0, 0, 0, 0, 68, 65, 84, 65,
- 32, 0, 0, 0, 88,174,167, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,200,174,167, 5, 0, 0, 0, 0,232,173,167, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 5, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,200,174,167, 5,
- 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 56,175,167, 5, 0, 0, 0, 0, 88,174,167, 5, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 88, 5, 64, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 56,175,167, 5, 0, 0, 0, 0,212, 0, 0, 0,
- 1, 0, 0, 0,168,175,167, 5, 0, 0, 0, 0,200,174,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,108, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,168,175,167, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 24,176,167, 5,
- 0, 0, 0, 0, 56,175,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 6,108, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 32, 0, 0, 0, 24,176,167, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,136,176,167, 5, 0, 0, 0, 0,168,175,167, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120, 3, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,136,176,167, 5,
- 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,248,176,167, 5, 0, 0, 0, 0, 24,176,167, 5, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 62, 6,120, 3, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,248,176,167, 5, 0, 0, 0, 0,212, 0, 0, 0,
- 1, 0, 0, 0,104,177,167, 5, 0, 0, 0, 0,136,176,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,208, 2,120, 3,
- 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,104,177,167, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,248,176,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,208, 2, 64, 4, 1, 0, 0, 0, 68, 65, 84, 65,
- 40, 0, 0, 0,216,177,167, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 72,178,167, 5, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 40,172,167, 5, 0, 0, 0, 0,152,172,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 0, 0, 0, 72,178,167, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,184,178,167, 5, 0, 0, 0, 0,216,177,167, 5,
- 0, 0, 0, 0, 40,172,167, 5, 0, 0, 0, 0,120,173,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 0, 0, 0,184,178,167, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 40,179,167, 5, 0, 0, 0, 0, 72,178,167, 5,
- 0, 0, 0, 0,152,172,167, 5, 0, 0, 0, 0,232,173,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 0, 0, 0, 40,179,167, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,152,179,167, 5, 0, 0, 0, 0,184,178,167, 5,
- 0, 0, 0, 0,120,173,167, 5, 0, 0, 0, 0,232,173,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 0, 0, 0,152,179,167, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 8,180,167, 5, 0, 0, 0, 0, 40,179,167, 5,
- 0, 0, 0, 0,184,171,167, 5, 0, 0, 0, 0, 8,173,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 0, 0, 0, 8,180,167, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,120,180,167, 5, 0, 0, 0, 0,152,179,167, 5,
- 0, 0, 0, 0,184,171,167, 5, 0, 0, 0, 0, 56,175,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 0, 0, 0,120,180,167, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,232,180,167, 5, 0, 0, 0, 0, 8,180,167, 5,
- 0, 0, 0, 0, 8,173,167, 5, 0, 0, 0, 0,168,175,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 0, 0, 0,232,180,167, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 88,181,167, 5, 0, 0, 0, 0,120,180,167, 5,
- 0, 0, 0, 0, 56,175,167, 5, 0, 0, 0, 0,168,175,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 0, 0, 0, 88,181,167, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,200,181,167, 5, 0, 0, 0, 0,232,180,167, 5,
- 0, 0, 0, 0, 56,175,167, 5, 0, 0, 0, 0, 24,176,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 0, 0, 0,200,181,167, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 56,182,167, 5, 0, 0, 0, 0, 88,181,167, 5,
- 0, 0, 0, 0,120,173,167, 5, 0, 0, 0, 0, 24,176,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 0, 0, 0, 56,182,167, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,168,182,167, 5, 0, 0, 0, 0,200,181,167, 5,
- 0, 0, 0, 0,232,173,167, 5, 0, 0, 0, 0,136,176,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 0, 0, 0,168,182,167, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 24,183,167, 5, 0, 0, 0, 0, 56,182,167, 5,
- 0, 0, 0, 0,168,175,167, 5, 0, 0, 0, 0,136,176,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 0, 0, 0, 24,183,167, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,136,183,167, 5, 0, 0, 0, 0,168,182,167, 5,
- 0, 0, 0, 0, 24,176,167, 5, 0, 0, 0, 0,136,176,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 0, 0, 0,136,183,167, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,248,183,167, 5, 0, 0, 0, 0, 24,183,167, 5,
- 0, 0, 0, 0, 24,176,167, 5, 0, 0, 0, 0,248,176,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 0, 0, 0,248,183,167, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,104,184,167, 5, 0, 0, 0, 0,136,183,167, 5,
- 0, 0, 0, 0,136,176,167, 5, 0, 0, 0, 0,248,176,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 0, 0, 0,104,184,167, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,216,184,167, 5, 0, 0, 0, 0,248,183,167, 5,
- 0, 0, 0, 0,120,173,167, 5, 0, 0, 0, 0,104,177,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 0, 0, 0,216,184,167, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 72,185,167, 5, 0, 0, 0, 0,104,184,167, 5,
- 0, 0, 0, 0,232,173,167, 5, 0, 0, 0, 0,104,177,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 0, 0, 0, 72,185,167, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,184,167, 5,
- 0, 0, 0, 0,248,176,167, 5, 0, 0, 0, 0,104,177,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-160, 0, 0, 0,184,185,167, 5, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,136,189,167, 5, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,120,173,167, 5, 0, 0, 0, 0, 40,172,167, 5, 0, 0, 0, 0,152,172,167, 5, 0, 0, 0, 0,232,173,167, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 6, 0, 0, 65, 4, 0, 0, 98, 4, 0, 0, 7, 7, 63, 6,
- 34, 0, 1, 0, 0, 0, 0, 0, 7, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,241,167, 5, 0, 0, 0, 0,184,241,167, 5,
- 0, 0, 0, 0,168,186,167, 5, 0, 0, 0, 0, 24,188,167, 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, 68, 65, 84, 65, 40, 1, 0, 0,168,186,167, 5,
- 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 24,188,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,163, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,224,199, 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,
- 62, 6, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,192,199, 68, 0, 0,200, 65, 0,192,199, 68, 0, 0,200, 65, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 63, 6, 26, 0, 63, 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, 62, 6, 0, 0, 65, 4, 0, 0, 90, 4, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 6, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 40, 1, 0, 0, 24,188,167, 5,
- 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168,186,167, 5, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,192,239, 68, 0, 0, 0, 0, 0, 0,200, 65, 0, 0, 0, 0, 0,192,197, 68, 0, 0,128, 64, 0, 0, 64, 65, 46, 6, 0, 0,
- 63, 6, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0,111, 7, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,
- 45, 6, 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,128, 63,
- 0, 0,128, 63, 2, 0, 0, 0, 1, 0, 3, 3, 2, 0, 0, 4, 10, 0, 63, 6, 8, 0, 46, 6, 8, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 6, 0, 0, 91, 4, 0, 0, 98, 4, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 6, 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, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,136,189,167, 5,
- 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,120,194,167, 5, 0, 0, 0, 0,184,185,167, 5, 0, 0, 0, 0,184,171,167, 5,
- 0, 0, 0, 0, 56,175,167, 5, 0, 0, 0, 0,168,175,167, 5, 0, 0, 0, 0, 8,173,167, 5, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 62, 6, 0, 0, 0, 0, 0, 0,107, 0, 0, 0, 15, 15, 63, 6,108, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88,193,167, 5, 0, 0, 0, 0, 88,193,167, 5, 0, 0, 0, 0,120,190,167, 5,
- 0, 0, 0, 0,232,191,167, 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, 68, 65, 84, 65, 40, 1, 0, 0,120,190,167, 5, 0, 0, 0, 0,216, 0, 0, 0,
- 1, 0, 0, 0,232,191,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,224,199, 68, 0, 0, 0, 0,
- 0, 0,208, 65, 0, 0, 0, 0, 0,224,199, 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, 62, 6, 0, 0, 0, 0, 0, 0,
- 25, 0, 0, 0, 0,192,199, 68, 0, 0,200, 65, 0,192,199, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 63, 6, 26, 0, 63, 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, 62, 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, 63, 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, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,232,191,167, 5, 0, 0, 0, 0,216, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,190,167, 5, 0, 0, 0, 0, 0, 0, 64,192, 0, 0,126, 67, 0, 0, 0, 0,
- 0, 0, 72, 66, 88,218,103,194, 40,147,141, 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, 62, 6, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 62, 6, 0, 0, 18, 0, 0, 0,
- 81, 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, 63, 6, 82, 0, 0, 0, 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, 6, 0, 0, 26, 0, 0, 0,107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 63, 6, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 88,193,167, 5, 0, 0, 0, 0,191, 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, 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,
+152, 67,178, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152, 67,178, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,152, 67,178, 63, 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, 33,210,111, 65,196, 18,107, 65, 0, 0, 0, 0, 0, 0, 0, 0,
+146, 97,162, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,255,255, 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, 30, 33, 12, 66, 85,152,137, 66,113, 27,126, 66,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 1, 0, 0, 40,252,220, 4, 0, 0, 0, 0,
+176, 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, 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,205,204, 76, 62, 2, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 1, 0, 7, 0,216,120,222, 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, 63, 0, 0, 0, 1, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,120,194,167, 5,
- 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0, 56,210,167, 5, 0, 0, 0, 0,136,189,167, 5, 0, 0, 0, 0, 56,175,167, 5,
- 0, 0, 0, 0, 24,176,167, 5, 0, 0, 0, 0,136,176,167, 5, 0, 0, 0, 0,168,175,167, 5, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 62, 6, 0, 0,109, 0, 0, 0,119, 3, 0, 0, 20, 20, 63, 6, 11, 3, 1, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,208,167, 5, 0, 0, 0, 0,184,208,167, 5, 0, 0, 0, 0,104,195,167, 5,
- 0, 0, 0, 0, 72,207,167, 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, 68, 65, 84, 65, 40, 1, 0, 0,104,195,167, 5, 0, 0, 0, 0,216, 0, 0, 0,
- 1, 0, 0, 0,216,196,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 19, 68, 0, 0, 0, 0,
- 0, 0,208, 65, 0, 0, 0, 0, 0,224,199, 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, 62, 6, 0, 0, 0, 0, 0, 0,
- 25, 0, 0, 0, 0,192,199, 68, 0, 0,200, 65, 0,192,199, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 2, 0, 3, 3, 4, 0, 0, 0, 10, 0, 63, 6, 26, 0, 63, 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, 62, 6, 0, 0,109, 0, 0, 0,134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 63, 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, 1, 0, 0, 0, 1, 0, 0, 0,
+ 3, 0, 0, 0, 1, 0, 3, 0, 8, 24,128, 0, 0, 0, 12, 66, 0, 0,128, 63,205,204,204, 61, 0, 0,122, 68, 0, 0, 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, 10, 0, 7, 1, 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, 83, 78, 0, 0, 8, 1, 0, 0,104,254,220, 4, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,
+ 24, 78,221, 4, 0, 0, 0, 0,184,100,201, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 83, 82, 71, 97,109,101, 32, 76,111,103,105, 99, 0, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,255,220, 4, 0, 0, 0, 0,
+104, 5,221, 4, 0, 0, 0, 0,216, 5,221, 4, 0, 0, 0, 0,152, 14,221, 4, 0, 0, 0, 0, 8, 15,221, 4, 0, 0, 0, 0,
+ 40, 71,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 92,222, 4, 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, 32, 0, 0, 0,184,255,220, 4, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,
+ 40, 0,221, 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,
+ 68, 65, 84, 65, 32, 0, 0, 0, 40, 0,221, 4, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,152, 0,221, 4, 0, 0, 0, 0,
+184,255,220, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,
+152, 0,221, 4, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 8, 1,221, 4, 0, 0, 0, 0, 40, 0,221, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 5, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 8, 1,221, 4, 0, 0, 0, 0,
+213, 0, 0, 0, 1, 0, 0, 0,120, 1,221, 4, 0, 0, 0, 0,152, 0,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+126, 7, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,120, 1,221, 4, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,
+232, 1,221, 4, 0, 0, 0, 0, 8, 1,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,234, 3, 1, 0, 0, 0,
+ 68, 65, 84, 65, 32, 0, 0, 0,232, 1,221, 4, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 88, 2,221, 4, 0, 0, 0, 0,
+120, 1,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7,234, 3, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,
+ 88, 2,221, 4, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,200, 2,221, 4, 0, 0, 0, 0,232, 1,221, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,140, 1, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,200, 2,221, 4, 0, 0, 0, 0,
+213, 0, 0, 0, 1, 0, 0, 0, 56, 3,221, 4, 0, 0, 0, 0, 88, 2,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 32, 6,140, 1, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 56, 3,221, 4, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,
+168, 3,221, 4, 0, 0, 0, 0,200, 2,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 6, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 32, 0, 0, 0,168, 3,221, 4, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 24, 4,221, 4, 0, 0, 0, 0,
+ 56, 3,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7,140, 1, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,
+ 24, 4,221, 4, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,136, 4,221, 4, 0, 0, 0, 0,168, 3,221, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 64, 5,140, 1, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,136, 4,221, 4, 0, 0, 0, 0,
+213, 0, 0, 0, 1, 0, 0, 0,248, 4,221, 4, 0, 0, 0, 0, 24, 4,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 64, 5,234, 3, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,248, 4,221, 4, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,
+104, 5,221, 4, 0, 0, 0, 0,136, 4,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 1,140, 1, 0, 0, 0, 0,
+ 68, 65, 84, 65, 32, 0, 0, 0,104, 5,221, 4, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+248, 4,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 1,234, 3, 1, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
+216, 5,221, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 72, 6,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 40, 0,221, 4, 0, 0, 0, 0,152, 0,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
+ 72, 6,221, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,184, 6,221, 4, 0, 0, 0, 0,216, 5,221, 4, 0, 0, 0, 0,
+ 40, 0,221, 4, 0, 0, 0, 0,120, 1,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
+184, 6,221, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 40, 7,221, 4, 0, 0, 0, 0, 72, 6,221, 4, 0, 0, 0, 0,
+152, 0,221, 4, 0, 0, 0, 0,232, 1,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
+ 40, 7,221, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,152, 7,221, 4, 0, 0, 0, 0,184, 6,221, 4, 0, 0, 0, 0,
+120, 1,221, 4, 0, 0, 0, 0,232, 1,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
+152, 7,221, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 8, 8,221, 4, 0, 0, 0, 0, 40, 7,221, 4, 0, 0, 0, 0,
+120, 1,221, 4, 0, 0, 0, 0, 88, 2,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
+ 8, 8,221, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,120, 8,221, 4, 0, 0, 0, 0,152, 7,221, 4, 0, 0, 0, 0,
+ 88, 2,221, 4, 0, 0, 0, 0,200, 2,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
+120, 8,221, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,232, 8,221, 4, 0, 0, 0, 0, 8, 8,221, 4, 0, 0, 0, 0,
+ 8, 1,221, 4, 0, 0, 0, 0, 56, 3,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
+232, 8,221, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 88, 9,221, 4, 0, 0, 0, 0,120, 8,221, 4, 0, 0, 0, 0,
+200, 2,221, 4, 0, 0, 0, 0, 56, 3,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
+ 88, 9,221, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,200, 9,221, 4, 0, 0, 0, 0,232, 8,221, 4, 0, 0, 0, 0,
+184,255,220, 4, 0, 0, 0, 0, 88, 2,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
+200, 9,221, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 56, 10,221, 4, 0, 0, 0, 0, 88, 9,221, 4, 0, 0, 0, 0,
+184,255,220, 4, 0, 0, 0, 0, 56, 3,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
+ 56, 10,221, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,168, 10,221, 4, 0, 0, 0, 0,200, 9,221, 4, 0, 0, 0, 0,
+232, 1,221, 4, 0, 0, 0, 0,168, 3,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
+168, 10,221, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 24, 11,221, 4, 0, 0, 0, 0, 56, 10,221, 4, 0, 0, 0, 0,
+ 8, 1,221, 4, 0, 0, 0, 0,168, 3,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
+ 24, 11,221, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,136, 11,221, 4, 0, 0, 0, 0,168, 10,221, 4, 0, 0, 0, 0,
+200, 2,221, 4, 0, 0, 0, 0,168, 3,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
+136, 11,221, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,248, 11,221, 4, 0, 0, 0, 0, 24, 11,221, 4, 0, 0, 0, 0,
+ 24, 4,221, 4, 0, 0, 0, 0,136, 4,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
+248, 11,221, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,104, 12,221, 4, 0, 0, 0, 0,136, 11,221, 4, 0, 0, 0, 0,
+232, 1,221, 4, 0, 0, 0, 0,136, 4,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
+104, 12,221, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,216, 12,221, 4, 0, 0, 0, 0,248, 11,221, 4, 0, 0, 0, 0,
+168, 3,221, 4, 0, 0, 0, 0, 24, 4,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
+216, 12,221, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 72, 13,221, 4, 0, 0, 0, 0,104, 12,221, 4, 0, 0, 0, 0,
+ 88, 2,221, 4, 0, 0, 0, 0,248, 4,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
+ 72, 13,221, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,184, 13,221, 4, 0, 0, 0, 0,216, 12,221, 4, 0, 0, 0, 0,
+ 24, 4,221, 4, 0, 0, 0, 0,248, 4,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
+184, 13,221, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 40, 14,221, 4, 0, 0, 0, 0, 72, 13,221, 4, 0, 0, 0, 0,
+120, 1,221, 4, 0, 0, 0, 0,104, 5,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
+ 40, 14,221, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,152, 14,221, 4, 0, 0, 0, 0,184, 13,221, 4, 0, 0, 0, 0,
+136, 4,221, 4, 0, 0, 0, 0,104, 5,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
+152, 14,221, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 14,221, 4, 0, 0, 0, 0,
+248, 4,221, 4, 0, 0, 0, 0,104, 5,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,
+ 8, 15,221, 4, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,216, 18,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+120, 1,221, 4, 0, 0, 0, 0, 40, 0,221, 4, 0, 0, 0, 0,152, 0,221, 4, 0, 0, 0, 0,232, 1,221, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 0, 0,235, 3, 0, 0, 5, 4, 0, 0, 7, 7,127, 7, 27, 0, 1, 0,
+ 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136, 77,221, 4, 0, 0, 0, 0,136, 77,221, 4, 0, 0, 0, 0,
+248, 15,221, 4, 0, 0, 0, 0,104, 17,221, 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, 68, 65, 84, 65, 40, 1, 0, 0,248, 15,221, 4, 0, 0, 0, 0,
+217, 0, 0, 0, 1, 0, 0, 0,104, 17,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32,148, 68,
+ 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,224,239, 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,126, 7, 0, 0,
+ 0, 0, 0, 0, 25, 0, 0, 0, 0,192,239, 68, 0, 0,200, 65, 0,192,239, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,127, 7, 26, 0,127, 7, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 0, 0,235, 3, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,127, 7, 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, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,104, 17,221, 4, 0, 0, 0, 0,
+217, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 15,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,240,109, 69,
+ 0, 0,128,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,238, 68, 0, 0, 0, 0, 0, 0, 0, 64,112, 7, 0, 0,129, 7, 0, 0,
+ 0, 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,
+ 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,128, 63, 0, 0,128, 63,
+ 2, 0, 0, 0, 1, 0, 3, 3, 2, 0, 0, 4, 10, 0,129, 7, 2, 0,112, 7, 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, 5, 4, 0, 0, 5, 4, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 40, 1, 0, 0,216,196,167, 5, 0, 0, 0, 0,216, 0, 0, 0,
- 1, 0, 0, 0, 72,198,167, 5, 0, 0, 0, 0,104,195,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,178, 67, 0, 64, 30,196,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67, 0, 64, 30,196, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 0, 0, 0, 0,
-120, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0,
-120, 2, 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, 3, 0, 0,
- 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,160, 0,121, 2,143, 0,121, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,159, 0, 0, 0,255, 0, 0, 0,119, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,160, 0,121, 2, 0, 0, 5, 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, 68, 65, 84, 65,160, 0, 0, 0,216, 18,221, 4, 0, 0, 0, 0,
+216, 0, 0, 0, 1, 0, 0, 0,104, 43,221, 4, 0, 0, 0, 0, 8, 15,221, 4, 0, 0, 0, 0, 56, 3,221, 4, 0, 0, 0, 0,
+200, 2,221, 4, 0, 0, 0, 0,168, 3,221, 4, 0, 0, 0, 0, 8, 1,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 33, 6, 0, 0,126, 7, 0, 0, 0, 0, 0, 0,139, 1, 0, 0, 4, 4, 94, 1,140, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 40, 42,221, 4, 0, 0, 0, 0, 40, 42,221, 4, 0, 0, 0, 0,200, 19,221, 4, 0, 0, 0, 0,
+ 56, 21,221, 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, 68, 65, 84, 65, 40, 1, 0, 0,200, 19,221, 4, 0, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0,
+ 56, 21,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,148, 67, 0, 0, 0, 0, 0, 0,208, 65,
+ 0, 0, 0, 0, 0, 0,175, 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, 93, 1, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0,
+ 0,128,174, 67, 0, 0,200, 65, 0,128,174, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3,
+ 4, 0, 12, 0, 10, 0, 94, 1, 26, 0, 94, 1, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 33, 6, 0, 0,126, 7, 0, 0,114, 1, 0, 0,139, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 94, 1, 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,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 72,198,167, 5, 0, 0, 0, 0,216, 0, 0, 0,
- 1, 0, 0, 0, 88,201,167, 5, 0, 0, 0, 0,216,196,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,178, 67, 0, 0,240,194,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67, 0, 0,240,194, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 0, 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, 0,142, 0, 0, 0, 0, 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, 3, 0, 0,
- 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,160, 0,120, 0,143, 0,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,159, 0, 0, 0,135, 0, 0, 0,254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,160, 0,120, 0, 0, 0, 6, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,199,167, 5,
- 0, 0, 0, 0,184,199,167, 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, 68, 65, 84, 65, 88, 1, 0, 0,184,199,167, 5, 0, 0, 0, 0,214, 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, 67, 76, 73, 80, 95, 80, 84, 95,108, 97,115,116, 95,111,112,101,114, 97,116,111,114, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 56, 21,221, 4, 0, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,200, 19,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,174, 67, 0, 0, 61,196, 0, 0, 0, 0,
+ 0, 0, 0, 0,255,127,166, 67,255,255,184,195, 0, 0, 0, 0, 77, 1, 0, 0, 94, 1, 0, 0, 0, 0, 0, 0,113, 1, 0, 0,
+ 0, 0, 0, 0, 78, 1, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 76, 1, 0, 0, 0, 0, 0, 0,113, 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, 94, 1,114, 1, 77, 1,114, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 33, 6, 0, 0,126, 7, 0, 0, 0, 0, 0, 0,113, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 94, 1,114, 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,168, 22,221, 4, 0, 0, 0, 0,
+136, 40,221, 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, 68, 65, 84, 65, 88, 1, 0, 0,168, 22,221, 4, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,
+ 72, 24,221, 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,
+ 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,
- 0, 0, 0, 0, 67, 76, 73, 80, 95, 80, 84, 95,108, 97,115,116, 95,111,112,101,114, 97,116,111,114, 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,
- 0, 0, 0, 0, 78,101,119, 32, 83, 99,114,101,101,110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 67,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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,216,255,143, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,220,255, 76, 1, 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, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 1, 0, 0, 88,201,167, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,104,204,167, 5, 0, 0, 0, 0, 72,198,167, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0,128,178, 67, 0, 64, 60,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67, 0, 64, 60,196,
- 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 0, 0, 0, 0,240, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0,240, 2, 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, 3, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,160, 0,241, 2,143, 0,
-241, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,159, 5, 0, 0, 62, 6, 0, 0,135, 0, 0, 0,
-119, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 0,241, 2, 0, 0, 4, 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,200,202,167, 5, 0, 0, 0, 0,200,202,167, 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, 68, 65, 84, 65,
- 88, 1, 0, 0,200,202,167, 5, 0, 0, 0, 0,214, 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, 67, 76, 73, 80, 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, 67, 76, 73, 80, 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, 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,232,255,143, 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, 68, 65, 84, 65, 88, 1, 0, 0,
+ 72, 24,221, 4, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,232, 25,221, 4, 0, 0, 0, 0,168, 22,221, 4, 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, 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, 68, 65, 84, 65, 40, 1, 0, 0,104,204,167, 5, 0, 0, 0, 0,216, 0, 0, 0,
- 1, 0, 0, 0,216,205,167, 5, 0, 0, 0, 0, 88,201,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67, 0, 64,110,196,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 67, 0,192,105,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,159, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,159, 0, 0, 0, 18, 0, 0, 0,
-184, 3, 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, 8, 0, 0, 0,
- 2, 0, 3, 3, 0, 0, 2, 0, 6, 0,160, 0,185, 3,160, 0,167, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,160, 0, 0, 0,160, 0, 0, 0,135, 0, 0, 0,119, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 2, 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, 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, 76, 1, 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,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,216,205,167, 5, 0, 0, 0, 0,216, 0, 0, 0,
- 1, 0, 0, 0, 72,207,167, 5, 0, 0, 0, 0,104,204,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,122, 67, 0, 0, 32,193,
- 0, 0, 32, 65, 0, 0, 0, 0, 0, 0,122, 67, 0, 0, 32,193, 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,128, 0, 0, 0,128, 0, 0,124,146, 72,255,255,127,127, 0, 0, 0, 0, 0, 0, 0, 0,105, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,232, 25,221, 4, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,
+136, 27,221, 4, 0, 0, 0, 0, 72, 24,221, 4, 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,
- 0, 0, 0, 0,160, 0, 0, 0,160, 0, 0, 0,135, 0, 0, 0,119, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 7, 0, 0, 0, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 72,207,167, 5, 0, 0, 0, 0,216, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,205,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128,255, 0, 0,128,127, 0, 0,128,255, 0, 0,128,127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 4, 0, 0, 0, 0, 0, 0,
-241, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10,215, 35, 60, 0, 0,122, 68, 0, 0, 0, 0,
- 1, 0, 3, 0, 0, 0, 0, 4, 10, 0,255, 4,241, 2,255, 4,241, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,160, 0, 0, 0,158, 5, 0, 0,135, 0, 0, 0,119, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,255, 4,241, 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,111,255, 76, 1, 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,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0,184,208,167, 5, 0, 0, 0, 0,197, 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, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 17,200, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 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,
+136, 27,221, 4, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0, 40, 29,221, 4, 0, 0, 0, 0,232, 25,221, 4, 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, 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, 76, 1,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, 68, 65, 84, 65, 88, 1, 0, 0, 40, 29,221, 4, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,
+200, 30,221, 4, 0, 0, 0, 0,136, 27,221, 4, 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, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 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, 56,210,167, 5, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,248,225,167, 5, 0, 0, 0, 0,120,194,167, 5,
- 0, 0, 0, 0,248,176,167, 5, 0, 0, 0, 0,104,177,167, 5, 0, 0, 0, 0,232,173,167, 5, 0, 0, 0, 0,136,176,167, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,209, 2, 0, 0, 62, 6, 0, 0,121, 3, 0, 0, 63, 4, 0, 0, 20, 20,110, 3,
-199, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,224,167, 5, 0, 0, 0, 0,120,224,167, 5,
- 0, 0, 0, 0, 40,211,167, 5, 0, 0, 0, 0, 8,223,167, 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, 68, 65, 84, 65, 40, 1, 0, 0, 40,211,167, 5,
- 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,152,212,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,212, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,128, 91, 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,
-109, 3, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 64, 91, 68, 0, 0,200, 65, 0, 64, 91, 68, 0, 0,200, 65, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 0, 0, 10, 0,110, 3, 26, 0,110, 3, 26, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,209, 2, 0, 0, 62, 6, 0, 0,121, 3, 0, 0,146, 3, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,110, 3, 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, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,152,212,167, 5,
- 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 8,214,167, 5, 0, 0, 0, 0, 40,211,167, 5, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,128,178, 67, 0, 0, 84,194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67, 0, 0, 84,194, 0, 0, 0, 0,143, 0, 0, 0,
-160, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-142, 0, 0, 0, 0, 0, 0, 0, 52, 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, 3, 0, 0, 1, 0, 7, 0, 18, 0, 0, 0, 6, 0,160, 0, 53, 0,143, 0, 53, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,209, 2, 0, 0,209, 2, 0, 0,147, 3, 0, 0, 63, 4, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 5, 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, 68, 65, 84, 65, 40, 1, 0, 0, 8,214,167, 5,
- 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 24,217,167, 5, 0, 0, 0, 0,152,212,167, 5, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,128,178, 67, 0, 0,240,194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67, 0, 0,240,194, 0, 0, 0, 0,143, 0, 0, 0,
-160, 0, 0, 0, 0, 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, 0,
-142, 0, 0, 0, 0, 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, 3, 0, 0, 1, 0, 7, 0, 18, 0, 0, 0, 6, 0,160, 0,120, 0,143, 0,120, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,209, 2, 0, 0,209, 2, 0, 0,147, 3, 0, 0, 63, 4, 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, 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,120,215,167, 5, 0, 0, 0, 0,120,215,167, 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, 68, 65, 84, 65, 88, 1, 0, 0,120,215,167, 5,
- 0, 0, 0, 0,214, 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, 67, 76, 73, 80, 95, 80, 84, 95,108, 97,115,116, 95,111,112,101,114, 97,116,111,
-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, 67, 76, 73, 80, 95, 80, 84, 95,108, 97,115,116, 95,111,112,101,114, 97,116,111,
-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, 78,101,119, 32, 83, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,255,143, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 40, 1, 0, 0, 24,217,167, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 40,220,167, 5,
- 0, 0, 0, 0, 8,214,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,178, 67, 0, 0, 45,195, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 15, 67, 0, 0, 45,195, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 0, 0, 0, 0,172, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0,172, 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, 3, 0, 0, 1, 0, 7, 0, 18, 0, 0, 0,
- 6, 0,160, 0,173, 0,143, 0,173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,209, 2, 0, 0,
-209, 2, 0, 0,147, 3, 0, 0, 63, 4, 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, 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,136,218,167, 5, 0, 0, 0, 0,136,218,167, 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, 68, 65, 84, 65, 88, 1, 0, 0,136,218,167, 5, 0, 0, 0, 0,214, 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, 67, 76, 73, 80,
- 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, 67, 76, 73, 80,
- 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, 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,232,255,
-143, 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, 68, 65, 84, 65, 40, 1, 0, 0, 40,220,167, 5,
- 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,152,221,167, 5, 0, 0, 0, 0, 24,217,167, 5, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 15, 67, 0, 0, 45,195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 67, 0, 0, 27,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,159, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,
-159, 0, 0, 0, 18, 0, 0, 0,172, 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, 8, 4, 0, 0, 2, 0, 3, 3, 0, 0, 2, 4, 6, 0,160, 0,173, 0,160, 0,155, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,209, 2, 0, 0,112, 3, 0, 0,147, 3, 0, 0, 63, 4, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 0,173, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 40, 1, 0, 0,152,221,167, 5,
- 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 8,223,167, 5, 0, 0, 0, 0, 40,220,167, 5, 0, 0, 0, 0, 0, 0, 32,193,
- 0,128, 91, 68,171,170,132,194, 0, 0, 0, 0, 0, 0, 32,193, 0,128, 91, 68, 0, 0, 27,195, 0, 0, 0, 0,189, 2, 0, 0,
-206, 2, 0, 0, 18, 0, 0, 0,172, 0, 0, 0, 0, 0, 0, 0,188, 2, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,
-188, 2, 0, 0, 18, 0, 0, 0,172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,124,146, 72,255,255,127,127, 10,215, 35, 60,
- 0, 0, 72, 66, 74, 0, 0, 0, 0, 0, 0, 2, 16, 0, 2, 4, 4, 0,206, 2,173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,113, 3, 0, 0, 62, 6, 0, 0,147, 3, 0, 0, 63, 4, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,206, 2,173, 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, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 8,223,167, 5,
- 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,221,167, 5, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,255, 0, 0,128,127, 0, 0,128,255, 0, 0,128,127, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 46, 2, 0, 0, 0, 0, 0, 0,173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10,215, 35, 60,
- 0, 0,122, 68, 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 10, 0, 46, 2,173, 0, 46, 2,173, 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,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 65,110,116,105, 45, 65,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, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 58,254, 76, 1, 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, 68, 65, 84, 65, 56, 1, 0, 0,120,224,167, 5,
- 0, 0, 0, 0,197, 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, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17,200, 0, 0, 0, 0, 2, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 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,
+200, 30,221, 4, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,104, 32,221, 4, 0, 0, 0, 0, 40, 29,221, 4, 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, 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, 83, 97,109,112,108,101,100, 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, 0, 0, 0, 0, 34,254, 76, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,104, 32,221, 4, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,
+ 8, 34,221, 4, 0, 0, 0, 0,200, 30,221, 4, 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,
+ 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,
- 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,248,225,167, 5, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 56,210,167, 5, 0, 0, 0, 0, 24,176,167, 5, 0, 0, 0, 0,120,173,167, 5, 0, 0, 0, 0,104,177,167, 5,
- 0, 0, 0, 0,248,176,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,207, 2, 0, 0,121, 3, 0, 0,
- 63, 4, 0, 0, 20, 20,208, 2,199, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,240,167, 5,
- 0, 0, 0, 0, 56,240,167, 5, 0, 0, 0, 0,232,226,167, 5, 0, 0, 0, 0,200,238,167, 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, 68, 65, 84, 65,
- 40, 1, 0, 0,232,226,167, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 88,228,167, 5, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,212, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 52, 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,207, 2, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,192, 51, 68, 0, 0,200, 65, 0,192, 51, 68,
- 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 0, 0, 10, 0,208, 2, 26, 0,208, 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,207, 2, 0, 0,121, 3, 0, 0,
-146, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,208, 2, 26, 0, 0, 0, 1, 0, 2, 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, 10,254, 76, 1, 0, 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, 68, 65, 84, 65,
- 40, 1, 0, 0, 88,228,167, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,200,229,167, 5, 0, 0, 0, 0,232,226,167, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0,128,178, 67, 0, 0, 84,194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67, 0, 0, 84,194,
- 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 52, 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, 3, 0, 0, 1, 0, 7, 0, 18, 0, 0, 0, 6, 0,160, 0, 53, 0,143, 0,
- 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,147, 3, 0, 0,
- 63, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 5, 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, 68, 65, 84, 65, 88, 1, 0, 0,
+ 8, 34,221, 4, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,168, 35,221, 4, 0, 0, 0, 0,104, 32,221, 4, 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, 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,
- 40, 1, 0, 0,200,229,167, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,216,232,167, 5, 0, 0, 0, 0, 88,228,167, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0,128,178, 67, 0, 0,240,194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67, 0, 0,240,194,
- 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 0, 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, 0,142, 0, 0, 0, 0, 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, 3, 0, 0, 1, 0, 7, 0, 18, 0, 0, 0, 6, 0,160, 0,120, 0,143, 0,
-120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,147, 3, 0, 0,
- 63, 4, 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, 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, 56,231,167, 5, 0, 0, 0, 0, 56,231,167, 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, 68, 65, 84, 65,
- 88, 1, 0, 0, 56,231,167, 5, 0, 0, 0, 0,214, 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, 67, 76, 73, 80, 95, 80, 84, 95,108, 97,115,116,
- 95,111,112,101,114, 97,116,111,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, 67, 76, 73, 80, 95, 80, 84, 95,108, 97,115,116,
- 95,111,112,101,114, 97,116,111,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, 78,101,119, 32, 83, 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, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,255,143, 0, 16, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 40, 1, 0, 0,216,232,167, 5, 0, 0, 0, 0,216, 0, 0, 0,
- 1, 0, 0, 0,232,235,167, 5, 0, 0, 0, 0,200,229,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,178, 67, 0, 0, 45,195,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67, 0, 0, 45,195, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 0, 0, 0, 0,
-172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0,
-172, 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, 3, 0, 0,
- 1, 0, 7, 0, 18, 0, 0, 0, 6, 0,160, 0,173, 0,143, 0,173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,147, 3, 0, 0, 63, 4, 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, 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, 72,234,167, 5,
- 0, 0, 0, 0, 72,234,167, 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, 68, 65, 84, 65, 88, 1, 0, 0, 72,234,167, 5, 0, 0, 0, 0,214, 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, 67, 76, 73, 80, 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,242,253, 76, 1, 0, 0, 0, 0, 0, 0, 4, 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, 67, 76, 73, 80, 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, 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, 68, 65, 84, 65, 88, 1, 0, 0,168, 35,221, 4, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,
+ 72, 37,221, 4, 0, 0, 0, 0, 8, 34,221, 4, 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,
- 0, 0, 0, 0, 0, 0,232,255,143, 0, 0, 0, 0, 0, 0, 0, 4, 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, 0, 0, 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,
- 40, 1, 0, 0,232,235,167, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 88,237,167, 5, 0, 0, 0, 0,216,232,167, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67, 0, 64,110,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 67, 0,192,105,196,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,159, 0, 0, 0, 0, 0, 0, 0,
- 17, 0, 0, 0, 0, 0, 0, 0,159, 0, 0, 0, 18, 0, 0, 0,184, 3, 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, 8, 0, 0, 0, 2, 0, 3, 3, 0, 0, 2, 0, 6, 0,160, 0,185, 3,160, 0,
-167, 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,147, 3, 0, 0,
- 63, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 2, 0, 0, 0, 1, 0,
+ 0, 0,218,253, 76, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 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,
- 40, 1, 0, 0, 88,237,167, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,200,238,167, 5, 0, 0, 0, 0,232,235,167, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,122, 67, 0, 0, 32,193, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0,122, 67, 0, 0, 32,193,
- 0, 0, 32, 65, 0, 0, 0, 0, 17, 0, 0, 0, 18, 0, 0, 0,172, 0, 0, 0, 18, 0, 0, 0,207, 2, 0, 0, 0, 0, 0, 0,
- 17, 0, 0, 0, 18, 0, 0, 0,207, 2, 0, 0, 18, 0, 0, 0,172, 0, 0, 0, 0, 0,128, 0, 0, 0,128, 0, 0,124,146, 72,
-255,255,127,127, 0, 0, 0, 0, 0, 0, 0, 0,105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0,208, 2,173, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,207, 2, 0, 0,147, 3, 0, 0,
- 63, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,208, 2,173, 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, 68, 65, 84, 65, 88, 1, 0, 0,
+ 72, 37,221, 4, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,232, 38,221, 4, 0, 0, 0, 0,168, 35,221, 4, 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, 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, 68, 65, 84, 65,
- 40, 1, 0, 0,200,238,167, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88,237,167, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,255, 0, 0,128,127, 0, 0,128,255,
- 0, 0,128,127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 1, 0, 0, 0, 0, 0, 0,173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 10,215, 35, 60, 0, 0,122, 68, 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 10, 0,144, 1,173, 0,144, 1,
-173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 1, 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, 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,194,253, 76, 1, 0, 0, 20, 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, 0, 0, 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,
- 56, 1, 0, 0, 56,240,167, 5, 0, 0, 0, 0,197, 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, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-120, 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, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17,200, 0, 0, 0, 0, 1, 0, 20, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 78, 0, 0, 8, 1, 0, 0, 72,242,167, 5, 0, 0, 0, 0,211, 0, 0, 0,
- 1, 0, 0, 0, 8, 65,168, 5, 0, 0, 0, 0,104,170,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 83, 82, 83, 99,114,105,112,116,105,110,103, 0,103, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,243,167, 5,
- 0, 0, 0, 0, 72,249,167, 5, 0, 0, 0, 0,184,249,167, 5, 0, 0, 0, 0,232, 2,168, 5, 0, 0, 0, 0, 88, 3,168, 5,
- 0, 0, 0, 0,184, 57,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,184,168, 5,
- 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, 32, 0, 0, 0,152,243,167, 5, 0, 0, 0, 0,212, 0, 0, 0,
- 1, 0, 0, 0, 8,244,167, 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, 68, 65, 84, 65, 32, 0, 0, 0, 8,244,167, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,120,244,167, 5,
- 0, 0, 0, 0,152,243,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 4, 0, 0, 0, 0, 68, 65, 84, 65,
- 32, 0, 0, 0,120,244,167, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,232,244,167, 5, 0, 0, 0, 0, 8,244,167, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 5, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,232,244,167, 5,
- 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 88,245,167, 5, 0, 0, 0, 0,120,244,167, 5, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,126, 7, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 88,245,167, 5, 0, 0, 0, 0,212, 0, 0, 0,
- 1, 0, 0, 0,200,245,167, 5, 0, 0, 0, 0,232,244,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168, 3,
- 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,200,245,167, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 56,246,167, 5,
- 0, 0, 0, 0, 88,245,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7,168, 3, 0, 0, 0, 0, 68, 65, 84, 65,
- 32, 0, 0, 0, 56,246,167, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,168,246,167, 5, 0, 0, 0, 0,200,245,167, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 5,168, 3, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,168,246,167, 5,
- 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 24,247,167, 5, 0, 0, 0, 0, 56,246,167, 5, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,240, 5, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 24,247,167, 5, 0, 0, 0, 0,212, 0, 0, 0,
- 1, 0, 0, 0,136,247,167, 5, 0, 0, 0, 0,168,246,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104, 1,
- 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,136,247,167, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,248,247,167, 5,
- 0, 0, 0, 0, 24,247,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 5,104, 1, 1, 0, 0, 0, 68, 65, 84, 65,
- 32, 0, 0, 0,248,247,167, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,104,248,167, 5, 0, 0, 0, 0,136,247,167, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 2,104, 1, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,104,248,167, 5,
- 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,216,248,167, 5, 0, 0, 0, 0,248,247,167, 5, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,240, 5,236, 2, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,216,248,167, 5, 0, 0, 0, 0,212, 0, 0, 0,
- 1, 0, 0, 0, 72,249,167, 5, 0, 0, 0, 0,104,248,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7,236, 2,
- 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 72,249,167, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,216,248,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 2,168, 3, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 0, 0, 0,184,249,167, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 40,250,167, 5, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 8,244,167, 5, 0, 0, 0, 0,120,244,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 0, 0, 0, 40,250,167, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,152,250,167, 5, 0, 0, 0, 0,184,249,167, 5,
- 0, 0, 0, 0, 8,244,167, 5, 0, 0, 0, 0, 88,245,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 0, 0, 0,152,250,167, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 8,251,167, 5, 0, 0, 0, 0, 40,250,167, 5,
- 0, 0, 0, 0,120,244,167, 5, 0, 0, 0, 0,200,245,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 0, 0, 0, 8,251,167, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,120,251,167, 5, 0, 0, 0, 0,152,250,167, 5,
- 0, 0, 0, 0, 88,245,167, 5, 0, 0, 0, 0,200,245,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 0, 0, 0,120,251,167, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,232,251,167, 5, 0, 0, 0, 0, 8,251,167, 5,
- 0, 0, 0, 0,200,245,167, 5, 0, 0, 0, 0, 56,246,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 0, 0, 0,232,251,167, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 88,252,167, 5, 0, 0, 0, 0,120,251,167, 5,
- 0, 0, 0, 0,232,244,167, 5, 0, 0, 0, 0,168,246,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 0, 0, 0, 88,252,167, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,200,252,167, 5, 0, 0, 0, 0,232,251,167, 5,
- 0, 0, 0, 0,152,243,167, 5, 0, 0, 0, 0, 24,247,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 0, 0, 0,200,252,167, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 56,253,167, 5, 0, 0, 0, 0, 88,252,167, 5,
- 0, 0, 0, 0, 88,245,167, 5, 0, 0, 0, 0, 24,247,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 0, 0, 0, 56,253,167, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,168,253,167, 5, 0, 0, 0, 0,200,252,167, 5,
- 0, 0, 0, 0, 56,246,167, 5, 0, 0, 0, 0,136,247,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 0, 0, 0,168,253,167, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 24,254,167, 5, 0, 0, 0, 0, 56,253,167, 5,
- 0, 0, 0, 0,168,246,167, 5, 0, 0, 0, 0,136,247,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 0, 0, 0, 24,254,167, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,136,254,167, 5, 0, 0, 0, 0,168,253,167, 5,
- 0, 0, 0, 0, 24,247,167, 5, 0, 0, 0, 0,248,247,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 0, 0, 0,136,254,167, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,248,254,167, 5, 0, 0, 0, 0, 24,254,167, 5,
- 0, 0, 0, 0,136,247,167, 5, 0, 0, 0, 0,248,247,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 0, 0, 0,248,254,167, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,104,255,167, 5, 0, 0, 0, 0,136,254,167, 5,
- 0, 0, 0, 0,168,246,167, 5, 0, 0, 0, 0,104,248,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 0, 0, 0,104,255,167, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,216,255,167, 5, 0, 0, 0, 0,248,254,167, 5,
- 0, 0, 0, 0, 56,246,167, 5, 0, 0, 0, 0,104,248,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 0, 0, 0,216,255,167, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 72, 0,168, 5, 0, 0, 0, 0,104,255,167, 5,
- 0, 0, 0, 0,200,245,167, 5, 0, 0, 0, 0,216,248,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 0, 0, 0, 72, 0,168, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,184, 0,168, 5, 0, 0, 0, 0,216,255,167, 5,
- 0, 0, 0, 0,232,244,167, 5, 0, 0, 0, 0,216,248,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 0, 0, 0,184, 0,168, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 40, 1,168, 5, 0, 0, 0, 0, 72, 0,168, 5,
- 0, 0, 0, 0,104,248,167, 5, 0, 0, 0, 0,216,248,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 0, 0, 0, 40, 1,168, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,152, 1,168, 5, 0, 0, 0, 0,184, 0,168, 5,
- 0, 0, 0, 0, 88,245,167, 5, 0, 0, 0, 0, 72,249,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 0, 0, 0,152, 1,168, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 8, 2,168, 5, 0, 0, 0, 0, 40, 1,168, 5,
- 0, 0, 0, 0, 56,246,167, 5, 0, 0, 0, 0, 72,249,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 0, 0, 0, 8, 2,168, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,120, 2,168, 5, 0, 0, 0, 0,152, 1,168, 5,
- 0, 0, 0, 0,248,247,167, 5, 0, 0, 0, 0, 72,249,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 0, 0, 0,120, 2,168, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,232, 2,168, 5, 0, 0, 0, 0, 8, 2,168, 5,
- 0, 0, 0, 0, 24,247,167, 5, 0, 0, 0, 0,136,247,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 0, 0, 0,232, 2,168, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120, 2,168, 5,
- 0, 0, 0, 0,152,243,167, 5, 0, 0, 0, 0,168,246,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-160, 0, 0, 0, 88, 3,168, 5, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0, 40, 7,168, 5, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 88,245,167, 5, 0, 0, 0, 0, 8,244,167, 5, 0, 0, 0, 0,120,244,167, 5, 0, 0, 0, 0,200,245,167, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 0, 0,169, 3, 0, 0, 5, 4, 0, 0, 7, 7,127, 7,
- 93, 0, 1, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120, 64,168, 5, 0, 0, 0, 0,120, 64,168, 5,
- 0, 0, 0, 0, 72, 4,168, 5, 0, 0, 0, 0,184, 5,168, 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, 68, 65, 84, 65, 40, 1, 0, 0, 72, 4,168, 5,
- 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,184, 5,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 32,148, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,224,239, 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,
-126, 7, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,192,239, 68, 0, 0,200, 65, 0,192,239, 68, 0, 0,200, 65, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,127, 7, 26, 0,127, 7, 26, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 0, 0,236, 3, 0, 0, 5, 4, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,127, 7, 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, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,184, 5,168, 5,
- 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 4,168, 5, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,192,239, 68, 0, 0, 0, 0, 0, 0, 28, 66, 0, 0, 0, 0, 0,192,237, 68, 0, 0, 0, 0, 0, 0,134, 66,110, 7, 0, 0,
-127, 7, 0, 0, 0, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 0,111, 7, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,
-109, 7, 0, 0, 0, 0, 0, 0, 66, 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, 2, 2, 0, 0, 1, 0, 3, 3, 2, 0, 0, 4, 10, 0,127, 7, 67, 0,110, 7, 67, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 0, 0,169, 3, 0, 0,235, 3, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,127, 7, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 40, 7,168, 5,
- 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,184, 31,168, 5, 0, 0, 0, 0, 88, 3,168, 5, 0, 0, 0, 0,168,246,167, 5,
- 0, 0, 0, 0,104,248,167, 5, 0, 0, 0, 0,216,248,167, 5, 0, 0, 0, 0,232,244,167, 5, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,241, 5, 0, 0,126, 7, 0, 0, 0, 0, 0, 0,235, 2, 0, 0, 4, 4,142, 1,236, 2, 1, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120, 30,168, 5, 0, 0, 0, 0,120, 30,168, 5, 0, 0, 0, 0, 24, 8,168, 5,
- 0, 0, 0, 0,136, 9,168, 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, 68, 65, 84, 65, 40, 1, 0, 0, 24, 8,168, 5, 0, 0, 0, 0,216, 0, 0, 0,
- 1, 0, 0, 0,136, 9,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,148, 67, 0, 0, 0, 0,
- 0, 0,208, 65, 0, 0, 0, 0, 0, 0,199, 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,141, 1, 0, 0, 0, 0, 0, 0,
- 25, 0, 0, 0, 0,128,198, 67, 0, 0,200, 65, 0,128,198, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,142, 1, 26, 0,142, 1, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,241, 5, 0, 0,126, 7, 0, 0,210, 2, 0, 0,235, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,142, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,136, 9,168, 5, 0, 0, 0, 0,216, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 8,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,198, 67, 0, 0, 61,196,
- 0, 0, 0, 0, 0, 0, 0, 0,254,127,190, 67,254,127, 52,196, 0, 0, 0, 0,125, 1, 0, 0,142, 1, 0, 0, 0, 0, 0, 0,
-209, 2, 0, 0, 0, 0, 0, 0,126, 1, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,124, 1, 0, 0, 0, 0, 0, 0,
-209, 2, 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,142, 1,210, 2,125, 1,210, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,241, 5, 0, 0,126, 7, 0, 0, 0, 0, 0, 0,209, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,142, 1,210, 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,248, 10,168, 5,
- 0, 0, 0, 0,216, 28,168, 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, 68, 65, 84, 65, 88, 1, 0, 0,248, 10,168, 5, 0, 0, 0, 0,214, 0, 0, 0,
- 1, 0, 0, 0,152, 12,168, 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, 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,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 67,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, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,220,255,124, 1, 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, 68, 65, 84, 65, 88, 1, 0, 0,232, 38,221, 4, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,
+136, 40,221, 4, 0, 0, 0, 0, 72, 37,221, 4, 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, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 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,152, 12,168, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 56, 14,168, 5, 0, 0, 0, 0,248, 10,168, 5,
- 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, 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,124, 1, 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,
+ 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,
+ 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 56, 14,168, 5, 0, 0, 0, 0,214, 0, 0, 0,
- 1, 0, 0, 0,216, 15,168, 5, 0, 0, 0, 0,152, 12,168, 5, 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, 40,253, 76, 1,130, 0, 0, 0, 0, 0, 0, 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, 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, 68, 65, 84, 65, 88, 1, 0, 0,
+136, 40,221, 4, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232, 38,221, 4, 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,111,255,124, 1, 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, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 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,216, 15,168, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,120, 17,168, 5, 0, 0, 0, 0, 56, 14,168, 5,
- 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, 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,124, 1,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, 16,253, 76, 1, 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, 88, 1, 0, 0,120, 17,168, 5, 0, 0, 0, 0,214, 0, 0, 0,
- 1, 0, 0, 0, 24, 19,168, 5, 0, 0, 0, 0,216, 15,168, 5, 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,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0, 40, 42,221, 4, 0, 0, 0, 0,180, 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, 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,
+ 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, 65,110,116,105, 45, 65,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, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 58,254,124, 1, 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, 24, 19,168, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,184, 20,168, 5, 0, 0, 0, 0,120, 17,168, 5,
- 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, 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, 83, 97,109,112,108,101,100, 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, 0, 0, 0, 0, 34,254,124, 1, 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, 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, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,
+104, 43,221, 4, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,216, 50,221, 4, 0, 0, 0, 0,216, 18,221, 4, 0, 0, 0, 0,
+184,255,220, 4, 0, 0, 0, 0, 88, 2,221, 4, 0, 0, 0, 0,200, 2,221, 4, 0, 0, 0, 0, 56, 3,221, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 6, 0, 0, 0, 0, 0, 0,139, 1, 0, 0, 17, 17, 32, 6,140, 1, 1, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 50,221, 4, 0, 0, 0, 0, 72, 50,221, 4, 0, 0, 0, 0,
+ 88, 44,221, 4, 0, 0, 0, 0,216, 48,221, 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, 68, 65, 84, 65, 40, 1, 0, 0, 88, 44,221, 4, 0, 0, 0, 0,
+217, 0, 0, 0, 1, 0, 0, 0,200, 45,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 74, 67,
+ 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0,196, 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, 6, 0, 0,
+ 0, 0, 0, 0, 25, 0, 0, 0, 0,224,195, 68, 0, 0,200, 65, 0,224,195, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 32, 6, 26, 0, 32, 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, 31, 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, 32, 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, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,184, 20,168, 5, 0, 0, 0, 0,214, 0, 0, 0,
- 1, 0, 0, 0, 88, 22,168, 5, 0, 0, 0, 0, 24, 19,168, 5, 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, 68, 65, 84, 65, 40, 1, 0, 0,200, 45,221, 4, 0, 0, 0, 0,
+217, 0, 0, 0, 1, 0, 0, 0,216, 48,221, 4, 0, 0, 0, 0, 88, 44,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 67,
+ 0, 0,185,195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 67, 0, 0,185,195, 0, 0, 0, 0,203, 0, 0, 0,220, 0, 0, 0,
+ 0, 0, 0, 0,113, 1, 0, 0, 0, 0, 0, 0,202, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,202, 0, 0, 0,
+ 0, 0, 0, 0,113, 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, 3, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,220, 0,114, 1,203, 0,114, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,219, 0, 0, 0, 26, 0, 0, 0,139, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,220, 0,114, 1, 0, 0, 4, 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, 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,
+ 56, 47,221, 4, 0, 0, 0, 0, 56, 47,221, 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, 68, 65, 84, 65, 88, 1, 0, 0, 56, 47,221, 4, 0, 0, 0, 0,
+215, 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, 76, 79, 71, 73, 67, 95, 80, 84, 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,
- 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, 76, 79, 71, 73, 67, 95, 80, 84, 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,
- 0, 0, 0, 0, 0, 0, 10,254,124, 1, 0, 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, 80,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, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,196,255,203, 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, 68, 65, 84, 65,
- 88, 1, 0, 0, 88, 22,168, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,248, 23,168, 5, 0, 0, 0, 0,184, 20,168, 5,
- 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, 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,242,253,124, 1, 0, 0, 0, 0, 0, 0,
- 4, 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,
+ 68, 65, 84, 65, 40, 1, 0, 0,216, 48,221, 4, 0, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+200, 45,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 68, 0, 0, 0, 0, 0, 0,112, 67, 0, 80, 31,195, 0,234,179, 68,
+224,198,182,194,184,177,165, 67, 51, 5, 0, 0, 68, 5, 0, 0, 18, 0, 0, 0,113, 1, 0, 0, 0, 0, 0, 0, 50, 5, 0, 0,
+ 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 50, 5, 0, 0, 18, 0, 0, 0,113, 1, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,250, 70, 0, 0,250, 70, 0, 0, 0, 63, 72,225,154, 63, 10, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 4, 0, 0, 68, 5,
+114, 1, 51, 5, 96, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,220, 0, 0, 0, 31, 6, 0, 0,
+ 26, 0, 0, 0,139, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 5,114, 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, 68, 65, 84, 65, 88, 1, 0, 0,248, 23,168, 5, 0, 0, 0, 0,214, 0, 0, 0,
- 1, 0, 0, 0,152, 25,168, 5, 0, 0, 0, 0, 88, 22,168, 5, 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, 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,
+ 68, 65, 84, 65, 72, 0, 0, 0, 72, 50,221, 4, 0, 0, 0, 0,194, 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, 17, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65,160, 0, 0, 0,216, 50,221, 4, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,152, 57,221, 4, 0, 0, 0, 0,
+104, 43,221, 4, 0, 0, 0, 0, 24, 4,221, 4, 0, 0, 0, 0,136, 4,221, 4, 0, 0, 0, 0,232, 1,221, 4, 0, 0, 0, 0,
+168, 3,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, 5, 0, 0,126, 7, 0, 0,141, 1, 0, 0,233, 3, 0, 0,
+ 9, 9, 62, 2, 93, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168, 54,221, 4, 0, 0, 0, 0,
+168, 54,221, 4, 0, 0, 0, 0,200, 51,221, 4, 0, 0, 0, 0, 56, 53,221, 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, 68, 65, 84, 65, 40, 1, 0, 0,
+200, 51,221, 4, 0, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0, 56, 53,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,230, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,128, 15, 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, 0, 0,218,253,124, 1, 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, 61, 2, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 64, 15, 68, 0, 0,200, 65, 0, 64, 15, 68, 0, 0,200, 65,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 62, 2, 26, 0, 62, 2, 26, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, 5, 0, 0,126, 7, 0, 0,141, 1, 0, 0,166, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 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,152, 25,168, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 56, 27,168, 5, 0, 0, 0, 0,248, 23,168, 5,
- 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, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,
+ 56, 53,221, 4, 0, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 51,221, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,128,181, 67, 0, 0, 0, 0, 0,128,218, 67, 0, 0, 0, 0,131,248, 1, 68, 0, 0, 0, 0, 86, 26, 3, 68,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,253,124, 1, 0, 0, 20, 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, 61, 2, 0, 0, 0, 0, 0, 0, 66, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 10,215, 35, 60, 0, 0,122, 68, 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 4, 10, 0, 62, 2, 67, 2, 62, 2, 67, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, 5, 0, 0,126, 7, 0, 0,167, 1, 0, 0,233, 3, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 2, 67, 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, 68, 65, 84, 65, 88, 1, 0, 0, 56, 27,168, 5, 0, 0, 0, 0,214, 0, 0, 0,
- 1, 0, 0, 0,216, 28,168, 5, 0, 0, 0, 0,152, 25,168, 5, 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, 68, 65, 84, 65,160, 2, 0, 0,
+168, 54,221, 4, 0, 0, 0, 0,190, 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, 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, 12, 0, 0, 0,
+ 0, 0, 0, 0, 1, 0, 0, 0, 4, 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, 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, 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, 40,253,124, 1,130, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 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,216, 28,168, 5, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 27,168, 5,
- 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, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,253,124, 1, 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, 68, 65, 84, 65,248, 0, 0, 0,120, 30,168, 5, 0, 0, 0, 0,180, 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, 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, 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, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-160, 0, 0, 0,184, 31,168, 5, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0, 72, 45,168, 5, 0, 0, 0, 0, 40, 7,168, 5,
- 0, 0, 0, 0,248,247,167, 5, 0, 0, 0, 0, 72,249,167, 5, 0, 0, 0, 0, 56,246,167, 5, 0, 0, 0, 0,136,247,167, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,249, 2, 0, 0,239, 5, 0, 0,105, 1, 0, 0,167, 3, 0, 0, 1, 1,247, 2,
- 63, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152, 43,168, 5, 0, 0, 0, 0,152, 43,168, 5,
- 0, 0, 0, 0,168, 32,168, 5, 0, 0, 0, 0,104, 38,168, 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, 68, 65, 84, 65, 40, 1, 0, 0,168, 32,168, 5,
- 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 24, 34,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 64,113, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,192, 61, 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,
-246, 2, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,128, 61, 68, 0, 0,200, 65, 0,128, 61, 68, 0, 0,200, 65, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,247, 2, 26, 0,247, 2, 26, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,249, 2, 0, 0,239, 5, 0, 0,105, 1, 0, 0,130, 1, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,247, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 40, 1, 0, 0, 24, 34,168, 5,
- 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,136, 35,168, 5, 0, 0, 0, 0,168, 32,168, 5, 0, 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,249, 2, 0, 0,249, 2, 0, 0,131, 1, 0, 0,167, 3, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 37, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 40, 1, 0, 0,136, 35,168, 5,
- 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,248, 36,168, 5, 0, 0, 0, 0, 24, 34,168, 5, 0, 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,249, 2, 0, 0,239, 5, 0, 0,131, 1, 0, 0,131, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 40, 1, 0, 0,248, 36,168, 5,
- 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,104, 38,168, 5, 0, 0, 0, 0,136, 35,168, 5, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 35, 67, 0,128,142,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 67, 0, 0, 26,196, 0, 0, 0, 0,163, 0, 0, 0,
-180, 0, 0, 0, 18, 0, 0, 0,121, 2, 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,121, 2, 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,122, 2,163, 0,104, 2, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,239, 5, 0, 0,239, 5, 0, 0,131, 1, 0, 0,167, 3, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 40, 1, 0, 0,104, 38,168, 5,
- 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 36,168, 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, 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,152, 57,221, 4, 0, 0, 0, 0,
+216, 0, 0, 0, 1, 0, 0, 0, 40, 71,221, 4, 0, 0, 0, 0,216, 50,221, 4, 0, 0, 0, 0,248, 4,221, 4, 0, 0, 0, 0,
+104, 5,221, 4, 0, 0, 0, 0,136, 4,221, 4, 0, 0, 0, 0, 24, 4,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 69, 1, 0, 0, 63, 5, 0, 0,141, 1, 0, 0,233, 3, 0, 0, 1, 1,251, 3, 93, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,120, 69,221, 4, 0, 0, 0, 0,120, 69,221, 4, 0, 0, 0, 0,136, 58,221, 4, 0, 0, 0, 0,
+ 72, 64,221, 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, 68, 65, 84, 65, 40, 1, 0, 0,136, 58,221, 4, 0, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0,
+248, 59,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64,113, 68, 0, 0, 0, 0, 0, 0,208, 65,
+ 0, 0, 0, 0, 0,192,126, 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,250, 3, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0,
+ 0,128,126, 68, 0, 0,200, 65, 0,128,126, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3,
+ 4, 0, 12, 0, 10, 0,251, 3, 26, 0,251, 3, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 69, 1, 0, 0, 63, 5, 0, 0,141, 1, 0, 0,166, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+251, 3, 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,249, 2, 0, 0,239, 5, 0, 0,131, 1, 0, 0,167, 3, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,247, 2, 37, 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, 40, 1, 0, 0,248, 59,221, 4, 0, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0,
+104, 61,221, 4, 0, 0, 0, 0,136, 58,221, 4, 0, 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,
+ 69, 1, 0, 0, 69, 1, 0, 0,167, 1, 0, 0,233, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 67, 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, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216, 39,168, 5, 0, 0, 0, 0, 68, 65, 84, 65,112, 3, 0, 0,216, 39,168, 5,
- 0, 0, 0, 0,174, 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,
- 74,141,193, 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,225,215,163,188, 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, 30,132, 27,191,222,160, 81,191,184,158, 81,191,117, 90,127, 63,
-166,235,149, 62, 9, 46,185, 62, 35, 44,185, 62,145,180,109,188,212, 60,173, 63,129, 63,228,190, 42, 61,228,190, 0, 0, 0, 0,
- 0, 0, 0, 0, 96,132,111, 65,214,211,111, 65,217,236,191, 62, 54,117, 85, 63,224,246, 70,188, 0,160, 32,182,252, 5,136,190,
- 43, 33, 3, 62,235,135, 23, 63, 0, 0, 96, 53,215,104, 25,196,133,132,135, 67, 37, 9,167,195,136,252, 71,194, 3, 54, 25, 68,
-158, 87,135,195,205,209,166, 67,151,254, 71, 66, 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, 30,132, 27,191,222,160, 81,191,184,158, 81,191,117, 90,127, 63,
-166,235,149, 62, 9, 46,185, 62, 35, 44,185, 62,145,180,109,188,212, 60,173, 63,129, 63,228,190, 42, 61,228,190, 0, 0, 0, 0,
- 0, 0, 0, 0, 96,132,111, 65,214,211,111, 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, 68, 65, 84, 65, 40, 1, 0, 0,104, 61,221, 4, 0, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0,
+216, 62,221, 4, 0, 0, 0, 0,248, 59,221, 4, 0, 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,
+ 69, 1, 0, 0, 63, 5, 0, 0,167, 1, 0, 0,167, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 40, 1, 0, 0,216, 62,221, 4, 0, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0,
+ 72, 64,221, 4, 0, 0, 0, 0,104, 61,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 67, 0, 0,109,196, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 35, 67, 0, 0,109,196, 0,128,145,195,163, 0, 0, 0,180, 0, 0, 0, 0, 0, 0, 0,144, 2, 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, 0, 0, 0, 0,144, 2, 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,180, 0,145, 2,163, 0,145, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 63, 5, 0, 0, 63, 5, 0, 0,167, 1, 0, 0,233, 3, 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, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 40, 1, 0, 0, 72, 64,221, 4, 0, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,216, 62,221, 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, 46, 86, 45, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 46, 86, 45, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 86, 45, 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,107,227, 29, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 0, 0,255,255, 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,
- 30, 33, 12, 66, 86,152,137, 66,116, 27,126, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 96, 1, 0, 0,152, 43,168, 5, 0, 0, 0, 0,175, 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, 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,
-205,204, 76, 62, 2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 7, 0, 24,213,168, 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,
+ 69, 1, 0, 0, 63, 5, 0, 0,167, 1, 0, 0,233, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+251, 3, 67, 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, 1, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 1, 0, 3, 0, 8, 8,128, 0, 0, 0, 12, 66, 0, 0,128, 63,
- 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,
- 0, 0, 16, 0, 10, 0, 7, 1, 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, 68, 65, 84, 65,160, 0, 0, 0, 72, 45,168, 5,
- 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0, 88, 51,168, 5, 0, 0, 0, 0,184, 31,168, 5, 0, 0, 0, 0,152,243,167, 5,
- 0, 0, 0, 0, 24,247,167, 5, 0, 0, 0, 0,136,247,167, 5, 0, 0, 0, 0,168,246,167, 5, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,239, 5, 0, 0, 0, 0, 0, 0,103, 1, 0, 0, 18, 18,240, 5,104, 1, 1, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136, 49,168, 5, 0, 0, 0, 0,136, 49,168, 5, 0, 0, 0, 0, 56, 46,168, 5,
- 0, 0, 0, 0,168, 47,168, 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, 68, 65, 84, 65, 40, 1, 0, 0, 56, 46,168, 5, 0, 0, 0, 0,216, 0, 0, 0,
- 1, 0, 0, 0,168, 47,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,160, 67, 0, 0, 0, 0,
- 0, 0,208, 65, 0, 0, 0, 0, 0, 0,190, 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,239, 5, 0, 0, 0, 0, 0, 0,
- 25, 0, 0, 0, 0,224,189, 68, 0, 0,200, 65, 0,224,189, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,240, 5, 26, 0,240, 5, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,239, 5, 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,240, 5, 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,
+184, 65,221, 4, 0, 0, 0, 0, 68, 65, 84, 65,112, 3, 0, 0,184, 65,221, 4, 0, 0, 0, 0,175, 0, 0, 0, 1, 0, 0, 0,
+190, 35, 30, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 40,139, 61, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,111, 18, 3,187, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0,128, 0, 0, 0,128, 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, 0, 0, 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, 0, 0, 0, 0,128, 63,
+190, 35, 30, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 40,139, 61, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,111, 18, 3,187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+149, 53,207, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,112,121,107, 65, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,255,255,249,195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0,128, 63,
+190, 35, 30, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 40,139, 61, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,111, 18, 3,187, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 40, 1, 0, 0,168, 47,168, 5, 0, 0, 0, 0,216, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 46,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0,224,189, 68, 0, 0, 0, 0,
- 0, 0, 51, 67, 0, 0, 0, 0, 0,224,187, 68, 0, 0, 0, 0, 0, 0,167, 67,223, 5, 0, 0,240, 5, 0, 0, 0, 0, 0, 0,
- 77, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,222, 5, 0, 0, 0, 0, 0, 0,
- 77, 1, 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, 2, 2, 0, 0,
- 1, 0, 3, 3, 2, 0, 0, 4, 10, 0,240, 5, 78, 1,223, 5, 78, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,239, 5, 0, 0, 26, 0, 0, 0,103, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,240, 5, 78, 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, 68, 65, 84, 65, 40, 0, 0, 0, 24, 49,168, 5, 0, 0, 0, 0,194, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 88,220,132, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0, 88,220,132, 5, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,136, 1, 0, 0,136, 49,168, 5, 0, 0, 0, 0,195, 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,
- 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 24, 49,168, 5, 0, 0, 0, 0, 24, 49,168, 5, 0, 0, 0, 0,
- 62, 62, 62, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+207, 3,116, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,207, 3,116, 64, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,207, 3,116, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,149, 53,207, 65,214,211,111, 65, 0, 0, 0, 0, 0, 0, 0, 0,
+221, 57, 80, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 65, 0, 0, 5, 0,251,251, 0, 0, 92, 62, 55, 63,
+ 56,186,224,190,237,203,148,190, 3,236,234,190, 1, 0, 0, 0, 0, 0,128, 63, 0, 0,180, 66, 0, 0,180, 66, 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, 1, 0, 0,120, 69,221, 4, 0, 0, 0, 0,
+176, 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, 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,205,204, 76, 62, 2, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 1, 0, 7, 0,216,120,222, 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, 1, 0, 0, 0, 1, 0, 0, 0,
+ 3, 0, 0, 0, 1, 0, 3, 0, 8, 8,128, 0, 0, 0, 12, 66, 0, 0,128, 63,205,204,204, 61, 0, 0,122, 68, 0, 0, 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, 10, 0, 7, 1, 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,
-112,121,116,104,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,
- 8, 4, 0, 0, 8, 4, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, 88, 51,168, 5, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,
-184, 57,168, 5, 0, 0, 0, 0, 72, 45,168, 5, 0, 0, 0, 0,104,248,167, 5, 0, 0, 0, 0, 56,246,167, 5, 0, 0, 0, 0,
-200,245,167, 5, 0, 0, 0, 0,216,248,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,241, 5, 0, 0,126, 7, 0, 0,
-237, 2, 0, 0,167, 3, 0, 0, 3, 3,142, 1,187, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 40, 55,168, 5, 0, 0, 0, 0, 40, 55,168, 5, 0, 0, 0, 0, 72, 52,168, 5, 0, 0, 0, 0,184, 53,168, 5, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, 40, 71,221, 4, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,152, 57,221, 4, 0, 0, 0, 0, 88, 2,221, 4, 0, 0, 0, 0,120, 1,221, 4, 0, 0, 0, 0,
+104, 5,221, 4, 0, 0, 0, 0,248, 4,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 1, 0, 0,
+141, 1, 0, 0,233, 3, 0, 0, 3, 3, 68, 1, 93, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+248, 74,221, 4, 0, 0, 0, 0,248, 74,221, 4, 0, 0, 0, 0, 24, 72,221, 4, 0, 0, 0, 0,136, 73,221, 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,
- 68, 65, 84, 65, 40, 1, 0, 0, 72, 52,168, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,184, 53,168, 5, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,244, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0,199, 67,
+ 68, 65, 84, 65, 40, 1, 0, 0, 24, 72,221, 4, 0, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0,136, 73,221, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,244, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0,162, 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,141, 1, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,128,198, 67, 0, 0,200, 65,
- 0,128,198, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,142, 1,
- 26, 0,142, 1, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,241, 5, 0, 0,126, 7, 0, 0,
-237, 2, 0, 0, 6, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,142, 1, 26, 0, 0, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 1, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,128,161, 67, 0, 0,200, 65,
+ 0,128,161, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 68, 1,
+ 26, 0, 68, 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, 67, 1, 0, 0,
+141, 1, 0, 0,166, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 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, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 40, 1, 0, 0,184, 53,168, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 72, 52,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,141, 67, 0, 0,244,194, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,190, 67,
- 0, 0, 15,195, 0, 0, 0, 0,125, 1, 0, 0,142, 1, 0, 0, 18, 0, 0, 0,160, 0, 0, 0, 0, 0, 0, 0,124, 1, 0, 0,
- 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,124, 1, 0, 0, 18, 0, 0, 0,160, 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, 6, 0, 0, 2, 0, 3, 3, 0, 0, 12, 4, 6, 0,142, 1,
-161, 0,125, 1,143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,241, 5, 0, 0,126, 7, 0, 0,
- 7, 3, 0, 0,167, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,142, 1,161, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 40, 1, 0, 0,136, 73,221, 4, 0, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 24, 72,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,141, 67, 0, 0,244,194, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,153, 67,
+ 0, 64, 12,196, 0, 0, 0, 0, 51, 1, 0, 0, 68, 1, 0, 0, 18, 0, 0, 0, 66, 2, 0, 0, 0, 0, 0, 0, 50, 1, 0, 0,
+ 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 50, 1, 0, 0, 18, 0, 0, 0, 66, 2, 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, 6, 0, 0, 2, 0, 3, 3, 0, 0, 12, 4, 6, 0, 68, 1,
+ 67, 2, 51, 1, 49, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 1, 0, 0,
+167, 1, 0, 0,233, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 1, 67, 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, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 24, 1, 0, 0, 40, 55,168, 5, 0, 0, 0, 0,184, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 24, 1, 0, 0,248, 74,221, 4, 0, 0, 0, 0,181, 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, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216, 52,137, 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,200,241,190, 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, 1, 0, 0, 0, 68, 65, 84, 65, 16, 0, 0, 0,200,241,190, 4, 0, 0, 0, 0,
+238, 0, 0, 0, 1, 0, 0, 0, 14, 0, 0, 0, 14, 0, 0, 0, 88, 76,221, 4, 0, 0, 0, 0, 68, 65, 84, 65,224, 0, 0, 0,
+ 88, 76,221, 4, 0, 0, 0, 0,237, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 40, 92,222, 4, 0, 0, 0, 0,
+ 19, 0, 0, 0, 1, 0, 1, 0, 40, 92,222, 4, 0, 0, 0, 0, 20, 0, 0, 0, 1, 0, 1, 0, 40, 92,222, 4, 0, 0, 0, 0,
+ 21, 0, 1, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 8,118,222, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 0, 1, 0,136,127,222, 4, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,168,181,222, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 0, 1, 0,232,140,222, 4, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,248,162,222, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 0, 1, 0, 56,134,222, 4, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,168,113,222, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 0, 1, 0,216,120,222, 4, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,152,112,222, 4, 0, 0, 0, 0,
+ 21, 0, 0, 0, 1, 0, 1, 0, 40, 92,222, 4, 0, 0, 0, 0, 83, 78, 0, 0, 8, 1, 0, 0, 24, 78,221, 4, 0, 0, 0, 0,
+212, 0, 0, 0, 1, 0, 0, 0,248,149,221, 4, 0, 0, 0, 0,104,254,220, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 83, 82, 77,111,116,105,111,110, 32, 84,114, 97, 99,107,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, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+104, 79,221, 4, 0, 0, 0, 0, 24, 85,221, 4, 0, 0, 0, 0,136, 85,221, 4, 0, 0, 0, 0,248, 92,221, 4, 0, 0, 0, 0,
+104, 93,221, 4, 0, 0, 0, 0,168,133,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 40, 92,222, 4, 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, 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, 32, 0, 0, 0,104, 79,221, 4, 0, 0, 0, 0,
+213, 0, 0, 0, 1, 0, 0, 0,216, 79,221, 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, 68, 65, 84, 65, 32, 0, 0, 0,216, 79,221, 4, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,
+ 72, 80,221, 4, 0, 0, 0, 0,104, 79,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 4, 0, 0, 0, 0,
+ 68, 65, 84, 65, 32, 0, 0, 0, 72, 80,221, 4, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,184, 80,221, 4, 0, 0, 0, 0,
+216, 79,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 6, 98, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,
+184, 80,221, 4, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 40, 81,221, 4, 0, 0, 0, 0, 72, 80,221, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 62, 6, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 40, 81,221, 4, 0, 0, 0, 0,
+213, 0, 0, 0, 1, 0, 0, 0,152, 81,221, 4, 0, 0, 0, 0,184, 80,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 64, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,152, 81,221, 4, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,
+ 8, 82,221, 4, 0, 0, 0, 0, 40, 81,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 6, 64, 4, 0, 0, 0, 0,
+ 68, 65, 84, 65, 32, 0, 0, 0, 8, 82,221, 4, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,120, 82,221, 4, 0, 0, 0, 0,
+152, 81,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 5, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,
+120, 82,221, 4, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,232, 82,221, 4, 0, 0, 0, 0, 8, 82,221, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 88, 5, 64, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,232, 82,221, 4, 0, 0, 0, 0,
+213, 0, 0, 0, 1, 0, 0, 0, 88, 83,221, 4, 0, 0, 0, 0,120, 82,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,108, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 88, 83,221, 4, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,
+200, 83,221, 4, 0, 0, 0, 0,232, 82,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 6,108, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 32, 0, 0, 0,200, 83,221, 4, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 56, 84,221, 4, 0, 0, 0, 0,
+ 88, 83,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120, 3, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,
+ 56, 84,221, 4, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,168, 84,221, 4, 0, 0, 0, 0,200, 83,221, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 62, 6,120, 3, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,168, 84,221, 4, 0, 0, 0, 0,
+213, 0, 0, 0, 1, 0, 0, 0, 24, 85,221, 4, 0, 0, 0, 0, 56, 84,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+208, 2,120, 3, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 24, 85,221, 4, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,168, 84,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,208, 2, 64, 4, 1, 0, 0, 0,
+ 68, 65, 84, 65, 40, 0, 0, 0,136, 85,221, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,248, 85,221, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,216, 79,221, 4, 0, 0, 0, 0, 72, 80,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 40, 0, 0, 0,248, 85,221, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,104, 86,221, 4, 0, 0, 0, 0,
+136, 85,221, 4, 0, 0, 0, 0,216, 79,221, 4, 0, 0, 0, 0, 40, 81,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 40, 0, 0, 0,104, 86,221, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,216, 86,221, 4, 0, 0, 0, 0,
+248, 85,221, 4, 0, 0, 0, 0, 72, 80,221, 4, 0, 0, 0, 0,152, 81,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 40, 0, 0, 0,216, 86,221, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 72, 87,221, 4, 0, 0, 0, 0,
+104, 86,221, 4, 0, 0, 0, 0, 40, 81,221, 4, 0, 0, 0, 0,152, 81,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 40, 0, 0, 0, 72, 87,221, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,184, 87,221, 4, 0, 0, 0, 0,
+216, 86,221, 4, 0, 0, 0, 0,104, 79,221, 4, 0, 0, 0, 0,184, 80,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 40, 0, 0, 0,184, 87,221, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 40, 88,221, 4, 0, 0, 0, 0,
+ 72, 87,221, 4, 0, 0, 0, 0,104, 79,221, 4, 0, 0, 0, 0,232, 82,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 40, 0, 0, 0, 40, 88,221, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,152, 88,221, 4, 0, 0, 0, 0,
+184, 87,221, 4, 0, 0, 0, 0,184, 80,221, 4, 0, 0, 0, 0, 88, 83,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 40, 0, 0, 0,152, 88,221, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 8, 89,221, 4, 0, 0, 0, 0,
+ 40, 88,221, 4, 0, 0, 0, 0,232, 82,221, 4, 0, 0, 0, 0, 88, 83,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 40, 0, 0, 0, 8, 89,221, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,120, 89,221, 4, 0, 0, 0, 0,
+152, 88,221, 4, 0, 0, 0, 0,232, 82,221, 4, 0, 0, 0, 0,200, 83,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 40, 0, 0, 0,120, 89,221, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,232, 89,221, 4, 0, 0, 0, 0,
+ 8, 89,221, 4, 0, 0, 0, 0, 40, 81,221, 4, 0, 0, 0, 0,200, 83,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 40, 0, 0, 0,232, 89,221, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 88, 90,221, 4, 0, 0, 0, 0,
+120, 89,221, 4, 0, 0, 0, 0,152, 81,221, 4, 0, 0, 0, 0, 56, 84,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 40, 0, 0, 0, 88, 90,221, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,200, 90,221, 4, 0, 0, 0, 0,
+232, 89,221, 4, 0, 0, 0, 0, 88, 83,221, 4, 0, 0, 0, 0, 56, 84,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 40, 0, 0, 0,200, 90,221, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 56, 91,221, 4, 0, 0, 0, 0,
+ 88, 90,221, 4, 0, 0, 0, 0,200, 83,221, 4, 0, 0, 0, 0, 56, 84,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 40, 0, 0, 0, 56, 91,221, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,168, 91,221, 4, 0, 0, 0, 0,
+200, 90,221, 4, 0, 0, 0, 0,200, 83,221, 4, 0, 0, 0, 0,168, 84,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 40, 0, 0, 0,168, 91,221, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 24, 92,221, 4, 0, 0, 0, 0,
+ 56, 91,221, 4, 0, 0, 0, 0, 56, 84,221, 4, 0, 0, 0, 0,168, 84,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 40, 0, 0, 0, 24, 92,221, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,136, 92,221, 4, 0, 0, 0, 0,
+168, 91,221, 4, 0, 0, 0, 0, 40, 81,221, 4, 0, 0, 0, 0, 24, 85,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 40, 0, 0, 0,136, 92,221, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,248, 92,221, 4, 0, 0, 0, 0,
+ 24, 92,221, 4, 0, 0, 0, 0,152, 81,221, 4, 0, 0, 0, 0, 24, 85,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 40, 0, 0, 0,248, 92,221, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+136, 92,221, 4, 0, 0, 0, 0,168, 84,221, 4, 0, 0, 0, 0, 24, 85,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65,160, 0, 0, 0,104, 93,221, 4, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 56, 97,221, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 40, 81,221, 4, 0, 0, 0, 0,216, 79,221, 4, 0, 0, 0, 0, 72, 80,221, 4, 0, 0, 0, 0,
+152, 81,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 6, 0, 0, 65, 4, 0, 0, 98, 4, 0, 0,
+ 7, 7, 63, 6, 34, 0, 1, 0, 0, 0, 0, 0, 7, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0,104,149,221, 4, 0, 0, 0, 0,
+104,149,221, 4, 0, 0, 0, 0, 88, 94,221, 4, 0, 0, 0, 0,200, 95,221, 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, 68, 65, 84, 65, 40, 1, 0, 0,
+ 88, 94,221, 4, 0, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0,200, 95,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,163, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,224,199, 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, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 68, 65, 84, 65, 16, 0, 0, 0,216, 52,137, 5, 0, 0, 0, 0,
-238, 0, 0, 0, 1, 0, 0, 0, 14, 0, 0, 0, 14, 0, 0, 0,136, 56,168, 5, 0, 0, 0, 0, 68, 65, 84, 65,224, 0, 0, 0,
-136, 56,168, 5, 0, 0, 0, 0,237, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,120,184,168, 5, 0, 0, 0, 0,
- 19, 0, 0, 0, 1, 0, 1, 0,120,184,168, 5, 0, 0, 0, 0, 20, 0, 0, 0, 1, 0, 1, 0,120,184,168, 5, 0, 0, 0, 0,
- 21, 0, 1, 0, 1, 0, 0, 0,120,184,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 72,210,168, 5, 0, 0, 0, 0,
- 0, 0, 0, 0, 1, 0, 1, 0,184,219,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,184, 17,169, 5, 0, 0, 0, 0,
- 0, 0, 0, 0, 1, 0, 1, 0,248,232,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 8,255,168, 5, 0, 0, 0, 0,
- 0, 0, 0, 0, 1, 0, 1, 0, 88,226,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,232,205,168, 5, 0, 0, 0, 0,
- 0, 0, 0, 0, 1, 0, 1, 0, 24,213,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,216,204,168, 5, 0, 0, 0, 0,
- 21, 0, 0, 0, 1, 0, 1, 0,120,184,168, 5, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,184, 57,168, 5, 0, 0, 0, 0,
-215, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 51,168, 5, 0, 0, 0, 0, 24,247,167, 5, 0, 0, 0, 0,
- 88,245,167, 5, 0, 0, 0, 0, 72,249,167, 5, 0, 0, 0, 0,248,247,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,247, 2, 0, 0,105, 1, 0, 0,167, 3, 0, 0, 9, 9,248, 2, 63, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,136, 61,168, 5, 0, 0, 0, 0,136, 61,168, 5, 0, 0, 0, 0,168, 58,168, 5, 0, 0, 0, 0,
- 24, 60,168, 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, 68, 65, 84, 65, 40, 1, 0, 0,168, 58,168, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,
- 24, 60,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,230, 67, 0, 0, 0, 0, 0, 0,208, 65,
- 0, 0, 0, 0, 0, 0, 62, 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,247, 2, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0,
- 0,192, 61, 68, 0, 0,200, 65, 0,192, 61, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3,
- 4, 0, 12, 0, 10, 0,248, 2, 26, 0,248, 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,247, 2, 0, 0,105, 1, 0, 0,130, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-248, 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, 62, 6, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,192,199, 68, 0, 0,200, 65, 0,192,199, 68, 0, 0,200, 65,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 63, 6, 26, 0, 63, 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, 62, 6, 0, 0, 65, 4, 0, 0, 90, 4, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 6, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 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, 40, 1, 0, 0,
+200, 95,221, 4, 0, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 94,221, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,192,239, 68, 0, 0, 0, 0, 0, 0,200, 65, 0, 0, 0, 0, 0,192,197, 68, 0, 0,128, 64, 0, 0, 64, 65,
+ 46, 6, 0, 0, 63, 6, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0,111, 7, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0,
+ 0, 0, 0, 0, 45, 6, 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,128, 63, 0, 0,128, 63, 2, 0, 0, 0, 1, 0, 3, 3, 2, 0, 0, 4, 10, 0, 63, 6, 8, 0, 46, 6, 8, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 6, 0, 0, 91, 4, 0, 0, 98, 4, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 6, 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, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 24, 60,168, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,168, 58,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0,224,189, 68, 0, 0, 0, 0, 0,192, 22, 68,
-248,150, 23, 68, 8, 41,100, 68, 46,224, 62, 67,233, 15,206, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,247, 2, 0, 0, 0, 0, 0, 0, 36, 2, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10,215, 35, 60, 0, 0,122, 68, 0, 0, 0, 0, 1, 0, 3, 0,
- 0, 0, 0, 4, 10, 0,248, 2, 37, 2,248, 2, 37, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,247, 2, 0, 0,131, 1, 0, 0,167, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-248, 2, 37, 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, 68, 65, 84, 65,160, 0, 0, 0,
+ 56, 97,221, 4, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 40,102,221, 4, 0, 0, 0, 0,104, 93,221, 4, 0, 0, 0, 0,
+104, 79,221, 4, 0, 0, 0, 0,232, 82,221, 4, 0, 0, 0, 0, 88, 83,221, 4, 0, 0, 0, 0,184, 80,221, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 6, 0, 0, 0, 0, 0, 0,107, 0, 0, 0, 15, 15, 63, 6,108, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,101,221, 4, 0, 0, 0, 0, 8,101,221, 4, 0, 0, 0, 0,
+ 40, 98,221, 4, 0, 0, 0, 0,152, 99,221, 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, 68, 65, 84, 65, 40, 1, 0, 0, 40, 98,221, 4, 0, 0, 0, 0,
+217, 0, 0, 0, 1, 0, 0, 0,152, 99,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,224,199, 68,
+ 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,224,199, 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, 62, 6, 0, 0,
+ 0, 0, 0, 0, 25, 0, 0, 0, 0,192,199, 68, 0, 0,200, 65, 0,192,199, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 63, 6, 26, 0, 63, 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, 62, 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, 63, 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, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,152, 99,221, 4, 0, 0, 0, 0,
+217, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 98,221, 4, 0, 0, 0, 0, 0, 0, 64,192, 0, 0,126, 67,
+ 0, 0, 0, 0, 0, 0, 72, 66, 88,218,103,194, 40,147,141, 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, 62, 6, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 62, 6, 0, 0,
+ 18, 0, 0, 0, 81, 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, 63, 6, 82, 0, 0, 0, 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, 6, 0, 0, 26, 0, 0, 0,107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 63, 6, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 8,101,221, 4, 0, 0, 0, 0,
+185, 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, 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, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 1, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,
+ 40,102,221, 4, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,232,117,221, 4, 0, 0, 0, 0, 56, 97,221, 4, 0, 0, 0, 0,
+232, 82,221, 4, 0, 0, 0, 0,200, 83,221, 4, 0, 0, 0, 0, 56, 84,221, 4, 0, 0, 0, 0, 88, 83,221, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 6, 0, 0,109, 0, 0, 0,119, 3, 0, 0, 20, 20, 63, 6, 11, 3, 1, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104,116,221, 4, 0, 0, 0, 0,104,116,221, 4, 0, 0, 0, 0,
+ 24,103,221, 4, 0, 0, 0, 0,248,114,221, 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, 68, 65, 84, 65, 40, 1, 0, 0, 24,103,221, 4, 0, 0, 0, 0,
+217, 0, 0, 0, 1, 0, 0, 0,136,104,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 19, 68,
+ 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,224,199, 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, 62, 6, 0, 0,
+ 0, 0, 0, 0, 25, 0, 0, 0, 0,192,199, 68, 0, 0,200, 65, 0,192,199, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 0, 0, 10, 0, 63, 6, 26, 0, 63, 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, 62, 6, 0, 0,109, 0, 0, 0,134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 63, 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, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,136,104,221, 4, 0, 0, 0, 0,
+217, 0, 0, 0, 1, 0, 0, 0,248,105,221, 4, 0, 0, 0, 0, 24,103,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,178, 67,
+ 0, 64, 30,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67, 0, 64, 30,196, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0,
+ 0, 0, 0, 0,120, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0,
+ 0, 0, 0, 0,120, 2, 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, 3, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,160, 0,121, 2,143, 0,121, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,159, 0, 0, 0,255, 0, 0, 0,119, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,160, 0,121, 2, 0, 0, 5, 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, 68, 65, 84, 65, 40, 1, 0, 0,248,105,221, 4, 0, 0, 0, 0,
+217, 0, 0, 0, 1, 0, 0, 0, 8,109,221, 4, 0, 0, 0, 0,136,104,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,178, 67,
+ 0, 0,240,194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67, 0, 0,240,194, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0,
+ 0, 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, 0,142, 0, 0, 0,
+ 0, 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, 3, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,160, 0,120, 0,143, 0,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,159, 0, 0, 0,135, 0, 0, 0,254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,160, 0,120, 0, 0, 0, 6, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+104,107,221, 4, 0, 0, 0, 0,104,107,221, 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, 68, 65, 84, 65, 88, 1, 0, 0,104,107,221, 4, 0, 0, 0, 0,
+215, 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, 67, 76, 73, 80, 95, 80, 84, 95,108, 97,115,116, 95,111,112,101,114, 97,116,111,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, 67, 76, 73, 80, 95, 80, 84, 95,108, 97,115,116, 95,111,112,101,114, 97,116,111,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, 78,101,119, 32, 83, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,255,143, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 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, 40, 1, 0, 0, 8,109,221, 4, 0, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0, 24,112,221, 4, 0, 0, 0, 0,
+248,105,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,178, 67, 0, 64, 60,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67,
+ 0, 64, 60,196, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 0, 0, 0, 0,240, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0,240, 2, 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, 3, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,160, 0,
+241, 2,143, 0,241, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,159, 5, 0, 0, 62, 6, 0, 0,
+135, 0, 0, 0,119, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 0,241, 2, 0, 0, 4, 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,120,110,221, 4, 0, 0, 0, 0,120,110,221, 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,
+ 68, 65, 84, 65, 88, 1, 0, 0,120,110,221, 4, 0, 0, 0, 0,215, 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, 67, 76, 73, 80, 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, 67, 76, 73, 80, 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, 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,232,255,143, 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, 68, 65, 84, 65,160, 2, 0, 0,136, 61,168, 5, 0, 0, 0, 0,187, 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,
- 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, 32, 0, 0, 0, 0, 0, 0, 0, 12, 0, 7, 0, 0, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0,205,204,204, 61,231, 1, 0, 0,243, 1, 0, 0,122, 1, 0, 0,124, 1, 0, 0,231, 1, 0, 0,243, 1, 0, 0,
- 4, 0, 0, 0,124, 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, 68, 65, 84, 65, 40, 1, 0, 0, 24,112,221, 4, 0, 0, 0, 0,
+217, 0, 0, 0, 1, 0, 0, 0,136,113,221, 4, 0, 0, 0, 0, 8,109,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67,
+ 0, 64,110,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 67, 0,192,105,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,159, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,159, 0, 0, 0,
+ 18, 0, 0, 0,184, 3, 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,
+ 8, 0, 0, 0, 2, 0, 3, 3, 0, 0, 2, 0, 6, 0,160, 0,185, 3,160, 0,167, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,160, 0, 0, 0,160, 0, 0, 0,135, 0, 0, 0,119, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 2, 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, 68, 65, 84, 65, 40, 1, 0, 0,136,113,221, 4, 0, 0, 0, 0,
+217, 0, 0, 0, 1, 0, 0, 0,248,114,221, 4, 0, 0, 0, 0, 24,112,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,122, 67,
+ 0, 0, 32,193, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0,122, 67, 0, 0, 32,193, 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,128, 0, 0, 0,128, 0, 0,124,146, 72,255,255,127,127, 0, 0, 0, 0, 0, 0, 0, 0,
+105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0,160, 0, 0, 0,135, 0, 0, 0,119, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 7, 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, 68, 65, 84, 65, 40, 1, 0, 0,248,114,221, 4, 0, 0, 0, 0,
+217, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,113,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,255, 0, 0,128,127, 0, 0,128,255, 0, 0,128,127, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 4, 0, 0,
+ 0, 0, 0, 0,241, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10,215, 35, 60, 0, 0,122, 68,
+ 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 4, 10, 0,255, 4,241, 2,255, 4,241, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,160, 0, 0, 0,158, 5, 0, 0,135, 0, 0, 0,119, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,255, 4,241, 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, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0,104,116,221, 4, 0, 0, 0, 0,
+198, 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, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 17,200, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 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,232,117,221, 4, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,168,133,221, 4, 0, 0, 0, 0,
+ 40,102,221, 4, 0, 0, 0, 0,168, 84,221, 4, 0, 0, 0, 0, 24, 85,221, 4, 0, 0, 0, 0,152, 81,221, 4, 0, 0, 0, 0,
+ 56, 84,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,209, 2, 0, 0, 62, 6, 0, 0,121, 3, 0, 0, 63, 4, 0, 0,
+ 20, 20,110, 3,199, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,132,221, 4, 0, 0, 0, 0,
+ 40,132,221, 4, 0, 0, 0, 0,216,118,221, 4, 0, 0, 0, 0,184,130,221, 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, 68, 65, 84, 65, 40, 1, 0, 0,
+216,118,221, 4, 0, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0, 72,120,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,212, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,128, 91, 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,109, 3, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 64, 91, 68, 0, 0,200, 65, 0, 64, 91, 68, 0, 0,200, 65,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 0, 0, 10, 0,110, 3, 26, 0,110, 3, 26, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,209, 2, 0, 0, 62, 6, 0, 0,121, 3, 0, 0,146, 3, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,110, 3, 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, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,
+ 72,120,221, 4, 0, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0,184,121,221, 4, 0, 0, 0, 0,216,118,221, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,128,178, 67, 0, 0, 84,194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67, 0, 0, 84,194, 0, 0, 0, 0,
+143, 0, 0, 0,160, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 52, 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, 3, 0, 0, 1, 0, 7, 0, 18, 0, 0, 0, 6, 0,160, 0, 53, 0,143, 0, 53, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,209, 2, 0, 0,209, 2, 0, 0,147, 3, 0, 0, 63, 4, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 5, 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, 68, 65, 84, 65, 40, 1, 0, 0,
+184,121,221, 4, 0, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0,200,124,221, 4, 0, 0, 0, 0, 72,120,221, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,128,178, 67, 0, 0,240,194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67, 0, 0,240,194, 0, 0, 0, 0,
+143, 0, 0, 0,160, 0, 0, 0, 0, 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, 0,142, 0, 0, 0, 0, 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, 3, 0, 0, 1, 0, 7, 0, 18, 0, 0, 0, 6, 0,160, 0,120, 0,143, 0,120, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,209, 2, 0, 0,209, 2, 0, 0,147, 3, 0, 0, 63, 4, 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, 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, 40,123,221, 4, 0, 0, 0, 0, 40,123,221, 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, 68, 65, 84, 65, 88, 1, 0, 0,
+ 40,123,221, 4, 0, 0, 0, 0,215, 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, 67, 76, 73, 80, 95, 80, 84, 95,108, 97,115,116, 95,111,112,101,
+114, 97,116,111,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, 67, 76, 73, 80, 95, 80, 84, 95,108, 97,115,116, 95,111,112,101,
+114, 97,116,111,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, 78,101,119, 32, 83, 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, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,255,143, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 40, 1, 0, 0,200,124,221, 4, 0, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0,
+216,127,221, 4, 0, 0, 0, 0,184,121,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,178, 67, 0, 0, 45,195, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 15, 67, 0, 0, 45,195, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 0, 0, 0, 0,172, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0,172, 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, 3, 0, 0, 1, 0, 7, 0,
+ 18, 0, 0, 0, 6, 0,160, 0,173, 0,143, 0,173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+209, 2, 0, 0,209, 2, 0, 0,147, 3, 0, 0, 63, 4, 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, 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, 56,126,221, 4, 0, 0, 0, 0,
+ 56,126,221, 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, 68, 65, 84, 65, 88, 1, 0, 0, 56,126,221, 4, 0, 0, 0, 0,215, 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,
+ 67, 76, 73, 80, 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,
+ 67, 76, 73, 80, 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,
+ 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,232,255,143, 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,
- 83, 78, 0, 0, 8, 1, 0, 0, 8, 65,168, 5, 0, 0, 0, 0,211, 0, 0, 0, 1, 0, 0, 0, 40,136,168, 5, 0, 0, 0, 0,
- 72,242,167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 82, 85, 86, 32, 69,100,105,
-116,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, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 66,168, 5, 0, 0, 0, 0,104, 69,168, 5, 0, 0, 0, 0,
-216, 69,168, 5, 0, 0, 0, 0, 56, 74,168, 5, 0, 0, 0, 0,168, 74,168, 5, 0, 0, 0, 0,200,118,168, 5, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,184,168, 5, 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, 32, 0, 0, 0, 88, 66,168, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,200, 66,168, 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, 68, 65, 84, 65, 32, 0, 0, 0,
-200, 66,168, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 56, 67,168, 5, 0, 0, 0, 0, 88, 66,168, 5, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 56, 67,168, 5, 0, 0, 0, 0,
-212, 0, 0, 0, 1, 0, 0, 0,168, 67,168, 5, 0, 0, 0, 0,200, 66,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-126, 7, 5, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,168, 67,168, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,
- 24, 68,168, 5, 0, 0, 0, 0, 56, 67,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 32, 0, 0, 0, 24, 68,168, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,136, 68,168, 5, 0, 0, 0, 0,
-168, 67,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,234, 3, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,
-136, 68,168, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,248, 68,168, 5, 0, 0, 0, 0, 24, 68,168, 5, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,126, 7,234, 3, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,248, 68,168, 5, 0, 0, 0, 0,
-212, 0, 0, 0, 1, 0, 0, 0,104, 69,168, 5, 0, 0, 0, 0,136, 68,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-200, 3,234, 3, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,104, 69,168, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,248, 68,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 3, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 40, 0, 0, 0,216, 69,168, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 72, 70,168, 5, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,200, 66,168, 5, 0, 0, 0, 0, 56, 67,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 40, 0, 0, 0, 72, 70,168, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,184, 70,168, 5, 0, 0, 0, 0,
-216, 69,168, 5, 0, 0, 0, 0,200, 66,168, 5, 0, 0, 0, 0, 24, 68,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 40, 0, 0, 0,184, 70,168, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 40, 71,168, 5, 0, 0, 0, 0,
- 72, 70,168, 5, 0, 0, 0, 0, 56, 67,168, 5, 0, 0, 0, 0,136, 68,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 40, 0, 0, 0, 40, 71,168, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,152, 71,168, 5, 0, 0, 0, 0,
-184, 70,168, 5, 0, 0, 0, 0, 24, 68,168, 5, 0, 0, 0, 0,136, 68,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 40, 0, 0, 0,152, 71,168, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 8, 72,168, 5, 0, 0, 0, 0,
- 40, 71,168, 5, 0, 0, 0, 0, 24, 68,168, 5, 0, 0, 0, 0,248, 68,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 40, 0, 0, 0, 8, 72,168, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,120, 72,168, 5, 0, 0, 0, 0,
-152, 71,168, 5, 0, 0, 0, 0, 88, 66,168, 5, 0, 0, 0, 0,104, 69,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 40, 0, 0, 0,120, 72,168, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,232, 72,168, 5, 0, 0, 0, 0,
- 8, 72,168, 5, 0, 0, 0, 0, 88, 66,168, 5, 0, 0, 0, 0, 24, 68,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 40, 0, 0, 0,232, 72,168, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 88, 73,168, 5, 0, 0, 0, 0,
-120, 72,168, 5, 0, 0, 0, 0,248, 68,168, 5, 0, 0, 0, 0,104, 69,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 40, 0, 0, 0, 88, 73,168, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,200, 73,168, 5, 0, 0, 0, 0,
-232, 72,168, 5, 0, 0, 0, 0,136, 68,168, 5, 0, 0, 0, 0,248, 68,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 40, 0, 0, 0,200, 73,168, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 56, 74,168, 5, 0, 0, 0, 0,
- 88, 73,168, 5, 0, 0, 0, 0,168, 67,168, 5, 0, 0, 0, 0,104, 69,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 40, 0, 0, 0, 56, 74,168, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-200, 73,168, 5, 0, 0, 0, 0,168, 67,168, 5, 0, 0, 0, 0,136, 68,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,160, 0, 0, 0,168, 74,168, 5, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,120, 78,168, 5, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 24, 68,168, 5, 0, 0, 0, 0,200, 66,168, 5, 0, 0, 0, 0, 56, 67,168, 5, 0, 0, 0, 0,
-136, 68,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 0, 0,235, 3, 0, 0, 5, 4, 0, 0,
- 7, 7,127, 7, 27, 0, 1, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,135,168, 5, 0, 0, 0, 0,
-152,135,168, 5, 0, 0, 0, 0,152, 75,168, 5, 0, 0, 0, 0, 8, 77,168, 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, 68, 65, 84, 65, 40, 1, 0, 0,
-152, 75,168, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 8, 77,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+216,127,221, 4, 0, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0, 72,129,221, 4, 0, 0, 0, 0,200,124,221, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 15, 67, 0, 0, 45,195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 67, 0, 0, 27,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,159, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0,
+ 0, 0, 0, 0,159, 0, 0, 0, 18, 0, 0, 0,172, 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, 8, 4, 0, 0, 2, 0, 3, 3, 0, 0, 2, 4, 6, 0,160, 0,173, 0,160, 0,155, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,209, 2, 0, 0,112, 3, 0, 0,147, 3, 0, 0, 63, 4, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 0,173, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 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, 40, 1, 0, 0,
+ 72,129,221, 4, 0, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0,184,130,221, 4, 0, 0, 0, 0,216,127,221, 4, 0, 0, 0, 0,
+ 0, 0, 32,193, 0,128, 91, 68,171,170,132,194, 0, 0, 0, 0, 0, 0, 32,193, 0,128, 91, 68, 0, 0, 27,195, 0, 0, 0, 0,
+189, 2, 0, 0,206, 2, 0, 0, 18, 0, 0, 0,172, 0, 0, 0, 0, 0, 0, 0,188, 2, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0,
+ 0, 0, 0, 0,188, 2, 0, 0, 18, 0, 0, 0,172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,124,146, 72,255,255,127,127,
+ 10,215, 35, 60, 0, 0, 72, 66, 74, 0, 0, 0, 0, 0, 0, 2, 16, 0, 2, 4, 4, 0,206, 2,173, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,113, 3, 0, 0, 62, 6, 0, 0,147, 3, 0, 0, 63, 4, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,206, 2,173, 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, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,
+184,130,221, 4, 0, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,129,221, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,255, 0, 0,128,127, 0, 0,128,255, 0, 0,128,127,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 46, 2, 0, 0, 0, 0, 0, 0,173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 10,215, 35, 60, 0, 0,122, 68, 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 10, 0, 46, 2,173, 0, 46, 2,173, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 1, 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, 0, 0, 0, 0, 0, 0,
+ 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, 56, 1, 0, 0,
+ 40,132,221, 4, 0, 0, 0, 0,198, 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, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120, 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, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17,200, 0, 0, 0, 0, 2, 0, 20, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,168,133,221, 4, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,232,117,221, 4, 0, 0, 0, 0,200, 83,221, 4, 0, 0, 0, 0, 40, 81,221, 4, 0, 0, 0, 0,
+ 24, 85,221, 4, 0, 0, 0, 0,168, 84,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,207, 2, 0, 0,
+121, 3, 0, 0, 63, 4, 0, 0, 20, 20,208, 2,199, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+232,147,221, 4, 0, 0, 0, 0,232,147,221, 4, 0, 0, 0, 0,152,134,221, 4, 0, 0, 0, 0,120,146,221, 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,
+ 68, 65, 84, 65, 40, 1, 0, 0,152,134,221, 4, 0, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0, 8,136,221, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,212, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 52, 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,207, 2, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,192, 51, 68, 0, 0,200, 65,
+ 0,192, 51, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 0, 0, 10, 0,208, 2,
+ 26, 0,208, 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,207, 2, 0, 0,
+121, 3, 0, 0,146, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,208, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 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, 40, 1, 0, 0, 8,136,221, 4, 0, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0,120,137,221, 4, 0, 0, 0, 0,
+152,134,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,178, 67, 0, 0, 84,194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67,
+ 0, 0, 84,194, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 52, 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, 3, 0, 0, 1, 0, 7, 0, 18, 0, 0, 0, 6, 0,160, 0,
+ 53, 0,143, 0, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+147, 3, 0, 0, 63, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 5, 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,
+ 68, 65, 84, 65, 40, 1, 0, 0,120,137,221, 4, 0, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0,136,140,221, 4, 0, 0, 0, 0,
+ 8,136,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,178, 67, 0, 0,240,194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67,
+ 0, 0,240,194, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 0, 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, 0,142, 0, 0, 0, 0, 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, 3, 0, 0, 1, 0, 7, 0, 18, 0, 0, 0, 6, 0,160, 0,
+120, 0,143, 0,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+147, 3, 0, 0, 63, 4, 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,
+ 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,232,138,221, 4, 0, 0, 0, 0,232,138,221, 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,
+ 68, 65, 84, 65, 88, 1, 0, 0,232,138,221, 4, 0, 0, 0, 0,215, 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, 67, 76, 73, 80, 95, 80, 84, 95,
+108, 97,115,116, 95,111,112,101,114, 97,116,111,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, 67, 76, 73, 80, 95, 80, 84, 95,
+108, 97,115,116, 95,111,112,101,114, 97,116,111,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, 78,101,119, 32, 83, 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,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,255,143, 0, 16, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 40, 1, 0, 0,136,140,221, 4, 0, 0, 0, 0,
+217, 0, 0, 0, 1, 0, 0, 0,152,143,221, 4, 0, 0, 0, 0,120,137,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,178, 67,
+ 0, 0, 45,195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67, 0, 0, 45,195, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0,
+ 0, 0, 0, 0,172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0,
+ 0, 0, 0, 0,172, 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, 3, 0, 0, 1, 0, 7, 0, 18, 0, 0, 0, 6, 0,160, 0,173, 0,143, 0,173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,147, 3, 0, 0, 63, 4, 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, 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,
+248,141,221, 4, 0, 0, 0, 0,248,141,221, 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, 68, 65, 84, 65, 88, 1, 0, 0,248,141,221, 4, 0, 0, 0, 0,
+215, 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, 67, 76, 73, 80, 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, 67, 76, 73, 80, 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, 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,232,255,143, 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,
+ 68, 65, 84, 65, 40, 1, 0, 0,152,143,221, 4, 0, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0, 8,145,221, 4, 0, 0, 0, 0,
+136,140,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67, 0, 64,110,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 67,
+ 0,192,105,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,159, 0, 0, 0,
+ 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,159, 0, 0, 0, 18, 0, 0, 0,184, 3, 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, 8, 0, 0, 0, 2, 0, 3, 3, 0, 0, 2, 0, 6, 0,160, 0,
+185, 3,160, 0,167, 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,
+147, 3, 0, 0, 63, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 2, 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,
+ 68, 65, 84, 65, 40, 1, 0, 0, 8,145,221, 4, 0, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0,120,146,221, 4, 0, 0, 0, 0,
+152,143,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,122, 67, 0, 0, 32,193, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0,122, 67,
+ 0, 0, 32,193, 0, 0, 32, 65, 0, 0, 0, 0, 17, 0, 0, 0, 18, 0, 0, 0,172, 0, 0, 0, 18, 0, 0, 0,207, 2, 0, 0,
+ 0, 0, 0, 0, 17, 0, 0, 0, 18, 0, 0, 0,207, 2, 0, 0, 18, 0, 0, 0,172, 0, 0, 0, 0, 0,128, 0, 0, 0,128, 0,
+ 0,124,146, 72,255,255,127,127, 0, 0, 0, 0, 0, 0, 0, 0,105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0,208, 2,
+173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,207, 2, 0, 0,
+147, 3, 0, 0, 63, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,208, 2,173, 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, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 40, 1, 0, 0,120,146,221, 4, 0, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 8,145,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,255, 0, 0,128,127,
+ 0, 0,128,255, 0, 0,128,127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 1, 0, 0, 0, 0, 0, 0,173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 10,215, 35, 60, 0, 0,122, 68, 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 10, 0,144, 1,
+173, 0,144, 1,173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 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, 1, 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, 0, 0, 0, 0, 0, 0, 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, 56, 1, 0, 0,232,147,221, 4, 0, 0, 0, 0,198, 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, 20, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,120, 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,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17,200, 0, 0, 0, 0, 1, 0,
+ 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 78, 0, 0, 8, 1, 0, 0,248,149,221, 4, 0, 0, 0, 0,
+212, 0, 0, 0, 1, 0, 0, 0,184,228,221, 4, 0, 0, 0, 0, 24, 78,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 83, 82, 83, 99,114,105,112,116,105,110,103, 0,103, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 72,151,221, 4, 0, 0, 0, 0,248,156,221, 4, 0, 0, 0, 0,104,157,221, 4, 0, 0, 0, 0,152,166,221, 4, 0, 0, 0, 0,
+ 8,167,221, 4, 0, 0, 0, 0,104,221,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 40, 92,222, 4, 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, 32, 0, 0, 0, 72,151,221, 4, 0, 0, 0, 0,
+213, 0, 0, 0, 1, 0, 0, 0,184,151,221, 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, 68, 65, 84, 65, 32, 0, 0, 0,184,151,221, 4, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,
+ 40,152,221, 4, 0, 0, 0, 0, 72,151,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 4, 0, 0, 0, 0,
+ 68, 65, 84, 65, 32, 0, 0, 0, 40,152,221, 4, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,152,152,221, 4, 0, 0, 0, 0,
+184,151,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 5, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,
+152,152,221, 4, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 8,153,221, 4, 0, 0, 0, 0, 40,152,221, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 8,153,221, 4, 0, 0, 0, 0,
+213, 0, 0, 0, 1, 0, 0, 0,120,153,221, 4, 0, 0, 0, 0,152,152,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,168, 3, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,120,153,221, 4, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,
+232,153,221, 4, 0, 0, 0, 0, 8,153,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7,168, 3, 0, 0, 0, 0,
+ 68, 65, 84, 65, 32, 0, 0, 0,232,153,221, 4, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 88,154,221, 4, 0, 0, 0, 0,
+120,153,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 5,168, 3, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,
+ 88,154,221, 4, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,200,154,221, 4, 0, 0, 0, 0,232,153,221, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,240, 5, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,200,154,221, 4, 0, 0, 0, 0,
+213, 0, 0, 0, 1, 0, 0, 0, 56,155,221, 4, 0, 0, 0, 0, 88,154,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,104, 1, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 56,155,221, 4, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,
+168,155,221, 4, 0, 0, 0, 0,200,154,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 5,104, 1, 1, 0, 0, 0,
+ 68, 65, 84, 65, 32, 0, 0, 0,168,155,221, 4, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 24,156,221, 4, 0, 0, 0, 0,
+ 56,155,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 2,104, 1, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,
+ 24,156,221, 4, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,136,156,221, 4, 0, 0, 0, 0,168,155,221, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,240, 5,236, 2, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,136,156,221, 4, 0, 0, 0, 0,
+213, 0, 0, 0, 1, 0, 0, 0,248,156,221, 4, 0, 0, 0, 0, 24,156,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+126, 7,236, 2, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,248,156,221, 4, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,136,156,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 2,168, 3, 0, 0, 0, 0,
+ 68, 65, 84, 65, 40, 0, 0, 0,104,157,221, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,216,157,221, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,184,151,221, 4, 0, 0, 0, 0, 40,152,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 40, 0, 0, 0,216,157,221, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 72,158,221, 4, 0, 0, 0, 0,
+104,157,221, 4, 0, 0, 0, 0,184,151,221, 4, 0, 0, 0, 0, 8,153,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 40, 0, 0, 0, 72,158,221, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,184,158,221, 4, 0, 0, 0, 0,
+216,157,221, 4, 0, 0, 0, 0, 40,152,221, 4, 0, 0, 0, 0,120,153,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 40, 0, 0, 0,184,158,221, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 40,159,221, 4, 0, 0, 0, 0,
+ 72,158,221, 4, 0, 0, 0, 0, 8,153,221, 4, 0, 0, 0, 0,120,153,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 40, 0, 0, 0, 40,159,221, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,152,159,221, 4, 0, 0, 0, 0,
+184,158,221, 4, 0, 0, 0, 0,120,153,221, 4, 0, 0, 0, 0,232,153,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 40, 0, 0, 0,152,159,221, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 8,160,221, 4, 0, 0, 0, 0,
+ 40,159,221, 4, 0, 0, 0, 0,152,152,221, 4, 0, 0, 0, 0, 88,154,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 40, 0, 0, 0, 8,160,221, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,120,160,221, 4, 0, 0, 0, 0,
+152,159,221, 4, 0, 0, 0, 0, 72,151,221, 4, 0, 0, 0, 0,200,154,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 40, 0, 0, 0,120,160,221, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,232,160,221, 4, 0, 0, 0, 0,
+ 8,160,221, 4, 0, 0, 0, 0, 8,153,221, 4, 0, 0, 0, 0,200,154,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 40, 0, 0, 0,232,160,221, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 88,161,221, 4, 0, 0, 0, 0,
+120,160,221, 4, 0, 0, 0, 0,232,153,221, 4, 0, 0, 0, 0, 56,155,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 40, 0, 0, 0, 88,161,221, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,200,161,221, 4, 0, 0, 0, 0,
+232,160,221, 4, 0, 0, 0, 0, 88,154,221, 4, 0, 0, 0, 0, 56,155,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 40, 0, 0, 0,200,161,221, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 56,162,221, 4, 0, 0, 0, 0,
+ 88,161,221, 4, 0, 0, 0, 0,200,154,221, 4, 0, 0, 0, 0,168,155,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 40, 0, 0, 0, 56,162,221, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,168,162,221, 4, 0, 0, 0, 0,
+200,161,221, 4, 0, 0, 0, 0, 56,155,221, 4, 0, 0, 0, 0,168,155,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 40, 0, 0, 0,168,162,221, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 24,163,221, 4, 0, 0, 0, 0,
+ 56,162,221, 4, 0, 0, 0, 0, 88,154,221, 4, 0, 0, 0, 0, 24,156,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 40, 0, 0, 0, 24,163,221, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,136,163,221, 4, 0, 0, 0, 0,
+168,162,221, 4, 0, 0, 0, 0,232,153,221, 4, 0, 0, 0, 0, 24,156,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 40, 0, 0, 0,136,163,221, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,248,163,221, 4, 0, 0, 0, 0,
+ 24,163,221, 4, 0, 0, 0, 0,120,153,221, 4, 0, 0, 0, 0,136,156,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 40, 0, 0, 0,248,163,221, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,104,164,221, 4, 0, 0, 0, 0,
+136,163,221, 4, 0, 0, 0, 0,152,152,221, 4, 0, 0, 0, 0,136,156,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 40, 0, 0, 0,104,164,221, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,216,164,221, 4, 0, 0, 0, 0,
+248,163,221, 4, 0, 0, 0, 0, 24,156,221, 4, 0, 0, 0, 0,136,156,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 40, 0, 0, 0,216,164,221, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 72,165,221, 4, 0, 0, 0, 0,
+104,164,221, 4, 0, 0, 0, 0, 8,153,221, 4, 0, 0, 0, 0,248,156,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 40, 0, 0, 0, 72,165,221, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,184,165,221, 4, 0, 0, 0, 0,
+216,164,221, 4, 0, 0, 0, 0,232,153,221, 4, 0, 0, 0, 0,248,156,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 40, 0, 0, 0,184,165,221, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 40,166,221, 4, 0, 0, 0, 0,
+ 72,165,221, 4, 0, 0, 0, 0,168,155,221, 4, 0, 0, 0, 0,248,156,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 40, 0, 0, 0, 40,166,221, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,152,166,221, 4, 0, 0, 0, 0,
+184,165,221, 4, 0, 0, 0, 0,200,154,221, 4, 0, 0, 0, 0, 56,155,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 40, 0, 0, 0,152,166,221, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 40,166,221, 4, 0, 0, 0, 0, 72,151,221, 4, 0, 0, 0, 0, 88,154,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65,160, 0, 0, 0, 8,167,221, 4, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,216,170,221, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 8,153,221, 4, 0, 0, 0, 0,184,151,221, 4, 0, 0, 0, 0, 40,152,221, 4, 0, 0, 0, 0,
+120,153,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 0, 0,169, 3, 0, 0, 5, 4, 0, 0,
+ 7, 7,127, 7, 93, 0, 1, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,228,221, 4, 0, 0, 0, 0,
+ 40,228,221, 4, 0, 0, 0, 0,248,167,221, 4, 0, 0, 0, 0,104,169,221, 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, 68, 65, 84, 65, 40, 1, 0, 0,
+248,167,221, 4, 0, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0,104,169,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 32,148, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,224,239, 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,126, 7, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,192,239, 68, 0, 0,200, 65, 0,192,239, 68, 0, 0,200, 65,
0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,127, 7, 26, 0,127, 7, 26, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 0, 0,235, 3, 0, 0, 4, 4, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,127, 7, 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,126, 7, 0, 0,236, 3, 0, 0, 5, 4, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,127, 7, 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, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,
- 8, 77,168, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152, 75,168, 5, 0, 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,128, 63, 0, 0,128, 63, 2, 0, 0, 0, 1, 0, 3, 3, 2, 0, 0, 4, 10, 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, 5, 4, 0, 0, 5, 4, 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,
+104,169,221, 4, 0, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,167,221, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,192,239, 68, 0, 0, 0, 0, 0, 0, 28, 66, 0, 0, 0, 0, 0,192,237, 68, 0, 0, 0, 0, 0, 0,134, 66,
+110, 7, 0, 0,127, 7, 0, 0, 0, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 0,111, 7, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0,
+ 0, 0, 0, 0,109, 7, 0, 0, 0, 0, 0, 0, 66, 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, 2, 2, 0, 0, 1, 0, 3, 3, 2, 0, 0, 4, 10, 0,127, 7, 67, 0,110, 7, 67, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 0, 0,169, 3, 0, 0,235, 3, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,127, 7, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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,
-120, 78,168, 5, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,200,118,168, 5, 0, 0, 0, 0,168, 74,168, 5, 0, 0, 0, 0,
- 88, 66,168, 5, 0, 0, 0, 0, 24, 68,168, 5, 0, 0, 0, 0,248, 68,168, 5, 0, 0, 0, 0,104, 69,168, 5, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,199, 3, 0, 0, 0, 0, 0, 0,233, 3, 0, 0, 6, 6,200, 3,234, 3, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 85,168, 5, 0, 0, 0, 0, 88, 85,168, 5, 0, 0, 0, 0,
-104, 79,168, 5, 0, 0, 0, 0,232, 83,168, 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, 68, 65, 84, 65, 40, 1, 0, 0,104, 79,168, 5, 0, 0, 0, 0,
-216, 0, 0, 0, 1, 0, 0, 0,216, 80,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,215, 67,
- 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0,114, 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,199, 3, 0, 0,
- 0, 0, 0, 0, 25, 0, 0, 0, 0,192,113, 68, 0, 0,200, 65, 0,192,113, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,200, 3, 26, 0,200, 3, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,199, 3, 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,200, 3, 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, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,216, 80,168, 5, 0, 0, 0, 0,
-216, 0, 0, 0, 1, 0, 0, 0,232, 83,168, 5, 0, 0, 0, 0,104, 79,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 91, 67,
- 0,192,115,196, 0, 0, 0, 0, 0, 0, 0, 0,254,255, 74, 67,254,255,115,196, 0, 0, 0, 0,203, 0, 0, 0,220, 0, 0, 0,
- 0, 0, 0, 0,207, 3, 0, 0, 0, 0, 0, 0,202, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,202, 0, 0, 0,
- 0, 0, 0, 0,207, 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, 3, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,220, 0,208, 3,203, 0,208, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,219, 0, 0, 0, 26, 0, 0, 0,233, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,220, 0,208, 3, 0, 0, 4, 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,
- 72, 82,168, 5, 0, 0, 0, 0, 72, 82,168, 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, 68, 65, 84, 65, 88, 1, 0, 0, 72, 82,168, 5, 0, 0, 0, 0,
-214, 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, 73, 77, 65, 71, 69, 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, 73, 77, 65, 71, 69, 95, 80, 84, 95,103,112,101,110, 99,105,108, 0, 0, 0, 0, 0, 0, 0, 0,
+216,170,221, 4, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,104,195,221, 4, 0, 0, 0, 0, 8,167,221, 4, 0, 0, 0, 0,
+ 88,154,221, 4, 0, 0, 0, 0, 24,156,221, 4, 0, 0, 0, 0,136,156,221, 4, 0, 0, 0, 0,152,152,221, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,241, 5, 0, 0,126, 7, 0, 0, 0, 0, 0, 0,235, 2, 0, 0, 4, 4,142, 1,236, 2, 1, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,194,221, 4, 0, 0, 0, 0, 40,194,221, 4, 0, 0, 0, 0,
+200,171,221, 4, 0, 0, 0, 0, 56,173,221, 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, 68, 65, 84, 65, 40, 1, 0, 0,200,171,221, 4, 0, 0, 0, 0,
+217, 0, 0, 0, 1, 0, 0, 0, 56,173,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,148, 67,
+ 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0,199, 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,141, 1, 0, 0,
+ 0, 0, 0, 0, 25, 0, 0, 0, 0,128,198, 67, 0, 0,200, 65, 0,128,198, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,142, 1, 26, 0,142, 1, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,241, 5, 0, 0,126, 7, 0, 0,210, 2, 0, 0,235, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,142, 1, 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, 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,152,255,202, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 40, 1, 0, 0, 56,173,221, 4, 0, 0, 0, 0,
+217, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,171,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,198, 67,
+ 0, 0, 61,196, 0, 0, 0, 0, 0, 0, 0, 0,254,127,190, 67,254,127, 52,196, 0, 0, 0, 0,125, 1, 0, 0,142, 1, 0, 0,
+ 0, 0, 0, 0,209, 2, 0, 0, 0, 0, 0, 0,126, 1, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,124, 1, 0, 0,
+ 0, 0, 0, 0,209, 2, 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,142, 1,210, 2,125, 1,210, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,241, 5, 0, 0,126, 7, 0, 0, 0, 0, 0, 0,209, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,142, 1,210, 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,
+168,174,221, 4, 0, 0, 0, 0,136,192,221, 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, 68, 65, 84, 65, 88, 1, 0, 0,168,174,221, 4, 0, 0, 0, 0,
+215, 0, 0, 0, 1, 0, 0, 0, 72,176,221, 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, 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, 0, 0, 0, 0, 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, 40, 1, 0, 0,232, 83,168, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-216, 80,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 67, 51, 51, 43,191,154,153,213, 63,
- 51, 51,131,191,154,153, 1, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,236, 2, 0, 0, 0, 0, 0, 0,208, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 67,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, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,220, 0, 0, 0,199, 3, 0, 0,
- 26, 0, 0, 0,233, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,236, 2,208, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,220,255,124, 1, 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, 40, 33, 0, 0, 88, 85,168, 5, 0, 0, 0, 0,185, 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, 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,100, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,240, 65, 0, 0, 0, 0,154,153,153, 62, 0, 0, 0, 0,100, 0, 0, 0,154,153,153, 62,100, 0, 0, 0,
+ 68, 65, 84, 65, 88, 1, 0, 0, 72,176,221, 4, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,232,177,221, 4, 0, 0, 0, 0,
+168,174,221, 4, 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, 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,124, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,232,177,221, 4, 0, 0, 0, 0,
+215, 0, 0, 0, 1, 0, 0, 0,136,179,221, 4, 0, 0, 0, 0, 72,176,221, 4, 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, 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,124, 1, 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, 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,136,179,221, 4, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0, 40,181,221, 4, 0, 0, 0, 0,
+232,177,221, 4, 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, 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,124, 1,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, 68, 65, 84, 65, 88, 1, 0, 0, 40,181,221, 4, 0, 0, 0, 0,
+215, 0, 0, 0, 1, 0, 0, 0,200,182,221, 4, 0, 0, 0, 0,136,179,221, 4, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 65,110,116,105, 45, 65,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, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58,254,124, 1, 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,200,182,221, 4, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,104,184,221, 4, 0, 0, 0, 0,
+ 40,181,221, 4, 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, 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, 83, 97,109,112,108,101,100, 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, 0, 0, 0, 0, 34,254,124, 1, 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,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,104,184,221, 4, 0, 0, 0, 0,
+215, 0, 0, 0, 1, 0, 0, 0, 8,186,221, 4, 0, 0, 0, 0,200,182,221, 4, 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, 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, 10,254,124, 1, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 88, 1, 0, 0, 8,186,221, 4, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,168,187,221, 4, 0, 0, 0, 0,
+104,184,221, 4, 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, 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,242,253,124, 1, 0, 0,
+ 0, 0, 0, 0, 4, 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, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,168,187,221, 4, 0, 0, 0, 0,
+215, 0, 0, 0, 1, 0, 0, 0, 72,189,221, 4, 0, 0, 0, 0, 8,186,221, 4, 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, 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,218,253,124, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 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, 72,189,221, 4, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,232,190,221, 4, 0, 0, 0, 0,
+168,187,221, 4, 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, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 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,253,124, 1, 0, 0,
+ 20, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,232,190,221, 4, 0, 0, 0, 0,
+215, 0, 0, 0, 1, 0, 0, 0,136,192,221, 4, 0, 0, 0, 0, 72,189,221, 4, 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, 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, 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, 40,253,124, 1,130, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 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,136,192,221, 4, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+232,190,221, 4, 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, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 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,253,124, 1, 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, 68, 65, 84, 65,248, 0, 0, 0, 40,194,221, 4, 0, 0, 0, 0,
+180, 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, 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, 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, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65,160, 0, 0, 0,104,195,221, 4, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,248,208,221, 4, 0, 0, 0, 0,
+216,170,221, 4, 0, 0, 0, 0,168,155,221, 4, 0, 0, 0, 0,248,156,221, 4, 0, 0, 0, 0,232,153,221, 4, 0, 0, 0, 0,
+ 56,155,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,249, 2, 0, 0,239, 5, 0, 0,105, 1, 0, 0,167, 3, 0, 0,
+ 1, 1,247, 2, 63, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,207,221, 4, 0, 0, 0, 0,
+ 72,207,221, 4, 0, 0, 0, 0, 88,196,221, 4, 0, 0, 0, 0, 24,202,221, 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, 68, 65, 84, 65, 40, 1, 0, 0,
+ 88,196,221, 4, 0, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0,200,197,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 64,113, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,192, 61, 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,246, 2, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,128, 61, 68, 0, 0,200, 65, 0,128, 61, 68, 0, 0,200, 65,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,247, 2, 26, 0,247, 2, 26, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,249, 2, 0, 0,239, 5, 0, 0,105, 1, 0, 0,130, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,247, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 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, 40, 1, 0, 0,
+200,197,221, 4, 0, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0, 56,199,221, 4, 0, 0, 0, 0, 88,196,221, 4, 0, 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,249, 2, 0, 0,249, 2, 0, 0,131, 1, 0, 0,167, 3, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 37, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 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, 40, 1, 0, 0,
+ 56,199,221, 4, 0, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0,168,200,221, 4, 0, 0, 0, 0,200,197,221, 4, 0, 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,249, 2, 0, 0,239, 5, 0, 0,131, 1, 0, 0,131, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 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, 40, 1, 0, 0,
+168,200,221, 4, 0, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0, 24,202,221, 4, 0, 0, 0, 0, 56,199,221, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 35, 67, 0,128,142,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 67, 0, 0, 26,196, 0, 0, 0, 0,
+163, 0, 0, 0,180, 0, 0, 0, 18, 0, 0, 0,121, 2, 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,121, 2, 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,122, 2,163, 0,104, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,239, 5, 0, 0,239, 5, 0, 0,131, 1, 0, 0,167, 3, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 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, 40, 1, 0, 0,
+ 24,202,221, 4, 0, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168,200,221, 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,249, 2, 0, 0,239, 5, 0, 0,131, 1, 0, 0,167, 3, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,247, 2, 37, 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,136,203,221, 4, 0, 0, 0, 0, 68, 65, 84, 65,112, 3, 0, 0,
+136,203,221, 4, 0, 0, 0, 0,175, 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, 74,141,193, 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,225,215,163,188, 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, 30,132, 27,191,222,160, 81,191,184,158, 81,191,
+117, 90,127, 63,166,235,149, 62, 9, 46,185, 62, 35, 44,185, 62,145,180,109,188,212, 60,173, 63,129, 63,228,190, 42, 61,228,190,
+ 0, 0, 0, 0, 0, 0, 0, 0, 96,132,111, 65,214,211,111, 65,217,236,191, 62, 54,117, 85, 63,224,246, 70,188, 0,160, 32,182,
+252, 5,136,190, 43, 33, 3, 62,235,135, 23, 63, 0, 0, 96, 53,215,104, 25,196,133,132,135, 67, 37, 9,167,195,136,252, 71,194,
+ 3, 54, 25, 68,158, 87,135,195,205,209,166, 67,151,254, 71, 66, 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, 30,132, 27,191,222,160, 81,191,184,158, 81,191,
+117, 90,127, 63,166,235,149, 62, 9, 46,185, 62, 35, 44,185, 62,145,180,109,188,212, 60,173, 63,129, 63,228,190, 42, 61,228,190,
+ 0, 0, 0, 0, 0, 0, 0, 0, 96,132,111, 65,214,211,111, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5234,10 +5005,57 @@ char datatoc_startup_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, 0, 0, 0, 0, 46, 86, 45, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 46, 86, 45, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 86, 45, 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,107,227, 29, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 1, 0, 0,255,255, 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, 30, 33, 12, 66, 86,152,137, 66,116, 27,126, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 96, 1, 0, 0, 72,207,221, 4, 0, 0, 0, 0,176, 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, 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,205,204, 76, 62, 2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 7, 0,216,120,222, 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, 1, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 1, 0, 3, 0, 8, 8,128, 0, 0, 0, 12, 66,
+ 0, 0,128, 63, 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, 0, 0, 16, 0, 10, 0, 7, 1, 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, 68, 65, 84, 65,160, 0, 0, 0,
+248,208,221, 4, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 8,215,221, 4, 0, 0, 0, 0,104,195,221, 4, 0, 0, 0, 0,
+ 72,151,221, 4, 0, 0, 0, 0,200,154,221, 4, 0, 0, 0, 0, 56,155,221, 4, 0, 0, 0, 0, 88,154,221, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,239, 5, 0, 0, 0, 0, 0, 0,103, 1, 0, 0, 18, 18,240, 5,104, 1, 1, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,213,221, 4, 0, 0, 0, 0, 56,213,221, 4, 0, 0, 0, 0,
+232,209,221, 4, 0, 0, 0, 0, 88,211,221, 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, 68, 65, 84, 65, 40, 1, 0, 0,232,209,221, 4, 0, 0, 0, 0,
+217, 0, 0, 0, 1, 0, 0, 0, 88,211,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,160, 67,
+ 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0,190, 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,239, 5, 0, 0,
+ 0, 0, 0, 0, 25, 0, 0, 0, 0,224,189, 68, 0, 0,200, 65, 0,224,189, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,240, 5, 26, 0,240, 5, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,239, 5, 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,240, 5, 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, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 88,211,221, 4, 0, 0, 0, 0,
+217, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,209,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,224,189, 68,
+ 0, 0, 0, 0, 0, 0, 51, 67, 0, 0, 0, 0, 0,224,187, 68, 0, 0, 0, 0, 0, 0,167, 67,223, 5, 0, 0,240, 5, 0, 0,
+ 0, 0, 0, 0, 77, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,222, 5, 0, 0,
+ 0, 0, 0, 0, 77, 1, 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,
+ 2, 2, 0, 0, 1, 0, 3, 3, 2, 0, 0, 4, 10, 0,240, 5, 78, 1,223, 5, 78, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,239, 5, 0, 0, 26, 0, 0, 0,103, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,240, 5, 78, 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, 68, 65, 84, 65, 40, 0, 0, 0,200,212,221, 4, 0, 0, 0, 0,
+195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 24,205,185, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0, 24,205,185, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,136, 1, 0, 0, 56,213,221, 4, 0, 0, 0, 0,196, 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, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,200,212,221, 4, 0, 0, 0, 0,200,212,221, 4,
+ 0, 0, 0, 0, 62, 62, 62, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5245,22 +5063,83 @@ char datatoc_startup_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,112,121,116,104,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, 8, 4, 0, 0, 8, 4, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, 8,215,221, 4, 0, 0, 0, 0,216, 0, 0, 0,
+ 1, 0, 0, 0,104,221,221, 4, 0, 0, 0, 0,248,208,221, 4, 0, 0, 0, 0, 24,156,221, 4, 0, 0, 0, 0,232,153,221, 4,
+ 0, 0, 0, 0,120,153,221, 4, 0, 0, 0, 0,136,156,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,241, 5, 0, 0,
+126, 7, 0, 0,237, 2, 0, 0,167, 3, 0, 0, 3, 3,142, 1,187, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,216,218,221, 4, 0, 0, 0, 0,216,218,221, 4, 0, 0, 0, 0,248,215,221, 4, 0, 0, 0, 0,104,217,221, 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, 68, 65, 84, 65, 40, 1, 0, 0,248,215,221, 4, 0, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0,104,217,221, 4,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,244, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0,
+ 0, 0,199, 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,141, 1, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,128,198, 67,
+ 0, 0,200, 65, 0,128,198, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0,
+ 10, 0,142, 1, 26, 0,142, 1, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,241, 5, 0, 0,
+126, 7, 0, 0,237, 2, 0, 0, 6, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,142, 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, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,104,217,221, 4, 0, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,248,215,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,141, 67, 0, 0,244,194, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,128,190, 67, 0, 0, 15,195, 0, 0, 0, 0,125, 1, 0, 0,142, 1, 0, 0, 18, 0, 0, 0,160, 0, 0, 0, 0, 0, 0, 0,
+124, 1, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,124, 1, 0, 0, 18, 0, 0, 0,160, 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, 6, 0, 0, 2, 0, 3, 3, 0, 0, 12, 4,
+ 6, 0,142, 1,161, 0,125, 1,143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,241, 5, 0, 0,
+126, 7, 0, 0, 7, 3, 0, 0,167, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,142, 1,161, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 24, 1, 0, 0,216,218,221, 4, 0, 0, 0, 0,181, 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, 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, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,251,190, 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, 1, 0, 0, 0, 68, 65, 84, 65, 16, 0, 0, 0,200,251,190, 4,
+ 0, 0, 0, 0,238, 0, 0, 0, 1, 0, 0, 0, 14, 0, 0, 0, 14, 0, 0, 0, 56,220,221, 4, 0, 0, 0, 0, 68, 65, 84, 65,
+224, 0, 0, 0, 56,220,221, 4, 0, 0, 0, 0,237, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 40, 92,222, 4,
+ 0, 0, 0, 0, 19, 0, 0, 0, 1, 0, 1, 0, 40, 92,222, 4, 0, 0, 0, 0, 20, 0, 0, 0, 1, 0, 1, 0, 40, 92,222, 4,
+ 0, 0, 0, 0, 21, 0, 1, 0, 1, 0, 0, 0, 40, 92,222, 4, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 8,118,222, 4,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,136,127,222, 4, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,168,181,222, 4,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,232,140,222, 4, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,248,162,222, 4,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 56,134,222, 4, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,168,113,222, 4,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,216,120,222, 4, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,152,112,222, 4,
+ 0, 0, 0, 0, 21, 0, 0, 0, 1, 0, 1, 0, 40, 92,222, 4, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,104,221,221, 4,
+ 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,215,221, 4, 0, 0, 0, 0,200,154,221, 4,
+ 0, 0, 0, 0, 8,153,221, 4, 0, 0, 0, 0,248,156,221, 4, 0, 0, 0, 0,168,155,221, 4, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,247, 2, 0, 0,105, 1, 0, 0,167, 3, 0, 0, 9, 9,248, 2, 63, 2, 1, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,225,221, 4, 0, 0, 0, 0, 56,225,221, 4, 0, 0, 0, 0, 88,222,221, 4,
+ 0, 0, 0, 0,200,223,221, 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, 68, 65, 84, 65, 40, 1, 0, 0, 88,222,221, 4, 0, 0, 0, 0,217, 0, 0, 0,
+ 1, 0, 0, 0,200,223,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,230, 67, 0, 0, 0, 0,
+ 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 62, 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,247, 2, 0, 0, 0, 0, 0, 0,
+ 25, 0, 0, 0, 0,192, 61, 68, 0, 0,200, 65, 0,192, 61, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,248, 2, 26, 0,248, 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,247, 2, 0, 0,105, 1, 0, 0,130, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,248, 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,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 40, 1, 0, 0,200,223,221, 4, 0, 0, 0, 0,217, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88,222,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,224,189, 68, 0, 0, 0, 0,
+ 0,192, 22, 68,248,150, 23, 68, 8, 41,100, 68, 46,224, 62, 67,233, 15,206, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,247, 2, 0, 0, 0, 0, 0, 0,
+ 36, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10,215, 35, 60, 0, 0,122, 68, 0, 0, 0, 0,
+ 1, 0, 3, 0, 0, 0, 0, 4, 10, 0,248, 2, 37, 2,248, 2, 37, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,247, 2, 0, 0,131, 1, 0, 0,167, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,248, 2, 37, 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, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 2, 0, 0, 56,225,221, 4, 0, 0, 0, 0,190, 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, 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, 32, 0, 0, 0, 0, 0, 0, 0, 12, 0, 7, 0, 0, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0,205,204,204, 61,231, 1, 0, 0,243, 1, 0, 0,122, 1, 0, 0,124, 1, 0, 0,231, 1, 0, 0,
+243, 1, 0, 0, 4, 0, 0, 0,124, 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,
@@ -5277,27 +5156,130 @@ char datatoc_startup_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, 83, 78, 0, 0, 8, 1, 0, 0,184,228,221, 4, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,216, 43,222, 4,
+ 0, 0, 0, 0,248,149,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 82, 85, 86,
+ 32, 69,100,105,116,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,
+ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,230,221, 4, 0, 0, 0, 0, 24,233,221, 4,
+ 0, 0, 0, 0,136,233,221, 4, 0, 0, 0, 0,232,237,221, 4, 0, 0, 0, 0, 88,238,221, 4, 0, 0, 0, 0,120, 26,222, 4,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 92,222, 4, 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, 32, 0, 0, 0, 8,230,221, 4, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,120,230,221, 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, 68, 65, 84, 65,
+ 32, 0, 0, 0,120,230,221, 4, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,232,230,221, 4, 0, 0, 0, 0, 8,230,221, 4,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,232,230,221, 4,
+ 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 88,231,221, 4, 0, 0, 0, 0,120,230,221, 4, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,126, 7, 5, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 88,231,221, 4, 0, 0, 0, 0,213, 0, 0, 0,
+ 1, 0, 0, 0,200,231,221, 4, 0, 0, 0, 0,232,230,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,200,231,221, 4, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 56,232,221, 4,
+ 0, 0, 0, 0, 88,231,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,234, 3, 1, 0, 0, 0, 68, 65, 84, 65,
+ 32, 0, 0, 0, 56,232,221, 4, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,168,232,221, 4, 0, 0, 0, 0,200,231,221, 4,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7,234, 3, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,168,232,221, 4,
+ 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 24,233,221, 4, 0, 0, 0, 0, 56,232,221, 4, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,200, 3,234, 3, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 24,233,221, 4, 0, 0, 0, 0,213, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168,232,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 3, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,136,233,221, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,248,233,221, 4,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,230,221, 4, 0, 0, 0, 0,232,230,221, 4, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,248,233,221, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,104,234,221, 4,
+ 0, 0, 0, 0,136,233,221, 4, 0, 0, 0, 0,120,230,221, 4, 0, 0, 0, 0,200,231,221, 4, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,104,234,221, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,216,234,221, 4,
+ 0, 0, 0, 0,248,233,221, 4, 0, 0, 0, 0,232,230,221, 4, 0, 0, 0, 0, 56,232,221, 4, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,216,234,221, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 72,235,221, 4,
+ 0, 0, 0, 0,104,234,221, 4, 0, 0, 0, 0,200,231,221, 4, 0, 0, 0, 0, 56,232,221, 4, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 72,235,221, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,184,235,221, 4,
+ 0, 0, 0, 0,216,234,221, 4, 0, 0, 0, 0,200,231,221, 4, 0, 0, 0, 0,168,232,221, 4, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,184,235,221, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 40,236,221, 4,
+ 0, 0, 0, 0, 72,235,221, 4, 0, 0, 0, 0, 8,230,221, 4, 0, 0, 0, 0, 24,233,221, 4, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 40,236,221, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,152,236,221, 4,
+ 0, 0, 0, 0,184,235,221, 4, 0, 0, 0, 0, 8,230,221, 4, 0, 0, 0, 0,200,231,221, 4, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,152,236,221, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 8,237,221, 4,
+ 0, 0, 0, 0, 40,236,221, 4, 0, 0, 0, 0,168,232,221, 4, 0, 0, 0, 0, 24,233,221, 4, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 8,237,221, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,120,237,221, 4,
+ 0, 0, 0, 0,152,236,221, 4, 0, 0, 0, 0, 56,232,221, 4, 0, 0, 0, 0,168,232,221, 4, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,120,237,221, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,232,237,221, 4,
+ 0, 0, 0, 0, 8,237,221, 4, 0, 0, 0, 0, 88,231,221, 4, 0, 0, 0, 0, 24,233,221, 4, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,232,237,221, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,120,237,221, 4, 0, 0, 0, 0, 88,231,221, 4, 0, 0, 0, 0, 56,232,221, 4, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, 88,238,221, 4, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 40,242,221, 4,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,231,221, 4, 0, 0, 0, 0,120,230,221, 4, 0, 0, 0, 0,232,230,221, 4,
+ 0, 0, 0, 0, 56,232,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 0, 0,235, 3, 0, 0,
+ 5, 4, 0, 0, 7, 7,127, 7, 27, 0, 1, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 43,222, 4,
+ 0, 0, 0, 0, 72, 43,222, 4, 0, 0, 0, 0, 72,239,221, 4, 0, 0, 0, 0,184,240,221, 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, 68, 65, 84, 65,
+ 40, 1, 0, 0, 72,239,221, 4, 0, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0,184,240,221, 4, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 32,148, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,224,239, 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,126, 7, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,192,239, 68, 0, 0,200, 65, 0,192,239, 68,
+ 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,127, 7, 26, 0,127, 7,
+ 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 0, 0,235, 3, 0, 0,
+ 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,127, 7, 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, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 40, 1, 0, 0,184,240,221, 4, 0, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,239,221, 4,
+ 0, 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,128, 63, 0, 0,128, 63, 2, 0, 0, 0, 1, 0, 3, 3, 2, 0, 0, 4, 10, 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, 5, 4, 0, 0,
+ 5, 4, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 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, 40,242,221, 4, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,120, 26,222, 4, 0, 0, 0, 0, 88,238,221, 4,
+ 0, 0, 0, 0, 8,230,221, 4, 0, 0, 0, 0,200,231,221, 4, 0, 0, 0, 0,168,232,221, 4, 0, 0, 0, 0, 24,233,221, 4,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,199, 3, 0, 0, 0, 0, 0, 0,233, 3, 0, 0, 6, 6,200, 3,
+234, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,249,221, 4, 0, 0, 0, 0, 8,249,221, 4,
+ 0, 0, 0, 0, 24,243,221, 4, 0, 0, 0, 0,152,247,221, 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, 68, 65, 84, 65, 40, 1, 0, 0, 24,243,221, 4,
+ 0, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0,136,244,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,215, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0,114, 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,
+199, 3, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,192,113, 68, 0, 0,200, 65, 0,192,113, 68, 0, 0,200, 65, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,200, 3, 26, 0,200, 3, 26, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,199, 3, 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,200, 3, 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, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,136,244,221, 4,
+ 0, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0,152,247,221, 4, 0, 0, 0, 0, 24,243,221, 4, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 91, 67, 0,192,115,196, 0, 0, 0, 0, 0, 0, 0, 0,254,255, 74, 67,254,255,115,196, 0, 0, 0, 0,203, 0, 0, 0,
+220, 0, 0, 0, 0, 0, 0, 0,207, 3, 0, 0, 0, 0, 0, 0,202, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,
+202, 0, 0, 0, 0, 0, 0, 0,207, 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, 3, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,220, 0,208, 3,203, 0,208, 3, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,219, 0, 0, 0, 26, 0, 0, 0,233, 3, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,220, 0,208, 3, 0, 0, 4, 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,248,245,221, 4, 0, 0, 0, 0,248,245,221, 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, 68, 65, 84, 65, 88, 1, 0, 0,248,245,221, 4,
+ 0, 0, 0, 0,215, 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, 73, 77, 65, 71, 69, 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, 73, 77, 65, 71, 69, 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, 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,152,255,202, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 40, 1, 0, 0,152,247,221, 4, 0, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,136,244,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 67, 51, 51, 43,191,
+154,153,213, 63, 51, 51,131,191,154,153, 1, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,236, 2, 0, 0, 0, 0, 0, 0,208, 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, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,220, 0, 0, 0,
+199, 3, 0, 0, 26, 0, 0, 0,233, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,236, 2,208, 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, 68, 65, 84, 65, 40, 33, 0, 0, 8,249,221, 4, 0, 0, 0, 0,189, 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, 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,100, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 65, 0, 0, 0, 0,154,153,153, 62, 0, 0, 0, 0,100, 0, 0, 0,154,153,153, 62,
+100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5424,102 +5406,42 @@ char datatoc_startup_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,100, 0, 0, 0, 0, 0, 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, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,160, 0, 0, 0,200,118,168, 5, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-120, 78,168, 5, 0, 0, 0, 0,104, 69,168, 5, 0, 0, 0, 0,248, 68,168, 5, 0, 0, 0, 0,136, 68,168, 5, 0, 0, 0, 0,
-168, 67,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,201, 3, 0, 0,126, 7, 0, 0, 0, 0, 0, 0,233, 3, 0, 0,
- 1, 1,182, 3,234, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,133,168, 5, 0, 0, 0, 0,
-232,133,168, 5, 0, 0, 0, 0,184,119,168, 5, 0, 0, 0, 0,184,128,168, 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, 68, 65, 84, 65, 40, 1, 0, 0,
-184,119,168, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 40,121,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 64,113, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,128,109, 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,181, 3, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 64,109, 68, 0, 0,200, 65, 0, 64,109, 68, 0, 0,200, 65,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,182, 3, 26, 0,182, 3, 26, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,201, 3, 0, 0,126, 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,182, 3, 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, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 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, 40, 1, 0, 0,
- 40,121,168, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 56,124,168, 5, 0, 0, 0, 0,184,119,168, 5, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 32, 67, 0, 0, 86,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67, 0, 0, 86,196, 0, 0, 0, 0,
-143, 0, 0, 0,160, 0, 0, 0, 0, 0, 0, 0, 87, 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, 0, 0, 0, 0, 87, 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, 3, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,160, 0, 88, 3,143, 0, 88, 3, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,201, 3, 0, 0,104, 4, 0, 0,146, 0, 0, 0,233, 3, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 0, 88, 3, 0, 0, 5, 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,152,122,168, 5, 0, 0, 0, 0,152,122,168, 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, 68, 65, 84, 65, 88, 1, 0, 0,
-152,122,168, 5, 0, 0, 0, 0,214, 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, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95,
-111, 98,106,101, 99,116,109,111,100,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, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95,
-111, 98,106,101, 99,116,109,111,100,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, 79, 98,106,101, 99,116, 32, 84,111,111,108,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,233,253,143, 0,255, 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, 68, 65, 84, 65, 40, 1, 0, 0, 56,124,168, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,
- 72,127,168, 5, 0, 0, 0, 0, 40,121,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 67, 0, 0,242,194, 0, 0, 0, 0,
- 0, 0, 0, 0,231,102, 16, 67, 91, 90,242,194, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 0, 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, 0, 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, 3, 0, 0, 1, 0, 7, 0,
- 18, 0, 0, 4, 6, 0,160, 0,120, 0,143, 0,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-201, 3, 0, 0,104, 4, 0, 0, 26, 0, 0, 0,145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-160, 0,120, 0, 0, 0, 6, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168,125,168, 5, 0, 0, 0, 0,
-168,125,168, 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, 68, 65, 84, 65, 88, 1, 0, 0,168,125,168, 5, 0, 0, 0, 0,214, 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,
- 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,108, 97,115,116, 95,111,112,101,114, 97,116,111,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,
- 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,108, 97,115,116, 95,111,112,101,114, 97,116,111,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,
- 79,112,101,114, 97,116,111,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,216,255,144, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 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, 40, 1, 0, 0,
- 72,127,168, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,184,128,168, 5, 0, 0, 0, 0, 56,124,168, 5, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 35, 67, 0,128,126,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 67,255,191,126,196, 0, 0, 0, 0,
-163, 0, 0, 0,180, 0, 0, 0, 18, 0, 0, 0, 12, 4, 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, 12, 4, 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, 13, 4,163, 0,251, 3, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 0, 0,126, 7, 0, 0, 26, 0, 0, 0,233, 3, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 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, 40, 1, 0, 0,
-184,128,168, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,127,168, 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, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,105, 4, 0, 0,126, 7, 0, 0, 26, 0, 0, 0,233, 3, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 3,208, 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, 40,130,168, 5, 0, 0, 0, 0, 68, 65, 84, 65,112, 3, 0, 0,
- 40,130,168, 5, 0, 0, 0, 0,174, 0, 0, 0, 1, 0, 0, 0, 72,246,172, 63, 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, 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, 0, 25, 95,192, 0, 0,128, 63, 69,239,209, 62, 70,119,105, 63,160, 84, 89,188, 0, 0, 0, 0,
- 52,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,
-188,173, 54, 64,136, 95,161,191,147,231,198, 63, 0, 0,128, 63,185,214, 13, 63,208,249,224,190, 48,180, 81,191,184,158, 81,191,
-189,188,157, 63,140,225, 88, 62, 26, 63,185, 62, 35, 44,185, 62,241,213,146,188,206,156,122, 63,138, 84,228,190, 42, 61,228,190,
- 0, 0, 0, 0, 0, 0, 0, 0,100, 98, 82, 64, 0, 25, 95, 64,121, 92,155, 62,151,198, 44, 63,192,214, 32,188, 0, 0, 40,180,
-195, 15,188,190,132, 75, 53, 62,216,125, 81, 63, 0, 0,192,179,115, 77,100,193, 17,173,201, 64,181,148,248,192,203,247,159,192,
-233, 74, 87, 65,247, 46,190,192, 88,106,234, 64, 45, 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, 0, 25, 95,192, 0, 0,128, 63,185,214, 13, 63,208,249,224,190, 48,180, 81,191,184,158, 81,191,
-189,188,157, 63,140,225, 88, 62, 26, 63,185, 62, 35, 44,185, 62,241,213,146,188,206,156,122, 63,138, 84,228,190, 42, 61,228,190,
- 0, 0, 0, 0, 0, 0, 0, 0,100, 98, 82, 64, 0, 25, 95, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5527,338 +5449,78 @@ char datatoc_startup_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, 0, 0, 0, 0,248,201,250, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,248,201,250, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,201,250, 62, 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,
- 0, 25, 95, 64, 0, 25, 95, 64, 0, 0, 0, 0, 0, 0, 0, 0,114,145,245, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1, 1, 0, 0,255,255, 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, 30, 33, 12, 66, 85,152,137, 66,116, 27,126, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 96, 1, 0, 0,232,133,168, 5, 0, 0, 0, 0,175, 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, 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,205,204, 76, 62, 2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 7, 0, 24,213,168, 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, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 1, 0, 3, 0, 8, 8,128, 0, 0, 0, 12, 66,
- 0, 0,128, 63,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, 0, 0, 16, 0, 10, 0, 7, 1, 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, 83, 78, 0, 0, 8, 1, 0, 0,
- 40,136,168, 5, 0, 0, 0, 0,211, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 65,168, 5, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 82, 86,105,100,101,111, 32, 69,100,105,116,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, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,120,137,168, 5, 0, 0, 0, 0, 72,142,168, 5, 0, 0, 0, 0,184,142,168, 5, 0, 0, 0, 0,
- 40,150,168, 5, 0, 0, 0, 0,152,150,168, 5, 0, 0, 0, 0,248,175,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,120,184,168, 5, 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, 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, 32, 0, 0, 0,
-120,137,168, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,232,137,168, 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, 68, 65, 84, 65, 32, 0, 0, 0,232,137,168, 5, 0, 0, 0, 0,
-212, 0, 0, 0, 1, 0, 0, 0, 88,138,168, 5, 0, 0, 0, 0,120,137,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,222, 2, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 88,138,168, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,
-200,138,168, 5, 0, 0, 0, 0,232,137,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 4,222, 2, 0, 0, 0, 0,
- 68, 65, 84, 65, 32, 0, 0, 0,200,138,168, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 56,139,168, 5, 0, 0, 0, 0,
- 88,138,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 4, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,
- 56,139,168, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,168,139,168, 5, 0, 0, 0, 0,200,138,168, 5, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,195, 2, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,168,139,168, 5, 0, 0, 0, 0,
-212, 0, 0, 0, 1, 0, 0, 0, 24,140,168, 5, 0, 0, 0, 0, 56,139,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-240, 4,195, 2, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 24,140,168, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,
-136,140,168, 5, 0, 0, 0, 0,168,139,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 4, 92, 1, 0, 0, 0, 0,
- 68, 65, 84, 65, 32, 0, 0, 0,136,140,168, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,248,140,168, 5, 0, 0, 0, 0,
- 24,140,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,
-248,140,168, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,104,141,168, 5, 0, 0, 0, 0,136,140,168, 5, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 48, 2,195, 2, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,104,141,168, 5, 0, 0, 0, 0,
-212, 0, 0, 0, 1, 0, 0, 0,216,141,168, 5, 0, 0, 0, 0,248,140,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 92, 1, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,216,141,168, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0,
- 72,142,168, 5, 0, 0, 0, 0,104,141,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 2, 92, 1, 0, 0, 0, 0,
- 68, 65, 84, 65, 32, 0, 0, 0, 72,142,168, 5, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-216,141,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 4, 68, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-184,142,168, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 40,143,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-232,137,168, 5, 0, 0, 0, 0, 88,138,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
- 40,143,168, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,152,143,168, 5, 0, 0, 0, 0,184,142,168, 5, 0, 0, 0, 0,
-232,137,168, 5, 0, 0, 0, 0, 56,139,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-152,143,168, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 8,144,168, 5, 0, 0, 0, 0, 40,143,168, 5, 0, 0, 0, 0,
- 88,138,168, 5, 0, 0, 0, 0,168,139,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
- 8,144,168, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,120,144,168, 5, 0, 0, 0, 0,152,143,168, 5, 0, 0, 0, 0,
- 56,139,168, 5, 0, 0, 0, 0,168,139,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-120,144,168, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,232,144,168, 5, 0, 0, 0, 0, 8,144,168, 5, 0, 0, 0, 0,
-168,139,168, 5, 0, 0, 0, 0, 24,140,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-232,144,168, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 88,145,168, 5, 0, 0, 0, 0,120,144,168, 5, 0, 0, 0, 0,
-120,137,168, 5, 0, 0, 0, 0,136,140,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
- 88,145,168, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,200,145,168, 5, 0, 0, 0, 0,232,144,168, 5, 0, 0, 0, 0,
- 56,139,168, 5, 0, 0, 0, 0,248,140,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-200,145,168, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 56,146,168, 5, 0, 0, 0, 0, 88,145,168, 5, 0, 0, 0, 0,
-136,140,168, 5, 0, 0, 0, 0,104,141,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
- 56,146,168, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,168,146,168, 5, 0, 0, 0, 0,200,145,168, 5, 0, 0, 0, 0,
-104,141,168, 5, 0, 0, 0, 0,216,141,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-168,146,168, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 24,147,168, 5, 0, 0, 0, 0, 56,146,168, 5, 0, 0, 0, 0,
-248,140,168, 5, 0, 0, 0, 0,216,141,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
- 24,147,168, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,136,147,168, 5, 0, 0, 0, 0,168,146,168, 5, 0, 0, 0, 0,
- 24,140,168, 5, 0, 0, 0, 0, 72,142,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-136,147,168, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,248,147,168, 5, 0, 0, 0, 0, 24,147,168, 5, 0, 0, 0, 0,
-200,138,168, 5, 0, 0, 0, 0, 72,142,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-248,147,168, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,104,148,168, 5, 0, 0, 0, 0,136,147,168, 5, 0, 0, 0, 0,
-136,140,168, 5, 0, 0, 0, 0, 72,142,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-104,148,168, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,216,148,168, 5, 0, 0, 0, 0,248,147,168, 5, 0, 0, 0, 0,
-120,137,168, 5, 0, 0, 0, 0,200,138,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-216,148,168, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 72,149,168, 5, 0, 0, 0, 0,104,148,168, 5, 0, 0, 0, 0,
-168,139,168, 5, 0, 0, 0, 0,248,140,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
- 72,149,168, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,184,149,168, 5, 0, 0, 0, 0,216,148,168, 5, 0, 0, 0, 0,
- 24,140,168, 5, 0, 0, 0, 0,216,141,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-184,149,168, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 40,150,168, 5, 0, 0, 0, 0, 72,149,168, 5, 0, 0, 0, 0,
- 56,139,168, 5, 0, 0, 0, 0,104,141,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
- 40,150,168, 5, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,149,168, 5, 0, 0, 0, 0,
- 24,140,168, 5, 0, 0, 0, 0,104,141,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,
-152,150,168, 5, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0,104,154,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 56,139,168, 5, 0, 0, 0, 0,232,137,168, 5, 0, 0, 0, 0, 88,138,168, 5, 0, 0, 0, 0,168,139,168, 5, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 4, 0, 0,196, 2, 0, 0,222, 2, 0, 0, 7, 7,241, 4, 27, 0, 1, 0,
- 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,183,168, 5, 0, 0, 0, 0,232,183,168, 5, 0, 0, 0, 0,
-136,151,168, 5, 0, 0, 0, 0,248,152,168, 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, 68, 65, 84, 65, 40, 1, 0, 0,136,151,168, 5, 0, 0, 0, 0,
-216, 0, 0, 0, 1, 0, 0, 0,248,152,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,148, 68,
- 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 32,158, 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,240, 4, 0, 0,
- 0, 0, 0, 0, 25, 0, 0, 0, 0, 0,158, 68, 0, 0,200, 65, 0, 0,158, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,241, 4, 26, 0,241, 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,240, 4, 0, 0,196, 2, 0, 0,221, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,241, 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, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,248,152,168, 5, 0, 0, 0, 0,
-216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,151,168, 5, 0, 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,128, 63, 0, 0,128, 63,
- 2, 0, 0, 0, 1, 0, 3, 3, 2, 0, 0, 4, 10, 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,222, 2, 0, 0,222, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,104,154,168, 5, 0, 0, 0, 0,
-215, 0, 0, 0, 1, 0, 0, 0, 88,159,168, 5, 0, 0, 0, 0,152,150,168, 5, 0, 0, 0, 0,120,137,168, 5, 0, 0, 0, 0,
-136,140,168, 5, 0, 0, 0, 0, 72,142,168, 5, 0, 0, 0, 0,200,138,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,240, 4, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0, 15, 15,241, 4, 68, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 56,158,168, 5, 0, 0, 0, 0, 56,158,168, 5, 0, 0, 0, 0, 88,155,168, 5, 0, 0, 0, 0,
-200,156,168, 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, 68, 65, 84, 65, 40, 1, 0, 0, 88,155,168, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,
-200,156,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32,140, 68, 0, 0, 0, 0, 0, 0,208, 65,
- 0, 0, 0, 0, 0, 32,158, 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,240, 4, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0,
- 0, 0,158, 68, 0, 0,200, 65, 0, 0,158, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3,
- 4, 0, 12, 0, 10, 0,241, 4, 26, 0,241, 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,240, 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,
-241, 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,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,200,156,168, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 88,155,168, 5, 0, 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,240, 4, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,240, 4, 0, 0, 18, 0, 0, 0, 41, 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,241, 4, 42, 0, 0, 0, 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, 4, 0, 0, 26, 0, 0, 0, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-241, 4, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 56,158,168, 5, 0, 0, 0, 0,191, 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,
- 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 1, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, 88,159,168, 5, 0, 0, 0, 0,
-215, 0, 0, 0, 1, 0, 0, 0, 72,167,168, 5, 0, 0, 0, 0,104,154,168, 5, 0, 0, 0, 0,136,140,168, 5, 0, 0, 0, 0,
-104,141,168, 5, 0, 0, 0, 0, 24,140,168, 5, 0, 0, 0, 0, 72,142,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,240, 4, 0, 0, 69, 0, 0, 0, 91, 1, 0, 0, 8, 8,241, 4, 23, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 8,166,168, 5, 0, 0, 0, 0, 8,166,168, 5, 0, 0, 0, 0, 72,160,168, 5, 0, 0, 0, 0,
-152,164,168, 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, 68, 65, 84, 65, 40, 1, 0, 0, 72,160,168, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,
-184,161,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 26, 68, 0, 0, 0, 0, 0, 0,208, 65,
- 0, 0, 0, 0, 0, 32,158, 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,240, 4, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0,
- 0, 0,158, 68, 0, 0,200, 65, 0, 0,158, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3,
- 4, 0, 12, 0, 10, 0,241, 4, 26, 0,241, 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,240, 4, 0, 0, 69, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-241, 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,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,184,161,168, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,
- 40,163,168, 5, 0, 0, 0, 0, 72,160,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 67, 0, 0,125,195, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 75, 67, 1, 0,125,195, 0, 0, 0, 0,203, 0, 0, 0,220, 0, 0, 0, 0, 0, 0, 0,252, 0, 0, 0,
- 0, 0, 0, 0,202, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,202, 0, 0, 0, 0, 0, 0, 0,252, 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, 3, 0, 0, 1, 0, 7, 0,
- 18, 0, 0, 4, 6, 0,220, 0,253, 0,203, 0,253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 21, 4, 0, 0,240, 4, 0, 0, 95, 0, 0, 0, 91, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-220, 0,253, 0, 0, 0, 4, 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, 68, 65, 84, 65, 40, 1, 0, 0, 40,163,168, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,
-152,164,168, 5, 0, 0, 0, 0,184,161,168, 5, 0, 0, 0, 0, 0, 0,112,196, 0, 0,112, 68, 0, 0, 7,196, 0, 0, 7, 68,
- 0, 0,112,196, 0, 0,112, 68, 0, 0, 7,196, 0, 0, 7, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 59, 70, 0,128, 59, 70,172,197, 39, 55, 0, 80,195, 71, 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, 20, 4, 0, 0, 91, 1, 0, 0, 91, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 7, 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, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,152,164,168, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 40,163,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,122, 67, 0, 0, 0, 0, 0, 0, 0, 65,
- 0, 0, 0, 0, 0, 0,122, 67, 0, 0, 0, 0, 0, 0, 0, 65, 0, 0, 0, 0, 17, 0, 0, 0, 18, 0, 0, 0,252, 0, 0, 0,
- 18, 0, 0, 0, 20, 4, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 18, 0, 0, 0, 20, 4, 0, 0, 18, 0, 0, 0,252, 0, 0, 0,
- 0, 0, 32, 65, 0, 0, 0, 63, 0,124,146, 72, 0, 0, 0, 66, 10,215, 35, 60, 0, 0,200, 66,105, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 4, 8, 0, 21, 4,253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 20, 4, 0, 0, 95, 0, 0, 0, 91, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 21, 4,253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 8,166,168, 5, 0, 0, 0, 0,181, 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,
- 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 64,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, 72,167,168, 5, 0, 0, 0, 0,
-215, 0, 0, 0, 1, 0, 0, 0,248,175,168, 5, 0, 0, 0, 0, 88,159,168, 5, 0, 0, 0, 0,104,141,168, 5, 0, 0, 0, 0,
- 56,139,168, 5, 0, 0, 0, 0,248,140,168, 5, 0, 0, 0, 0,216,141,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 47, 2, 0, 0, 93, 1, 0, 0,194, 2, 0, 0, 2, 2, 48, 2,102, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,248,173,168, 5, 0, 0, 0, 0,248,173,168, 5, 0, 0, 0, 0, 56,168,168, 5, 0, 0, 0, 0,
-136,172,168, 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, 68, 65, 84, 65, 40, 1, 0, 0, 56,168,168, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,
-168,169,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 89, 68, 0, 0, 0, 0, 0, 0,208, 65,
-154,216, 65, 55, 0, 0, 12, 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, 47, 2, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0,
- 0,192, 11, 68, 0, 0,200, 65, 0,192, 11, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3,
- 4, 0, 12, 0, 10, 0, 48, 2, 26, 0, 48, 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, 47, 2, 0, 0, 93, 1, 0, 0,118, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 48, 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, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 40, 1, 0, 0,168,169,168, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,
- 24,171,168, 5, 0, 0, 0, 0, 56,168,168, 5, 0, 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,157,195, 0, 0, 0, 0,200, 0, 0, 0,217, 0, 0, 0, 18, 0, 0, 0, 75, 1, 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, 75, 1, 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, 76, 1,200, 0, 58, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,216, 0, 0, 0,119, 1, 0, 0,194, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-217, 0, 76, 1, 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, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 40, 1, 0, 0, 24,171,168, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,
-136,172,168, 5, 0, 0, 0, 0,168,169,168, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 47, 2, 0, 0, 47, 2, 0, 0,119, 1, 0, 0,194, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 40, 1, 0, 0,136,172,168, 5, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 24,171,168, 5, 0, 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, 75, 1, 0, 0,
- 18, 0, 0, 0, 86, 1, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 18, 0, 0, 0, 86, 1, 0, 0, 18, 0, 0, 0, 75, 1, 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, 87, 1, 76, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-217, 0, 0, 0, 47, 2, 0, 0,119, 1, 0, 0,194, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 87, 1, 76, 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, 68, 65, 84, 65,240, 0, 0, 0,248,173,168, 5, 0, 0, 0, 0,179, 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,
- 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, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 56,175,168, 5, 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, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,112, 0, 0, 0, 56,175,168, 5, 0, 0, 0, 0,
- 38, 1, 0, 0, 1, 0, 0, 0,120,184,168, 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, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,
-248,175,168, 5, 0, 0, 0, 0,215, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,167,168, 5, 0, 0, 0, 0,
-216,141,168, 5, 0, 0, 0, 0,248,140,168, 5, 0, 0, 0, 0,168,139,168, 5, 0, 0, 0, 0, 24,140,168, 5, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 49, 2, 0, 0,240, 4, 0, 0, 93, 1, 0, 0,194, 2, 0, 0, 8, 8,192, 2,102, 1, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168,182,168, 5, 0, 0, 0, 0,168,182,168, 5, 0, 0, 0, 0,
-232,176,168, 5, 0, 0, 0, 0, 56,181,168, 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, 68, 65, 84, 65, 40, 1, 0, 0,232,176,168, 5, 0, 0, 0, 0,
-216, 0, 0, 0, 1, 0, 0, 0, 88,178,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,245, 67,
- 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 48, 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,191, 2, 0, 0,
- 0, 0, 0, 0, 25, 0, 0, 0, 0,192, 47, 68, 0, 0,200, 65, 0,192, 47, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,192, 2, 26, 0,192, 2, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 49, 2, 0, 0,240, 4, 0, 0, 93, 1, 0, 0,118, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,192, 2, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 40, 1, 0, 0, 88,178,168, 5, 0, 0, 0, 0,
-216, 0, 0, 0, 1, 0, 0, 0,200,179,168, 5, 0, 0, 0, 0,232,176,168, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 4, 0, 0,240, 4, 0, 0,119, 1, 0, 0,194, 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, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 40, 1, 0, 0,200,179,168, 5, 0, 0, 0, 0,
-216, 0, 0, 0, 1, 0, 0, 0, 56,181,168, 5, 0, 0, 0, 0, 88,178,168, 5, 0, 0, 0, 0, 0, 0,240,195, 0, 0,240, 67,
- 0, 0,135,195, 0, 0,135, 67,238, 33,143,196,238, 33,143, 68, 0, 0, 7,196, 0, 0, 7, 68, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 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, 2, 0, 0,
- 0, 0, 0, 0, 75, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 59, 70, 0,128, 59, 70,172,197, 39, 55, 0, 80,195, 71,
- 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 4, 0, 0,192, 2, 76, 1,192, 2, 76, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 49, 2, 0, 0,240, 4, 0, 0,119, 1, 0, 0,194, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,192, 2, 76, 1, 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, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 56,181,168, 5, 0, 0, 0, 0,
-216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,179,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,122, 67,
- 0, 0, 0, 0, 0, 0, 0, 65, 0, 0, 0, 0, 0, 0,122, 67, 0, 0, 0, 0, 0, 0, 0, 65, 0, 0, 0, 0, 17, 0, 0, 0,
- 18, 0, 0, 0, 75, 1, 0, 0, 18, 0, 0, 0,201, 2, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 18, 0, 0, 0,201, 2, 0, 0,
- 18, 0, 0, 0, 75, 1, 0, 0, 0, 0, 32, 65, 0, 0, 0, 63, 0,124,146, 72, 0, 0, 0, 66, 10,215, 35, 60, 0, 0,200, 66,
-105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0,202, 2, 76, 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, 1, 0, 1, 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, 0, 0, 0, 0, 0, 0, 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,168,182,168, 5, 0, 0, 0, 0,
-181, 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, 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, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 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, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 64, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 67, 0, 0,216, 11, 0, 0,
-120,184,168, 5, 0, 0, 0, 0,172, 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, 83, 67, 83, 99,101,110,101, 0,116, 97,103,101, 0, 97,105,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, 0, 0, 0, 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,
-152,196,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 72,210,168, 5, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,104,197,168, 5, 0, 0, 0, 0, 72,198,168, 5, 0, 0, 0, 0,104,197,168, 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, 1, 0, 0, 0, 1, 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,184,198,168, 5, 0, 0, 0, 0,
- 56,143,132, 5, 0, 0, 0, 0, 17, 2, 24, 0, 90, 90, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-192, 0, 0, 0, 68,172, 0, 0, 2, 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, 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,
-250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,100, 0, 0, 0,100, 0, 0, 0, 0, 0, 1, 0, 0, 0,128, 63,
- 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 2,224, 1, 60, 0, 32, 0, 0, 0, 1, 0, 0, 0,
- 1, 0, 0, 0, 6, 0, 50, 0,141, 0,128, 7, 56, 4, 8, 0, 8, 0, 24, 0, 17, 0, 0, 0, 90, 0, 1, 0, 81, 0, 0, 0,
- 23, 0, 33, 0, 2, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 8, 0, 24, 0, 10, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,200,202,168, 5, 0, 0, 0, 0,200,202,168, 5, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 1, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 5, 0, 2, 0, 1, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47,116,109,112, 47, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5876,26 +5538,102 @@ char datatoc_startup_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, 0, 0, 0, 0,100, 0, 0, 0, 0, 0, 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, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,120, 26,222, 4, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 40,242,221, 4, 0, 0, 0, 0, 24,233,221, 4, 0, 0, 0, 0,168,232,221, 4, 0, 0, 0, 0, 56,232,221, 4,
+ 0, 0, 0, 0, 88,231,221, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,201, 3, 0, 0,126, 7, 0, 0, 0, 0, 0, 0,
+233, 3, 0, 0, 1, 1,182, 3,234, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152, 41,222, 4,
+ 0, 0, 0, 0,152, 41,222, 4, 0, 0, 0, 0,104, 27,222, 4, 0, 0, 0, 0,104, 36,222, 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, 68, 65, 84, 65,
+ 40, 1, 0, 0,104, 27,222, 4, 0, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0,216, 28,222, 4, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 64,113, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,128,109, 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,181, 3, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 64,109, 68, 0, 0,200, 65, 0, 64,109, 68,
+ 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,182, 3, 26, 0,182, 3,
+ 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,201, 3, 0, 0,126, 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,182, 3, 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, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 40, 1, 0, 0,216, 28,222, 4, 0, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0,232, 31,222, 4, 0, 0, 0, 0,104, 27,222, 4,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 67, 0, 0, 86,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67, 0, 0, 86,196,
+ 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 0, 0, 0, 0, 87, 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, 0, 0, 0, 0, 87, 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, 3, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,160, 0, 88, 3,143, 0,
+ 88, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,201, 3, 0, 0,104, 4, 0, 0,146, 0, 0, 0,
+233, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 0, 88, 3, 0, 0, 5, 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, 72, 30,222, 4, 0, 0, 0, 0, 72, 30,222, 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, 68, 65, 84, 65,
+ 88, 1, 0, 0, 72, 30,222, 4, 0, 0, 0, 0,215, 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, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,
+111,108,115, 95,111, 98,106,101, 99,116,109,111,100,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, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,
+111,108,115, 95,111, 98,106,101, 99,116,109,111,100,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, 79, 98,106,101, 99,116, 32, 84,111,111,108,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,233,253,143, 0,255, 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, 68, 65, 84, 65, 40, 1, 0, 0,232, 31,222, 4, 0, 0, 0, 0,217, 0, 0, 0,
+ 1, 0, 0, 0,248, 34,222, 4, 0, 0, 0, 0,216, 28,222, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 67, 0, 0,242,194,
+ 0, 0, 0, 0, 0, 0, 0, 0,231,102, 16, 67, 91, 90,242,194, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 0, 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, 0, 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, 3, 0, 0,
+ 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,160, 0,120, 0,143, 0,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,201, 3, 0, 0,104, 4, 0, 0, 26, 0, 0, 0,145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,160, 0,120, 0, 0, 0, 6, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 33,222, 4,
+ 0, 0, 0, 0, 88, 33,222, 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, 68, 65, 84, 65, 88, 1, 0, 0, 88, 33,222, 4, 0, 0, 0, 0,215, 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, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,108, 97,115,116, 95,111,112,101,114, 97,116,111,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, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,108, 97,115,116, 95,111,112,101,114, 97,116,111,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, 79,112,101,114, 97,116,111,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,216,255,144, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 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,
+ 40, 1, 0, 0,248, 34,222, 4, 0, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0,104, 36,222, 4, 0, 0, 0, 0,232, 31,222, 4,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 67, 0,128,126,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 67,255,191,126,196,
+ 0, 0, 0, 0,163, 0, 0, 0,180, 0, 0, 0, 18, 0, 0, 0, 12, 4, 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, 12, 4, 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, 13, 4,163, 0,
+251, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 0, 0,126, 7, 0, 0, 26, 0, 0, 0,
+233, 3, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 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,
+ 40, 1, 0, 0,104, 36,222, 4, 0, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 34,222, 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, 31, 5, 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, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,105, 4, 0, 0,126, 7, 0, 0, 26, 0, 0, 0,
+233, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 3,208, 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,216, 37,222, 4, 0, 0, 0, 0, 68, 65, 84, 65,
+112, 3, 0, 0,216, 37,222, 4, 0, 0, 0, 0,175, 0, 0, 0, 1, 0, 0, 0, 72,246,172, 63, 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, 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, 0, 25, 95,192, 0, 0,128, 63, 69,239,209, 62, 70,119,105, 63,160, 84, 89,188,
+ 0, 0, 0, 0, 52,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,188,173, 54, 64,136, 95,161,191,147,231,198, 63, 0, 0,128, 63,185,214, 13, 63,208,249,224,190, 48,180, 81,191,
+184,158, 81,191,189,188,157, 63,140,225, 88, 62, 26, 63,185, 62, 35, 44,185, 62,241,213,146,188,206,156,122, 63,138, 84,228,190,
+ 42, 61,228,190, 0, 0, 0, 0, 0, 0, 0, 0,100, 98, 82, 64, 0, 25, 95, 64,121, 92,155, 62,151,198, 44, 63,192,214, 32,188,
+ 0, 0, 40,180,195, 15,188,190,132, 75, 53, 62,216,125, 81, 63, 0, 0,192,179,115, 77,100,193, 17,173,201, 64,181,148,248,192,
+203,247,159,192,233, 74, 87, 65,247, 46,190,192, 88,106,234, 64, 45, 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, 0, 25, 95,192, 0, 0,128, 63,185,214, 13, 63,208,249,224,190, 48,180, 81,191,
+184,158, 81,191,189,188,157, 63,140,225, 88, 62, 26, 63,185, 62, 35, 44,185, 62,241,213,146,188,206,156,122, 63,138, 84,228,190,
+ 42, 61,228,190, 0, 0, 0, 0, 0, 0, 0, 0,100, 98, 82, 64, 0, 25, 95, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5903,473 +5641,850 @@ char datatoc_startup_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, 0, 0, 0, 0, 0, 0, 0, 0,248,201,250, 62, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,248,201,250, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,201,250, 62,
+ 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, 0, 25, 95, 64, 0, 25, 95, 64, 0, 0, 0, 0, 0, 0, 0, 0,114,145,245, 58, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,255,255, 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, 30, 33, 12, 66, 85,152,137, 66,116, 27,126, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 96, 1, 0, 0,152, 41,222, 4, 0, 0, 0, 0,176, 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, 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,205,204, 76, 62, 2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 7, 0,216,120,222, 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, 1, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 1, 0, 3, 0, 8, 8,128, 0,
+ 0, 0, 12, 66, 0, 0,128, 63,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, 0, 0, 16, 0, 10, 0, 7, 1, 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, 83, 78, 0, 0,
+ 8, 1, 0, 0,216, 43,222, 4, 0, 0, 0, 0,212, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,228,221, 4,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 82, 86,105,100,101,111, 32, 69,100,105,116,
+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, 1, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 45,222, 4, 0, 0, 0, 0,248, 49,222, 4, 0, 0, 0, 0,104, 50,222, 4,
+ 0, 0, 0, 0,216, 57,222, 4, 0, 0, 0, 0, 72, 58,222, 4, 0, 0, 0, 0,168, 83,222, 4, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 92,222, 4, 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, 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,
+ 32, 0, 0, 0, 40, 45,222, 4, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,152, 45,222, 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, 68, 65, 84, 65, 32, 0, 0, 0,152, 45,222, 4,
+ 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 8, 46,222, 4, 0, 0, 0, 0, 40, 45,222, 4, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,222, 2, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 8, 46,222, 4, 0, 0, 0, 0,213, 0, 0, 0,
+ 1, 0, 0, 0,120, 46,222, 4, 0, 0, 0, 0,152, 45,222, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 4,222, 2,
+ 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,120, 46,222, 4, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,232, 46,222, 4,
+ 0, 0, 0, 0, 8, 46,222, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 4, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 32, 0, 0, 0,232, 46,222, 4, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 88, 47,222, 4, 0, 0, 0, 0,120, 46,222, 4,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,195, 2, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 88, 47,222, 4,
+ 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,200, 47,222, 4, 0, 0, 0, 0,232, 46,222, 4, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,240, 4,195, 2, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,200, 47,222, 4, 0, 0, 0, 0,213, 0, 0, 0,
+ 1, 0, 0, 0, 56, 48,222, 4, 0, 0, 0, 0, 88, 47,222, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 4, 92, 1,
+ 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 56, 48,222, 4, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,168, 48,222, 4,
+ 0, 0, 0, 0,200, 47,222, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 32, 0, 0, 0,168, 48,222, 4, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 24, 49,222, 4, 0, 0, 0, 0, 56, 48,222, 4,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 2,195, 2, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 24, 49,222, 4,
+ 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0,136, 49,222, 4, 0, 0, 0, 0,168, 48,222, 4, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 92, 1, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,136, 49,222, 4, 0, 0, 0, 0,213, 0, 0, 0,
+ 1, 0, 0, 0,248, 49,222, 4, 0, 0, 0, 0, 24, 49,222, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 2, 92, 1,
+ 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,248, 49,222, 4, 0, 0, 0, 0,213, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,136, 49,222, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 4, 68, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 40, 0, 0, 0,104, 50,222, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,216, 50,222, 4, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,152, 45,222, 4, 0, 0, 0, 0, 8, 46,222, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 40, 0, 0, 0,216, 50,222, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 72, 51,222, 4, 0, 0, 0, 0,104, 50,222, 4,
+ 0, 0, 0, 0,152, 45,222, 4, 0, 0, 0, 0,232, 46,222, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 40, 0, 0, 0, 72, 51,222, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,184, 51,222, 4, 0, 0, 0, 0,216, 50,222, 4,
+ 0, 0, 0, 0, 8, 46,222, 4, 0, 0, 0, 0, 88, 47,222, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 40, 0, 0, 0,184, 51,222, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 40, 52,222, 4, 0, 0, 0, 0, 72, 51,222, 4,
+ 0, 0, 0, 0,232, 46,222, 4, 0, 0, 0, 0, 88, 47,222, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 40, 0, 0, 0, 40, 52,222, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,152, 52,222, 4, 0, 0, 0, 0,184, 51,222, 4,
+ 0, 0, 0, 0, 88, 47,222, 4, 0, 0, 0, 0,200, 47,222, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 40, 0, 0, 0,152, 52,222, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 8, 53,222, 4, 0, 0, 0, 0, 40, 52,222, 4,
+ 0, 0, 0, 0, 40, 45,222, 4, 0, 0, 0, 0, 56, 48,222, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 40, 0, 0, 0, 8, 53,222, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,120, 53,222, 4, 0, 0, 0, 0,152, 52,222, 4,
+ 0, 0, 0, 0,232, 46,222, 4, 0, 0, 0, 0,168, 48,222, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 40, 0, 0, 0,120, 53,222, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,232, 53,222, 4, 0, 0, 0, 0, 8, 53,222, 4,
+ 0, 0, 0, 0, 56, 48,222, 4, 0, 0, 0, 0, 24, 49,222, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 40, 0, 0, 0,232, 53,222, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 88, 54,222, 4, 0, 0, 0, 0,120, 53,222, 4,
+ 0, 0, 0, 0, 24, 49,222, 4, 0, 0, 0, 0,136, 49,222, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 40, 0, 0, 0, 88, 54,222, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,200, 54,222, 4, 0, 0, 0, 0,232, 53,222, 4,
+ 0, 0, 0, 0,168, 48,222, 4, 0, 0, 0, 0,136, 49,222, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 40, 0, 0, 0,200, 54,222, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 56, 55,222, 4, 0, 0, 0, 0, 88, 54,222, 4,
+ 0, 0, 0, 0,200, 47,222, 4, 0, 0, 0, 0,248, 49,222, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 40, 0, 0, 0, 56, 55,222, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,168, 55,222, 4, 0, 0, 0, 0,200, 54,222, 4,
+ 0, 0, 0, 0,120, 46,222, 4, 0, 0, 0, 0,248, 49,222, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 40, 0, 0, 0,168, 55,222, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 24, 56,222, 4, 0, 0, 0, 0, 56, 55,222, 4,
+ 0, 0, 0, 0, 56, 48,222, 4, 0, 0, 0, 0,248, 49,222, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 40, 0, 0, 0, 24, 56,222, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,136, 56,222, 4, 0, 0, 0, 0,168, 55,222, 4,
+ 0, 0, 0, 0, 40, 45,222, 4, 0, 0, 0, 0,120, 46,222, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 40, 0, 0, 0,136, 56,222, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,248, 56,222, 4, 0, 0, 0, 0, 24, 56,222, 4,
+ 0, 0, 0, 0, 88, 47,222, 4, 0, 0, 0, 0,168, 48,222, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 40, 0, 0, 0,248, 56,222, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,104, 57,222, 4, 0, 0, 0, 0,136, 56,222, 4,
+ 0, 0, 0, 0,200, 47,222, 4, 0, 0, 0, 0,136, 49,222, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 40, 0, 0, 0,104, 57,222, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0,216, 57,222, 4, 0, 0, 0, 0,248, 56,222, 4,
+ 0, 0, 0, 0,232, 46,222, 4, 0, 0, 0, 0, 24, 49,222, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 40, 0, 0, 0,216, 57,222, 4, 0, 0, 0, 0,214, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104, 57,222, 4,
+ 0, 0, 0, 0,200, 47,222, 4, 0, 0, 0, 0, 24, 49,222, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+160, 0, 0, 0, 72, 58,222, 4, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 24, 62,222, 4, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,232, 46,222, 4, 0, 0, 0, 0,152, 45,222, 4, 0, 0, 0, 0, 8, 46,222, 4, 0, 0, 0, 0, 88, 47,222, 4,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 4, 0, 0,196, 2, 0, 0,222, 2, 0, 0, 7, 7,241, 4,
+ 27, 0, 1, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152, 91,222, 4, 0, 0, 0, 0,152, 91,222, 4,
+ 0, 0, 0, 0, 56, 59,222, 4, 0, 0, 0, 0,168, 60,222, 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, 68, 65, 84, 65, 40, 1, 0, 0, 56, 59,222, 4,
+ 0, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0,168, 60,222, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,128,148, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 32,158, 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,
+240, 4, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0,158, 68, 0, 0,200, 65, 0, 0,158, 68, 0, 0,200, 65, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,241, 4, 26, 0,241, 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,240, 4, 0, 0,196, 2, 0, 0,221, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,241, 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, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,168, 60,222, 4,
+ 0, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 59,222, 4, 0, 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,128, 63,
+ 0, 0,128, 63, 2, 0, 0, 0, 1, 0, 3, 3, 2, 0, 0, 4, 10, 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,222, 2, 0, 0,222, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 24, 62,222, 4,
+ 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 8, 67,222, 4, 0, 0, 0, 0, 72, 58,222, 4, 0, 0, 0, 0, 40, 45,222, 4,
+ 0, 0, 0, 0, 56, 48,222, 4, 0, 0, 0, 0,248, 49,222, 4, 0, 0, 0, 0,120, 46,222, 4, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,240, 4, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0, 15, 15,241, 4, 68, 0, 1, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232, 65,222, 4, 0, 0, 0, 0,232, 65,222, 4, 0, 0, 0, 0, 8, 63,222, 4,
+ 0, 0, 0, 0,120, 64,222, 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, 68, 65, 84, 65, 40, 1, 0, 0, 8, 63,222, 4, 0, 0, 0, 0,217, 0, 0, 0,
+ 1, 0, 0, 0,120, 64,222, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32,140, 68, 0, 0, 0, 0,
+ 0, 0,208, 65, 0, 0, 0, 0, 0, 32,158, 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,240, 4, 0, 0, 0, 0, 0, 0,
+ 25, 0, 0, 0, 0, 0,158, 68, 0, 0,200, 65, 0, 0,158, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,241, 4, 26, 0,241, 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,240, 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,241, 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, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,120, 64,222, 4, 0, 0, 0, 0,217, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 63,222, 4, 0, 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,240, 4, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,240, 4, 0, 0, 18, 0, 0, 0,
+ 41, 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,241, 4, 42, 0, 0, 0, 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, 4, 0, 0, 26, 0, 0, 0, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,241, 4, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,232, 65,222, 4, 0, 0, 0, 0,185, 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, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 1, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, 8, 67,222, 4,
+ 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,248, 74,222, 4, 0, 0, 0, 0, 24, 62,222, 4, 0, 0, 0, 0, 56, 48,222, 4,
+ 0, 0, 0, 0, 24, 49,222, 4, 0, 0, 0, 0,200, 47,222, 4, 0, 0, 0, 0,248, 49,222, 4, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,240, 4, 0, 0, 69, 0, 0, 0, 91, 1, 0, 0, 8, 8,241, 4, 23, 1, 1, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184, 73,222, 4, 0, 0, 0, 0,184, 73,222, 4, 0, 0, 0, 0,248, 67,222, 4,
+ 0, 0, 0, 0, 72, 72,222, 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, 68, 65, 84, 65, 40, 1, 0, 0,248, 67,222, 4, 0, 0, 0, 0,217, 0, 0, 0,
+ 1, 0, 0, 0,104, 69,222, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 26, 68, 0, 0, 0, 0,
+ 0, 0,208, 65, 0, 0, 0, 0, 0, 32,158, 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,240, 4, 0, 0, 0, 0, 0, 0,
+ 25, 0, 0, 0, 0, 0,158, 68, 0, 0,200, 65, 0, 0,158, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,241, 4, 26, 0,241, 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,240, 4, 0, 0, 69, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,241, 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, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,104, 69,222, 4, 0, 0, 0, 0,217, 0, 0, 0,
+ 1, 0, 0, 0,216, 70,222, 4, 0, 0, 0, 0,248, 67,222, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 67, 0, 0,125,195,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 67, 1, 0,125,195, 0, 0, 0, 0,203, 0, 0, 0,220, 0, 0, 0, 0, 0, 0, 0,
+252, 0, 0, 0, 0, 0, 0, 0,202, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,202, 0, 0, 0, 0, 0, 0, 0,
+252, 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, 3, 0, 0,
+ 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,220, 0,253, 0,203, 0,253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 21, 4, 0, 0,240, 4, 0, 0, 95, 0, 0, 0, 91, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,220, 0,253, 0, 0, 0, 4, 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,
-205,204, 76, 63,205,204, 76, 63,205,204, 76, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 62,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 16, 0, 0, 0,128, 63, 0, 0,128, 63,173, 2, 95, 0,154,153,217, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0,180, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 66, 76, 69, 78, 68, 69, 82, 95, 82, 69, 78, 68, 69, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68,172, 0, 0, 0, 0,128, 63,102,166,171, 67, 0, 0,128, 63, 2, 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, 68, 65, 84, 65, 40, 1, 0, 0,216, 70,222, 4, 0, 0, 0, 0,217, 0, 0, 0,
+ 1, 0, 0, 0, 72, 72,222, 4, 0, 0, 0, 0,104, 69,222, 4, 0, 0, 0, 0, 0, 0,112,196, 0, 0,112, 68, 0, 0, 7,196,
+ 0, 0, 7, 68, 0, 0,112,196, 0, 0,112, 68, 0, 0, 7,196, 0, 0, 7, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 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,194,132, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192, 38,140, 5, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,200,104, 99, 4, 0, 0, 0, 0, 1, 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,128, 59, 70, 0,128, 59, 70,172,197, 39, 55, 0, 80,195, 71, 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, 20, 4, 0, 0, 91, 1, 0, 0, 91, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 7, 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,128, 2,224, 1, 60, 0, 32, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0,180, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 5, 0,205,204,204, 61,154,153,153, 62,205,204, 76, 62,219, 15, 73, 63,102,102,102, 63, 0, 0, 0, 64,154,153, 25, 63,
- 0, 0, 64, 65,102,102,166, 63, 0, 0, 0, 65, 0, 0,160, 65, 6, 0, 0, 0, 0, 0,192, 64, 0, 0,128, 63, 0, 0, 0, 0,
-205,204, 28, 65, 0, 0, 0, 0, 32, 0, 0, 0, 32, 0, 1, 0,128, 0, 5, 0,218, 0, 0, 0, 60, 0, 5, 0, 1, 0, 5, 0,
- 0, 0, 0, 0, 0, 0, 0, 64, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-195,245, 28,193, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 38, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,128, 0, 0, 0,152,196,168, 5, 0, 0, 0, 0, 9, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 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, 68, 65, 84, 65, 40, 1, 0, 0, 72, 72,222, 4, 0, 0, 0, 0,217, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216, 70,222, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,122, 67, 0, 0, 0, 0,
+ 0, 0, 0, 65, 0, 0, 0, 0, 0, 0,122, 67, 0, 0, 0, 0, 0, 0, 0, 65, 0, 0, 0, 0, 17, 0, 0, 0, 18, 0, 0, 0,
+252, 0, 0, 0, 18, 0, 0, 0, 20, 4, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 18, 0, 0, 0, 20, 4, 0, 0, 18, 0, 0, 0,
+252, 0, 0, 0, 0, 0, 32, 65, 0, 0, 0, 63, 0,124,146, 72, 0, 0, 0, 66, 10,215, 35, 60, 0, 0,200, 66,105, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 4, 8, 0, 21, 4,253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 20, 4, 0, 0, 95, 0, 0, 0, 91, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 21, 4,253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 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, 40, 0, 0, 0,104,197,168, 5, 0, 0, 0, 0,144, 0, 0, 0, 1, 0, 0, 0,216,197,168, 5, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,224, 2,168, 1,184,219,168, 5, 0, 0, 0, 0,
- 68, 65, 84, 65, 40, 0, 0, 0,216,197,168, 5, 0, 0, 0, 0,144, 0, 0, 0, 1, 0, 0, 0, 72,198,168, 5, 0, 0, 0, 0,
-104,197,168, 5, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 4, 0, 0,183, 3,241, 2, 88,226,168, 5, 0, 0, 0, 0,
- 68, 65, 84, 65, 40, 0, 0, 0, 72,198,168, 5, 0, 0, 0, 0,144, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-216,197,168, 5, 0, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 0, 4, 0, 0,162, 0, 12, 2, 24,213,168, 5, 0, 0, 0, 0,
- 68, 65, 84, 65,248, 1, 0, 0,184,198,168, 5, 0, 0, 0, 0,168, 0, 0, 0, 1, 0, 0, 0,248,200,168, 5, 0, 0, 0, 0,
-136,201,168, 5, 0, 0, 0, 0, 24,202,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 1, 0, 0, 0,
-205,204, 76, 63, 0, 0,180, 66, 9, 0, 1, 0, 0, 0,128, 63,111, 18,131, 58,205,204,204, 61, 0, 0, 1, 0, 32, 0, 32, 0,
- 32, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-232, 25,170, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 2, 0, 80, 0, 0, 2, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 5, 0, 5, 0,255,255,
- 50, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 66, 50, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66,
- 50, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 66, 50, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 66,
- 50, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 66, 50, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 66,
- 50, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 62, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,240, 0, 0, 0,184, 73,222, 4, 0, 0, 0, 0,186, 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,128, 63, 10,215, 35, 60,205,204,204, 61, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,250, 0,205,204,204, 61,205,204,204, 61,
-102,102,166, 63, 0, 0,192, 63, 0, 0,240, 65, 72,225,122, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 67, 2, 0, 3, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 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, 17, 0, 0, 0, 35, 0, 0, 0,204,197,121, 63, 0, 0, 0, 63, 35, 0, 0, 0,204,197,121, 63,
- 0, 0, 0, 63, 0, 0,128, 63, 49, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 64, 0, 0, 0,248,200,168, 5, 0, 0, 0, 0,
-165, 0, 0, 0, 1, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 1, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0,136,201,168, 5, 0, 0, 0, 0,165, 0, 0, 0, 1, 0, 0, 0,
-168,115,169, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,200,255,128, 1, 0, 0, 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,
- 68, 65, 84, 65,104, 0, 0, 0, 24,202,168, 5, 0, 0, 0, 0,163, 0, 0, 0, 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,255,100,100,128, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 1, 0, 0, 0,
- 1, 0, 0, 0, 1, 0, 0, 0,155, 9, 25, 67,190, 23,237, 64, 75, 1,147, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 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,128, 0, 0, 0,200,202,168, 5, 0, 0, 0, 0,150, 0, 0, 0, 1, 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, 76, 97,121,101,114, 0,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, 0, 0, 0, 0, 0, 0, 0,255,255, 15, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,255,127, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 65, 0, 0,200, 0, 0, 0,
-216,204,168, 5, 0, 0, 0, 0, 22, 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, 67, 65, 67, 97,109,101,114, 97, 0, 97,109,101,114, 97, 46, 48,
- 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 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, 0, 0, 0, 63,205,204,204, 61, 0, 0,200, 66,
- 0, 0, 12, 66,161, 14,234, 64, 0, 0, 0, 63, 0, 0, 0, 66, 0, 0,144, 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, 76, 65, 0, 0, 16, 2, 0, 0,
-232,205,168, 5, 0, 0, 0, 0, 36, 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, 76, 65, 76, 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, 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, 32, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 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,
-247,255,239, 65, 0, 0,150, 66,154,153, 25, 62, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 72,208,168, 5, 0, 0, 0, 0,
- 2, 0, 0, 0, 46, 26,128, 63, 25, 4,240, 65, 0, 0, 52, 66, 0, 0,128, 63, 0, 0, 64, 64,205,204, 76, 61, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 64, 11, 3, 0, 1, 0, 0, 0, 0, 2, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63,111, 18,131, 58, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 64, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 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,128, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,248, 74,222, 4,
+ 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0,168, 83,222, 4, 0, 0, 0, 0, 8, 67,222, 4, 0, 0, 0, 0, 24, 49,222, 4,
+ 0, 0, 0, 0,232, 46,222, 4, 0, 0, 0, 0,168, 48,222, 4, 0, 0, 0, 0,136, 49,222, 4, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 47, 2, 0, 0, 93, 1, 0, 0,194, 2, 0, 0, 2, 2, 48, 2,102, 1, 1, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168, 81,222, 4, 0, 0, 0, 0,168, 81,222, 4, 0, 0, 0, 0,232, 75,222, 4,
+ 0, 0, 0, 0, 56, 80,222, 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, 68, 65, 84, 65, 40, 1, 0, 0,232, 75,222, 4, 0, 0, 0, 0,217, 0, 0, 0,
+ 1, 0, 0, 0, 88, 77,222, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 89, 68, 0, 0, 0, 0,
+ 0, 0,208, 65,154,216, 65, 55, 0, 0, 12, 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, 47, 2, 0, 0, 0, 0, 0, 0,
+ 25, 0, 0, 0, 0,192, 11, 68, 0, 0,200, 65, 0,192, 11, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 48, 2, 26, 0, 48, 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, 47, 2, 0, 0, 93, 1, 0, 0,118, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 48, 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,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 40, 1, 0, 0, 88, 77,222, 4, 0, 0, 0, 0,217, 0, 0, 0,
+ 1, 0, 0, 0,200, 78,222, 4, 0, 0, 0, 0,232, 75,222, 4, 0, 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,157,195, 0, 0, 0, 0,200, 0, 0, 0,217, 0, 0, 0, 18, 0, 0, 0,
+ 75, 1, 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,
+ 75, 1, 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, 76, 1,200, 0, 58, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,216, 0, 0, 0,119, 1, 0, 0,194, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,217, 0, 76, 1, 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,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,209,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 64, 1, 0, 0, 72,208,168, 5, 0, 0, 0, 0,127, 1, 0, 0, 1, 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,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 2, 0, 1, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,243, 4, 53,191,242, 4, 53, 63,
-242, 4, 53,191,243, 4, 53, 63, 24, 73,137, 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, 68, 65, 84, 65, 40, 1, 0, 0,200, 78,222, 4, 0, 0, 0, 0,217, 0, 0, 0,
+ 1, 0, 0, 0, 56, 80,222, 4, 0, 0, 0, 0, 88, 77,222, 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, 47, 2, 0, 0, 47, 2, 0, 0,119, 1, 0, 0,194, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,
- 24, 73,137, 5, 0, 0, 0, 0,125, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,216,209,168, 5, 0, 0, 0, 0, 12, 0, 0, 0, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 87, 79, 0, 0, 24, 2, 0, 0, 72,210,168, 5, 0, 0, 0, 0,143, 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,
- 87, 79, 87,111,114,108,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 40, 1, 0, 0, 56, 80,222, 4, 0, 0, 0, 0,217, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 78,222, 4, 0, 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,
+ 75, 1, 0, 0, 18, 0, 0, 0, 86, 1, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 18, 0, 0, 0, 86, 1, 0, 0, 18, 0, 0, 0,
+ 75, 1, 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, 87, 1, 76, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,217, 0, 0, 0, 47, 2, 0, 0,119, 1, 0, 0,194, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 87, 1, 76, 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, 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,114, 99, 80, 61,114, 99, 80, 61,114, 99, 80, 61,199, 54, 36, 60,199, 54, 36, 60,199, 54, 36, 60,
- 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,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0,205,204, 28, 65, 0, 0, 0, 0, 0, 0, 32, 0,128, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,160, 64, 0, 0,200, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 64, 0, 0, 0, 0, 0, 0,112, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 0, 0,
- 0, 0,128, 63,205,204, 76, 61, 0, 0, 5, 0, 0, 0, 0, 0, 10,215,163, 59, 0, 0, 0, 0, 0, 0,128, 62, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 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, 68, 65, 84, 65,240, 0, 0, 0,168, 81,222, 4, 0, 0, 0, 0,182, 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, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,168,212,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-168,212,168, 5, 0, 0, 0, 0, 12, 0, 0, 0, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 0, 0,112, 5, 0, 0,
- 24,213,168, 5, 0, 0, 0, 0,130, 0, 0, 0, 1, 0, 0, 0,184,219,168, 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, 79, 66, 67, 97,109,101,114, 97, 0, 97,109,101,114, 97, 46, 48,
- 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 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, 11, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232, 82,222, 4, 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, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,112, 0, 0, 0,232, 82,222, 4,
+ 0, 0, 0, 0, 38, 1, 0, 0, 1, 0, 0, 0, 40, 92,222, 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, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+160, 0, 0, 0,168, 83,222, 4, 0, 0, 0, 0,216, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 74,222, 4,
+ 0, 0, 0, 0,136, 49,222, 4, 0, 0, 0, 0,168, 48,222, 4, 0, 0, 0, 0, 88, 47,222, 4, 0, 0, 0, 0,200, 47,222, 4,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 2, 0, 0,240, 4, 0, 0, 93, 1, 0, 0,194, 2, 0, 0, 8, 8,192, 2,
+102, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 90,222, 4, 0, 0, 0, 0, 88, 90,222, 4,
+ 0, 0, 0, 0,152, 84,222, 4, 0, 0, 0, 0,232, 88,222, 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, 68, 65, 84, 65, 40, 1, 0, 0,152, 84,222, 4,
+ 0, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0, 8, 86,222, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,245, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 48, 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,
+191, 2, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,192, 47, 68, 0, 0,200, 65, 0,192, 47, 68, 0, 0,200, 65, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,192, 2, 26, 0,192, 2, 26, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 2, 0, 0,240, 4, 0, 0, 93, 1, 0, 0,118, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192, 2, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,204,168, 5, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 1, 0, 6, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 8, 86,222, 4,
+ 0, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0,120, 87,222, 4, 0, 0, 0, 0,152, 84,222, 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,110,101,239, 64,150, 62,208,192, 78,255,170, 64, 0, 0, 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,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 42,254,141, 63,192, 57, 49, 60,
- 34,159, 80, 63, 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,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,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,222,149, 47, 63, 53, 70, 58, 63,222, 56, 49,188, 0, 0, 0, 0,
- 86,126,162,190,227,251,159, 62, 55, 53,101, 63, 0, 0, 0, 0, 7,165, 39, 63,149, 84, 28,191, 51,247,227, 62, 0, 0, 0, 0,
-110,101,239, 64,150, 62,208,192, 78,255,170, 64, 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, 0, 0, 0, 0,128, 63, 1, 0,128, 63, 1, 0,128, 51, 1, 0, 0,179, 0, 0, 0, 0,
- 0, 0, 0, 51, 0, 0,128, 63, 1, 0,128, 51, 0, 0, 0, 0, 2, 0, 0,179, 2, 0, 0,167, 1, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 0, 53, 1, 0, 0, 41, 1, 0,128,168, 0, 0,128, 63,221,149, 47, 63, 86,126,162,190, 8,165, 39, 63, 0, 0, 0, 0,
- 51, 70, 58, 63,225,251,159, 62,149, 84, 28,191, 0, 0, 0, 0,192, 56, 49,188, 55, 53,101, 63, 52,247,227, 62, 0, 0, 0, 0,
- 90, 38,173,190, 0,222,192,190,152, 9, 52,193, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
- 5, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0,
- 56,180,150,201, 0, 0,128, 63,187,225, 16, 63, 0, 0,128, 63,205,204,204, 62,237, 54, 32, 63, 0, 0, 0, 0,143,194,117, 61,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 2, 0, 1, 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, 0, 0, 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, 4, 0, 0,240, 4, 0, 0,119, 1, 0, 0,194, 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, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 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, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,120, 87,222, 4,
+ 0, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0,232, 88,222, 4, 0, 0, 0, 0, 8, 86,222, 4, 0, 0, 0, 0, 0, 0,240,195,
+ 0, 0,240, 67, 0, 0,135,195, 0, 0,135, 67,238, 33,143,196,238, 33,143, 68, 0, 0, 7,196, 0, 0, 7, 68, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 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, 2, 0, 0, 0, 0, 0, 0, 75, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 59, 70, 0,128, 59, 70,172,197, 39, 55,
+ 0, 80,195, 71, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 4, 0, 0,192, 2, 76, 1,192, 2, 76, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 2, 0, 0,240, 4, 0, 0,119, 1, 0, 0,194, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192, 2, 76, 1, 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,
-216,218,168, 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, 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, 68, 65, 84, 65, 40, 1, 0, 0,232, 88,222, 4,
+ 0, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120, 87,222, 4, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,122, 67, 0, 0, 0, 0, 0, 0, 0, 65, 0, 0, 0, 0, 0, 0,122, 67, 0, 0, 0, 0, 0, 0, 0, 65, 0, 0, 0, 0,
+ 17, 0, 0, 0, 18, 0, 0, 0, 75, 1, 0, 0, 18, 0, 0, 0,201, 2, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 18, 0, 0, 0,
+201, 2, 0, 0, 18, 0, 0, 0, 75, 1, 0, 0, 0, 0, 32, 65, 0, 0, 0, 63, 0,124,146, 72, 0, 0, 0, 66, 10,215, 35, 60,
+ 0, 0,200, 66,105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0,202, 2, 76, 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,
- 68, 65, 84, 65,152, 0, 0, 0,216,218,168, 5, 0, 0, 0, 0,133, 0, 0, 0, 1, 0, 0, 0, 0,192, 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, 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, 1, 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,205,204,204, 61,205,204, 76, 62, 10,215,163, 60, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 79, 66, 0, 0,112, 5, 0, 0,184,219,168, 5, 0, 0, 0, 0,
-130, 0, 0, 0, 1, 0, 0, 0, 88,226,168, 5, 0, 0, 0, 0, 24,213,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 67,117, 98,101, 0,112,104,101,114,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, 68, 65, 84, 65,240, 0, 0, 0, 88, 90,222, 4,
+ 0, 0, 0, 0,186, 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, 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, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 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, 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,120,171,100, 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,184, 17,169, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 6, 0, 0, 0,
- 1, 0, 0, 0,250, 0, 0, 0, 10, 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, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 64, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 67, 0, 0,
+232, 11, 0, 0, 40, 92,222, 4, 0, 0, 0, 0,173, 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, 83, 67, 83, 99,101,110,101, 0,116, 97,103,101,
+ 0, 97,105,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, 0, 0, 0, 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, 88,104,222, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0, 8,118,222, 4,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,105,222, 4, 0, 0, 0, 0, 8,106,222, 4, 0, 0, 0, 0, 40,105,222, 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, 1, 0, 0, 0,
+ 1, 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,120,106,222, 4,
+ 0, 0, 0, 0,216, 62, 2,224,255,127, 0, 0, 17, 2, 24, 0, 90, 90, 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, 40,213,134, 5, 0, 0, 0, 0,136, 83,135, 5, 0, 0, 0, 0,
- 1, 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,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 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, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 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,128, 63, 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, 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,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, 0, 0, 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, 0, 0, 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, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, 0,
- 0, 0, 7, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,
-169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,229,208, 34, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 5, 0, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,192, 0, 0, 0, 68,172, 0, 0, 2, 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, 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,250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,100, 0, 0, 0,100, 0, 0, 0, 0, 0, 1, 0,
+ 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 2,224, 1, 60, 0, 32, 0, 0, 0,
+ 1, 0, 0, 0, 1, 0, 0, 0, 6, 0, 50, 0,141, 0,128, 7, 56, 4, 8, 0, 8, 0, 24, 0, 17, 0, 0, 0, 90, 0, 1, 0,
+ 81, 0, 0, 0, 23, 0, 33, 0, 2, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 8, 0, 24, 0, 10, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,110,222, 4, 0, 0, 0, 0,136,110,222, 4, 0, 0, 0, 0, 0, 0, 1, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 1, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 5, 0, 2, 0, 1, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47,116,109,112,
+ 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 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, 5, 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,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,205,204, 76, 63,205,204, 76, 63,205,204, 76, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 16, 0, 0, 0,128, 63, 0, 0,128, 63,173, 2, 95, 0,
+154,153,217, 63, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0,180, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 66, 76, 69, 78, 68, 69, 82, 95, 82, 69, 78, 68, 69, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68,172, 0, 0, 0, 0,128, 63,102,166,171, 67, 0, 0,128, 63, 2, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 96,164, 61, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,224, 48,190, 3,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168, 91,145, 3, 0, 0, 0, 0, 1, 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,128, 2,224, 1, 60, 0, 32, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0,180, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 0, 5, 0,205,204,204, 61,154,153,153, 62,205,204, 76, 62,219, 15, 73, 63,102,102,102, 63, 0, 0, 0, 64,
+154,153, 25, 63, 0, 0, 64, 65,102,102,166, 63, 0, 0, 0, 65, 0, 0,160, 65, 6, 0, 0, 0, 0, 0,192, 64, 0, 0,128, 63,
+ 0, 0, 0, 0,205,204, 28, 65, 0, 0, 0, 0, 32, 0, 0, 0, 32, 0, 1, 0,128, 0, 5, 0,218, 0, 0, 0, 60, 0, 5, 0,
+ 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64,205,204, 76, 63, 0, 0,128, 63, 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, 0, 0,195,245, 28,193, 1, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+128, 0, 0, 0, 88,104,222, 4, 0, 0, 0, 0, 9, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 64, 1, 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, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,225,168, 5, 0, 0, 0, 0,
- 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,
-120,247,139, 5, 0, 0, 0, 0, 24,149,132, 5, 0, 0, 0, 0, 25, 0, 0, 38, 0, 0, 0, 0, 0, 0, 0, 0, 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, 40, 0, 0, 0, 40,105,222, 4,
+ 0, 0, 0, 0,145, 0, 0, 0, 1, 0, 0, 0,152,105,222, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 1, 0, 0, 0, 1, 0, 0, 0,226, 2,214, 1,136,127,222, 4, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,152,105,222, 4,
+ 0, 0, 0, 0,145, 0, 0, 0, 1, 0, 0, 0, 8,106,222, 4, 0, 0, 0, 0, 40,105,222, 4, 0, 0, 0, 0, 1, 0, 0, 0,
+ 2, 0, 0, 0, 0, 4, 0, 0,185, 3, 32, 3, 56,134,222, 4, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 8,106,222, 4,
+ 0, 0, 0, 0,145, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,105,222, 4, 0, 0, 0, 0, 1, 0, 0, 0,
+ 3, 0, 0, 0, 0, 4, 0, 0,163, 0, 59, 2,216,120,222, 4, 0, 0, 0, 0, 68, 65, 84, 65,248, 1, 0, 0,120,106,222, 4,
+ 0, 0, 0, 0,169, 0, 0, 0, 1, 0, 0, 0,184,108,222, 4, 0, 0, 0, 0, 72,109,222, 4, 0, 0, 0, 0,216,109,222, 4,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 1, 0, 0, 0,205,204, 76, 63, 0, 0,180, 66, 9, 0, 1, 0,
+ 0, 0,128, 63,111, 18,131, 58,205,204,204, 61, 0, 0, 1, 0, 32, 0, 32, 0, 32, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,104,199,223, 4, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,255,255,255,128, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 80, 0, 0, 2, 0, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 5, 0, 5, 0,255,255, 50, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 72, 66, 50, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 50, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 72, 66, 50, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 66, 50, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 72, 66, 50, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 66, 50, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 72, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 62, 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,128, 63, 10,215, 35, 60,205,204,204, 61,
+ 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,250, 0,205,204,204, 61,205,204,204, 61,102,102,166, 63, 0, 0,192, 63, 0, 0,240, 65,
+ 72,225,122, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 67, 2, 0, 3, 2, 0, 1, 0, 0, 0, 0, 0,
+ 0, 0, 0, 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, 17, 0, 0, 0,
+ 35, 0, 0, 0,204,197,121, 63, 0, 0, 0, 63, 35, 0, 0, 0, 21,178,129, 63, 0, 0, 0, 63, 0, 0,128, 63, 49, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 64, 0, 0, 0,184,108,222, 4, 0, 0, 0, 0,166, 0, 0, 0, 1, 0, 0, 0,104, 24,223, 4,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0,
+ 0, 0, 0, 0, 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, 0, 0, 0, 72,109,222, 4, 0, 0, 0, 0,166, 0, 0, 0, 1, 0, 0, 0,104, 24,223, 4, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,200,200,255,128, 1, 0, 0, 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, 68, 65, 84, 65,104, 0, 0, 0,216,109,222, 4,
+ 0, 0, 0, 0,164, 0, 0, 0, 1, 0, 0, 0,232,146,223, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,100,100,128,
+ 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,190,110,250, 66,
+ 72,134,143, 65,216, 8, 42, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,128, 0, 0, 0,136,110,222, 4,
+ 0, 0, 0, 0,151, 0, 0, 0, 1, 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, 76, 97,121,101,114, 0,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, 0, 0, 0, 0, 0, 0, 0,255,255, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,127, 0, 0, 3, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 65, 0, 0,200, 0, 0, 0,152,112,222, 4, 0, 0, 0, 0, 22, 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, 68, 65, 84, 65, 8, 0, 0, 0,
- 40,213,134, 5, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0,
-136, 83,135, 5, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,152, 0, 0, 0,120,225,168, 5,
- 0, 0, 0, 0,133, 0, 0, 0, 1, 0, 0, 0, 0,192, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 67, 65, 67, 97,109,101,114, 97, 0, 97,109,101,114, 97, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,205,204,204, 61,205,204, 76, 62, 10,215,163, 60, 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, 0, 0, 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, 0, 0, 0, 63,205,204,204, 61, 0, 0,200, 66, 0, 0, 12, 66,161, 14,234, 64, 0, 0, 0, 63,
+ 0, 0, 0, 66, 0, 0,144, 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, 76, 65, 0, 0, 16, 2, 0, 0,168,113,222, 4, 0, 0, 0, 0, 35, 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, 76, 65, 76, 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,
- 72, 0, 0, 0, 79, 66, 0, 0,112, 5, 0, 0, 88,226,168, 5, 0, 0, 0, 0,130, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,184,219,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 76, 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, 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, 32, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 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,247,255,239, 65, 0, 0,150, 66,154,153, 25, 62,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 8,116,222, 4, 0, 0, 0, 0, 2, 0, 0, 0, 46, 26,128, 63, 25, 4,240, 65,
+ 0, 0, 52, 66, 0, 0,128, 63, 0, 0, 64, 64,205,204, 76, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 11, 3, 0,
+ 1, 0, 0, 0, 0, 2, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,111, 18,131, 58,
+ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 64, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 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, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,152,117,222, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 64, 1, 0, 0, 8,116,222, 4,
+ 0, 0, 0, 0,127, 1, 0, 0, 1, 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,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 2, 0, 1, 0,
+ 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,243, 4, 53,191,242, 4, 53, 63,242, 4, 53,191,243, 4, 53, 63, 40, 5,191, 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, 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, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 40, 5,191, 4, 0, 0, 0, 0,125, 1, 0, 0,
+ 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 40, 0, 0, 0,152,117,222, 4, 0, 0, 0, 0, 12, 0, 0, 0, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 79, 0, 0,
+ 24, 2, 0, 0, 8,118,222, 4, 0, 0, 0, 0,144, 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, 87, 79, 87,111,114,108,100, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 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, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,114, 99, 80, 61,
+114, 99, 80, 61,114, 99, 80, 61,199, 54, 36, 60,199, 54, 36, 60,199, 54, 36, 60, 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,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,205,204, 28, 65,
+ 0, 0, 0, 0, 0, 0, 32, 0,128, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 64, 0, 0,200, 65,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0,112, 65,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0,128, 63,205,204, 76, 61, 0, 0, 5, 0,
+ 0, 0, 0, 0, 10,215,163, 59, 0, 0, 0, 0, 0, 0,128, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104,120,222, 4,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,104,120,222, 4, 0, 0, 0, 0, 12, 0, 0, 0,
+ 1, 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, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 0, 0,128, 5, 0, 0,216,120,222, 4, 0, 0, 0, 0,131, 0, 0, 0,
+ 1, 0, 0, 0,136,127,222, 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, 79, 66, 67, 97,109,101,114, 97, 0, 97,109,101,114, 97, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 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, 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,
- 1, 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, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,112,222, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 6, 0, 0, 0, 1, 0, 0, 0,
+250, 0, 0, 0, 10, 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, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,232,205,168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0,
- 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 6, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,154,112,130, 64,
-183,178,128, 63,112,236,188, 64, 0, 0, 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,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63,229,123, 38, 63, 87, 43, 98, 61,229,229,238, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0,110,101,239, 64,150, 62,208,192, 78,255,170, 64, 0, 0, 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,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 42,254,141, 63,192, 57, 49, 60, 34,159, 80, 63, 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,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,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,222,149, 47, 63, 53, 70, 58, 63,222, 56, 49,188, 0, 0, 0, 0, 86,126,162,190,227,251,159, 62, 55, 53,101, 63,
+ 0, 0, 0, 0, 7,165, 39, 63,149, 84, 28,191, 51,247,227, 62, 0, 0, 0, 0,110,101,239, 64,150, 62,208,192, 78,255,170, 64,
+ 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, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54,236,148,190,
- 25,134,116, 63,236, 13, 98,189, 0, 0, 0, 0,221,102, 69,191, 57,174, 76,190, 34,194, 26, 63, 0, 0, 0, 0, 37,255, 16, 63,
-241,161, 95, 62,164,111, 75, 63, 0, 0, 0, 0,154,112,130, 64,183,178,128, 63,112,236,188, 64, 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, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 1, 0,128, 50, 0, 0, 0,179, 0, 0, 0, 0, 1, 0,128, 50, 1, 0,128, 63, 1, 0, 0, 51, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 0, 39, 1, 0, 0, 52, 1, 0,128, 39, 0, 0,128, 63, 54,236,148,190,
-221,102, 69,191, 38,255, 16, 63, 0, 0, 0, 0, 24,134,116, 63, 57,174, 76,190,239,161, 95, 62, 0, 0, 0, 0,237, 13, 98,189,
- 35,194, 26, 63,166,111, 75, 63, 0, 0, 0, 0,209, 19, 13, 63,241, 65,102,190, 10, 10,231,192, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 1, 0,128, 63, 1, 0,128, 51, 1, 0, 0,179, 0, 0, 0, 0, 0, 0, 0, 51, 0, 0,128, 63, 1, 0,128, 51,
+ 0, 0, 0, 0, 2, 0, 0,179, 2, 0, 0,167, 1, 0,128, 63, 0, 0, 0, 0, 1, 0, 0, 53, 1, 0, 0, 41, 1, 0,128,168,
+ 0, 0,128, 63,221,149, 47, 63, 86,126,162,190, 8,165, 39, 63, 0, 0, 0, 0, 51, 70, 58, 63,225,251,159, 62,149, 84, 28,191,
+ 0, 0, 0, 0,192, 56, 49,188, 55, 53,101, 63, 52,247,227, 62, 0, 0, 0, 0, 90, 38,173,190, 0,222,192,190,152, 9, 52,193,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 5, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,187,225, 16, 63,
+ 0, 0,128, 63,205,204,204, 62,237, 54, 32, 63, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 2, 0, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,168,126,222, 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, 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,152, 0, 0, 0,168,126,222, 4, 0, 0, 0, 0,134, 0, 0, 0, 1, 0, 0, 0, 0,192, 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, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,205,204,204, 61,205,204, 76, 62, 10,215,163, 60,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 79, 66, 0, 0,128, 5, 0, 0,136,127,222, 4,
+ 0, 0, 0, 0,131, 0, 0, 0, 1, 0, 0, 0, 56,134,222, 4, 0, 0, 0, 0,216,120,222, 4, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 67,117, 98,101, 0,112,104,101,114,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, 1, 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, 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, 40,136,133, 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,168,181,222, 4, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+ 6, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 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,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,105,149, 3, 0, 0, 0, 0, 88,106,186, 4,
+ 0, 0, 0, 0, 1, 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,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 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, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 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,128, 63,
+ 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, 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,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, 0, 0, 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, 0, 0, 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, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0,
+ 0, 0, 68, 0, 0, 0, 7, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201,
+ 0, 0,128, 63,169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,229,208, 34, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0,
0, 0, 0, 0, 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,
- 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 5, 0, 1, 0, 0, 0, 68, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,
-229,208, 34, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
0, 5, 0, 1, 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, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 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,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 64, 1, 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, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,232,168, 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, 88,133,222, 4, 0, 0, 0, 0, 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,136,222,186, 4, 0, 0, 0, 0,216,236,188, 4,
+ 0, 0, 0, 0, 25, 0, 0, 38, 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, 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, 8, 0, 0, 0,248,105,149, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0, 88,106,186, 4, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,152, 0, 0, 0, 88,133,222, 4, 0, 0, 0, 0,134, 0, 0, 0, 1, 0, 0, 0,
+ 0,192, 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, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,152, 0, 0, 0, 24,232,168, 5, 0, 0, 0, 0,133, 0, 0, 0,
- 1, 0, 0, 0, 0,192, 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,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,205,204,204, 61,205,204, 76, 62,
+ 10,215,163, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 79, 66, 0, 0,128, 5, 0, 0,
+ 56,134,222, 4, 0, 0, 0, 0,131, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,127,222, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 76, 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, 0,205,204,204, 61,
-205,204, 76, 62, 10,215,163, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 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, 77, 65, 0, 0,
-128, 3, 0, 0,248,232,168, 5, 0, 0, 0, 0, 39, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 4, 8, 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 77, 97,116,101,114,105, 97,108, 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, 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, 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, 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, 1, 0,205,204, 76, 63,205,204, 76, 63,
-205,204, 76, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
-205,204, 76, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 10,215, 35, 60, 0, 0, 0, 0, 0, 0, 8, 0, 1, 0, 50, 0,205,204, 76, 62,
- 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,160, 63, 0, 0, 0, 0, 0, 0,160, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 2, 0, 2, 0, 50, 0, 0, 6,
- 0, 0,128, 63, 0, 0,128, 63, 18, 0, 18, 0, 10,215,163, 59, 10,215,163, 59, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 4, 0,
- 67, 0, 64, 3, 67, 0, 64, 3, 1, 0, 4, 0, 12, 0, 4, 0, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0,128, 64,
- 0, 0, 0, 63,205,204,204, 61, 0, 0, 0, 63,205,204,204, 61,205,204,204, 61, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 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,128, 63,200,236,168, 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,168,113,222, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+ 0, 0, 1, 0, 6, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,154,112,130, 64,183,178,128, 63,112,236,188, 64, 0, 0, 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,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,229,123, 38, 63, 87, 43, 98, 61,
+229,229,238, 63, 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,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,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54,236,148,190, 25,134,116, 63,236, 13, 98,189, 0, 0, 0, 0,
+221,102, 69,191, 57,174, 76,190, 34,194, 26, 63, 0, 0, 0, 0, 37,255, 16, 63,241,161, 95, 62,164,111, 75, 63, 0, 0, 0, 0,
+154,112,130, 64,183,178,128, 63,112,236,188, 64, 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, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 1, 0,128, 50, 0, 0, 0,179, 0, 0, 0, 0,
+ 1, 0,128, 50, 1, 0,128, 63, 1, 0, 0, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 1, 0, 0, 39, 1, 0, 0, 52, 1, 0,128, 39, 0, 0,128, 63, 54,236,148,190,221,102, 69,191, 38,255, 16, 63, 0, 0, 0, 0,
+ 24,134,116, 63, 57,174, 76,190,239,161, 95, 62, 0, 0, 0, 0,237, 13, 98,189, 35,194, 26, 63,166,111, 75, 63, 0, 0, 0, 0,
+209, 19, 13, 63,241, 65,102,190, 10, 10,231,192, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
+ 5, 0, 1, 0, 0, 0, 68, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0,
+ 56,180,150,201, 0, 0,128, 63,169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,229,208, 34, 62, 0, 0, 0, 0,143,194,117, 61,
+ 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 5, 0, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,140,222, 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, 72,238,168, 5, 0, 0, 0, 0, 0, 0, 0, 63, 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,128, 63, 0, 0,128, 63,111,148, 26, 63,111,148, 26, 63,111,148, 26, 63,205,204, 76, 61,
-205,204,204, 61,102,102,166, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 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, 68, 65, 84, 65, 56, 1, 0, 0,200,236,168, 5,
- 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,255,168, 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, 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,152, 0, 0, 0, 8,140,222, 4, 0, 0, 0, 0,
+134, 0, 0, 0, 1, 0, 0, 0, 0,192, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+205,204,204, 61,205,204, 76, 62, 10,215,163, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 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,
+ 77, 65, 0, 0,128, 3, 0, 0,232,140,222, 4, 0, 0, 0, 0, 38, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 4, 8, 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 77, 97,116,101,114,105,
+ 97,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, 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, 1, 0,205,204, 76, 63,
+205,204, 76, 63,205,204, 76, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63,205,204, 76, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 10,215, 35, 60, 0, 0, 0, 0, 0, 0, 8, 0, 1, 0, 50, 0,
+205,204, 76, 62, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,160, 63, 0, 0, 0, 0, 0, 0,160, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 2, 0, 2, 0,
+ 50, 0, 0, 6, 0, 0,128, 63, 0, 0,128, 63, 18, 0, 18, 0, 10,215,163, 59, 10,215,163, 59, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 4, 0, 67, 0, 64, 3, 67, 0, 64, 3, 1, 0, 4, 0, 12, 0, 4, 0, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,
+ 0, 0,128, 64, 0, 0, 0, 63,205,204,204, 61, 0, 0, 0, 63,205,204,204, 61,205,204,204, 61, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 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,128, 63,
+184,144,222, 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, 56,146,222, 4, 0, 0, 0, 0, 0, 0, 0, 63, 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,128, 63, 0, 0,128, 63,111,148, 26, 63,111,148, 26, 63,111,148, 26, 63,
+205,204, 76, 61,205,204,204, 61,102,102,166, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 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, 68, 65, 84, 65, 56, 1, 0, 0,
+184,144,222, 4, 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+248,162,222, 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, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 68, 65, 84, 65, 40, 0, 0, 0, 72,238,168, 5, 0, 0, 0, 0, 12, 0, 0, 0, 1, 0, 0, 0, 32, 0, 0, 0,
- 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 53, 0, 53, 0,184,238,168, 5, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 0, 16, 0, 0,184,238,168, 5, 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, 2, 2, 2, 51, 2, 2, 2, 51, 6, 6, 6,153, 6, 6, 6,153, 6, 6, 6,153,
- 4, 4, 4,102, 3, 3, 3,102, 2, 2, 2, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 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, 3, 3, 51, 8, 8, 8,153, 11, 11, 11,204, 13, 13, 13,255, 12, 12, 12,255, 12, 12, 12,255, 11, 11, 11,255, 10, 10, 10,255,
- 10, 10, 10,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 4, 4, 4,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 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, 3, 3, 51, 10, 10, 10,153,
- 18, 18, 18,255, 20, 20, 20,255, 22, 22, 22,255, 23, 23, 23,255, 22, 22, 22,255, 20, 20, 20,255, 19, 19, 19,255, 16, 16, 16,255,
- 14, 14, 14,255, 11, 11, 11,255, 10, 10, 10,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 8, 8, 8,204, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 7, 7,102, 19, 19, 19,204, 27, 27, 27,255,
- 31, 31, 31,255, 32, 32, 32,255, 33, 33, 33,255, 33, 33, 33,255, 31, 31, 31,255, 30, 30, 30,255, 27, 27, 27,255, 25, 25, 25,255,
- 22, 22, 22,255, 19, 19, 19,255, 16, 16, 16,255, 12, 12, 12,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255,
- 4, 4, 4,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 13, 13,153, 29, 29, 29,255, 37, 37, 37,255, 40, 40, 40,255,
- 42, 42, 42,255, 42, 42, 42,255, 43, 43, 43,255, 41, 41, 41,255, 40, 40, 40,255, 38, 38, 38,255, 36, 36, 36,255, 33, 33, 33,255,
- 30, 30, 30,255, 27, 27, 27,255, 24, 24, 24,255, 20, 20, 20,255, 16, 16, 16,255, 12, 12, 12,255, 10, 10, 10,255, 10, 10, 10,255,
- 10, 10, 10,255, 7, 7, 7,153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 13, 13,102, 37, 37, 37,255, 44, 44, 44,255, 48, 48, 48,255, 50, 50, 50,255,
- 51, 51, 51,255, 51, 51, 51,255, 50, 50, 50,255, 49, 49, 49,255, 48, 48, 48,255, 45, 45, 45,255, 43, 43, 43,255, 41, 41, 41,255,
- 37, 37, 37,255, 34, 34, 34,255, 31, 31, 31,255, 28, 28, 28,255, 24, 24, 24,255, 20, 20, 20,255, 15, 15, 15,255, 11, 11, 11,255,
- 10, 10, 10,255, 11, 11, 11,255, 7, 7, 7,153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 13, 13, 13,102, 41, 41, 41,255, 50, 50, 50,255, 54, 54, 54,255, 57, 57, 57,255, 58, 58, 58,255,
- 59, 59, 59,255, 59, 59, 59,255, 58, 58, 58,255, 57, 57, 57,255, 55, 55, 55,255, 53, 53, 53,255, 51, 51, 51,255, 48, 48, 48,255,
- 45, 45, 45,255, 41, 41, 41,255, 38, 38, 38,255, 35, 35, 35,255, 31, 31, 31,255, 27, 27, 27,255, 23, 23, 23,255, 17, 17, 17,255,
- 12, 12, 12,255, 11, 11, 11,255, 11, 11, 11,255, 5, 5, 5,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 36, 36, 36,204, 53, 53, 53,255, 59, 59, 59,255, 63, 63, 63,255, 65, 65, 65,255, 66, 66, 66,255,
- 66, 66, 66,255, 66, 66, 66,255, 65, 65, 65,255, 64, 64, 64,255, 62, 62, 62,255, 60, 60, 60,255, 57, 57, 57,255, 54, 54, 54,255,
- 51, 51, 51,255, 48, 48, 48,255, 44, 44, 44,255, 41, 41, 41,255, 37, 37, 37,255, 33, 33, 33,255, 29, 29, 29,255, 24, 24, 24,255,
- 19, 19, 19,255, 13, 13, 13,255, 11, 11, 11,255, 12, 12, 12,255, 3, 3, 3, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 19, 19, 19,102, 56, 56, 56,255, 64, 64, 64,255, 68, 68, 68,255, 71, 71, 71,255, 73, 73, 73,255, 74, 74, 74,255,
- 74, 74, 74,255, 73, 73, 73,255, 72, 72, 72,255, 71, 71, 71,255, 69, 69, 69,255, 67, 67, 67,255, 64, 64, 64,255, 61, 61, 61,255,
- 58, 58, 58,255, 54, 54, 54,255, 50, 50, 50,255, 47, 47, 47,255, 43, 43, 43,255, 39, 39, 39,255, 34, 34, 34,255, 30, 30, 30,255,
- 25, 25, 25,255, 19, 19, 19,255, 13, 13, 13,255, 12, 12, 12,255, 10, 10, 10,204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 54, 54, 54,255, 66, 66, 66,255, 72, 72, 72,255, 77, 77, 77,255, 79, 79, 79,255, 81, 81, 81,255, 81, 81, 81,255,
- 81, 81, 81,255, 80, 80, 80,255, 79, 79, 79,255, 77, 77, 77,255, 75, 75, 75,255, 73, 73, 73,255, 70, 70, 70,255, 67, 67, 67,255,
- 63, 63, 63,255, 60, 60, 60,255, 56, 56, 56,255, 52, 52, 52,255, 49, 49, 49,255, 44, 44, 44,255, 40, 40, 40,255, 35, 35, 35,255,
- 30, 30, 30,255, 24, 24, 24,255, 18, 18, 18,255, 12, 12, 12,255, 12, 12, 12,255, 6, 6, 6,102, 0, 0, 0, 0, 0, 0, 0, 0,
- 22, 22, 22,102, 67, 67, 67,255, 76, 76, 76,255, 81, 81, 81,255, 84, 84, 84,255, 87, 87, 87,255, 88, 88, 88,255, 88, 88, 88,255,
- 88, 88, 88,255, 87, 87, 87,255, 86, 86, 86,255, 84, 84, 84,255, 82, 82, 82,255, 79, 79, 79,255, 76, 76, 76,255, 73, 73, 73,255,
- 69, 69, 69,255, 65, 65, 65,255, 62, 62, 62,255, 58, 58, 58,255, 54, 54, 54,255, 49, 49, 49,255, 45, 45, 45,255, 40, 40, 40,255,
- 35, 35, 35,255, 29, 29, 29,255, 23, 23, 23,255, 16, 16, 16,255, 12, 12, 12,255, 12, 12, 12,204, 0, 0, 0, 0, 0, 0, 0, 0,
- 49, 49, 49,204, 76, 76, 76,255, 84, 84, 84,255, 89, 89, 89,255, 92, 92, 92,255, 94, 94, 94,255, 95, 95, 95,255, 95, 95, 95,255,
- 95, 95, 95,255, 94, 94, 94,255, 93, 93, 93,255, 91, 91, 91,255, 88, 88, 88,255, 85, 85, 85,255, 82, 82, 82,255, 79, 79, 79,255,
- 75, 75, 75,255, 71, 71, 71,255, 67, 67, 67,255, 63, 63, 63,255, 59, 59, 59,255, 55, 55, 55,255, 50, 50, 50,255, 45, 45, 45,255,
- 40, 40, 40,255, 34, 34, 34,255, 28, 28, 28,255, 21, 21, 21,255, 13, 13, 13,255, 14, 14, 14,255, 0, 0, 0, 0, 14, 14, 14,102,
- 70, 70, 70,255, 85, 85, 85,255, 92, 92, 92,255, 97, 97, 97,255,100,100,100,255,102,102,102,255,102,102,102,255,103,103,103,255,
-102,102,102,255,101,101,101,255, 99, 99, 99,255, 97, 97, 97,255, 94, 94, 94,255, 91, 91, 91,255, 88, 88, 88,255, 84, 84, 84,255,
- 81, 81, 81,255, 77, 77, 77,255, 72, 72, 72,255, 68, 68, 68,255, 64, 64, 64,255, 59, 59, 59,255, 55, 55, 55,255, 50, 50, 50,255,
- 44, 44, 44,255, 39, 39, 39,255, 32, 32, 32,255, 25, 25, 25,255, 17, 17, 17,255, 13, 13, 13,255, 7, 7, 7,102, 24, 24, 24,102,
- 80, 80, 80,255, 93, 93, 93,255,100,100,100,255,104,104,104,255,107,107,107,255,109,109,109,255,109,109,109,255,109,109,109,255,
-109,109,109,255,107,107,107,255,106,106,106,255,103,103,103,255,100,100,100,255, 97, 97, 97,255, 94, 94, 94,255, 90, 90, 90,255,
- 86, 86, 86,255, 82, 82, 82,255, 77, 77, 77,255, 73, 73, 73,255, 69, 69, 69,255, 64, 64, 64,255, 59, 59, 59,255, 54, 54, 54,255,
- 49, 49, 49,255, 43, 43, 43,255, 36, 36, 36,255, 29, 29, 29,255, 21, 21, 21,255, 14, 14, 14,255, 10, 10, 10,153, 29, 29, 29,102,
- 89, 89, 89,255,100,100,100,255,107,107,107,255,112,112,112,255,114,114,114,255,116,116,116,255,116,116,116,255,116,116,116,255,
-115,115,115,255,114,114,114,255,112,112,112,255,110,110,110,255,107,107,107,255,104,104,104,255,100,100,100,255, 96, 96, 96,255,
- 92, 92, 92,255, 87, 87, 87,255, 83, 83, 83,255, 78, 78, 78,255, 73, 73, 73,255, 68, 68, 68,255, 63, 63, 63,255, 58, 58, 58,255,
- 52, 52, 52,255, 46, 46, 46,255, 40, 40, 40,255, 33, 33, 33,255, 24, 24, 24,255, 17, 17, 17,255, 13, 13, 13,204, 46, 46, 46,153,
- 95, 95, 95,255,107,107,107,255,114,114,114,255,118,118,118,255,121,121,121,255,122,122,122,255,123,123,123,255,123,123,123,255,
-122,122,122,255,122,122,122,255,120,120,120,255,118,118,118,255,114,114,114,255,110,110,110,255,106,106,106,255,101,101,101,255,
- 97, 97, 97,255, 92, 92, 92,255, 87, 87, 87,255, 83, 83, 83,255, 78, 78, 78,255, 73, 73, 73,255, 68, 68, 68,255, 62, 62, 62,255,
- 56, 56, 56,255, 50, 50, 50,255, 44, 44, 44,255, 36, 36, 36,255, 28, 28, 28,255, 19, 19, 19,255, 12, 12, 12,204, 47, 47, 47,153,
-101,101,101,255,113,113,113,255,120,120,120,255,125,125,125,255,127,127,127,255,129,129,129,255,130,130,130,255,130,130,130,255,
-131,131,131,255,131,131,131,255,131,131,131,255,129,129,129,255,125,125,125,255,120,120,120,255,113,113,113,255,108,108,108,255,
-103,103,103,255, 97, 97, 97,255, 92, 92, 92,255, 87, 87, 87,255, 82, 82, 82,255, 77, 77, 77,255, 72, 72, 72,255, 66, 66, 66,255,
- 60, 60, 60,255, 54, 54, 54,255, 47, 47, 47,255, 39, 39, 39,255, 31, 31, 31,255, 22, 22, 22,255, 12, 12, 12,204, 48, 48, 48,153,
-106,106,106,255,118,118,118,255,126,126,126,255,131,131,131,255,134,134,134,255,135,135,135,255,137,137,137,255,138,138,138,255,
-142,142,142,255,147,147,147,255,149,149,149,255,148,148,148,255,142,142,142,255,133,133,133,255,124,124,124,255,115,115,115,255,
-108,108,108,255,102,102,102,255, 97, 97, 97,255, 92, 92, 92,255, 87, 87, 87,255, 81, 81, 81,255, 75, 75, 75,255, 69, 69, 69,255,
- 63, 63, 63,255, 57, 57, 57,255, 49, 49, 49,255, 42, 42, 42,255, 33, 33, 33,255, 24, 24, 24,255, 9, 9, 9,153, 32, 32, 32,102,
-109,109,109,255,123,123,123,255,131,131,131,255,136,136,136,255,140,140,140,255,142,142,142,255,144,144,144,255,148,148,148,255,
-156,156,156,255,168,168,168,255,176,176,176,255,177,177,177,255,168,168,168,255,153,153,153,255,137,137,137,255,124,124,124,255,
-114,114,114,255,107,107,107,255,101,101,101,255, 96, 96, 96,255, 90, 90, 90,255, 85, 85, 85,255, 79, 79, 79,255, 72, 72, 72,255,
- 66, 66, 66,255, 59, 59, 59,255, 52, 52, 52,255, 44, 44, 44,255, 35, 35, 35,255, 26, 26, 26,255, 10, 10, 10,153, 17, 17, 17, 51,
-110,110,110,255,127,127,127,255,136,136,136,255,142,142,142,255,145,145,145,255,148,148,148,255,151,151,151,255,159,159,159,255,
-174,174,174,255,195,195,195,255,212,212,212,255,216,216,216,255,204,204,204,255,179,179,179,255,154,154,154,255,135,135,135,255,
-121,121,121,255,112,112,112,255,106,106,106,255, 99, 99, 99,255, 94, 94, 94,255, 88, 88, 88,255, 82, 82, 82,255, 76, 76, 76,255,
- 69, 69, 69,255, 62, 62, 62,255, 54, 54, 54,255, 46, 46, 46,255, 37, 37, 37,255, 26, 26, 26,255, 6, 6, 6,102, 0, 0, 0, 0,
-107,107,107,255,130,130,130,255,140,140,140,255,146,146,146,255,150,150,150,255,153,153,153,255,158,158,158,255,169,169,169,255,
-191,191,191,255,219,219,219,255,246,246,246,255,254,254,254,255,237,237,237,255,204,204,204,255,170,170,170,255,145,145,145,255,
-127,127,127,255,117,117,117,255,110,110,110,255,103,103,103,255, 97, 97, 97,255, 91, 91, 91,255, 85, 85, 85,255, 78, 78, 78,255,
- 71, 71, 71,255, 64, 64, 64,255, 55, 55, 55,255, 47, 47, 47,255, 37, 37, 37,255, 25, 25, 25,255, 3, 3, 3, 51, 0, 0, 0, 0,
- 65, 65, 65,153,129,129,129,255,142,142,142,255,149,149,149,255,154,154,154,255,158,158,158,255,163,163,163,255,176,176,176,255,
-199,199,199,255,232,232,232,255,255,255,255,255,255,255,255,255,255,255,255,255,220,220,220,255,181,181,181,255,151,151,151,255,
-132,132,132,255,121,121,121,255,113,113,113,255,106,106,106,255,100,100,100,255, 94, 94, 94,255, 87, 87, 87,255, 80, 80, 80,255,
- 73, 73, 73,255, 65, 65, 65,255, 57, 57, 57,255, 48, 48, 48,255, 38, 38, 38,255, 16, 16, 16,153, 0, 0, 0, 0, 0, 0, 0, 0,
- 21, 21, 21, 51,127,127,127,255,143,143,143,255,152,152,152,255,157,157,157,255,161,161,161,255,165,165,165,255,177,177,177,255,
-198,198,198,255,227,227,227,255,253,253,253,255,255,255,255,255,250,250,250,255,217,217,217,255,181,181,181,255,153,153,153,255,
-135,135,135,255,124,124,124,255,117,117,117,255,110,110,110,255,103,103,103,255, 96, 96, 96,255, 89, 89, 89,255, 82, 82, 82,255,
- 74, 74, 74,255, 66, 66, 66,255, 57, 57, 57,255, 48, 48, 48,255, 35, 35, 35,255, 10, 10, 10,153, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 93, 93, 93,204,141,141,141,255,153,153,153,255,159,159,159,255,163,163,163,255,167,167,167,255,174,174,174,255,
-188,188,188,255,209,209,209,255,228,228,228,255,234,234,234,255,224,224,224,255,200,200,200,255,173,173,173,255,151,151,151,255,
-136,136,136,255,127,127,127,255,119,119,119,255,112,112,112,255,105,105,105,255, 98, 98, 98,255, 90, 90, 90,255, 83, 83, 83,255,
- 75, 75, 75,255, 66, 66, 66,255, 57, 57, 57,255, 46, 46, 46,255, 24, 24, 24,204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 20, 20, 20, 51,134,134,134,255,151,151,151,255,160,160,160,255,164,164,164,255,167,167,167,255,171,171,171,255,
-178,178,178,255,189,189,189,255,200,200,200,255,202,202,202,255,195,195,195,255,180,180,180,255,163,163,163,255,148,148,148,255,
-137,137,137,255,129,129,129,255,121,121,121,255,114,114,114,255,107,107,107,255, 99, 99, 99,255, 91, 91, 91,255, 83, 83, 83,255,
- 74, 74, 74,255, 65, 65, 65,255, 55, 55, 55,255, 41, 41, 41,255, 7, 7, 7, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 49, 49, 49,102,145,145,145,255,157,157,157,255,164,164,164,255,167,167,167,255,170,170,170,255,
-172,172,172,255,176,176,176,255,180,180,180,255,179,179,179,255,174,174,174,255,165,165,165,255,155,155,155,255,145,145,145,255,
-137,137,137,255,130,130,130,255,122,122,122,255,115,115,115,255,107,107,107,255, 99, 99, 99,255, 91, 91, 91,255, 82, 82, 82,255,
- 73, 73, 73,255, 63, 63, 63,255, 50, 50, 50,255, 22, 22, 22,153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 78, 78, 78,153,149,149,149,255,160,160,160,255,166,166,166,255,168,168,168,255,
-169,169,169,255,170,170,170,255,169,169,169,255,167,167,167,255,164,164,164,255,158,158,158,255,151,151,151,255,144,144,144,255,
-137,137,137,255,130,130,130,255,123,123,123,255,115,115,115,255,106,106,106,255, 98, 98, 98,255, 89, 89, 89,255, 80, 80, 80,255,
- 70, 70, 70,255, 58, 58, 58,255, 27, 27, 27,153, 3, 3, 3, 51, 0, 0, 0, 0, 0, 0, 0, 0, 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, 80, 80,153,150,150,150,255,160,160,160,255,165,165,165,255,
-167,167,167,255,167,167,167,255,166,166,166,255,163,163,163,255,160,160,160,255,155,155,155,255,149,149,149,255,143,143,143,255,
-137,137,137,255,129,129,129,255,121,121,121,255,113,113,113,255,105,105,105,255, 96, 96, 96,255, 86, 86, 86,255, 76, 76, 76,255,
- 63, 63, 63,255, 38, 38, 38,204, 7, 7, 7, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 78, 78, 78,153,147,147,147,255,157,157,157,255,
-161,161,161,255,163,163,163,255,162,162,162,255,160,160,160,255,157,157,157,255,152,152,152,255,147,147,147,255,141,141,141,255,
-135,135,135,255,127,127,127,255,119,119,119,255,110,110,110,255,101,101,101,255, 91, 91, 91,255, 80, 80, 80,255, 66, 66, 66,255,
- 32, 32, 32,153, 7, 7, 7, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,134,134,134,255,
-148,148,148,255,154,154,154,255,155,155,155,255,154,154,154,255,152,152,152,255,147,147,147,255,142,142,142,255,136,136,136,255,
-130,130,130,255,122,122,122,255,114,114,114,255,104,104,104,255, 93, 93, 93,255, 81, 81, 81,255, 54, 54, 54,204, 22, 22, 22,102,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 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, 73, 73,153,103,103,103,204,137,137,137,255,140,140,140,255,140,140,140,255,137,137,137,255,133,133,133,255,127,127,127,255,
-120,120,120,255,113,113,113,255,102,102,102,255, 91, 91, 91,255, 64, 64, 64,204, 28, 28, 28,102, 6, 6, 6, 51, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 46, 46,102, 72, 72, 72,153, 72, 72, 72,153, 92, 92, 92,204, 88, 88, 88,204,
- 81, 81, 81,204, 54, 54, 54,153, 35, 35, 35,102, 16, 16, 16, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 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, 69, 0, 0,
-168, 1, 0, 0, 8,255,168, 5, 0, 0, 0, 0, 33, 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, 84, 69, 84,101,120, 0, 0, 0, 0, 0, 0, 0,
+205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 40, 0, 0, 0, 56,146,222, 4, 0, 0, 0, 0, 12, 0, 0, 0, 1, 0, 0, 0,
+ 32, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 53, 0, 53, 0,168,146,222, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 16, 0, 0,168,146,222, 4, 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, 2, 2, 2, 51, 2, 2, 2, 51, 6, 6, 6,153, 6, 6, 6,153,
+ 6, 6, 6,153, 4, 4, 4,102, 3, 3, 3,102, 2, 2, 2, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 3, 3, 51, 8, 8, 8,153, 11, 11, 11,204, 13, 13, 13,255, 12, 12, 12,255, 12, 12, 12,255, 11, 11, 11,255,
+ 10, 10, 10,255, 10, 10, 10,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 4, 4, 4,102, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 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, 3, 3, 51,
+ 10, 10, 10,153, 18, 18, 18,255, 20, 20, 20,255, 22, 22, 22,255, 23, 23, 23,255, 22, 22, 22,255, 20, 20, 20,255, 19, 19, 19,255,
+ 16, 16, 16,255, 14, 14, 14,255, 11, 11, 11,255, 10, 10, 10,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 8, 8, 8,204,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 7, 7,102, 19, 19, 19,204,
+ 27, 27, 27,255, 31, 31, 31,255, 32, 32, 32,255, 33, 33, 33,255, 33, 33, 33,255, 31, 31, 31,255, 30, 30, 30,255, 27, 27, 27,255,
+ 25, 25, 25,255, 22, 22, 22,255, 19, 19, 19,255, 16, 16, 16,255, 12, 12, 12,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255,
+ 10, 10, 10,255, 4, 4, 4,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 13, 13,153, 29, 29, 29,255, 37, 37, 37,255,
+ 40, 40, 40,255, 42, 42, 42,255, 42, 42, 42,255, 43, 43, 43,255, 41, 41, 41,255, 40, 40, 40,255, 38, 38, 38,255, 36, 36, 36,255,
+ 33, 33, 33,255, 30, 30, 30,255, 27, 27, 27,255, 24, 24, 24,255, 20, 20, 20,255, 16, 16, 16,255, 12, 12, 12,255, 10, 10, 10,255,
+ 10, 10, 10,255, 10, 10, 10,255, 7, 7, 7,153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 13, 13,102, 37, 37, 37,255, 44, 44, 44,255, 48, 48, 48,255,
+ 50, 50, 50,255, 51, 51, 51,255, 51, 51, 51,255, 50, 50, 50,255, 49, 49, 49,255, 48, 48, 48,255, 45, 45, 45,255, 43, 43, 43,255,
+ 41, 41, 41,255, 37, 37, 37,255, 34, 34, 34,255, 31, 31, 31,255, 28, 28, 28,255, 24, 24, 24,255, 20, 20, 20,255, 15, 15, 15,255,
+ 11, 11, 11,255, 10, 10, 10,255, 11, 11, 11,255, 7, 7, 7,153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 13, 13,102, 41, 41, 41,255, 50, 50, 50,255, 54, 54, 54,255, 57, 57, 57,255,
+ 58, 58, 58,255, 59, 59, 59,255, 59, 59, 59,255, 58, 58, 58,255, 57, 57, 57,255, 55, 55, 55,255, 53, 53, 53,255, 51, 51, 51,255,
+ 48, 48, 48,255, 45, 45, 45,255, 41, 41, 41,255, 38, 38, 38,255, 35, 35, 35,255, 31, 31, 31,255, 27, 27, 27,255, 23, 23, 23,255,
+ 17, 17, 17,255, 12, 12, 12,255, 11, 11, 11,255, 11, 11, 11,255, 5, 5, 5,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 36, 36,204, 53, 53, 53,255, 59, 59, 59,255, 63, 63, 63,255, 65, 65, 65,255,
+ 66, 66, 66,255, 66, 66, 66,255, 66, 66, 66,255, 65, 65, 65,255, 64, 64, 64,255, 62, 62, 62,255, 60, 60, 60,255, 57, 57, 57,255,
+ 54, 54, 54,255, 51, 51, 51,255, 48, 48, 48,255, 44, 44, 44,255, 41, 41, 41,255, 37, 37, 37,255, 33, 33, 33,255, 29, 29, 29,255,
+ 24, 24, 24,255, 19, 19, 19,255, 13, 13, 13,255, 11, 11, 11,255, 12, 12, 12,255, 3, 3, 3, 51, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 19, 19, 19,102, 56, 56, 56,255, 64, 64, 64,255, 68, 68, 68,255, 71, 71, 71,255, 73, 73, 73,255,
+ 74, 74, 74,255, 74, 74, 74,255, 73, 73, 73,255, 72, 72, 72,255, 71, 71, 71,255, 69, 69, 69,255, 67, 67, 67,255, 64, 64, 64,255,
+ 61, 61, 61,255, 58, 58, 58,255, 54, 54, 54,255, 50, 50, 50,255, 47, 47, 47,255, 43, 43, 43,255, 39, 39, 39,255, 34, 34, 34,255,
+ 30, 30, 30,255, 25, 25, 25,255, 19, 19, 19,255, 13, 13, 13,255, 12, 12, 12,255, 10, 10, 10,204, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 54, 54, 54,255, 66, 66, 66,255, 72, 72, 72,255, 77, 77, 77,255, 79, 79, 79,255, 81, 81, 81,255,
+ 81, 81, 81,255, 81, 81, 81,255, 80, 80, 80,255, 79, 79, 79,255, 77, 77, 77,255, 75, 75, 75,255, 73, 73, 73,255, 70, 70, 70,255,
+ 67, 67, 67,255, 63, 63, 63,255, 60, 60, 60,255, 56, 56, 56,255, 52, 52, 52,255, 49, 49, 49,255, 44, 44, 44,255, 40, 40, 40,255,
+ 35, 35, 35,255, 30, 30, 30,255, 24, 24, 24,255, 18, 18, 18,255, 12, 12, 12,255, 12, 12, 12,255, 6, 6, 6,102, 0, 0, 0, 0,
+ 0, 0, 0, 0, 22, 22, 22,102, 67, 67, 67,255, 76, 76, 76,255, 81, 81, 81,255, 84, 84, 84,255, 87, 87, 87,255, 88, 88, 88,255,
+ 88, 88, 88,255, 88, 88, 88,255, 87, 87, 87,255, 86, 86, 86,255, 84, 84, 84,255, 82, 82, 82,255, 79, 79, 79,255, 76, 76, 76,255,
+ 73, 73, 73,255, 69, 69, 69,255, 65, 65, 65,255, 62, 62, 62,255, 58, 58, 58,255, 54, 54, 54,255, 49, 49, 49,255, 45, 45, 45,255,
+ 40, 40, 40,255, 35, 35, 35,255, 29, 29, 29,255, 23, 23, 23,255, 16, 16, 16,255, 12, 12, 12,255, 12, 12, 12,204, 0, 0, 0, 0,
+ 0, 0, 0, 0, 49, 49, 49,204, 76, 76, 76,255, 84, 84, 84,255, 89, 89, 89,255, 92, 92, 92,255, 94, 94, 94,255, 95, 95, 95,255,
+ 95, 95, 95,255, 95, 95, 95,255, 94, 94, 94,255, 93, 93, 93,255, 91, 91, 91,255, 88, 88, 88,255, 85, 85, 85,255, 82, 82, 82,255,
+ 79, 79, 79,255, 75, 75, 75,255, 71, 71, 71,255, 67, 67, 67,255, 63, 63, 63,255, 59, 59, 59,255, 55, 55, 55,255, 50, 50, 50,255,
+ 45, 45, 45,255, 40, 40, 40,255, 34, 34, 34,255, 28, 28, 28,255, 21, 21, 21,255, 13, 13, 13,255, 14, 14, 14,255, 0, 0, 0, 0,
+ 14, 14, 14,102, 70, 70, 70,255, 85, 85, 85,255, 92, 92, 92,255, 97, 97, 97,255,100,100,100,255,102,102,102,255,102,102,102,255,
+103,103,103,255,102,102,102,255,101,101,101,255, 99, 99, 99,255, 97, 97, 97,255, 94, 94, 94,255, 91, 91, 91,255, 88, 88, 88,255,
+ 84, 84, 84,255, 81, 81, 81,255, 77, 77, 77,255, 72, 72, 72,255, 68, 68, 68,255, 64, 64, 64,255, 59, 59, 59,255, 55, 55, 55,255,
+ 50, 50, 50,255, 44, 44, 44,255, 39, 39, 39,255, 32, 32, 32,255, 25, 25, 25,255, 17, 17, 17,255, 13, 13, 13,255, 7, 7, 7,102,
+ 24, 24, 24,102, 80, 80, 80,255, 93, 93, 93,255,100,100,100,255,104,104,104,255,107,107,107,255,109,109,109,255,109,109,109,255,
+109,109,109,255,109,109,109,255,107,107,107,255,106,106,106,255,103,103,103,255,100,100,100,255, 97, 97, 97,255, 94, 94, 94,255,
+ 90, 90, 90,255, 86, 86, 86,255, 82, 82, 82,255, 77, 77, 77,255, 73, 73, 73,255, 69, 69, 69,255, 64, 64, 64,255, 59, 59, 59,255,
+ 54, 54, 54,255, 49, 49, 49,255, 43, 43, 43,255, 36, 36, 36,255, 29, 29, 29,255, 21, 21, 21,255, 14, 14, 14,255, 10, 10, 10,153,
+ 29, 29, 29,102, 89, 89, 89,255,100,100,100,255,107,107,107,255,112,112,112,255,114,114,114,255,116,116,116,255,116,116,116,255,
+116,116,116,255,115,115,115,255,114,114,114,255,112,112,112,255,110,110,110,255,107,107,107,255,104,104,104,255,100,100,100,255,
+ 96, 96, 96,255, 92, 92, 92,255, 87, 87, 87,255, 83, 83, 83,255, 78, 78, 78,255, 73, 73, 73,255, 68, 68, 68,255, 63, 63, 63,255,
+ 58, 58, 58,255, 52, 52, 52,255, 46, 46, 46,255, 40, 40, 40,255, 33, 33, 33,255, 24, 24, 24,255, 17, 17, 17,255, 13, 13, 13,204,
+ 46, 46, 46,153, 95, 95, 95,255,107,107,107,255,114,114,114,255,118,118,118,255,121,121,121,255,122,122,122,255,123,123,123,255,
+123,123,123,255,122,122,122,255,122,122,122,255,120,120,120,255,118,118,118,255,114,114,114,255,110,110,110,255,106,106,106,255,
+101,101,101,255, 97, 97, 97,255, 92, 92, 92,255, 87, 87, 87,255, 83, 83, 83,255, 78, 78, 78,255, 73, 73, 73,255, 68, 68, 68,255,
+ 62, 62, 62,255, 56, 56, 56,255, 50, 50, 50,255, 44, 44, 44,255, 36, 36, 36,255, 28, 28, 28,255, 19, 19, 19,255, 12, 12, 12,204,
+ 47, 47, 47,153,101,101,101,255,113,113,113,255,120,120,120,255,125,125,125,255,127,127,127,255,129,129,129,255,130,130,130,255,
+130,130,130,255,131,131,131,255,131,131,131,255,131,131,131,255,129,129,129,255,125,125,125,255,120,120,120,255,113,113,113,255,
+108,108,108,255,103,103,103,255, 97, 97, 97,255, 92, 92, 92,255, 87, 87, 87,255, 82, 82, 82,255, 77, 77, 77,255, 72, 72, 72,255,
+ 66, 66, 66,255, 60, 60, 60,255, 54, 54, 54,255, 47, 47, 47,255, 39, 39, 39,255, 31, 31, 31,255, 22, 22, 22,255, 12, 12, 12,204,
+ 48, 48, 48,153,106,106,106,255,118,118,118,255,126,126,126,255,131,131,131,255,134,134,134,255,135,135,135,255,137,137,137,255,
+138,138,138,255,142,142,142,255,147,147,147,255,149,149,149,255,148,148,148,255,142,142,142,255,133,133,133,255,124,124,124,255,
+115,115,115,255,108,108,108,255,102,102,102,255, 97, 97, 97,255, 92, 92, 92,255, 87, 87, 87,255, 81, 81, 81,255, 75, 75, 75,255,
+ 69, 69, 69,255, 63, 63, 63,255, 57, 57, 57,255, 49, 49, 49,255, 42, 42, 42,255, 33, 33, 33,255, 24, 24, 24,255, 9, 9, 9,153,
+ 32, 32, 32,102,109,109,109,255,123,123,123,255,131,131,131,255,136,136,136,255,140,140,140,255,142,142,142,255,144,144,144,255,
+148,148,148,255,156,156,156,255,168,168,168,255,176,176,176,255,177,177,177,255,168,168,168,255,153,153,153,255,137,137,137,255,
+124,124,124,255,114,114,114,255,107,107,107,255,101,101,101,255, 96, 96, 96,255, 90, 90, 90,255, 85, 85, 85,255, 79, 79, 79,255,
+ 72, 72, 72,255, 66, 66, 66,255, 59, 59, 59,255, 52, 52, 52,255, 44, 44, 44,255, 35, 35, 35,255, 26, 26, 26,255, 10, 10, 10,153,
+ 17, 17, 17, 51,110,110,110,255,127,127,127,255,136,136,136,255,142,142,142,255,145,145,145,255,148,148,148,255,151,151,151,255,
+159,159,159,255,174,174,174,255,195,195,195,255,212,212,212,255,216,216,216,255,204,204,204,255,179,179,179,255,154,154,154,255,
+135,135,135,255,121,121,121,255,112,112,112,255,106,106,106,255, 99, 99, 99,255, 94, 94, 94,255, 88, 88, 88,255, 82, 82, 82,255,
+ 76, 76, 76,255, 69, 69, 69,255, 62, 62, 62,255, 54, 54, 54,255, 46, 46, 46,255, 37, 37, 37,255, 26, 26, 26,255, 6, 6, 6,102,
+ 0, 0, 0, 0,107,107,107,255,130,130,130,255,140,140,140,255,146,146,146,255,150,150,150,255,153,153,153,255,158,158,158,255,
+169,169,169,255,191,191,191,255,219,219,219,255,246,246,246,255,254,254,254,255,237,237,237,255,204,204,204,255,170,170,170,255,
+145,145,145,255,127,127,127,255,117,117,117,255,110,110,110,255,103,103,103,255, 97, 97, 97,255, 91, 91, 91,255, 85, 85, 85,255,
+ 78, 78, 78,255, 71, 71, 71,255, 64, 64, 64,255, 55, 55, 55,255, 47, 47, 47,255, 37, 37, 37,255, 25, 25, 25,255, 3, 3, 3, 51,
+ 0, 0, 0, 0, 65, 65, 65,153,129,129,129,255,142,142,142,255,149,149,149,255,154,154,154,255,158,158,158,255,163,163,163,255,
+176,176,176,255,199,199,199,255,232,232,232,255,255,255,255,255,255,255,255,255,255,255,255,255,220,220,220,255,181,181,181,255,
+151,151,151,255,132,132,132,255,121,121,121,255,113,113,113,255,106,106,106,255,100,100,100,255, 94, 94, 94,255, 87, 87, 87,255,
+ 80, 80, 80,255, 73, 73, 73,255, 65, 65, 65,255, 57, 57, 57,255, 48, 48, 48,255, 38, 38, 38,255, 16, 16, 16,153, 0, 0, 0, 0,
+ 0, 0, 0, 0, 21, 21, 21, 51,127,127,127,255,143,143,143,255,152,152,152,255,157,157,157,255,161,161,161,255,165,165,165,255,
+177,177,177,255,198,198,198,255,227,227,227,255,253,253,253,255,255,255,255,255,250,250,250,255,217,217,217,255,181,181,181,255,
+153,153,153,255,135,135,135,255,124,124,124,255,117,117,117,255,110,110,110,255,103,103,103,255, 96, 96, 96,255, 89, 89, 89,255,
+ 82, 82, 82,255, 74, 74, 74,255, 66, 66, 66,255, 57, 57, 57,255, 48, 48, 48,255, 35, 35, 35,255, 10, 10, 10,153, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 93, 93, 93,204,141,141,141,255,153,153,153,255,159,159,159,255,163,163,163,255,167,167,167,255,
+174,174,174,255,188,188,188,255,209,209,209,255,228,228,228,255,234,234,234,255,224,224,224,255,200,200,200,255,173,173,173,255,
+151,151,151,255,136,136,136,255,127,127,127,255,119,119,119,255,112,112,112,255,105,105,105,255, 98, 98, 98,255, 90, 90, 90,255,
+ 83, 83, 83,255, 75, 75, 75,255, 66, 66, 66,255, 57, 57, 57,255, 46, 46, 46,255, 24, 24, 24,204, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 20, 20, 20, 51,134,134,134,255,151,151,151,255,160,160,160,255,164,164,164,255,167,167,167,255,
+171,171,171,255,178,178,178,255,189,189,189,255,200,200,200,255,202,202,202,255,195,195,195,255,180,180,180,255,163,163,163,255,
+148,148,148,255,137,137,137,255,129,129,129,255,121,121,121,255,114,114,114,255,107,107,107,255, 99, 99, 99,255, 91, 91, 91,255,
+ 83, 83, 83,255, 74, 74, 74,255, 65, 65, 65,255, 55, 55, 55,255, 41, 41, 41,255, 7, 7, 7, 51, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 49, 49,102,145,145,145,255,157,157,157,255,164,164,164,255,167,167,167,255,
+170,170,170,255,172,172,172,255,176,176,176,255,180,180,180,255,179,179,179,255,174,174,174,255,165,165,165,255,155,155,155,255,
+145,145,145,255,137,137,137,255,130,130,130,255,122,122,122,255,115,115,115,255,107,107,107,255, 99, 99, 99,255, 91, 91, 91,255,
+ 82, 82, 82,255, 73, 73, 73,255, 63, 63, 63,255, 50, 50, 50,255, 22, 22, 22,153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 78, 78, 78,153,149,149,149,255,160,160,160,255,166,166,166,255,
+168,168,168,255,169,169,169,255,170,170,170,255,169,169,169,255,167,167,167,255,164,164,164,255,158,158,158,255,151,151,151,255,
+144,144,144,255,137,137,137,255,130,130,130,255,123,123,123,255,115,115,115,255,106,106,106,255, 98, 98, 98,255, 89, 89, 89,255,
+ 80, 80, 80,255, 70, 70, 70,255, 58, 58, 58,255, 27, 27, 27,153, 3, 3, 3, 51, 0, 0, 0, 0, 0, 0, 0, 0, 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, 80, 80,153,150,150,150,255,160,160,160,255,
+165,165,165,255,167,167,167,255,167,167,167,255,166,166,166,255,163,163,163,255,160,160,160,255,155,155,155,255,149,149,149,255,
+143,143,143,255,137,137,137,255,129,129,129,255,121,121,121,255,113,113,113,255,105,105,105,255, 96, 96, 96,255, 86, 86, 86,255,
+ 76, 76, 76,255, 63, 63, 63,255, 38, 38, 38,204, 7, 7, 7, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 78, 78, 78,153,147,147,147,255,
+157,157,157,255,161,161,161,255,163,163,163,255,162,162,162,255,160,160,160,255,157,157,157,255,152,152,152,255,147,147,147,255,
+141,141,141,255,135,135,135,255,127,127,127,255,119,119,119,255,110,110,110,255,101,101,101,255, 91, 91, 91,255, 80, 80, 80,255,
+ 66, 66, 66,255, 32, 32, 32,153, 7, 7, 7, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+134,134,134,255,148,148,148,255,154,154,154,255,155,155,155,255,154,154,154,255,152,152,152,255,147,147,147,255,142,142,142,255,
+136,136,136,255,130,130,130,255,122,122,122,255,114,114,114,255,104,104,104,255, 93, 93, 93,255, 81, 81, 81,255, 54, 54, 54,204,
+ 22, 22, 22,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 73, 73,153,103,103,103,204,137,137,137,255,140,140,140,255,140,140,140,255,137,137,137,255,133,133,133,255,
+127,127,127,255,120,120,120,255,113,113,113,255,102,102,102,255, 91, 91, 91,255, 64, 64, 64,204, 28, 28, 28,102, 6, 6, 6, 51,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 46, 46,102, 72, 72, 72,153, 72, 72, 72,153, 92, 92, 92,204,
+ 88, 88, 88,204, 81, 81, 81,204, 54, 54, 54,153, 35, 35, 35,102, 16, 16, 16, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 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, 69, 0, 0,160, 1, 0, 0,248,162,222, 4, 0, 0, 0, 0, 32, 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, 84, 69, 84,101,120, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 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, 0, 0, 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, 62, 0, 0,160, 64, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 64, 0, 0, 0, 64, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 64, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 7, 0, 8, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 8, 0, 0, 0, 1, 0, 1, 0, 3, 0, 2, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,205,204,204, 60, 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, 2, 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,248, 0,169, 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, 68, 65, 84, 65,
- 40, 0, 0, 0,248, 0,169, 5, 0, 0, 0, 0, 12, 0, 0, 0, 1, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1, 0, 16, 0, 15, 0,104, 1,169, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 0, 16, 0, 0,104, 1,169, 5, 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, 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,128, 62, 0, 0,160, 64,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 64, 0, 0, 0, 64, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 64, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 7, 0, 8, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 8, 0, 0, 0, 1, 0, 1, 0,
+ 3, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,205,204,204, 60, 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, 2, 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,232,164,222, 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, 68, 65, 84, 65, 40, 0, 0, 0,
+232,164,222, 4, 0, 0, 0, 0, 12, 0, 0, 0, 1, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1, 0, 16, 0, 15, 0, 88,165,222, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 16, 0, 0,
+ 88,165,222, 4, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -6496,23 +6611,24 @@ char datatoc_startup_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, 0, 0, 0, 0, 0, 0, 0, 0, 77, 69, 0, 0, 16, 5, 0, 0,184, 17,169, 5,
- 0, 0, 0, 0, 50, 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, 77, 69, 67,117, 98,101, 0,112,104,101,114,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, 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, 77, 69, 0, 0, 16, 5, 0, 0,168,181,222, 4, 0, 0, 0, 0,
+ 49, 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, 77, 69, 67,117, 98,101, 0,112,104,101,114,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,168,106,135, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 37,169, 5, 0, 0, 0, 0,168, 36,169, 5,
- 0, 0, 0, 0, 72, 33,169, 5, 0, 0, 0, 0,216, 31,169, 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,104, 25,169, 5, 0, 0, 0, 0,168, 28,169, 5,
+ 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, 24, 23,169, 5, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+136, 0,191, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,199,222, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 56,196,222, 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, 88,189,222, 4, 0, 0, 0, 0, 8,193,222, 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, 8,187,222, 4, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255, 1, 0, 0, 0, 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 88, 26,169, 5, 0, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255, 0, 0, 0, 0,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 1, 0, 0, 0,255,255,255,255,
+255,255,255,255, 2, 0, 0, 0, 5, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+184,190,222, 4, 0, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255, 0, 0, 0, 0,255,255,255,255,255,255,255,255,
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
@@ -6523,30 +6639,29 @@ char datatoc_startup_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, 0, 0, 0, 0, 0, 0, 0, 0, 88, 34,169, 5, 0, 0, 0, 0,255,255,255,255,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,197,222, 4, 0, 0, 0, 0,255,255,255,255,255,255,255,255,
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 0, 0, 0, 0,255,255,255,255,
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
- 1, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255, 2, 0, 0, 0, 5, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136, 29,169, 5, 0, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 0, 0, 0, 0,
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 0, 0, 0, 0,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 1, 0, 0, 0,
+255,255,255,255,255,255,255,255,255,255,255,255, 1, 0, 0, 0, 5, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,232,193,222, 4, 0, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255, 2, 0, 0, 0, 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 8, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 51, 0, 0, 0,180, 0, 0, 0, 0, 4, 0,128, 63, 4, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1, 0, 67, 0, 30, 0, 6, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 8, 0, 0, 0,168,106,135, 5, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,248,232,168, 5, 0, 0, 0, 0, 68, 65, 84, 65,
- 8, 2, 0, 0, 24, 23,169, 5, 0, 0, 0, 0,132, 1, 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,104, 25,169, 5, 0, 0, 0, 0, 0, 0, 0, 0,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 0, 0, 0, 0,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255, 1, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 8, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 51,
+ 0, 0, 0,180, 0, 0, 0, 0, 4, 0,128, 63, 4, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 67, 0, 30, 0, 6, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 8, 0, 0, 0,
+136, 0,191, 4, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,232,140,222, 4, 0, 0, 0, 0, 68, 65, 84, 65, 8, 2, 0, 0,
+ 8,187,222, 4, 0, 0, 0, 0,132, 1, 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, 88,189,222, 4, 0, 0, 0, 0, 34, 0, 0, 0, 20, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 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,190,222, 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,
@@ -6555,18 +6670,20 @@ char datatoc_startup_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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-160, 0, 0, 0,104, 25,169, 5, 0, 0, 0, 0, 56, 0, 0, 0, 8, 0, 0, 0, 0, 0,128, 63,255,255,127, 63, 0, 0,128,191,
-230, 73,230, 73, 26,182, 1, 0, 0, 0,128, 63, 0, 0,128,191, 0, 0,128,191,230, 73, 26,182, 26,182, 1, 0, 1, 0,128,191,
-253,255,127,191, 0, 0,128,191, 26,182, 26,182, 26,182, 1, 0,250,255,127,191, 3, 0,128, 63, 0, 0,128,191, 26,182,230, 73,
- 26,182, 1, 0, 4, 0,128, 63,247,255,127, 63, 0, 0,128, 63,230, 73,230, 73,230, 73, 1, 0,245,255,127, 63, 5, 0,128,191,
- 0, 0,128, 63,230, 73, 26,182,230, 73, 1, 0, 3, 0,128,191,250,255,127,191, 0, 0,128, 63, 26,182, 26,182,230, 73, 1, 0,
-255,255,127,191, 0, 0,128, 63, 0, 0,128, 63, 26,182,230, 73,230, 73, 1, 0, 68, 65, 84, 65, 8, 2, 0, 0, 88, 26,169, 5,
- 0, 0, 0, 0,132, 1, 0, 0, 5, 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, 68, 65, 84, 65,160, 0, 0, 0,
+ 88,189,222, 4, 0, 0, 0, 0, 55, 0, 0, 0, 8, 0, 0, 0, 0, 0,128, 63,255,255,127, 63, 0, 0,128,191,230, 73,230, 73,
+ 26,182, 1, 0, 0, 0,128, 63, 0, 0,128,191, 0, 0,128,191,230, 73, 26,182, 26,182, 1, 0, 1, 0,128,191,253,255,127,191,
+ 0, 0,128,191, 26,182, 26,182, 26,182, 1, 0,250,255,127,191, 3, 0,128, 63, 0, 0,128,191, 26,182,230, 73, 26,182, 1, 0,
+ 4, 0,128, 63,247,255,127, 63, 0, 0,128, 63,230, 73,230, 73,230, 73, 1, 0,245,255,127, 63, 5, 0,128,191, 0, 0,128, 63,
+230, 73, 26,182,230, 73, 1, 0, 3, 0,128,191,250,255,127,191, 0, 0,128, 63, 26,182, 26,182,230, 73, 1, 0,255,255,127,191,
+ 0, 0,128, 63, 0, 0,128, 63, 26,182,230, 73,230, 73, 1, 0, 68, 65, 84, 65, 32, 0, 0, 0, 72,190,222, 4, 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, 68, 65, 84, 65, 8, 2, 0, 0,184,190,222, 4, 0, 0, 0, 0,132, 1, 0, 0, 5, 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,168, 28,169, 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,
+ 8,193,222, 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,
@@ -6578,21 +6695,20 @@ char datatoc_startup_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, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,144, 0, 0, 0,168, 28,169, 5,
- 0, 0, 0, 0, 53, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 3, 0, 0, 0,
- 0, 0, 35, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 35, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 35, 0, 1, 0, 0, 0,
- 5, 0, 0, 0, 0, 0, 35, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 35, 0, 2, 0, 0, 0, 6, 0, 0, 0, 0, 0, 35, 0,
- 3, 0, 0, 0, 7, 0, 0, 0, 0, 0, 35, 0, 4, 0, 0, 0, 5, 0, 0, 0, 0, 0, 35, 0, 4, 0, 0, 0, 7, 0, 0, 0,
- 0, 0, 35, 0, 5, 0, 0, 0, 6, 0, 0, 0, 0, 0, 35, 0, 6, 0, 0, 0, 7, 0, 0, 0, 0, 0, 35, 0, 68, 65, 84, 65,
- 8, 2, 0, 0,136, 29,169, 5, 0, 0, 0, 0,132, 1, 0, 0, 5, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 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, 86, 77, 97,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,216, 31,169, 5, 0, 0, 0, 0, 26, 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, 78, 71,111,110,
- 32, 70, 97, 99,101, 45, 86,101,114,116,101,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 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, 33,169, 5,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,144, 0, 0, 0, 8,193,222, 4, 0, 0, 0, 0, 52, 0, 0, 0, 12, 0, 0, 0,
+ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 4, 0, 0, 0,
+ 0, 0, 35, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 35, 0, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, 35, 0, 2, 0, 0, 0,
+ 3, 0, 0, 0, 0, 0, 35, 0, 2, 0, 0, 0, 6, 0, 0, 0, 0, 0, 35, 0, 3, 0, 0, 0, 7, 0, 0, 0, 0, 0, 35, 0,
+ 4, 0, 0, 0, 5, 0, 0, 0, 0, 0, 35, 0, 4, 0, 0, 0, 7, 0, 0, 0, 0, 0, 35, 0, 5, 0, 0, 0, 6, 0, 0, 0,
+ 0, 0, 35, 0, 6, 0, 0, 0, 7, 0, 0, 0, 0, 0, 35, 0, 68, 65, 84, 65, 8, 2, 0, 0,232,193,222, 4, 0, 0, 0, 0,
+132, 1, 0, 0, 5, 0, 0, 0, 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, 78, 71,111,110, 32, 70, 97, 99,101, 45, 86,101,114,116,101,120, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 56,196,222, 4, 0, 0, 0, 0, 26, 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, 78, 71,111,110, 32, 70, 97, 99,101, 45, 86,101,114,116,101,120,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,140, 98, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -6600,33 +6716,23 @@ char datatoc_startup_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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 32, 1, 0, 0,216, 31,169, 5, 0, 0, 0, 0, 61, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 2, 0, 0, 0, 68, 65, 84, 65,192, 0, 0, 0, 72, 33,169, 5,
- 0, 0, 0, 0, 59, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 2, 0, 0, 0,
- 5, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 9, 0, 0, 0, 7, 0, 0, 0, 11, 0, 0, 0, 6, 0, 0, 0,
- 10, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0, 5, 0, 0, 0,
- 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 5, 0, 0, 0, 10, 0, 0, 0, 6, 0, 0, 0,
- 6, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 2, 0, 0, 0, 6, 0, 0, 0, 6, 0, 0, 0, 11, 0, 0, 0, 7, 0, 0, 0,
- 7, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0,
- 7, 0, 0, 0, 7, 0, 0, 0, 9, 0, 0, 0, 68, 65, 84, 65, 8, 2, 0, 0, 88, 34,169, 5, 0, 0, 0, 0,132, 1, 0, 0,
- 5, 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, 85, 86, 77, 97,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,168, 36,169, 5, 0, 0, 0, 0, 25, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 78, 71,111,110, 32, 70, 97, 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, 88, 37,169, 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, 68, 65, 84, 65,192, 0, 0, 0, 56,196,222, 4, 0, 0, 0, 0,
+ 58, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 2, 0, 0, 0, 5, 0, 0, 0,
+ 3, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 9, 0, 0, 0, 7, 0, 0, 0, 11, 0, 0, 0, 6, 0, 0, 0, 10, 0, 0, 0,
+ 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 5, 0, 0, 0, 10, 0, 0, 0, 6, 0, 0, 0, 6, 0, 0, 0,
+ 2, 0, 0, 0, 3, 0, 0, 0, 2, 0, 0, 0, 6, 0, 0, 0, 6, 0, 0, 0, 11, 0, 0, 0, 7, 0, 0, 0, 7, 0, 0, 0,
+ 3, 0, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 7, 0, 0, 0,
+ 7, 0, 0, 0, 9, 0, 0, 0, 68, 65, 84, 65, 8, 2, 0, 0, 72,197,222, 4, 0, 0, 0, 0,132, 1, 0, 0, 5, 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,
+ 78, 71,111,110, 32, 70, 97, 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,
+152,199,222, 4, 0, 0, 0, 0, 25, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 78, 71,111,110, 32, 70, 97, 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, 24,144, 98, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -6634,29 +6740,27 @@ char datatoc_startup_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, 96, 0, 0, 0,168, 36,169, 5, 0, 0, 0, 0, 60, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 72, 0, 0, 0, 88, 37,169, 5, 0, 0, 0, 0, 58, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0,
- 4, 0, 0, 0, 0, 0, 2, 0, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 2, 0, 8, 0, 0, 0, 4, 0, 0, 0, 0, 0, 2, 0,
- 12, 0, 0, 0, 4, 0, 0, 0, 0, 0, 2, 0, 16, 0, 0, 0, 4, 0, 0, 0, 0, 0, 2, 0, 20, 0, 0, 0, 4, 0, 0, 0,
- 0, 0, 2, 0, 66, 82, 0, 0, 96, 6, 0, 0,232, 37,169, 5, 0, 0, 0, 0,131, 1, 0, 0, 1, 0, 0, 0,168, 47,169, 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, 66, 82, 65,100,
-100, 0,104, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 72, 0, 0, 0,152,199,222, 4, 0, 0, 0, 0, 57, 0, 0, 0, 6, 0, 0, 0,
+ 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 2, 0, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 2, 0, 8, 0, 0, 0, 4, 0, 0, 0,
+ 0, 0, 2, 0, 12, 0, 0, 0, 4, 0, 0, 0, 0, 0, 2, 0, 16, 0, 0, 0, 4, 0, 0, 0, 0, 0, 2, 0, 20, 0, 0, 0,
+ 4, 0, 0, 0, 0, 0, 2, 0, 66, 82, 0, 0, 96, 6, 0, 0, 40,200,222, 4, 0, 0, 0, 0,131, 1, 0, 0, 1, 0, 0, 0,
+104,210,222, 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,
+ 66, 82, 65,100,100, 0,104, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 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, 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, 63, 0, 0, 0, 0, 24, 46,169, 5, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 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, 63, 0, 0, 0, 0, 88,208,222, 4, 0, 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, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 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, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -6689,50 +6793,49 @@ char datatoc_startup_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, 12, 0, 0, 0, 0, 63, 35, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0,
- 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0,
- 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0,
- 0, 0, 0, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 56, 1, 0, 0,128, 38,169, 5, 0, 0, 0, 0, 25, 0, 0, 0, 1, 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, 12, 0, 0, 0, 0, 63, 35, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0,
+ 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0,
+ 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 56, 1, 0, 0,192,200,222, 4, 0, 0, 0, 0, 25, 0, 0, 0, 1, 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, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0, 24, 46,169, 5, 0, 0, 0, 0,127, 1, 0, 0,
- 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0,
- 0, 0,128, 63, 14,215,126,191, 54,189,194, 61, 14,215,126,191, 46,189,194, 61,184,181,132, 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,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0, 88,208,222, 4, 0, 0, 0, 0,
+127, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67,
+ 0, 0, 0, 0, 0, 0,128, 63, 14,215,126,191, 54,189,194, 61, 14,215,126,191, 46,189,194, 61,232,209,222, 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,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,184,181,132, 5, 0, 0, 0, 0,125, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62, 31,133,107, 63, 0, 0, 0, 0, 0, 0, 64, 63, 10,215,163, 61, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,168, 47,169, 5, 0, 0, 0, 0,131, 1, 0, 0,
- 1, 0, 0, 0,232, 55,169, 5, 0, 0, 0, 0,232, 37,169, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 66, 82, 66,108,111, 98, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 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, 63, 0, 0, 0, 0, 88, 54,169, 5, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,232,209,222, 4, 0, 0, 0, 0,125, 1, 0, 0, 4, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62, 31,133,107, 63, 0, 0, 0, 0, 0, 0, 64, 63, 10,215,163, 61,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,104,210,222, 4, 0, 0, 0, 0,
+131, 1, 0, 0, 1, 0, 0, 0, 40,219,222, 4, 0, 0, 0, 0, 40,200,222, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 66,108,111, 98, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 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, 63, 0, 0, 0, 0, 24,217,222, 4, 0, 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, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 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, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0,
+ 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 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, 0, 0, 0, 0, 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,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -6764,49 +6867,51 @@ char datatoc_startup_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, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 63, 35, 0, 0, 0, 4, 4, 4, 0,
- 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62,
- 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, 20,174,199, 62, 20,174,199, 62, 20,174,199, 62, 20,174,199, 62,
- 0, 0,128, 63, 68, 65, 84, 65, 56, 1, 0, 0, 64, 48,169, 5, 0, 0, 0, 0, 25, 0, 0, 0, 1, 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, 2, 0, 0, 0, 0, 63, 35, 0, 0, 0,
+ 4, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,
+205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, 20,174,199, 62, 20,174,199, 62, 20,174,199, 62,
+ 20,174,199, 62, 0, 0,128, 63, 68, 65, 84, 65, 56, 1, 0, 0, 0,211,222, 4, 0, 0, 0, 0, 25, 0, 0, 0, 1, 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, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 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, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0,
+ 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0, 88, 54,169, 5,
- 0, 0, 0, 0,127, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0,
- 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,114, 97,255,186,200, 66,140, 5,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,
+ 24,217,222, 4, 0, 0, 0, 0,127, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,114, 97,255,186,
+168,218,222, 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, 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, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,168,218,222, 4, 0, 0, 0, 0,
+125, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0,
+ 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,
+ 40,219,222, 4, 0, 0, 0, 0,131, 1, 0, 0, 1, 0, 0, 0,232,227,222, 4, 0, 0, 0, 0,104,210,222, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 66,108,117,114, 0, 46, 48, 48, 52, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,200, 66,140, 5, 0, 0, 0, 0,125, 1, 0, 0,
- 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,
-143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,232, 55,169, 5,
- 0, 0, 0, 0,131, 1, 0, 0, 1, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0,168, 47,169, 5, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 66,108,117,114, 0, 46, 48, 48, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 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, 63, 0, 0, 0, 0,152, 62,169, 5,
- 0, 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, 1, 2, 3, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0,
- 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 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, 0, 0, 1, 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, 63, 0, 0, 0, 0,
+216,225,222, 4, 0, 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,
+ 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -6838,51 +6943,50 @@ char datatoc_startup_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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0,
+ 0, 0, 0, 63, 35, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 4, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0,192,219,222, 4, 0, 0, 0, 0,
+ 25, 0, 0, 0, 1, 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, 12, 0, 0, 0, 0, 63,
- 35, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,
- 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0,128, 56,169, 5, 0, 0, 0, 0, 25, 0, 0, 0,
- 1, 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, 1, 2, 3, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0,
- 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63,
+ 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65,
- 64, 1, 0, 0,152, 62,169, 5, 0, 0, 0, 0,127, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63, 14,215,126,191, 54,189,194, 61, 14,215,126,191,
- 46,189,194, 61,216,145,132, 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,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 68, 65, 84, 65, 64, 1, 0, 0,216,225,222, 4, 0, 0, 0, 0,127, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63, 14,215,126,191, 54,189,194, 61,
+ 14,215,126,191, 46,189,194, 61,104,227,222, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,216,145,132, 5,
- 0, 0, 0, 0,125, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62, 31,133,107, 63,
- 0, 0, 0, 0, 0, 0, 64, 63, 10,215,163, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0,
- 96, 6, 0, 0, 40, 64,169, 5, 0, 0, 0, 0,131, 1, 0, 0, 1, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0,232, 55,169, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 66,114,117,115,104, 0, 0, 0, 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,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,
+104,227,222, 4, 0, 0, 0, 0,125, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,
+ 31,133,107, 63, 0, 0, 0, 0, 0, 0, 64, 63, 10,215,163, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 66, 82, 0, 0, 96, 6, 0, 0,232,227,222, 4, 0, 0, 0, 0,131, 1, 0, 0, 1, 0, 0, 0,168,236,222, 4, 0, 0, 0, 0,
+ 40,219,222, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 66,114,117,115,104, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 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, 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, 63,
- 0, 0, 0, 0,216, 70,169, 5, 0, 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, 1, 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, 63, 0, 0, 0, 0,152,234,222, 4, 0, 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, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 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, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -6915,49 +7019,49 @@ char datatoc_startup_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, 30, 0, 0, 0, 0, 63, 35, 0, 0, 0, 4, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,
-205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 20,174,199, 62, 20,174,199, 62, 20,174,199, 62, 20,174,199, 62, 0, 0,128, 63, 68, 65, 84, 65, 56, 1, 0, 0,192, 64,169, 5,
- 0, 0, 0, 0, 25, 0, 0, 0, 1, 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, 30, 0, 0, 0, 0, 63, 35, 0, 0, 0, 4, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,
+102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 20,174,199, 62, 20,174,199, 62, 20,174,199, 62, 20,174,199, 62, 0, 0,128, 63, 68, 65, 84, 65, 56, 1, 0, 0,
+128,228,222, 4, 0, 0, 0, 0, 25, 0, 0, 0, 1, 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, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,216, 70,169, 5, 0, 0, 0, 0,127, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191,
- 46, 95,255,186,224,255,127,191,114, 97,255,186, 8, 3,135, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,152,234,222, 4, 0, 0, 0, 0,127, 1, 0, 0, 1, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,
+224,255,127,191, 46, 95,255,186,224,255,127,191,114, 97,255,186, 40,236,222, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 48, 0, 0, 0, 8, 3,135, 5, 0, 0, 0, 0,125, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,104, 72,169, 5, 0, 0, 0, 0,131, 1, 0, 0, 1, 0, 0, 0,168, 80,169, 5,
- 0, 0, 0, 0, 40, 64,169, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 67,108,
- 97,121, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 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,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 48, 0, 0, 0, 40,236,222, 4, 0, 0, 0, 0,125, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,168,236,222, 4, 0, 0, 0, 0,131, 1, 0, 0, 1, 0, 0, 0,
+104,245,222, 4, 0, 0, 0, 0,232,227,222, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 66, 82, 67,108, 97,121, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 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, 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, 63, 0, 0, 0, 0, 24, 79,169, 5, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 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, 63, 0, 0, 0, 0, 88,243,222, 4, 0, 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, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 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, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -6990,50 +7094,49 @@ char datatoc_startup_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, 2, 0, 0, 0, 0, 63, 35, 0, 0, 0, 4, 4, 4, 8, 0, 0, 0, 0, 10, 0, 0, 0,
- 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0,
- 0, 0, 0, 62, 0, 0,128, 63, 20,174,199, 62, 20,174,199, 62, 20,174,199, 62, 20,174,199, 62, 0, 0,128, 63, 68, 65, 84, 65,
- 56, 1, 0, 0, 0, 73,169, 5, 0, 0, 0, 0, 25, 0, 0, 0, 1, 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, 2, 0, 0, 0, 0, 63, 35, 0, 0, 0, 4, 4, 4, 8, 0, 0, 0, 0,
+ 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0,
+ 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, 20,174,199, 62, 20,174,199, 62, 20,174,199, 62, 20,174,199, 62, 0, 0,128, 63,
+ 68, 65, 84, 65, 56, 1, 0, 0, 64,237,222, 4, 0, 0, 0, 0, 25, 0, 0, 0, 1, 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, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0, 24, 79,169, 5, 0, 0, 0, 0,127, 1, 0, 0,
- 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0,
- 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,114, 97,255,186, 56, 35,135, 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,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0, 88,243,222, 4, 0, 0, 0, 0,
+127, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67,
+ 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,114, 97,255,186,232,244,222, 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,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0, 56, 35,135, 5, 0, 0, 0, 0,125, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,168, 80,169, 5, 0, 0, 0, 0,131, 1, 0, 0,
- 1, 0, 0, 0,104, 89,169, 5, 0, 0, 0, 0,104, 72,169, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 66, 82, 67,108, 97,121, 32, 83,116,114,105,112,115, 0, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 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, 63, 0, 0, 0, 0, 88, 87,169, 5, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,232,244,222, 4, 0, 0, 0, 0,125, 1, 0, 0, 4, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,104,245,222, 4, 0, 0, 0, 0,
+131, 1, 0, 0, 1, 0, 0, 0, 40,254,222, 4, 0, 0, 0, 0,168,236,222, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 67,108, 97,121, 32, 83,116,114,105,112,115, 0, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 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, 63, 0, 0, 0, 0, 24,252,222, 4, 0, 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, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 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, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0,
+ 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 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, 0, 0, 0, 0, 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,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7065,49 +7168,50 @@ char datatoc_startup_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, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 63, 35, 0, 0, 0, 4, 4, 4, 0,
- 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62,
- 0, 0, 0, 0, 33, 0, 0, 0,160,119, 78, 63, 0, 0,128, 63, 20,174,199, 62, 20,174,199, 62, 20,174,199, 62, 20,174,199, 62,
- 0, 0,128, 63, 68, 65, 84, 65, 56, 1, 0, 0, 64, 81,169, 5, 0, 0, 0, 0, 25, 0, 0, 0, 1, 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, 2, 0, 0, 0, 0, 63, 35, 0, 0, 0,
+ 4, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,
+205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0,160,119, 78, 63, 0, 0,128, 63, 20,174,199, 62, 20,174,199, 62, 20,174,199, 62,
+ 20,174,199, 62, 0, 0,128, 63, 68, 65, 84, 65, 56, 1, 0, 0, 0,246,222, 4, 0, 0, 0, 0, 25, 0, 0, 0, 1, 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, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 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, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0,
+ 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0, 88, 87,169, 5,
- 0, 0, 0, 0,127, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0,
- 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,114, 97,255,186,232, 88,169, 5,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,
+ 24,252,222, 4, 0, 0, 0, 0,127, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,114, 97,255,186,
+168,253,222, 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, 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, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,168,253,222, 4, 0, 0, 0, 0,
+125, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0,
+ 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,
+ 40,254,222, 4, 0, 0, 0, 0,131, 1, 0, 0, 1, 0, 0, 0,232, 6,223, 4, 0, 0, 0, 0,104,245,222, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 67,108,111,110,101, 0, 48, 48, 49, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,232, 88,169, 5, 0, 0, 0, 0,125, 1, 0, 0,
- 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,
-143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,104, 89,169, 5,
- 0, 0, 0, 0,131, 1, 0, 0, 1, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0,168, 80,169, 5, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 67,108,111,110,101, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 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, 63, 0, 0, 0, 0, 24, 96,169, 5,
- 0, 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, 1, 2, 3, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0,
- 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 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, 0, 0, 1, 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, 63, 0, 0, 0, 0,
+216, 4,223, 4, 0, 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,
+ 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7140,50 +7244,50 @@ char datatoc_startup_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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 63,
- 35, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 63,
- 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0, 0, 90,169, 5, 0, 0, 0, 0, 25, 0, 0, 0,
- 1, 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, 16, 0,
+ 0, 0, 0, 63, 35, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0,
+ 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0,192,254,222, 4, 0, 0, 0, 0,
+ 25, 0, 0, 0, 1, 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, 1, 2, 3, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0,
- 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65,
- 64, 1, 0, 0, 24, 96,169, 5, 0, 0, 0, 0,127, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63, 14,215,126,191, 54,189,194, 61, 14,215,126,191,
- 46,189,194, 61,168, 97,169, 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,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 68, 65, 84, 65, 64, 1, 0, 0,216, 4,223, 4, 0, 0, 0, 0,127, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63, 14,215,126,191, 54,189,194, 61,
+ 14,215,126,191, 46,189,194, 61,104, 6,223, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,168, 97,169, 5,
- 0, 0, 0, 0,125, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62, 31,133,107, 63,
- 0, 0, 0, 0, 0, 0, 64, 63, 10,215,163, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0,
- 96, 6, 0, 0, 40, 98,169, 5, 0, 0, 0, 0,131, 1, 0, 0, 1, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0,104, 89,169, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 67,114,101, 97,115,101, 0, 48, 48, 49,
+ 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,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,
+104, 6,223, 4, 0, 0, 0, 0,125, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,
+ 31,133,107, 63, 0, 0, 0, 0, 0, 0, 64, 63, 10,215,163, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 66, 82, 0, 0, 96, 6, 0, 0,232, 6,223, 4, 0, 0, 0, 0,131, 1, 0, 0, 1, 0, 0, 0,168, 15,223, 4, 0, 0, 0, 0,
+ 40,254,222, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 67,114,101, 97,115,101,
+ 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 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, 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, 1, 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, 63,
- 0, 0, 0, 0,216,104,169, 5, 0, 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, 63, 0, 0, 0, 0,152, 13,223, 4, 0, 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, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 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, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7216,49 +7320,49 @@ char datatoc_startup_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, 2, 0, 0, 0, 0, 63, 35, 0, 0, 0, 4, 6, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,
-205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 62, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63,
- 20,174,199, 62, 20,174,199, 62, 20,174,199, 62, 20,174,199, 62, 0, 0,128, 63, 68, 65, 84, 65, 56, 1, 0, 0,192, 98,169, 5,
- 0, 0, 0, 0, 25, 0, 0, 0, 1, 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, 2, 0, 0, 0, 0, 63, 35, 0, 0, 0, 4, 6, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,
+102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 62, 0, 0, 0, 0, 0, 0, 0, 0,
+ 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62,
+ 0, 0,128, 63, 20,174,199, 62, 20,174,199, 62, 20,174,199, 62, 20,174,199, 62, 0, 0,128, 63, 68, 65, 84, 65, 56, 1, 0, 0,
+128, 7,223, 4, 0, 0, 0, 0, 25, 0, 0, 0, 1, 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, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,216,104,169, 5, 0, 0, 0, 0,127, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,228, 97,175,190,
- 50,131,112, 63,218,243,127,191, 10,183,157,188,104,106,169, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,152, 13,223, 4, 0, 0, 0, 0,127, 1, 0, 0, 1, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,
+228, 97,175,190, 50,131,112, 63,218,243,127,191, 10,183,157,188, 40, 15,223, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 48, 0, 0, 0,104,106,169, 5, 0, 0, 0, 0,125, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 62, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 64, 63, 10,215, 35, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,232,106,169, 5, 0, 0, 0, 0,131, 1, 0, 0, 1, 0, 0, 0,168,115,169, 5,
- 0, 0, 0, 0, 40, 98,169, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 68, 97,
-114,107,101,110, 0, 48, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 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,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 48, 0, 0, 0, 40, 15,223, 4, 0, 0, 0, 0,125, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 62, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 64, 63, 10,215, 35, 61, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,168, 15,223, 4, 0, 0, 0, 0,131, 1, 0, 0, 1, 0, 0, 0,
+104, 24,223, 4, 0, 0, 0, 0,232, 6,223, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 66, 82, 68, 97,114,107,101,110, 0, 48, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 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, 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, 63, 0, 0, 0, 0,152,113,169, 5, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 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, 63, 0, 0, 0, 0, 88, 22,223, 4, 0, 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, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 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, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7291,50 +7395,49 @@ char datatoc_startup_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, 12, 0, 0, 0, 0, 63, 35, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0,
- 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0,
- 0, 0, 0, 0, 1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0,
- 0, 0, 0, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 56, 1, 0, 0,128,107,169, 5, 0, 0, 0, 0, 25, 0, 0, 0, 1, 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, 12, 0, 0, 0, 0, 63, 35, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0,
+ 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0,
+ 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 56, 1, 0, 0, 64, 16,223, 4, 0, 0, 0, 0, 25, 0, 0, 0, 1, 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, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,152,113,169, 5, 0, 0, 0, 0,127, 1, 0, 0,
- 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0,
- 0, 0,128, 63, 14,215,126,191, 54,189,194, 61, 14,215,126,191, 46,189,194, 61, 40,115,169, 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,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0, 88, 22,223, 4, 0, 0, 0, 0,
+127, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67,
+ 0, 0, 0, 0, 0, 0,128, 63, 14,215,126,191, 54,189,194, 61, 14,215,126,191, 46,189,194, 61,232, 23,223, 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,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0, 40,115,169, 5, 0, 0, 0, 0,125, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62, 31,133,107, 63, 0, 0, 0, 0, 0, 0, 64, 63, 10,215,163, 61, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,168,115,169, 5, 0, 0, 0, 0,131, 1, 0, 0,
- 1, 0, 0, 0,104,124,169, 5, 0, 0, 0, 0,232,106,169, 5, 0, 0, 0, 0, 0, 20, 1,160,255,255,255,255, 0, 0, 0, 0,
- 0, 0, 0, 0, 66, 82, 68,114, 97,119, 0, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 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, 63, 0, 0, 0, 0, 88,122,169, 5, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,232, 23,223, 4, 0, 0, 0, 0,125, 1, 0, 0, 4, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62, 31,133,107, 63, 0, 0, 0, 0, 0, 0, 64, 63, 10,215,163, 61,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,104, 24,223, 4, 0, 0, 0, 0,
+131, 1, 0, 0, 1, 0, 0, 0, 40, 33,223, 4, 0, 0, 0, 0,168, 15,223, 4, 0, 0, 0, 0, 0, 20, 1,160,255,255,255,255,
+ 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 68,114, 97,119, 0, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 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, 63, 0, 0, 0, 0, 24, 31,223, 4, 0, 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, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 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, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0,
+ 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 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, 0, 0, 0, 0, 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,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7366,49 +7469,50 @@ char datatoc_startup_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, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 63, 35, 0, 0, 0, 0, 4, 0, 8,
- 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62,
- 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, 20,174,199, 62, 20,174,199, 62, 20,174,199, 62, 20,174,199, 62,
- 0, 0,128, 63, 68, 65, 84, 65, 56, 1, 0, 0, 64,116,169, 5, 0, 0, 0, 0, 25, 0, 0, 0, 1, 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, 28, 0, 0, 0, 0, 63, 35, 0, 0, 0,
+ 0, 4, 0, 8, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,
+205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, 20,174,199, 62, 20,174,199, 62, 20,174,199, 62,
+ 20,174,199, 62, 0, 0,128, 63, 68, 65, 84, 65, 56, 1, 0, 0, 0, 25,223, 4, 0, 0, 0, 0, 25, 0, 0, 0, 1, 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, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 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, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0,
+ 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0, 88,122,169, 5,
- 0, 0, 0, 0,127, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0,
- 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,114, 97,255,186,232,123,169, 5,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,
+ 24, 31,223, 4, 0, 0, 0, 0,127, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,114, 97,255,186,
+168, 32,223, 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, 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, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,168, 32,223, 4, 0, 0, 0, 0,
+125, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0,
+ 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,
+ 40, 33,223, 4, 0, 0, 0, 0,131, 1, 0, 0, 1, 0, 0, 0,232, 41,223, 4, 0, 0, 0, 0,104, 24,223, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 70,105,108,108, 47, 68,101,101,112,101,110, 0, 48, 48,
+ 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 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, 63, 0, 0, 0, 0,
+216, 39,223, 4, 0, 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,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,232,123,169, 5, 0, 0, 0, 0,125, 1, 0, 0,
- 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,
-143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,104,124,169, 5,
- 0, 0, 0, 0,131, 1, 0, 0, 1, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0,168,115,169, 5, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 70,105,108,108, 47, 68,101,101,112,101,110, 0, 48, 48, 49, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 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, 63, 0, 0, 0, 0, 24,131,169, 5,
- 0, 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, 1, 2, 3, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0,
- 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7441,50 +7545,50 @@ char datatoc_startup_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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 63,
- 35, 0, 0, 0, 4, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,
- 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, 0, 0,128, 63, 20,174,199, 62,
- 0, 0,128, 62, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 56, 1, 0, 0, 0,125,169, 5, 0, 0, 0, 0, 25, 0, 0, 0,
- 1, 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, 2, 0,
+ 0, 0, 0, 63, 35, 0, 0, 0, 4, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, 0, 0,128, 63,
+ 20,174,199, 62, 0, 0,128, 62, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 56, 1, 0, 0,192, 33,223, 4, 0, 0, 0, 0,
+ 25, 0, 0, 0, 1, 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, 1, 2, 3, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0,
- 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65,
- 64, 1, 0, 0, 24,131,169, 5, 0, 0, 0, 0,127, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,
- 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,
-114, 97,255,186,168,132,169, 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,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 68, 65, 84, 65, 64, 1, 0, 0,216, 39,223, 4, 0, 0, 0, 0,127, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,
+224,255,127,191,114, 97,255,186,104, 41,223, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,168,132,169, 5,
- 0, 0, 0, 0,125, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63,
- 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0,
- 96, 6, 0, 0, 40,133,169, 5, 0, 0, 0, 0,131, 1, 0, 0, 1, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0,104,124,169, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 70,108, 97,116,116,101,110, 47, 67,111,
-110,116,114, 97,115,116, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 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, 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, 63,
- 0, 0, 0, 0,216,139,169, 5, 0, 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,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,
+104, 41,223, 4, 0, 0, 0, 0,125, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,
+215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 66, 82, 0, 0, 96, 6, 0, 0,232, 41,223, 4, 0, 0, 0, 0,131, 1, 0, 0, 1, 0, 0, 0,168, 50,223, 4, 0, 0, 0, 0,
+ 40, 33,223, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 70,108, 97,116,116,101,
+110, 47, 67,111,110,116,114, 97,115,116, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 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, 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, 63, 0, 0, 0, 0,152, 48,223, 4, 0, 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, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 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, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7517,49 +7621,49 @@ char datatoc_startup_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, 2, 0, 0, 0, 0, 63, 35, 0, 0, 0, 4, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,
-205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63,
- 0, 0,128, 63, 20,174,199, 62, 0, 0,128, 62, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 56, 1, 0, 0,192,133,169, 5,
- 0, 0, 0, 0, 25, 0, 0, 0, 1, 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, 2, 0, 0, 0, 0, 63, 35, 0, 0, 0, 4, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,
+102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62,
+ 0, 0,128, 63, 0, 0,128, 63, 20,174,199, 62, 0, 0,128, 62, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 56, 1, 0, 0,
+128, 42,223, 4, 0, 0, 0, 0, 25, 0, 0, 0, 1, 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, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,216,139,169, 5, 0, 0, 0, 0,127, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191,
- 46, 95,255,186,224,255,127,191,114, 97,255,186,104,141,169, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,152, 48,223, 4, 0, 0, 0, 0,127, 1, 0, 0, 1, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,
+224,255,127,191, 46, 95,255,186,224,255,127,191,114, 97,255,186, 40, 50,223, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 48, 0, 0, 0,104,141,169, 5, 0, 0, 0, 0,125, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,232,141,169, 5, 0, 0, 0, 0,131, 1, 0, 0, 1, 0, 0, 0,168,150,169, 5,
- 0, 0, 0, 0, 40,133,169, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 71,114,
- 97, 98, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 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,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 48, 0, 0, 0, 40, 50,223, 4, 0, 0, 0, 0,125, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,168, 50,223, 4, 0, 0, 0, 0,131, 1, 0, 0, 1, 0, 0, 0,
+104, 59,223, 4, 0, 0, 0, 0,232, 41,223, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 66, 82, 71,114, 97, 98, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 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, 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, 63, 0, 0, 0, 0,152,148,169, 5, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 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, 63, 0, 0, 0, 0, 88, 57,223, 4, 0, 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, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 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, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7592,50 +7696,49 @@ char datatoc_startup_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, 2, 0, 0, 0, 0, 63, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0,
- 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0,
- 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0,
- 0, 0, 0, 62, 0, 0,128, 62, 0, 0,128, 63, 0, 0,128, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 56, 1, 0, 0,128,142,169, 5, 0, 0, 0, 0, 25, 0, 0, 0, 1, 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, 2, 0, 0, 0, 0, 63, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62,
+ 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0,
+ 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 62, 0, 0,128, 63, 0, 0,128, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 56, 1, 0, 0, 64, 51,223, 4, 0, 0, 0, 0, 25, 0, 0, 0, 1, 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, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,152,148,169, 5, 0, 0, 0, 0,127, 1, 0, 0,
- 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0,
- 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,114, 97,255,186, 40,150,169, 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,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0, 88, 57,223, 4, 0, 0, 0, 0,
+127, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67,
+ 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,114, 97,255,186,232, 58,223, 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,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0, 40,150,169, 5, 0, 0, 0, 0,125, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,168,150,169, 5, 0, 0, 0, 0,131, 1, 0, 0,
- 1, 0, 0, 0,104,159,169, 5, 0, 0, 0, 0,232,141,169, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 66, 82, 73,110,102,108, 97,116,101, 47, 68,101,102,108, 97,116,101, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 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, 63, 0, 0, 0, 0, 88,157,169, 5, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,232, 58,223, 4, 0, 0, 0, 0,125, 1, 0, 0, 4, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,104, 59,223, 4, 0, 0, 0, 0,
+131, 1, 0, 0, 1, 0, 0, 0, 40, 68,223, 4, 0, 0, 0, 0,168, 50,223, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 73,110,102,108, 97,116,101, 47, 68,101,102,108, 97,116,101, 0, 48, 48, 49, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 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, 63, 0, 0, 0, 0, 24, 66,223, 4, 0, 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, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 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, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0,
+ 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 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, 0, 0, 0, 0, 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,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7667,49 +7770,50 @@ char datatoc_startup_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, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 63, 35, 0, 0, 0, 4, 4, 4, 0,
- 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62,
- 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0, 64, 63, 0, 0, 64, 63, 0, 0, 64, 63, 0, 0,128, 62, 0, 0,128, 62,
- 0, 0,128, 62, 68, 65, 84, 65, 56, 1, 0, 0, 64,151,169, 5, 0, 0, 0, 0, 25, 0, 0, 0, 1, 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, 2, 0, 0, 0, 0, 63, 35, 0, 0, 0,
+ 4, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,
+205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0, 64, 63, 0, 0, 64, 63, 0, 0, 64, 63, 0, 0,128, 62,
+ 0, 0,128, 62, 0, 0,128, 62, 68, 65, 84, 65, 56, 1, 0, 0, 0, 60,223, 4, 0, 0, 0, 0, 25, 0, 0, 0, 1, 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, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 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, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0,
+ 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0, 88,157,169, 5,
- 0, 0, 0, 0,127, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0,
- 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,114, 97,255,186,232,158,169, 5,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,
+ 24, 66,223, 4, 0, 0, 0, 0,127, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,114, 97,255,186,
+168, 67,223, 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, 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, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,168, 67,223, 4, 0, 0, 0, 0,
+125, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0,
+ 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,
+ 40, 68,223, 4, 0, 0, 0, 0,131, 1, 0, 0, 1, 0, 0, 0,232, 76,223, 4, 0, 0, 0, 0,104, 59,223, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 76, 97,121,101,114, 0, 48, 48, 49, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,232,158,169, 5, 0, 0, 0, 0,125, 1, 0, 0,
- 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,
-143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,104,159,169, 5,
- 0, 0, 0, 0,131, 1, 0, 0, 1, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0,168,150,169, 5, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 76, 97,121,101,114, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 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, 63, 0, 0, 0, 0, 24,166,169, 5,
- 0, 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, 1, 2, 3, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0,
- 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 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, 0, 0, 1, 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, 63, 0, 0, 0, 0,
+216, 74,223, 4, 0, 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,
+ 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7742,50 +7846,50 @@ char datatoc_startup_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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 63,
- 35, 0, 0, 0, 4, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,
- 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, 20,174,199, 62, 20,174,199, 62,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0, 0,160,169, 5, 0, 0, 0, 0, 25, 0, 0, 0,
- 1, 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, 2, 0,
+ 0, 0, 0, 63, 35, 0, 0, 0, 4, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, 20,174,199, 62,
+ 20,174,199, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0,192, 68,223, 4, 0, 0, 0, 0,
+ 25, 0, 0, 0, 1, 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, 1, 2, 3, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0,
- 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65,
- 64, 1, 0, 0, 24,166,169, 5, 0, 0, 0, 0,127, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,
- 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,
-114, 97,255,186,168,167,169, 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,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 68, 65, 84, 65, 64, 1, 0, 0,216, 74,223, 4, 0, 0, 0, 0,127, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,
+224,255,127,191,114, 97,255,186,104, 76,223, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,168,167,169, 5,
- 0, 0, 0, 0,125, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63,
- 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0,
- 96, 6, 0, 0, 40,168,169, 5, 0, 0, 0, 0,131, 1, 0, 0, 1, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0,104,159,169, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 76,105,103,104,116,101,110, 0, 53, 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,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,
+104, 76,223, 4, 0, 0, 0, 0,125, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,
+215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 66, 82, 0, 0, 96, 6, 0, 0,232, 76,223, 4, 0, 0, 0, 0,131, 1, 0, 0, 1, 0, 0, 0,168, 85,223, 4, 0, 0, 0, 0,
+ 40, 68,223, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 76,105,103,104,116,101,
+110, 0, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 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, 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, 1, 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, 63,
- 0, 0, 0, 0,216,174,169, 5, 0, 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, 63, 0, 0, 0, 0,152, 83,223, 4, 0, 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, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 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, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7818,49 +7922,49 @@ char datatoc_startup_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, 12, 0, 0, 0, 0, 63, 35, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,
-205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 5, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0,192,168,169, 5,
- 0, 0, 0, 0, 25, 0, 0, 0, 1, 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, 12, 0, 0, 0, 0, 63, 35, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,
+102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0,
+128, 77,223, 4, 0, 0, 0, 0, 25, 0, 0, 0, 1, 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, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,216,174,169, 5, 0, 0, 0, 0,127, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63, 14,215,126,191,
- 54,189,194, 61, 14,215,126,191, 46,189,194, 61,104,176,169, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,152, 83,223, 4, 0, 0, 0, 0,127, 1, 0, 0, 1, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,
+ 14,215,126,191, 54,189,194, 61, 14,215,126,191, 46,189,194, 61, 40, 85,223, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 48, 0, 0, 0,104,176,169, 5, 0, 0, 0, 0,125, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 62, 31,133,107, 63, 0, 0, 0, 0, 0, 0, 64, 63, 10,215,163, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,232,176,169, 5, 0, 0, 0, 0,131, 1, 0, 0, 1, 0, 0, 0,168,185,169, 5,
- 0, 0, 0, 0, 40,168,169, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 77,105,
-120, 0,104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 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,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 48, 0, 0, 0, 40, 85,223, 4, 0, 0, 0, 0,125, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 62, 31,133,107, 63, 0, 0, 0, 0, 0, 0, 64, 63, 10,215,163, 61, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,168, 85,223, 4, 0, 0, 0, 0,131, 1, 0, 0, 1, 0, 0, 0,
+104, 94,223, 4, 0, 0, 0, 0,232, 76,223, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 66, 82, 77, 97,115,107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 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, 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, 63, 0, 0, 0, 0,152,183,169, 5, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 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, 63, 0, 0, 0, 0, 88, 92,223, 4, 0, 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, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 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, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,168, 82, 99, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7893,50 +7997,49 @@ char datatoc_startup_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, 12, 0, 0, 0, 0, 63, 35, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0,
- 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 51, 51, 51, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0,
- 0, 0, 0, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 56, 1, 0, 0,128,177,169, 5, 0, 0, 0, 0, 25, 0, 0, 0, 1, 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, 2, 0, 0, 0,128, 63, 35, 0, 0, 0, 4, 4, 4, 0, 0, 0, 0, 0,
+ 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 33, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 20,174,199, 62, 20,174,199, 62, 20,174,199, 62, 20,174,199, 62, 0, 0,128, 63,
+ 68, 65, 84, 65, 56, 1, 0, 0, 64, 86,223, 4, 0, 0, 0, 0, 25, 0, 0, 0, 1, 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, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,152,183,169, 5, 0, 0, 0, 0,127, 1, 0, 0,
- 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0,
- 0, 0,128, 63, 14,215,126,191, 54,189,194, 61, 14,215,126,191, 46,189,194, 61, 40,185,169, 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,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0, 88, 92,223, 4, 0, 0, 0, 0,
+127, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67,
+ 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 44, 95,255,186,224,255,127,191, 23, 97,255,186,232, 93,223, 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,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0, 40,185,169, 5, 0, 0, 0, 0,125, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62, 31,133,107, 63, 0, 0, 0, 0, 0, 0, 64, 63, 10,215,163, 61, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,168,185,169, 5, 0, 0, 0, 0,131, 1, 0, 0,
- 1, 0, 0, 0,104,194,169, 5, 0, 0, 0, 0,232,176,169, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 66, 82, 77,117,108,116,105,112,108,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, 1, 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, 63, 0, 0, 0, 0, 88,192,169, 5, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,232, 93,223, 4, 0, 0, 0, 0,125, 1, 0, 0, 4, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,104, 94,223, 4, 0, 0, 0, 0,
+131, 1, 0, 0, 1, 0, 0, 0, 40,103,223, 4, 0, 0, 0, 0,168, 85,223, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 77,105,120, 0,104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 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, 63, 0, 0, 0, 0, 24,101,223, 4, 0, 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, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 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, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0,
+ 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 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, 0, 0, 0, 0, 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,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7968,49 +8071,50 @@ char datatoc_startup_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, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 63, 35, 0, 0, 0, 4, 4, 0, 0,
- 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
-205,204, 76, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62,
- 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0, 64,186,169, 5, 0, 0, 0, 0, 25, 0, 0, 0, 1, 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, 12, 0, 0, 0, 0, 63, 35, 0, 0, 0,
+ 4, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,
+205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0, 0, 95,223, 4, 0, 0, 0, 0, 25, 0, 0, 0, 1, 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, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 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, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0,
+ 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0, 88,192,169, 5,
- 0, 0, 0, 0,127, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0,
- 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63, 14,215,126,191, 54,189,194, 61, 14,215,126,191, 46,189,194, 61,232,193,169, 5,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,
+ 24,101,223, 4, 0, 0, 0, 0,127, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63, 14,215,126,191, 54,189,194, 61, 14,215,126,191, 46,189,194, 61,
+168,102,223, 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, 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, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,168,102,223, 4, 0, 0, 0, 0,
+125, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62, 31,133,107, 63, 0, 0, 0, 0,
+ 0, 0, 64, 63, 10,215,163, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,
+ 40,103,223, 4, 0, 0, 0, 0,131, 1, 0, 0, 1, 0, 0, 0,232,111,223, 4, 0, 0, 0, 0,104, 94,223, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 77,117,108,116,105,112,108,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,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,232,193,169, 5, 0, 0, 0, 0,125, 1, 0, 0,
- 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62, 31,133,107, 63, 0, 0, 0, 0, 0, 0, 64, 63,
- 10,215,163, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,104,194,169, 5,
- 0, 0, 0, 0,131, 1, 0, 0, 1, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0,168,185,169, 5, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 78,117,100,103,101, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 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, 63, 0, 0, 0, 0, 24,201,169, 5,
- 0, 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, 1, 2, 3, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0,
- 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 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, 0, 0, 1, 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, 63, 0, 0, 0, 0,
+216,109,223, 4, 0, 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,
+ 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8043,50 +8147,50 @@ char datatoc_startup_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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 63,
- 35, 0, 0, 0, 4, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,
- 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 62, 0, 0,128, 63, 0, 0,128, 62,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0, 0,195,169, 5, 0, 0, 0, 0, 25, 0, 0, 0,
- 1, 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, 12, 0,
+ 0, 0, 0, 63, 35, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0,192,103,223, 4, 0, 0, 0, 0,
+ 25, 0, 0, 0, 1, 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, 0, 0, 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, 2, 3, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0,
- 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63,
+ 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65,
- 64, 1, 0, 0, 24,201,169, 5, 0, 0, 0, 0,127, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,
- 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,
-114, 97,255,186,168,202,169, 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,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 68, 65, 84, 65, 64, 1, 0, 0,216,109,223, 4, 0, 0, 0, 0,127, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63, 14,215,126,191, 54,189,194, 61,
+ 14,215,126,191, 46,189,194, 61,104,111,223, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,168,202,169, 5,
- 0, 0, 0, 0,125, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63,
- 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0,
- 96, 6, 0, 0, 40,203,169, 5, 0, 0, 0, 0,131, 1, 0, 0, 1, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0,104,194,169, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 80,105,110, 99,104, 47, 77, 97,103,110,
-105,102,121, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 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, 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, 63,
- 0, 0, 0, 0,216,209,169, 5, 0, 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,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,
+104,111,223, 4, 0, 0, 0, 0,125, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,
+ 31,133,107, 63, 0, 0, 0, 0, 0, 0, 64, 63, 10,215,163, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 66, 82, 0, 0, 96, 6, 0, 0,232,111,223, 4, 0, 0, 0, 0,131, 1, 0, 0, 1, 0, 0, 0,168,120,223, 4, 0, 0, 0, 0,
+ 40,103,223, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 78,117,100,103,101, 0,
+ 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 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, 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, 63, 0, 0, 0, 0,152,118,223, 4, 0, 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, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 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, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8119,49 +8223,49 @@ char datatoc_startup_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, 2, 0, 0, 0, 0, 63, 35, 0, 0, 0, 4, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,
-205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0, 64, 63,
- 0, 0, 64, 63, 0, 0, 64, 63, 0, 0,128, 62, 0, 0,128, 62, 0, 0,128, 62, 68, 65, 84, 65, 56, 1, 0, 0,192,203,169, 5,
- 0, 0, 0, 0, 25, 0, 0, 0, 1, 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, 2, 0, 0, 0, 0, 63, 35, 0, 0, 0, 4, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,
+102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62,
+ 0, 0,128, 62, 0, 0,128, 63, 0, 0,128, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0,
+128,112,223, 4, 0, 0, 0, 0, 25, 0, 0, 0, 1, 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, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,216,209,169, 5, 0, 0, 0, 0,127, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191,
- 46, 95,255,186,224,255,127,191,114, 97,255,186,104,211,169, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,152,118,223, 4, 0, 0, 0, 0,127, 1, 0, 0, 1, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,
+224,255,127,191, 46, 95,255,186,224,255,127,191,114, 97,255,186, 40,120,223, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 48, 0, 0, 0,104,211,169, 5, 0, 0, 0, 0,125, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,232,211,169, 5, 0, 0, 0, 0,131, 1, 0, 0, 1, 0, 0, 0,168,220,169, 5,
- 0, 0, 0, 0, 40,203,169, 5, 0, 0, 0, 0,253, 21,192, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 80,111,
-108,105,115,104, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 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,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 48, 0, 0, 0, 40,120,223, 4, 0, 0, 0, 0,125, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,168,120,223, 4, 0, 0, 0, 0,131, 1, 0, 0, 1, 0, 0, 0,
+104,129,223, 4, 0, 0, 0, 0,232,111,223, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 66, 82, 80,105,110, 99,104, 47, 77, 97,103,110,105,102,121, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 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, 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, 63, 0, 0, 0, 0,152,218,169, 5, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 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, 63, 0, 0, 0, 0, 88,127,223, 4, 0, 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, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 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, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8194,50 +8298,49 @@ char datatoc_startup_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, 2, 0, 0, 0, 0, 63, 35, 0, 0, 0, 4, 4, 4, 1, 0, 0, 0, 0, 10, 0, 0, 0,
- 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 7, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0,
- 0, 0, 0, 62, 0, 0,128, 63, 0, 0,128, 63, 20,174,199, 62, 0, 0,128, 62, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65,
- 56, 1, 0, 0,128,212,169, 5, 0, 0, 0, 0, 25, 0, 0, 0, 1, 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, 2, 0, 0, 0, 0, 63, 35, 0, 0, 0, 4, 4, 4, 0, 0, 0, 0, 0,
+ 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0,
+ 33, 0, 0, 0, 0, 0, 0, 62, 0, 0, 64, 63, 0, 0, 64, 63, 0, 0, 64, 63, 0, 0,128, 62, 0, 0,128, 62, 0, 0,128, 62,
+ 68, 65, 84, 65, 56, 1, 0, 0, 64,121,223, 4, 0, 0, 0, 0, 25, 0, 0, 0, 1, 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, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,152,218,169, 5, 0, 0, 0, 0,127, 1, 0, 0,
- 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0,
- 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,114, 97,255,186, 40,220,169, 5, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0, 88,127,223, 4, 0, 0, 0, 0,
+127, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67,
+ 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,114, 97,255,186,232,128,223, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0, 40,220,169, 5, 0, 0, 0, 0,125, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,168,220,169, 5, 0, 0, 0, 0,131, 1, 0, 0,
- 1, 0, 0, 0,104,229,169, 5, 0, 0, 0, 0,232,211,169, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 66, 82, 83, 99,114, 97,112,101, 47, 80,101, 97,107,115, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,232,128,223, 4, 0, 0, 0, 0,125, 1, 0, 0, 4, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,104,129,223, 4, 0, 0, 0, 0,
+131, 1, 0, 0, 1, 0, 0, 0, 40,138,223, 4, 0, 0, 0, 0,168,120,223, 4, 0, 0, 0, 0,253, 21,192, 32, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 80,111,108,105,115,104, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 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, 63, 0, 0, 0, 0, 88,227,169, 5, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 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, 63, 0, 0, 0, 0, 24,136,223, 4, 0, 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, 0, 0, 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, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 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, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0,
+ 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 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, 0, 0, 0, 0, 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,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8269,49 +8372,51 @@ char datatoc_startup_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, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 63, 35, 0, 0, 0, 4, 4, 4, 0,
- 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62,
- 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, 0, 0,128, 63, 20,174,199, 62, 0, 0,128, 62, 0, 0,128, 63,
- 0, 0,128, 63, 68, 65, 84, 65, 56, 1, 0, 0, 64,221,169, 5, 0, 0, 0, 0, 25, 0, 0, 0, 1, 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, 2, 0, 0, 0, 0, 63, 35, 0, 0, 0,
+ 4, 4, 4, 1, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 63,
+205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, 0, 0,128, 63, 20,174,199, 62, 0, 0,128, 62,
+ 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 56, 1, 0, 0, 0,130,223, 4, 0, 0, 0, 0, 25, 0, 0, 0, 1, 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, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 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, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0,
+ 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0, 88,227,169, 5,
- 0, 0, 0, 0,127, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0,
- 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,114, 97,255,186,232,228,169, 5,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,
+ 24,136,223, 4, 0, 0, 0, 0,127, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,114, 97,255,186,
+168,137,223, 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, 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, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,168,137,223, 4, 0, 0, 0, 0,
+125, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0,
+ 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,
+ 40,138,223, 4, 0, 0, 0, 0,131, 1, 0, 0, 1, 0, 0, 0,232,146,223, 4, 0, 0, 0, 0,104,129,223, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 83, 99,114, 97,112,101, 47, 80,101, 97,107,115, 0, 48,
+ 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 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, 63, 0, 0, 0, 0,
+216,144,223, 4, 0, 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,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,232,228,169, 5, 0, 0, 0, 0,125, 1, 0, 0,
- 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,
-143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,104,229,169, 5,
- 0, 0, 0, 0,131, 1, 0, 0, 1, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0,168,220,169, 5, 0, 0, 0, 0,168,205,210, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 83, 99,117,108,112,116, 68,114, 97,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, 2, 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, 63, 0, 0, 0, 0, 24,236,169, 5,
- 0, 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, 1, 2, 3, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0,
- 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8343,51 +8448,50 @@ char datatoc_startup_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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0,
+ 0, 0, 0, 63, 35, 0, 0, 0, 4, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, 0, 0,128, 63,
+ 20,174,199, 62, 0, 0,128, 62, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 56, 1, 0, 0,192,138,223, 4, 0, 0, 0, 0,
+ 25, 0, 0, 0, 1, 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, 2, 0, 0, 0, 0, 63,
- 35, 0, 0, 0, 4, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,
- 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0,160,119, 78, 63, 0, 0,128, 63, 20,174,199, 62, 20,174,199, 62,
- 20,174,199, 62, 20,174,199, 62, 0, 0,128, 63, 68, 65, 84, 65, 56, 1, 0, 0, 0,230,169, 5, 0, 0, 0, 0, 25, 0, 0, 0,
- 1, 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, 1, 2, 3, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0,
- 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63,
+ 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65,
- 64, 1, 0, 0, 24,236,169, 5, 0, 0, 0, 0,127, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,
- 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,
-114, 97,255,186,168,237,169, 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,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 68, 65, 84, 65, 64, 1, 0, 0,216,144,223, 4, 0, 0, 0, 0,127, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,
+224,255,127,191,114, 97,255,186,104,146,223, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,168,237,169, 5,
- 0, 0, 0, 0,125, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63,
- 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0,
- 96, 6, 0, 0, 40,238,169, 5, 0, 0, 0, 0,131, 1, 0, 0, 1, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0,104,229,169, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 83,109,101, 97,114, 0, 48, 48, 49, 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,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,
+104,146,223, 4, 0, 0, 0, 0,125, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,
+215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 66, 82, 0, 0, 96, 6, 0, 0,232,146,223, 4, 0, 0, 0, 0,131, 1, 0, 0, 1, 0, 0, 0,168,155,223, 4, 0, 0, 0, 0,
+ 40,138,223, 4, 0, 0, 0, 0,168,205,210, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 83, 99,117,108,112,116,
+ 68,114, 97,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, 2, 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, 1, 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, 63,
- 0, 0, 0, 0,216,244,169, 5, 0, 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, 63, 0, 0, 0, 0,152,153,223, 4, 0, 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, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 8, 92,154,177, 30,127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8420,49 +8524,49 @@ char datatoc_startup_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, 16, 0, 0, 0, 0, 63, 35, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,
-205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0,
- 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0,192,238,169, 5,
- 0, 0, 0, 0, 25, 0, 0, 0, 1, 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, 2, 0, 0, 0, 0, 63, 35, 0, 0, 0, 4, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,
+102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0,160,119, 78, 63,
+ 0, 0,128, 63, 20,174,199, 62, 20,174,199, 62, 20,174,199, 62, 20,174,199, 62, 0, 0,128, 63, 68, 65, 84, 65, 56, 1, 0, 0,
+128,147,223, 4, 0, 0, 0, 0, 25, 0, 0, 0, 1, 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, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,216,244,169, 5, 0, 0, 0, 0,127, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63, 14,215,126,191,
- 54,189,194, 61, 14,215,126,191, 46,189,194, 61,104,246,169, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,152,153,223, 4, 0, 0, 0, 0,127, 1, 0, 0, 1, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,
+224,255,127,191, 46, 95,255,186,224,255,127,191,114, 97,255,186, 40,155,223, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 48, 0, 0, 0,104,246,169, 5, 0, 0, 0, 0,125, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 62, 31,133,107, 63, 0, 0, 0, 0, 0, 0, 64, 63, 10,215,163, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,232,246,169, 5, 0, 0, 0, 0,131, 1, 0, 0, 1, 0, 0, 0,168,255,169, 5,
- 0, 0, 0, 0, 40,238,169, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 83,109,
-111,111,116,104, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 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,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 48, 0, 0, 0, 40,155,223, 4, 0, 0, 0, 0,125, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,168,155,223, 4, 0, 0, 0, 0,131, 1, 0, 0, 1, 0, 0, 0,
+104,164,223, 4, 0, 0, 0, 0,232,146,223, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 66, 82, 83,109,101, 97,114, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 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, 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, 63, 0, 0, 0, 0,152,253,169, 5, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 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, 63, 0, 0, 0, 0, 88,162,223, 4, 0, 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, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 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, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8495,50 +8599,49 @@ char datatoc_startup_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, 2, 0, 0, 0, 0, 63, 35, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0,
- 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0,
- 0, 0, 0, 62, 0, 0, 64, 63, 0, 0, 64, 63, 0, 0, 64, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 56, 1, 0, 0,128,247,169, 5, 0, 0, 0, 0, 25, 0, 0, 0, 1, 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, 16, 0, 0, 0, 0, 63, 35, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0,
+ 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0,
+ 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 56, 1, 0, 0, 64,156,223, 4, 0, 0, 0, 0, 25, 0, 0, 0, 1, 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, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,152,253,169, 5, 0, 0, 0, 0,127, 1, 0, 0,
- 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0,
- 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,114, 97,255,186, 40,255,169, 5, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0, 88,162,223, 4, 0, 0, 0, 0,
+127, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67,
+ 0, 0, 0, 0, 0, 0,128, 63, 14,215,126,191, 54,189,194, 61, 14,215,126,191, 46,189,194, 61,232,163,223, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0, 40,255,169, 5, 0, 0, 0, 0,125, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,168,255,169, 5, 0, 0, 0, 0,131, 1, 0, 0,
- 1, 0, 0, 0,104, 8,170, 5, 0, 0, 0, 0,232,246,169, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 66, 82, 83,110, 97,107,101, 32, 72,111,111,107, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,232,163,223, 4, 0, 0, 0, 0,125, 1, 0, 0, 4, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62, 31,133,107, 63, 0, 0, 0, 0, 0, 0, 64, 63, 10,215,163, 61,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,104,164,223, 4, 0, 0, 0, 0,
+131, 1, 0, 0, 1, 0, 0, 0, 40,173,223, 4, 0, 0, 0, 0,168,155,223, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 83,109,111,111,116,104, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 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, 63, 0, 0, 0, 0, 88, 6,170, 5, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 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, 63, 0, 0, 0, 0, 24,171,223, 4, 0, 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, 0, 0, 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, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 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, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0,
+ 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 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, 0, 0, 0, 0, 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,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8570,49 +8673,50 @@ char datatoc_startup_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, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 63, 75, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62,
- 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 62, 0, 0,128, 63, 0, 0,128, 62, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0, 64, 0,170, 5, 0, 0, 0, 0, 25, 0, 0, 0, 1, 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, 2, 0, 0, 0, 0, 63, 35, 0, 0, 0,
+ 4, 4, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,
+205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0, 64, 63, 0, 0, 64, 63, 0, 0, 64, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0, 0,165,223, 4, 0, 0, 0, 0, 25, 0, 0, 0, 1, 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, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 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, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0,
+ 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0, 88, 6,170, 5,
- 0, 0, 0, 0,127, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0,
- 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,114, 97,255,186,232, 7,170, 5,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,
+ 24,171,223, 4, 0, 0, 0, 0,127, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,114, 97,255,186,
+168,172,223, 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, 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, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,168,172,223, 4, 0, 0, 0, 0,
+125, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0,
+ 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,
+ 40,173,223, 4, 0, 0, 0, 0,131, 1, 0, 0, 1, 0, 0, 0,232,181,223, 4, 0, 0, 0, 0,104,164,223, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 83,110, 97,107,101, 32, 72,111,111,107, 0, 48, 48, 49,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,232, 7,170, 5, 0, 0, 0, 0,125, 1, 0, 0,
- 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,
-143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,104, 8,170, 5,
- 0, 0, 0, 0,131, 1, 0, 0, 1, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0,168,255,169, 5, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 83,111,102,116,101,110, 0, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 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, 63, 0, 0, 0, 0, 24, 15,170, 5,
- 0, 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, 1, 2, 3, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0,
- 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 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, 0, 0, 1, 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, 63, 0, 0, 0, 0,
+216,179,223, 4, 0, 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,
+ 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8645,50 +8749,50 @@ char datatoc_startup_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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 63,
- 35, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 63,
- 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0, 0, 9,170, 5, 0, 0, 0, 0, 25, 0, 0, 0,
- 1, 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, 2, 0,
+ 0, 0, 0, 63, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 62, 0, 0,128, 63,
+ 0, 0,128, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0,192,173,223, 4, 0, 0, 0, 0,
+ 25, 0, 0, 0, 1, 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, 1, 2, 3, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0,
- 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65,
- 64, 1, 0, 0, 24, 15,170, 5, 0, 0, 0, 0,127, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63, 14,215,126,191, 54,189,194, 61, 14,215,126,191,
- 46,189,194, 61,168, 16,170, 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,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 68, 65, 84, 65, 64, 1, 0, 0,216,179,223, 4, 0, 0, 0, 0,127, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,
+224,255,127,191,114, 97,255,186,104,181,223, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,168, 16,170, 5,
- 0, 0, 0, 0,125, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62, 31,133,107, 63,
- 0, 0, 0, 0, 0, 0, 64, 63, 10,215,163, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0,
- 96, 6, 0, 0, 40, 17,170, 5, 0, 0, 0, 0,131, 1, 0, 0, 1, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0,104, 8,170, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 83,117, 98,116,114, 97, 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,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,
+104,181,223, 4, 0, 0, 0, 0,125, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,
+215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 66, 82, 0, 0, 96, 6, 0, 0,232,181,223, 4, 0, 0, 0, 0,131, 1, 0, 0, 1, 0, 0, 0,168,190,223, 4, 0, 0, 0, 0,
+ 40,173,223, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 83,111,102,116,101,110,
+ 0, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 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, 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, 1, 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, 63,
- 0, 0, 0, 0,216, 23,170, 5, 0, 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, 63, 0, 0, 0, 0,152,188,223, 4, 0, 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, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 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, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8721,49 +8825,49 @@ char datatoc_startup_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, 12, 0, 0, 0, 0, 63, 35, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,
-205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0,192, 17,170, 5,
- 0, 0, 0, 0, 25, 0, 0, 0, 1, 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, 16, 0, 0, 0, 0, 63, 35, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,
+102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0,
+128,182,223, 4, 0, 0, 0, 0, 25, 0, 0, 0, 1, 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, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,216, 23,170, 5, 0, 0, 0, 0,127, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63, 14,215,126,191,
- 54,189,194, 61, 14,215,126,191, 46,189,194, 61,104, 25,170, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,152,188,223, 4, 0, 0, 0, 0,127, 1, 0, 0, 1, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,
+ 14,215,126,191, 54,189,194, 61, 14,215,126,191, 46,189,194, 61, 40,190,223, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 48, 0, 0, 0,104, 25,170, 5, 0, 0, 0, 0,125, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 62, 31,133,107, 63, 0, 0, 0, 0, 0, 0, 64, 63, 10,215,163, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,232, 25,170, 5, 0, 0, 0, 0,131, 1, 0, 0, 1, 0, 0, 0,168, 34,170, 5,
- 0, 0, 0, 0, 40, 17,170, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 84,101,
-120, 68,114, 97,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,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 48, 0, 0, 0, 40,190,223, 4, 0, 0, 0, 0,125, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 62, 31,133,107, 63, 0, 0, 0, 0, 0, 0, 64, 63, 10,215,163, 61, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,168,190,223, 4, 0, 0, 0, 0,131, 1, 0, 0, 1, 0, 0, 0,
+104,199,223, 4, 0, 0, 0, 0,232,181,223, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 66, 82, 83,117, 98,116,114, 97, 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,
- 2, 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, 63, 0, 0, 0, 0,152, 32,170, 5, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 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, 63, 0, 0, 0, 0, 88,197,223, 4, 0, 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, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 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, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8796,50 +8900,49 @@ char datatoc_startup_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, 16, 0, 0, 0, 0, 63, 35, 0, 0, 0, 4, 4, 0, 8, 0, 0, 0, 0, 10, 0, 0, 0,
- 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 51, 51, 51, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0,
- 0, 0, 0, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 20,174,199, 62, 20,174,199, 62, 0, 0,128, 63, 68, 65, 84, 65,
- 56, 1, 0, 0,128, 26,170, 5, 0, 0, 0, 0, 25, 0, 0, 0, 1, 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, 12, 0, 0, 0, 0, 63, 35, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0,
+ 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0,
+ 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 56, 1, 0, 0, 64,191,223, 4, 0, 0, 0, 0, 25, 0, 0, 0, 1, 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, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,152, 32,170, 5, 0, 0, 0, 0,127, 1, 0, 0,
- 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0,
- 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,114, 97,255,186, 40, 34,170, 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,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0, 88,197,223, 4, 0, 0, 0, 0,
+127, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67,
+ 0, 0, 0, 0, 0, 0,128, 63, 14,215,126,191, 54,189,194, 61, 14,215,126,191, 46,189,194, 61,232,198,223, 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,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0, 40, 34,170, 5, 0, 0, 0, 0,125, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,168, 34,170, 5, 0, 0, 0, 0,131, 1, 0, 0,
- 1, 0, 0, 0,104, 43,170, 5, 0, 0, 0, 0,232, 25,170, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 66, 82, 84,104,117,109, 98, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 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, 63, 0, 0, 0, 0, 88, 41,170, 5, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,232,198,223, 4, 0, 0, 0, 0,125, 1, 0, 0, 4, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62, 31,133,107, 63, 0, 0, 0, 0, 0, 0, 64, 63, 10,215,163, 61,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,104,199,223, 4, 0, 0, 0, 0,
+131, 1, 0, 0, 1, 0, 0, 0, 40,208,223, 4, 0, 0, 0, 0,168,190,223, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 84,101,120, 68,114, 97,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, 2, 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, 63, 0, 0, 0, 0, 24,206,223, 4, 0, 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, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 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, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0,
+ 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 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, 0, 0, 0, 0, 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,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8871,49 +8974,51 @@ char datatoc_startup_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, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 63, 75, 0, 0, 0, 4, 0, 0, 0,
- 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62,
- 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 62, 0, 0,128, 63, 0, 0,128, 62, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0, 64, 35,170, 5, 0, 0, 0, 0, 25, 0, 0, 0, 1, 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, 16, 0, 0, 0, 0, 63, 35, 0, 0, 0,
+ 4, 4, 0, 8, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,
+205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 20,174,199, 62,
+ 20,174,199, 62, 0, 0,128, 63, 68, 65, 84, 65, 56, 1, 0, 0, 0,200,223, 4, 0, 0, 0, 0, 25, 0, 0, 0, 1, 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, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 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, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0,
+ 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0, 88, 41,170, 5,
- 0, 0, 0, 0,127, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0,
- 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,114, 97,255,186,232, 42,170, 5,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,
+ 24,206,223, 4, 0, 0, 0, 0,127, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,114, 97,255,186,
+168,207,223, 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, 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, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,168,207,223, 4, 0, 0, 0, 0,
+125, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0,
+ 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,
+ 40,208,223, 4, 0, 0, 0, 0,131, 1, 0, 0, 1, 0, 0, 0,232,216,223, 4, 0, 0, 0, 0,104,199,223, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 84,104,117,109, 98, 0, 48, 48, 49, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,232, 42,170, 5, 0, 0, 0, 0,125, 1, 0, 0,
- 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,
-143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 96, 6, 0, 0,104, 43,170, 5,
- 0, 0, 0, 0,131, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168, 34,170, 5, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 84,119,105,115,116, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 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, 63, 0, 0, 0, 0, 24, 50,170, 5,
- 0, 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, 1, 2, 3, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0,
- 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 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, 0, 0, 1, 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, 63, 0, 0, 0, 0,
+216,214,223, 4, 0, 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,
+ 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8945,62 +9050,55 @@ char datatoc_startup_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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0,
+ 0, 0, 0, 63, 75, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 62, 0, 0,128, 63,
+ 0, 0,128, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0,192,208,223, 4, 0, 0, 0, 0,
+ 25, 0, 0, 0, 1, 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, 2, 0, 0, 0, 0, 63,
- 75, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,
- 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 62, 0, 0,128, 63, 0, 0,128, 62,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0, 0, 44,170, 5, 0, 0, 0, 0, 25, 0, 0, 0,
- 1, 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, 1, 2, 3, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0,
- 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63,
+ 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65,
- 64, 1, 0, 0, 24, 50,170, 5, 0, 0, 0, 0,127, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,
- 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,
-114, 97,255,186,168, 51,170, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,168, 51,170, 5,
- 0, 0, 0, 0,125, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63,
- 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 85, 83, 69, 82,
-112, 38, 0, 0,192,113, 10, 4, 0, 0, 0, 0,210, 0, 0, 0, 1, 0, 0, 0, 1, 8, 17, 1, 63, 6, 0, 0, 5, 0, 0, 0,
- 47,116,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, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 68, 65, 84, 65, 64, 1, 0, 0,216,214,223, 4, 0, 0, 0, 0,127, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,
+224,255,127,191,114, 97,255,186,104,216,223, 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, 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, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,
+104,216,223, 4, 0, 0, 0, 0,125, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,
+215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 66, 82, 0, 0, 96, 6, 0, 0,232,216,223, 4, 0, 0, 0, 0,131, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 40,208,223, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 84,119,105,115,116, 0,
+ 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 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, 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, 63, 0, 0, 0, 0,152,223,223, 4, 0, 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, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 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, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 47, 47, 0, 85,115,101,114,115, 47,116,111,110, 47, 68,101,115,107,116,111,112, 47, 0, 45,112,111,119,101,114,112, 99, 47, 98,
-105,110, 47, 98,108,101,110,100,101,114, 46, 97,112,112, 47, 67,111,110,116,101,110,116,115, 47, 82,101,115,111,117,114, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -9023,19 +9121,41 @@ char datatoc_startup_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,
- 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 63, 75, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,
+102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62,
+ 0, 0,128, 62, 0, 0,128, 63, 0, 0,128, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0,
+128,217,223, 4, 0, 0, 0, 0, 25, 0, 0, 0, 1, 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, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,152,223,223, 4, 0, 0, 0, 0,127, 1, 0, 0, 1, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,
+224,255,127,191, 46, 95,255,186,224,255,127,191,114, 97,255,186, 40,225,223, 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, 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, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 48, 0, 0, 0, 40,225,223, 4, 0, 0, 0, 0,125, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 85, 83, 69, 82,112, 32, 0, 0, 96, 25, 56, 3, 0, 0, 0, 0,211, 0, 0, 0, 1, 0, 0, 0,
+ 1, 8, 17, 1, 63, 6, 0, 0, 5, 0, 0, 0, 47,116,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, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -9055,10 +9175,12 @@ char datatoc_startup_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,
- 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 47, 0, 85,115,101,114,115, 47,116,111,110, 47, 68,101,115,107,116,111,112,
+ 47, 0, 45,112,111,119,101,114,112, 99, 47, 98,105,110, 47, 98,108,101,110,100,101,114, 46, 97,112,112, 47, 67,111,110,116,101,
+110,116,115, 47, 82,101,115,111,117,114, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -9080,6 +9202,7 @@ char datatoc_startup_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, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -9111,6 +9234,7 @@ char datatoc_startup_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, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -9151,7 +9275,6 @@ char datatoc_startup_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,
- 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -9159,6 +9282,7 @@ char datatoc_startup_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, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -9239,2500 +9363,2509 @@ char datatoc_startup_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,
- 1, 0, 0, 0, 35, 0, 0, 0, 2, 0, 94, 1, 8, 0, 0, 0, 3, 0, 0, 0, 56, 52, 39, 0, 0, 0, 0, 0, 1, 0, 2, 0,
- 0, 8, 0, 0, 2, 0, 0, 0, 68,172, 0, 0, 36, 0, 0, 0, 2, 0, 0, 0, 0, 1, 0, 0, 72, 0, 0, 0, 0, 0, 64, 0,
- 5, 0, 2, 0,232, 90,170, 5, 0, 0, 0, 0,232, 90,170, 5, 0, 0, 0, 0, 8, 79,133, 5, 0, 0, 0, 0, 8, 79,133, 5,
- 0, 0, 0, 0,216,132,170, 5, 0, 0, 0, 0,216,132,170, 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,152, 44,169, 5, 0, 0, 0, 0, 56,132,170, 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, 32, 0, 0, 0, 1, 0, 2, 0, 25, 0, 0, 0, 20, 0, 20, 0, 1, 0, 0, 0, 0, 0, 0, 0,205,204, 76, 63,
-205,204, 76, 63,205,204, 76, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 30, 90,100,191,
-154,153,153, 62,102,102,102, 63, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 31,250,254, 62, 9, 0, 0, 63,156,153, 25, 63,
- 0, 0, 0, 0,205,204, 76, 62,205,204, 76, 62,205,204, 76, 62, 0, 0,128, 63, 44,135, 22, 63, 32,133,235, 62,184,243,125, 62,
- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,195, 73, 76, 63, 42,135, 86, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 43,135, 61,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 16, 47, 93, 62, 58,180,200,190, 24, 47, 93,190, 0, 0, 0, 0, 14, 0, 1, 0,
- 25, 0, 15, 0,120, 0, 60, 0, 3, 0, 5, 0,128, 0, 0, 0, 0, 0, 0, 0,144, 31, 15, 0, 6, 0, 25, 0, 8, 0, 10, 0,
-200, 0, 0, 0, 0, 0, 0, 0, 2, 0, 4, 0, 10, 0, 50, 0, 20, 0, 2, 0, 1, 0, 0, 0, 0, 0,128, 63, 60, 0, 0, 0,
- 0, 0, 2, 0, 2, 0, 8, 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,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 63,
- 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,
- 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63,
- 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63,
- 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,
- 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63,
- 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63,
- 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,
- 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63,
- 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63,
- 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,
- 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63,
- 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63,
- 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,
- 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63,
- 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63,
- 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,
- 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63,
- 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63,
- 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,
- 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63,
- 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63,
- 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,
- 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 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, 62,
- 0, 0, 0, 0, 68, 65, 84, 65,168, 36, 0, 0,232, 90,170, 5, 0, 0, 0, 0,207, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68,101,102, 97,117,108,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, 25, 25, 25,255,153,153,153,255,100,100,100,255, 25, 25, 25,255, 0, 0, 0,255,
-255,255,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 25, 25, 25,255,153,153,153,255,100,100,100,255, 25, 25, 25,255, 0, 0, 0,255,
-255,255,255,255, 1, 0, 15, 0,241,255, 0, 0, 25, 25, 25,255,153,153,153,255,153,153,153,255, 90, 90, 90,255, 0, 0, 0,255,
-255,255,255,255, 1, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0,255, 70, 70, 70,255, 86,128,194,255,255,255,255,255,255,255,255,255,
- 0, 0, 0,255, 1, 0, 15, 0,241,255, 0, 0, 0, 0, 0,255, 70, 70, 70,255, 70, 70, 70,255,255,255,255,255, 0, 0, 0,255,
-255,255,255,255, 1, 0, 15, 0,241,255, 0, 0, 25, 25, 25,255,153,153,153,255,100,100,100,255, 25, 25, 25,255, 0, 0, 0,255,
-255,255,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 25, 25, 25,255,180,180,180,255,153,153,153,255, 90, 90, 90,255, 0, 0, 0,255,
-255,255,255,255, 1, 0,236,255, 0, 0, 0, 0, 25, 25, 25,255,180,180,180,255,153,153,153,255,128,128,128,255, 0, 0, 0,255,
-255,255,255,255, 1, 0,236,255, 0, 0, 0, 0, 0, 0, 0,255, 70, 70, 70,255, 70, 70, 70,255,255,255,255,255,255,255,255,255,
-204,204,204,255, 1, 0, 15, 0,241,255, 0, 0, 0, 0, 0,255, 63, 63, 63,255, 86,128,194,255,255,255,255,255, 0, 0, 0,255,
- 0, 0, 0,255, 0, 0, 25, 0,236,255, 0, 0, 0, 0, 0,255, 25, 25, 25,230, 45, 45, 45,230,100,100,100,255,160,160,160,255,
-255,255,255,255, 0, 0, 25, 0,236,255, 0, 0, 0, 0, 0,255, 0, 0, 0, 0, 86,128,194,255,172,172,172,128,255,255,255,255,
- 0, 0, 0,255, 1, 0, 38, 0, 0, 0, 0, 0, 0, 0, 0,255, 25, 25, 25,230, 45, 45, 45,230,100,100,100,255,255,255,255,255,
-255,255,255,255, 0, 0, 25, 0,236,255, 0, 0, 25, 25, 25,255,128,128,128,255,100,100,100,255, 25, 25, 25,255, 0, 0, 0,255,
-255,255,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 50, 50, 50,180, 80, 80, 80,180,100,100,100,180,128,128,128,255, 0, 0, 0,255,
-255,255,255,255, 1, 0, 5, 0,251,255, 0, 0, 0, 0, 0,255,190,190,190,255,100,100,100,180, 68, 68, 68,255, 0, 0, 0,255,
-255,255,255,255, 0, 0, 5, 0,251,255, 0, 0, 0, 0, 0,255, 0, 0, 0, 0, 86,128,194,255, 0, 0, 0,255, 0, 0, 0,255,
- 0, 0, 0,255, 0, 0, 0, 0, 0, 0, 0, 0,115,190, 76,255, 90,166, 51,255,240,235,100,255,215,211, 75,255,180, 0,255,255,
-153, 0,230,255, 0, 0, 0, 63, 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, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 35, 0, 0, 0, 2, 0, 94, 1, 8, 0, 0, 0, 3, 0, 0, 0,
+ 56, 52, 39, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 8, 0, 0, 2, 0, 0, 0, 68,172, 0, 0, 36, 0, 0, 0, 2, 0, 0, 0,
+ 0, 1, 0, 0, 72, 0, 0, 0, 0, 0, 64, 0, 5, 0, 2, 0,104, 2,224, 4, 0, 0, 0, 0,104, 2,224, 4, 0, 0, 0, 0,
+104, 51,191, 4, 0, 0, 0, 0,104, 51,191, 4, 0, 0, 0, 0,232, 44,224, 4, 0, 0, 0, 0,232, 44,224, 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,
+216,206,222, 4, 0, 0, 0, 0, 72, 44,224, 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, 32, 0, 0, 0, 1, 0, 2, 0, 25, 0, 0, 0, 20, 0, 20, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0,205,204, 76, 63,205,204, 76, 63,205,204, 76, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,
+ 0, 0, 0, 63, 0, 0,128, 63, 30, 90,100,191,154,153,153, 62,102,102,102, 63, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 31,250,254, 62, 9, 0, 0, 63,156,153, 25, 63, 0, 0, 0, 0,205,204, 76, 62,205,204, 76, 62,205,204, 76, 62, 0, 0,128, 63,
+ 44,135, 22, 63, 32,133,235, 62,184,243,125, 62, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,195, 73, 76, 63, 42,135, 86, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 1, 43,135, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 16, 47, 93, 62, 58,180,200,190,
+ 24, 47, 93,190, 0, 0, 0, 0, 14, 0, 1, 0, 25, 0, 15, 0,120, 0, 60, 0, 3, 0, 5, 0,128, 0, 0, 0, 0, 0, 0, 0,
+144, 31, 15, 0, 6, 0, 25, 0, 8, 0, 10, 0,200, 0, 0, 0, 0, 0, 0, 0, 2, 0, 4, 0, 10, 0, 50, 0, 20, 0, 2, 0,
+ 1, 0, 0, 0, 0, 0,128, 63, 60, 0, 0, 0, 0, 0, 2, 0, 2, 0, 8, 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,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0,
+ 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,
+ 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63,
+ 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0,
+ 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,
+ 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63,
+ 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0,
+ 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,
+ 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63,
+ 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0,
+ 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,
+ 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63,
+ 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0,
+ 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,
+ 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63,
+ 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0,
+ 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,
+ 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63,
+ 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0,
+ 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,
+ 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63,
+ 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0,
+ 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 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, 0, 0, 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,114,114,114,255,
- 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255,
- 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,130,130,130,255,
- 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255,
-241, 88, 0,255, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,140, 25,255,
- 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,
-255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0,
- 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,
-144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0, 0, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255,
- 0, 0, 0, 0, 0, 0, 0, 0, 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, 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,255,255,255,128,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 57, 57,255,
- 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255,
- 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127,
- 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255,
-241, 88, 0,255, 0, 0, 0, 40, 0, 0, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,170, 64,255,
- 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,
- 32,255,255,255, 75, 75, 75,255,204, 0,153,255, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 32, 0, 0,255, 0, 32, 0,255,
- 0, 0,128,255, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0,
- 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255,255,255,255,255, 0, 0, 0,255,
-144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0, 0, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255,
- 0, 0, 0, 0, 0, 0, 0, 0, 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, 1, 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,255,255,255,128,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,200,200,200,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 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, 76, 76,255,
- 0, 0, 0, 0,250,250,250,255, 15, 15, 15,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255,
- 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,102,102,102,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,145,145,145,255,
- 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100,255,140, 25,255,250,250,250,255, 0, 0, 0,255,
-241, 88, 0,255, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,130,130,130,255,
- 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,
-255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0,
- 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,
-144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0, 0, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255,
- 0, 0, 0, 0, 0, 0, 0, 0, 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, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,250,250,250,255, 0, 0, 0, 0,
-250,250,250,255,250,250,250,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,107,107,107,255,
- 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255,
- 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,102,102,102,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,255,255,255,150,
- 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,150,150,150,100,112,112,112,100, 96,192, 64,255, 94, 94, 94,255, 0, 0, 0,255,
-241, 88, 0,255, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,140, 25,255,
- 79,101, 73,255,135,177,125,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,
-255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0,
- 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,
-144,144, 0,255, 64,144, 48,255,128, 48, 96,255,153, 64, 48,255, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255,
-240,175,144,255, 82, 96,110,255,124,137,150,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 3, 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,255,255,255,128,
- 0, 0, 0,255,255,133, 0,255, 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,114,114,114,255,
- 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255,
- 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127,
- 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255,
-241, 88, 0,255, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,140, 25,255,
- 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,
-255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0,
- 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,
-144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0, 0, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255,
- 0, 0, 0, 0, 0, 0, 0, 0, 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, 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,255,255,255,128,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,107,107,107,255,
- 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255,
- 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,102,102,102,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,255,255,255,150,
- 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,150,150,150,100,112,112,112,100, 96,192, 64,255, 94, 94, 94,255, 0, 0, 0,255,
-241, 88, 0,255, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,140, 25,255,
- 79,101, 73,255,135,177,125,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,
-255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 12, 10, 10,128,255,140, 0,255,
- 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,
-144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0, 0, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255,
- 0, 0, 0, 0, 82, 96,110,255,124,137,150,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 3, 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,255,255,255,128,
- 0, 0, 0,255,255,133, 0,255, 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,107,107,107,255,
- 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255,
- 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,102,102,102,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,255,255,255,150,
- 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,150,150,150,100,112,112,112,100, 96,192, 64,255, 94, 94, 94,255, 0, 0, 0,255,
-241, 88, 0,255, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,140, 25,255,
- 79,101, 73,255,135,177,125,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,
-255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 12, 10, 10,128,255,140, 0,255,
- 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,
-144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0, 0, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255,
- 0, 0, 0, 0, 82, 96,110,255,124,137,150,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 3, 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,255,255,255,128,
- 0, 0, 0,255,255,133, 0,255, 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,116,116,116,255,
- 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255,
- 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127,
- 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255,
-241, 88, 0,255, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,140, 25,255,
- 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,
-255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0,
- 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,
-144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0, 0, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255,
- 0, 0, 0, 0, 0, 0, 0, 0, 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, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 81,105,135,255, 32, 32,143,255,
-109, 88,129,255, 78,152, 62,255, 46,143,143,255,169, 84,124,255,126,126, 80,255,162, 95,111,255,109,145,131,255,255,255,255,128,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 53, 53,255,
- 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255,
- 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127,
- 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255,
-241, 88, 0,255, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,140, 25,255,
- 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,
-255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0,255,255,255, 10,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0,
- 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,
-144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0, 0, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255,
- 0, 0, 0, 0, 0, 0, 0, 0, 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, 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,255,255,255,128,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,114,114,114,255, 18, 66,176, 38,
-255,133, 0,178,255,133, 0,127, 0,255, 0,255,255, 0, 0,255,225,210,195, 35, 0, 0, 0, 0, 0, 0, 0, 0,153,153,153,255,
- 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255,
- 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127,
- 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,143,143,143,255,198,119,119,255,255, 0, 0,255, 64, 64, 64,255, 0, 0, 0,255,
-241, 88, 0,255, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,140, 25,255,
- 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,
-255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0,
- 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,
-144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0, 0, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255,
- 0, 0, 0, 0, 0, 0, 0, 0, 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, 4, 0,100, 0, 0,255, 0, 0,200,255,128, 0, 80,255, 95, 95, 0,255, 0,100, 50,255, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,114,114,114,255,
- 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255,
- 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127,
- 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255,
-241, 88, 0,255, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,140, 25,255,
- 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,
-255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0,
- 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,
-144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0, 0, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255,
- 0, 0, 0, 0, 0, 0, 0, 0, 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, 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,255,255,255,128,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51,127, 51, 76,130,135,140, 76,114,114,114,255,
- 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255,
- 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127,
- 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,173,173,173,255,127,112,112,100, 0, 0, 0, 0, 91, 91, 91,255, 0, 0, 0,255,
-241, 88, 0,255, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,140, 25,255,
- 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,
-255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0,
- 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,
-144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0, 0, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255,
- 0, 0, 0, 0, 0, 0, 0, 0, 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, 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,255,255,255,128,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 57, 57,255,
- 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255,
- 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127,
- 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255,
-255,255,255,255, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,
- 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,255,255,255,219, 37, 18,255,
-255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0,
- 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,
-144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0, 0, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255,
- 0, 0, 0, 0, 0, 0, 0, 0, 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, 4, 5,155,155,155,160,100,104,111,255,111,106,100,255,104,106,117,255,105,117,110,255, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,100,100,100,255,
- 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255,
- 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127,
- 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255,
-241, 88, 0,255, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,140, 25,255,
- 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,
-255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0,
- 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,
-144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0, 0, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255,
- 0, 0, 0, 0, 0, 0, 0, 0, 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, 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,255,255,255,128,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,114,114,114,255,
- 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255,
- 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127,
- 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255,
-241, 88, 0,255, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,140, 25,255,
- 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,
-255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0,
- 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,
-144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0, 0, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255,
- 0, 0, 0, 0, 0, 0, 0, 0, 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, 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,255,255,255,128,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,
- 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255,
- 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127,
- 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255,
-241, 88, 0,255, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,140, 25,255,
- 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,
-255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0,
- 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,
-144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0, 0, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96,128,255,255,255,255,255,255, 0,170, 0,255,220, 96, 96,255,220, 96, 96,255,
- 3, 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,255,255,255,128,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 57, 57,255,
- 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255,
- 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,102,102,102,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127,
- 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, 94, 94, 94,255, 0, 0, 0,255,
-241, 88, 0,255, 0, 0, 0, 40, 0, 0, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,170, 64,255,
- 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,
- 32,255,255,255, 75, 75, 75,255,204, 0,153,255, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 32, 0, 0,255, 0, 32, 0,255,
- 0, 0,128,255, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 12, 10, 10,128,255,140, 0,255,
- 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255,255,255,255,255, 0, 0, 0,255,
-144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0, 0, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255,
- 0, 0, 0, 0, 0, 0, 0, 0, 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, 1, 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,255,255,255,128,
- 0, 0, 0,255,255,255, 0,255, 4, 0, 0, 0,255,127,127, 0,255,255,255,255,255,255,255, 0,255,127, 0, 0,255,127,127,127,
-255,200,200,200,255,255, 0, 0,255, 0, 0,255,255, 0, 0, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,154, 0, 0,255,
-189, 17, 17,255,247, 10, 10,255, 0, 0, 0, 0,247, 64, 24,255,246,105, 19,255,250,153, 0,255, 0, 0, 0, 0, 30,145, 9,255,
- 89,183, 11,255,131,239, 29,255, 0, 0, 0, 0, 10, 54,148,255, 54,103,223,255, 94,193,239,255, 0, 0, 0, 0,169, 41, 78,255,
-193, 65,106,255,240, 93,145,255, 0, 0, 0, 0, 67, 12,120,255, 84, 58,163,255,135,100,213,255, 0, 0, 0, 0, 36,120, 90,255,
- 60,149,121,255,111,182,171,255, 0, 0, 0, 0, 75,112,124,255,106,134,145,255,155,194,205,255, 0, 0, 0, 0,244,201, 12,255,
-238,194, 54,255,243,255, 0,255, 0, 0, 0, 0, 30, 32, 36,255, 72, 76, 86,255,255,255,255,255, 0, 0, 0, 0,111, 47,106,255,
-152, 69,190,255,211, 48,214,255, 0, 0, 0, 0,108,142, 34,255,127,176, 34,255,187,239, 91,255, 0, 0, 0, 0,141,141,141,255,
-176,176,176,255,222,222,222,255, 0, 0, 0, 0,131, 67, 38,255,139, 88, 17,255,189,106, 17,255, 0, 0, 0, 0, 8, 49, 14,255,
- 28, 67, 11,255, 52, 98, 43,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 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, 68, 65, 84, 65, 80, 0, 0, 0,152, 44,169, 5, 0, 0, 0, 0,208, 0, 0, 0, 1, 0, 0, 0, 56, 45,169, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,105,111, 95,115, 99,101,110,101, 95, 51,100,115, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 62, 0, 0, 0, 0, 68, 65, 84, 65, 48, 37, 0, 0,104, 2,224, 4, 0, 0, 0, 0,
+208, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68,101,102, 97,117,108,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, 25, 25, 25,255,153,153,153,255,
+100,100,100,255, 25, 25, 25,255, 0, 0, 0,255,255,255,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 25, 25, 25,255,153,153,153,255,
+100,100,100,255, 25, 25, 25,255, 0, 0, 0,255,255,255,255,255, 1, 0, 15, 0,241,255, 0, 0, 25, 25, 25,255,153,153,153,255,
+153,153,153,255, 90, 90, 90,255, 0, 0, 0,255,255,255,255,255, 1, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0,255, 70, 70, 70,255,
+ 86,128,194,255,255,255,255,255,255,255,255,255, 0, 0, 0,255, 1, 0, 15, 0,241,255, 0, 0, 0, 0, 0,255, 70, 70, 70,255,
+ 70, 70, 70,255,255,255,255,255, 0, 0, 0,255,255,255,255,255, 1, 0, 15, 0,241,255, 0, 0, 25, 25, 25,255,153,153,153,255,
+100,100,100,255, 25, 25, 25,255, 0, 0, 0,255,255,255,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 25, 25, 25,255,180,180,180,255,
+153,153,153,255, 90, 90, 90,255, 0, 0, 0,255,255,255,255,255, 1, 0,236,255, 0, 0, 0, 0, 25, 25, 25,255,180,180,180,255,
+153,153,153,255,128,128,128,255, 0, 0, 0,255,255,255,255,255, 1, 0,236,255, 0, 0, 0, 0, 0, 0, 0,255, 70, 70, 70,255,
+ 70, 70, 70,255,255,255,255,255,255,255,255,255,204,204,204,255, 1, 0, 15, 0,241,255, 0, 0, 0, 0, 0,255, 63, 63, 63,255,
+ 86,128,194,255,255,255,255,255, 0, 0, 0,255, 0, 0, 0,255, 0, 0, 25, 0,236,255, 0, 0, 0, 0, 0,255, 25, 25, 25,230,
+ 45, 45, 45,230,100,100,100,255,160,160,160,255,255,255,255,255, 0, 0, 25, 0,236,255, 0, 0, 0, 0, 0,255, 0, 0, 0, 0,
+ 86,128,194,255,172,172,172,128,255,255,255,255, 0, 0, 0,255, 1, 0, 38, 0, 0, 0, 0, 0, 0, 0, 0,255, 25, 25, 25,230,
+ 45, 45, 45,230,100,100,100,255,255,255,255,255,255,255,255,255, 0, 0, 25, 0,236,255, 0, 0, 25, 25, 25,255,128,128,128,255,
+100,100,100,255, 25, 25, 25,255, 0, 0, 0,255,255,255,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 50, 50, 50,180, 80, 80, 80,180,
+100,100,100,180,128,128,128,255, 0, 0, 0,255,255,255,255,255, 1, 0, 5, 0,251,255, 0, 0, 0, 0, 0,255,190,190,190,255,
+100,100,100,180, 68, 68, 68,255, 0, 0, 0,255,255,255,255,255, 0, 0, 5, 0,251,255, 0, 0, 0, 0, 0,255, 0, 0, 0, 0,
+ 86,128,194,255, 0, 0, 0,255, 0, 0, 0,255, 0, 0, 0,255, 0, 0, 0, 0, 0, 0, 0, 0,115,190, 76,255, 90,166, 51,255,
+240,235,100,255,215,211, 75,255,180, 0,255,255,153, 0,230,255, 0, 0, 0, 63, 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, 0, 0, 0, 0, 0, 68, 65, 84, 65, 80, 0, 0, 0, 56, 45,169, 5, 0, 0, 0, 0,208, 0, 0, 0,
- 1, 0, 0, 0,216,127,170, 5, 0, 0, 0, 0,152, 44,169, 5, 0, 0, 0, 0,105,111, 95,115, 99,101,110,101, 95,102, 98,120,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 80, 0, 0, 0,216,127,170, 5,
- 0, 0, 0, 0,208, 0, 0, 0, 1, 0, 0, 0,120,128,170, 5, 0, 0, 0, 0, 56, 45,169, 5, 0, 0, 0, 0,105,111, 95, 97,
-110,105,109, 95, 98,118,104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 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,
- 80, 0, 0, 0,120,128,170, 5, 0, 0, 0, 0,208, 0, 0, 0, 1, 0, 0, 0, 24,129,170, 5, 0, 0, 0, 0,216,127,170, 5,
- 0, 0, 0, 0,105,111, 95,109,101,115,104, 95,112,108,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, 68, 65, 84, 65, 80, 0, 0, 0, 24,129,170, 5, 0, 0, 0, 0,208, 0, 0, 0, 1, 0, 0, 0,184,129,170, 5,
- 0, 0, 0, 0,120,128,170, 5, 0, 0, 0, 0,105,111, 95,115, 99,101,110,101, 95,111, 98,106, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 80, 0, 0, 0,184,129,170, 5, 0, 0, 0, 0,208, 0, 0, 0,
- 1, 0, 0, 0, 88,130,170, 5, 0, 0, 0, 0, 24,129,170, 5, 0, 0, 0, 0,105,111, 95,115, 99,101,110,101, 95,120, 51,100,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 80, 0, 0, 0, 88,130,170, 5,
- 0, 0, 0, 0,208, 0, 0, 0, 1, 0, 0, 0,248,130,170, 5, 0, 0, 0, 0,184,129,170, 5, 0, 0, 0, 0,105,111, 95,109,
-101,115,104, 95,115,116,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, 68, 65, 84, 65,
- 80, 0, 0, 0,248,130,170, 5, 0, 0, 0, 0,208, 0, 0, 0, 1, 0, 0, 0,152,131,170, 5, 0, 0, 0, 0, 88,130,170, 5,
- 0, 0, 0, 0,105,111, 95,109,101,115,104, 95,117,118, 95,108, 97,121,111,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, 68, 65, 84, 65, 80, 0, 0, 0,152,131,170, 5, 0, 0, 0, 0,208, 0, 0, 0, 1, 0, 0, 0, 56,132,170, 5,
- 0, 0, 0, 0,248,130,170, 5, 0, 0, 0, 0,105,111, 95, 99,117,114,118,101, 95,115,118,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, 68, 65, 84, 65, 80, 0, 0, 0, 56,132,170, 5, 0, 0, 0, 0,208, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,131,170, 5, 0, 0, 0, 0, 99,121, 99,108,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, 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,232, 0, 0, 0,216,132,170, 5,
- 0, 0, 0, 0,200, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68,101,102, 97,
-117,108,116, 32, 83,116,121,108,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, 12, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,255,255, 0, 0,154,153, 25, 62, 0, 0,128, 63, 0, 0, 12, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,255,255, 0, 0, 0, 0,128, 62, 0, 0, 0, 0, 0, 0, 11, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,255,255, 0, 0,154,153, 25, 62, 0, 0,128, 63, 0, 0, 11, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 62, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 8, 0, 5, 0, 5, 0, 8, 0, 2, 0, 8, 0, 4, 0, 0, 0, 68, 78, 65, 49,124, 8, 1, 0,120,177,144, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 83, 68, 78, 65, 78, 65, 77, 69, 99, 13, 0, 0, 42,110,101,120,116, 0, 42,112,
-114,101,118, 0, 42,100, 97,116, 97, 0, 42,102,105,114,115,116, 0, 42,108, 97,115,116, 0,120, 0,121, 0,122, 0,120,109,105,
-110, 0,120,109, 97,120, 0,121,109,105,110, 0,121,109, 97,120, 0, 42,112,111,105,110,116,101,114, 0,103,114,111,117,112, 0,
-118, 97,108, 0,118, 97,108, 50, 0,116,121,112,101, 0,115,117, 98,116,121,112,101, 0,102,108, 97,103, 0,110, 97,109,101, 91,
- 54, 52, 93, 0,115, 97,118,101,100, 0,100, 97,116, 97, 0,108,101,110, 0,116,111,116, 97,108,108,101,110, 0, 42,110,101,119,
-105,100, 0, 42,108,105, 98, 0,110, 97,109,101, 91, 54, 54, 93, 0,112, 97,100, 0,117,115, 0,105, 99,111,110, 95,105,100, 0,
-112, 97,100, 50, 0, 42,112,114,111,112,101,114,116,105,101,115, 0,105,100, 0, 42,105,100, 98,108,111, 99,107, 0, 42,102,105,
-108,101,100, 97,116, 97, 0,110, 97,109,101, 91, 49, 48, 50, 52, 93, 0,102,105,108,101,112, 97,116,104, 91, 49, 48, 50, 52, 93,
- 0, 42,112, 97,114,101,110,116, 0,119, 91, 50, 93, 0,104, 91, 50, 93, 0, 99,104, 97,110,103,101,100, 91, 50, 93, 0, 99,104,
- 97,110,103,101,100, 95,116,105,109,101,115,116, 97,109,112, 91, 50, 93, 0, 42,114,101, 99,116, 91, 50, 93, 0, 42,111, 98, 0,
- 98,108,111, 99,107,116,121,112,101, 0, 97,100,114, 99,111,100,101, 0,110, 97,109,101, 91, 49, 50, 56, 93, 0, 42, 98,112, 0,
- 42, 98,101,122,116, 0,109, 97,120,114, 99,116, 0,116,111,116,114, 99,116, 0,118, 97,114,116,121,112,101, 0,116,111,116,118,
-101,114,116, 0,105,112,111, 0,101,120,116,114, 97,112, 0,114,116, 0, 98,105,116,109, 97,115,107, 0,115,108,105,100,101, 95,
-109,105,110, 0,115,108,105,100,101, 95,109, 97,120, 0, 99,117,114,118, 97,108, 0, 42,100,114,105,118,101,114, 0, 99,117,114,
-118,101, 0, 99,117,114, 0,115,104,111,119,107,101,121, 0,109,117,116,101,105,112,111, 0,112,111,115, 0,112, 97,100, 49, 0,
-114,101,108, 97,116,105,118,101, 0,116,111,116,101,108,101,109, 0,117,105,100, 0, 42,119,101,105,103,104,116,115, 0,118,103,
-114,111,117,112, 91, 54, 52, 93, 0,115,108,105,100,101,114,109,105,110, 0,115,108,105,100,101,114,109, 97,120, 0, 42, 97,100,
-116, 0, 42,114,101,102,107,101,121, 0,101,108,101,109,115,116,114, 91, 51, 50, 93, 0,101,108,101,109,115,105,122,101, 0, 98,
-108,111, 99,107, 0, 42,105,112,111, 0, 42,102,114,111,109, 0,116,111,116,107,101,121, 0,115,108,117,114,112,104, 0, 99,116,
-105,109,101, 0,117,105,100,103,101,110, 0, 42,108,105,110,101, 0, 42,102,111,114,109, 97,116, 0, 98,108,101,110, 0,108,105,
-110,101,110,111, 0,115,116, 97,114,116, 0,101,110,100, 0,102,108, 97,103,115, 0, 99,111,108,111,114, 91, 52, 93, 0,112, 97,
-100, 91, 52, 93, 0, 42,110, 97,109,101, 0,110,108,105,110,101,115, 0,108,105,110,101,115, 0, 42, 99,117,114,108, 0, 42,115,
-101,108,108, 0, 99,117,114, 99, 0,115,101,108, 99, 0,109, 97,114,107,101,114,115, 0, 42,117,110,100,111, 95, 98,117,102, 0,
-117,110,100,111, 95,112,111,115, 0,117,110,100,111, 95,108,101,110, 0, 42, 99,111,109,112,105,108,101,100, 0,109,116,105,109,
-101, 0,115,105,122,101, 0,115,101,101,107, 0,100,116,120, 0,112, 97,115,115,101,112, 97,114,116, 97,108,112,104, 97, 0, 99,
-108,105,112,115,116, 97, 0, 99,108,105,112,101,110,100, 0,108,101,110,115, 0,111,114,116,104,111, 95,115, 99, 97,108,101, 0,
-100,114, 97,119,115,105,122,101, 0,115,101,110,115,111,114, 95,120, 0,115,101,110,115,111,114, 95,121, 0,115,104,105,102,116,
-120, 0,115,104,105,102,116,121, 0, 89, 70, 95,100,111,102,100,105,115,116, 0, 42,100,111,102, 95,111, 98, 0,115,101,110,115,
-111,114, 95,102,105,116, 0,112, 97,100, 91, 55, 93, 0, 42,115, 99,101,110,101, 0,102,114, 97,109,101,110,114, 0,102,114, 97,
-109,101,115, 0,111,102,102,115,101,116, 0,115,102,114, 97, 0,102,105,101, 95,105,109, 97, 0, 99,121, 99,108, 0,111,107, 0,
-109,117,108,116,105, 95,105,110,100,101,120, 0,108, 97,121,101,114, 0,112, 97,115,115, 0,105, 98,117,102,115, 0, 42,103,112,
-117,116,101,120,116,117,114,101, 0, 42, 97,110,105,109, 0, 42,114,114, 0, 42,114,101,110,100,101,114,115, 91, 56, 93, 0,114,
-101,110,100,101,114, 95,115,108,111,116, 0,108, 97,115,116, 95,114,101,110,100,101,114, 95,115,108,111,116, 0,115,111,117,114,
- 99,101, 0,108, 97,115,116,102,114, 97,109,101, 0,116,112, 97,103,101,102,108, 97,103, 0,116,111,116, 98,105,110,100, 0,120,
-114,101,112, 0,121,114,101,112, 0,116,119,115,116, 97, 0,116,119,101,110,100, 0, 98,105,110,100, 99,111,100,101, 0, 42,114,
-101,112, 98,105,110,100, 0, 42,112, 97, 99,107,101,100,102,105,108,101, 0, 42,112,114,101,118,105,101,119, 0,108, 97,115,116,
-117,112,100, 97,116,101, 0,108, 97,115,116,117,115,101,100, 0, 97,110,105,109,115,112,101,101,100, 0,103,101,110, 95,120, 0,
-103,101,110, 95,121, 0,103,101,110, 95,116,121,112,101, 0,103,101,110, 95,102,108, 97,103, 0, 97,115,112,120, 0, 97,115,112,
-121, 0,116,101,120, 99,111, 0,109, 97,112,116,111, 0,109, 97,112,116,111,110,101,103, 0, 98,108,101,110,100,116,121,112,101,
- 0, 42,111, 98,106,101, 99,116, 0, 42,116,101,120, 0,117,118,110, 97,109,101, 91, 54, 52, 93, 0,112,114,111,106,120, 0,112,
-114,111,106,121, 0,112,114,111,106,122, 0,109, 97,112,112,105,110,103, 0,111,102,115, 91, 51, 93, 0,115,105,122,101, 91, 51,
- 93, 0,114,111,116, 0,116,101,120,102,108, 97,103, 0, 99,111,108,111,114,109,111,100,101,108, 0,112,109, 97,112,116,111, 0,
-112,109, 97,112,116,111,110,101,103, 0,110,111,114,109, 97,112,115,112, 97, 99,101, 0,119,104,105, 99,104, 95,111,117,116,112,
-117,116, 0, 98,114,117,115,104, 95,109, 97,112, 95,109,111,100,101, 0,114, 0,103, 0, 98, 0,107, 0,100,101,102, 95,118, 97,
-114, 0, 99,111,108,102, 97, 99, 0,118, 97,114,102, 97, 99, 0,110,111,114,102, 97, 99, 0,100,105,115,112,102, 97, 99, 0,119,
- 97,114,112,102, 97, 99, 0, 99,111,108,115,112,101, 99,102, 97, 99, 0,109,105,114,114,102, 97, 99, 0, 97,108,112,104, 97,102,
- 97, 99, 0,100,105,102,102,102, 97, 99, 0,115,112,101, 99,102, 97, 99, 0,101,109,105,116,102, 97, 99, 0,104, 97,114,100,102,
- 97, 99, 0,114, 97,121,109,105,114,114,102, 97, 99, 0,116,114, 97,110,115,108,102, 97, 99, 0, 97,109, 98,102, 97, 99, 0, 99,
-111,108,101,109,105,116,102, 97, 99, 0, 99,111,108,114,101,102,108,102, 97, 99, 0, 99,111,108,116,114, 97,110,115,102, 97, 99,
- 0,100,101,110,115,102, 97, 99, 0,115, 99, 97,116,116,101,114,102, 97, 99, 0,114,101,102,108,102, 97, 99, 0,116,105,109,101,
-102, 97, 99, 0,108,101,110,103,116,104,102, 97, 99, 0, 99,108,117,109,112,102, 97, 99, 0,100, 97,109,112,102, 97, 99, 0,107,
-105,110,107,102, 97, 99, 0,114,111,117,103,104,102, 97, 99, 0,112, 97,100,101,110,115,102, 97, 99, 0,103,114, 97,118,105,116,
-121,102, 97, 99, 0,108,105,102,101,102, 97, 99, 0,115,105,122,101,102, 97, 99, 0,105,118,101,108,102, 97, 99, 0,102,105,101,
-108,100,102, 97, 99, 0,115,104, 97,100,111,119,102, 97, 99, 0,122,101,110,117,112,102, 97, 99, 0,122,101,110,100,111,119,110,
-102, 97, 99, 0, 98,108,101,110,100,102, 97, 99, 0, 42,104, 97,110,100,108,101, 0, 42,112,110, 97,109,101, 0, 42,115,116,110,
- 97,109,101,115, 0,115,116,121,112,101,115, 0,118, 97,114,115, 0, 42,118, 97,114,115,116,114, 0, 42,114,101,115,117,108,116,
- 0, 42, 99,102,114, 97, 0,100, 97,116, 97, 91, 51, 50, 93, 0, 40, 42,100,111,105,116, 41, 40, 41, 0, 40, 42,105,110,115,116,
- 97,110, 99,101, 95,105,110,105,116, 41, 40, 41, 0, 40, 42, 99, 97,108,108, 98, 97, 99,107, 41, 40, 41, 0,118,101,114,115,105,
-111,110, 0, 97, 0,116,111,116, 0,105,112,111,116,121,112,101, 0, 42,105,109, 97, 0, 42, 99,117, 98,101, 91, 54, 93, 0,105,
-109, 97,116, 91, 52, 93, 91, 52, 93, 0,111, 98,105,109, 97,116, 91, 51, 93, 91, 51, 93, 0,115,116,121,112,101, 0,118,105,101,
-119,115, 99, 97,108,101, 0,110,111,116,108, 97,121, 0, 99,117, 98,101,114,101,115, 0,100,101,112,116,104, 0,114,101, 99, 97,
-108, 99, 0,108, 97,115,116,115,105,122,101, 0,102, 97,108,108,111,102,102, 95,116,121,112,101, 0,102, 97,108,108,111,102,102,
- 95,115,111,102,116,110,101,115,115, 0,114, 97,100,105,117,115, 0, 99,111,108,111,114, 95,115,111,117,114, 99,101, 0,116,111,
-116,112,111,105,110,116,115, 0,112,100,112, 97,100, 0,112,115,121,115, 0,112,115,121,115, 95, 99, 97, 99,104,101, 95,115,112,
- 97, 99,101, 0,111, 98, 95, 99, 97, 99,104,101, 95,115,112, 97, 99,101, 0, 42,112,111,105,110,116, 95,116,114,101,101, 0, 42,
-112,111,105,110,116, 95,100, 97,116, 97, 0,110,111,105,115,101, 95,115,105,122,101, 0,110,111,105,115,101, 95,100,101,112,116,
-104, 0,110,111,105,115,101, 95,105,110,102,108,117,101,110, 99,101, 0,110,111,105,115,101, 95, 98, 97,115,105,115, 0,112,100,
-112, 97,100, 51, 91, 51, 93, 0,110,111,105,115,101, 95,102, 97, 99, 0,115,112,101,101,100, 95,115, 99, 97,108,101, 0,102, 97,
-108,108,111,102,102, 95,115,112,101,101,100, 95,115, 99, 97,108,101, 0,112,100,112, 97,100, 50, 0, 42, 99,111, 98, 97, 0, 42,
-102, 97,108,108,111,102,102, 95, 99,117,114,118,101, 0,114,101,115,111,108, 91, 51, 93, 0,105,110,116,101,114,112, 95,116,121,
-112,101, 0,102,105,108,101, 95,102,111,114,109, 97,116, 0,101,120,116,101,110,100, 0,115,109,111,107,101,100, 95,116,121,112,
-101, 0,105,110,116, 95,109,117,108,116,105,112,108,105,101,114, 0,115,116,105,108,108, 95,102,114, 97,109,101, 0,115,111,117,
-114, 99,101, 95,112, 97,116,104, 91, 49, 48, 50, 52, 93, 0, 42,100, 97,116, 97,115,101,116, 0, 99, 97, 99,104,101,100,102,114,
- 97,109,101, 0,111, 99,101, 97,110,109,111,100, 91, 54, 52, 93, 0,111,117,116,112,117,116, 0,110,111,105,115,101,115,105,122,
-101, 0,116,117,114, 98,117,108, 0, 98,114,105,103,104,116, 0, 99,111,110,116,114, 97,115,116, 0,115, 97,116,117,114, 97,116,
-105,111,110, 0,114,102, 97, 99, 0,103,102, 97, 99, 0, 98,102, 97, 99, 0,102,105,108,116,101,114,115,105,122,101, 0,109,103,
- 95, 72, 0,109,103, 95,108, 97, 99,117,110, 97,114,105,116,121, 0,109,103, 95,111, 99,116, 97,118,101,115, 0,109,103, 95,111,
-102,102,115,101,116, 0,109,103, 95,103, 97,105,110, 0,100,105,115,116, 95, 97,109,111,117,110,116, 0,110,115, 95,111,117,116,
-115, 99, 97,108,101, 0,118,110, 95,119, 49, 0,118,110, 95,119, 50, 0,118,110, 95,119, 51, 0,118,110, 95,119, 52, 0,118,110,
- 95,109,101,120,112, 0,118,110, 95,100,105,115,116,109, 0,118,110, 95, 99,111,108,116,121,112,101, 0,110,111,105,115,101,100,
-101,112,116,104, 0,110,111,105,115,101,116,121,112,101, 0,110,111,105,115,101, 98, 97,115,105,115, 0,110,111,105,115,101, 98,
- 97,115,105,115, 50, 0,105,109, 97,102,108, 97,103, 0, 99,114,111,112,120,109,105,110, 0, 99,114,111,112,121,109,105,110, 0,
- 99,114,111,112,120,109, 97,120, 0, 99,114,111,112,121,109, 97,120, 0,116,101,120,102,105,108,116,101,114, 0, 97,102,109, 97,
-120, 0,120,114,101,112,101, 97,116, 0,121,114,101,112,101, 97,116, 0, 99,104,101, 99,107,101,114,100,105,115,116, 0,110, 97,
- 98,108, 97, 0,105,117,115,101,114, 0, 42,110,111,100,101,116,114,101,101, 0, 42,112,108,117,103,105,110, 0, 42,101,110,118,
- 0, 42,112,100, 0, 42,118,100, 0, 42,111,116, 0,117,115,101, 95,110,111,100,101,115, 0,108,111, 99, 91, 51, 93, 0,114,111,
-116, 91, 51, 93, 0,109, 97,116, 91, 52, 93, 91, 52, 93, 0,109,105,110, 91, 51, 93, 0,109, 97,120, 91, 51, 93, 0, 99,111, 98,
- 97, 0, 98,108,101,110,100, 95, 99,111,108,111,114, 91, 51, 93, 0, 98,108,101,110,100, 95,102, 97, 99,116,111,114, 0, 98,108,
-101,110,100, 95,116,121,112,101, 0,112, 97,100, 91, 51, 93, 0,109,111,100,101, 0,116,111,116,101,120, 0,115,104,100,119,114,
- 0,115,104,100,119,103, 0,115,104,100,119, 98, 0,115,104,100,119,112, 97,100, 0,101,110,101,114,103,121, 0,100,105,115,116,
- 0,115,112,111,116,115,105,122,101, 0,115,112,111,116, 98,108,101,110,100, 0,104, 97,105,110,116, 0, 97,116,116, 49, 0, 97,
-116,116, 50, 0, 42, 99,117,114,102, 97,108,108,111,102,102, 0,115,104, 97,100,115,112,111,116,115,105,122,101, 0, 98,105, 97,
-115, 0,115,111,102,116, 0, 99,111,109,112,114,101,115,115,116,104,114,101,115,104, 0, 98,108,101,101,100, 98,105, 97,115, 0,
-112, 97,100, 53, 91, 50, 93, 0, 98,117,102,115,105,122,101, 0,115, 97,109,112, 0, 98,117,102,102,101,114,115, 0,102,105,108,
-116,101,114,116,121,112,101, 0, 98,117,102,102,108, 97,103, 0, 98,117,102,116,121,112,101, 0,114, 97,121, 95,115, 97,109,112,
- 0,114, 97,121, 95,115, 97,109,112,121, 0,114, 97,121, 95,115, 97,109,112,122, 0,114, 97,121, 95,115, 97,109,112, 95,116,121,
-112,101, 0, 97,114,101, 97, 95,115,104, 97,112,101, 0, 97,114,101, 97, 95,115,105,122,101, 0, 97,114,101, 97, 95,115,105,122,
-101,121, 0, 97,114,101, 97, 95,115,105,122,101,122, 0, 97,100, 97,112,116, 95,116,104,114,101,115,104, 0,114, 97,121, 95,115,
- 97,109,112, 95,109,101,116,104,111,100, 0,115,104, 97,100,111,119,109, 97,112, 95,116,121,112,101, 0,116,101,120, 97, 99,116,
- 0,115,104, 97,100,104, 97,108,111,115,116,101,112, 0,115,117,110, 95,101,102,102,101, 99,116, 95,116,121,112,101, 0,115,107,
-121, 98,108,101,110,100,116,121,112,101, 0,104,111,114,105,122,111,110, 95, 98,114,105,103,104,116,110,101,115,115, 0,115,112,
-114,101, 97,100, 0,115,117,110, 95, 98,114,105,103,104,116,110,101,115,115, 0,115,117,110, 95,115,105,122,101, 0, 98, 97, 99,
-107,115, 99, 97,116,116,101,114,101,100, 95,108,105,103,104,116, 0,115,117,110, 95,105,110,116,101,110,115,105,116,121, 0, 97,
-116,109, 95,116,117,114, 98,105,100,105,116,121, 0, 97,116,109, 95,105,110,115, 99, 97,116,116,101,114,105,110,103, 95,102, 97,
- 99,116,111,114, 0, 97,116,109, 95,101,120,116,105,110, 99,116,105,111,110, 95,102, 97, 99,116,111,114, 0, 97,116,109, 95,100,
-105,115,116, 97,110, 99,101, 95,102, 97, 99,116,111,114, 0,115,107,121, 98,108,101,110,100,102, 97, 99, 0,115,107,121, 95,101,
-120,112,111,115,117,114,101, 0,115,104, 97,100,111,119, 95,102,114,117,115,116,117,109, 95,115,105,122,101, 0,115,107,121, 95,
- 99,111,108,111,114,115,112, 97, 99,101, 0,112, 97,100, 52, 91, 50, 93, 0, 42,109,116,101,120, 91, 49, 56, 93, 0,112,114, 95,
-116,101,120,116,117,114,101, 0,112, 97,100, 54, 91, 52, 93, 0,100,101,110,115,105,116,121, 0,101,109,105,115,115,105,111,110,
- 0,115, 99, 97,116,116,101,114,105,110,103, 0,114,101,102,108,101, 99,116,105,111,110, 0,101,109,105,115,115,105,111,110, 95,
- 99,111,108, 91, 51, 93, 0,116,114, 97,110,115,109,105,115,115,105,111,110, 95, 99,111,108, 91, 51, 93, 0,114,101,102,108,101,
- 99,116,105,111,110, 95, 99,111,108, 91, 51, 93, 0,100,101,110,115,105,116,121, 95,115, 99, 97,108,101, 0,100,101,112,116,104,
- 95, 99,117,116,111,102,102, 0, 97,115,121,109,109,101,116,114,121, 0,115,116,101,112,115,105,122,101, 95,116,121,112,101, 0,
-115,104, 97,100,101,102,108, 97,103, 0,115,104, 97,100,101, 95,116,121,112,101, 0,112,114,101, 99, 97, 99,104,101, 95,114,101,
-115,111,108,117,116,105,111,110, 0,115,116,101,112,115,105,122,101, 0,109,115, 95,100,105,102,102, 0,109,115, 95,105,110,116,
-101,110,115,105,116,121, 0,109,115, 95,115,112,114,101, 97,100, 0, 97,108,112,104, 97, 95, 98,108,101,110,100, 0,102, 97, 99,
-101, 95,111,114,105,101,110,116, 97,116,105,111,110, 0,109, 97,116,101,114,105, 97,108, 95,116,121,112,101, 0,115,112,101, 99,
-114, 0,115,112,101, 99,103, 0,115,112,101, 99, 98, 0,109,105,114,114, 0,109,105,114,103, 0,109,105,114, 98, 0, 97,109, 98,
-114, 0, 97,109, 98, 98, 0, 97,109, 98,103, 0, 97,109, 98, 0,101,109,105,116, 0, 97,110,103, 0,115,112,101, 99,116,114, 97,
- 0,114, 97,121, 95,109,105,114,114,111,114, 0, 97,108,112,104, 97, 0,114,101,102, 0,115,112,101, 99, 0,122,111,102,102,115,
- 0, 97,100,100, 0,116,114, 97,110,115,108,117, 99,101,110, 99,121, 0,118,111,108, 0,103, 97,109,101, 0,102,114,101,115,110,
-101,108, 95,109,105,114, 0,102,114,101,115,110,101,108, 95,109,105,114, 95,105, 0,102,114,101,115,110,101,108, 95,116,114, 97,
- 0,102,114,101,115,110,101,108, 95,116,114, 97, 95,105, 0,102,105,108,116,101,114, 0,116,120, 95,108,105,109,105,116, 0,116,
-120, 95,102, 97,108,108,111,102,102, 0,114, 97,121, 95,100,101,112,116,104, 0,114, 97,121, 95,100,101,112,116,104, 95,116,114,
- 97, 0,104, 97,114, 0,115,101,101,100, 49, 0,115,101,101,100, 50, 0,103,108,111,115,115, 95,109,105,114, 0,103,108,111,115,
-115, 95,116,114, 97, 0,115, 97,109,112, 95,103,108,111,115,115, 95,109,105,114, 0,115, 97,109,112, 95,103,108,111,115,115, 95,
-116,114, 97, 0, 97,100, 97,112,116, 95,116,104,114,101,115,104, 95,109,105,114, 0, 97,100, 97,112,116, 95,116,104,114,101,115,
-104, 95,116,114, 97, 0, 97,110,105,115,111, 95,103,108,111,115,115, 95,109,105,114, 0,100,105,115,116, 95,109,105,114, 0,102,
- 97,100,101,116,111, 95,109,105,114, 0,115,104, 97,100,101, 95,102,108, 97,103, 0,109,111,100,101, 95,108, 0,102,108, 97,114,
-101, 99, 0,115,116, 97,114, 99, 0,108,105,110,101, 99, 0,114,105,110,103, 99, 0,104, 97,115,105,122,101, 0,102,108, 97,114,
-101,115,105,122,101, 0,115,117, 98,115,105,122,101, 0,102,108, 97,114,101, 98,111,111,115,116, 0,115,116,114, 97,110,100, 95,
-115,116, 97, 0,115,116,114, 97,110,100, 95,101,110,100, 0,115,116,114, 97,110,100, 95,101, 97,115,101, 0,115,116,114, 97,110,
-100, 95,115,117,114,102,110,111,114, 0,115,116,114, 97,110,100, 95,109,105,110, 0,115,116,114, 97,110,100, 95,119,105,100,116,
-104,102, 97,100,101, 0,115,116,114, 97,110,100, 95,117,118,110, 97,109,101, 91, 54, 52, 93, 0,115, 98,105, 97,115, 0,108, 98,
-105, 97,115, 0,115,104, 97,100, 95, 97,108,112,104, 97, 0,115,101,112,116,101,120, 0,114,103, 98,115,101,108, 0,112,114, 95,
-116,121,112,101, 0,112,114, 95, 98, 97, 99,107, 0,112,114, 95,108, 97,109,112, 0,109,108, 95,102,108, 97,103, 0,100,105,102,
-102, 95,115,104, 97,100,101,114, 0,115,112,101, 99, 95,115,104, 97,100,101,114, 0,114,111,117,103,104,110,101,115,115, 0,114,
-101,102,114, 97, 99, 0,112, 97,114, 97,109, 91, 52, 93, 0,114,109,115, 0,100, 97,114,107,110,101,115,115, 0, 42,114, 97,109,
-112, 95, 99,111,108, 0, 42,114, 97,109,112, 95,115,112,101, 99, 0,114, 97,109,112,105,110, 95, 99,111,108, 0,114, 97,109,112,
-105,110, 95,115,112,101, 99, 0,114, 97,109,112, 98,108,101,110,100, 95, 99,111,108, 0,114, 97,109,112, 98,108,101,110,100, 95,
-115,112,101, 99, 0,114, 97,109,112, 95,115,104,111,119, 0,112, 97,100, 51, 0,114, 97,109,112,102, 97, 99, 95, 99,111,108, 0,
-114, 97,109,112,102, 97, 99, 95,115,112,101, 99, 0, 42,103,114,111,117,112, 0,102,114,105, 99,116,105,111,110, 0,102,104, 0,
-114,101,102,108,101, 99,116, 0,102,104,100,105,115,116, 0,120,121,102,114,105, 99,116, 0,100,121,110, 97,109,111,100,101, 0,
-115,115,115, 95,114, 97,100,105,117,115, 91, 51, 93, 0,115,115,115, 95, 99,111,108, 91, 51, 93, 0,115,115,115, 95,101,114,114,
-111,114, 0,115,115,115, 95,115, 99, 97,108,101, 0,115,115,115, 95,105,111,114, 0,115,115,115, 95, 99,111,108,102, 97, 99, 0,
-115,115,115, 95,116,101,120,102, 97, 99, 0,115,115,115, 95,102,114,111,110,116, 0,115,115,115, 95, 98, 97, 99,107, 0,115,115,
-115, 95,102,108, 97,103, 0,115,115,115, 95,112,114,101,115,101,116, 0,109, 97,112,116,111, 95,116,101,120,116,117,114,101,100,
- 0,115,104, 97,100,111,119,111,110,108,121, 95,102,108, 97,103, 0,105,110,100,101,120, 0,103,112,117,109, 97,116,101,114,105,
- 97,108, 0, 42, 98, 98, 0,115,101,108, 99,111,108, 49, 0,115,101,108, 99,111,108, 50, 0,113,117, 97,116, 91, 52, 93, 0,101,
-120,112,120, 0,101,120,112,121, 0,101,120,112,122, 0,114, 97,100, 0,114, 97,100, 50, 0,115, 0, 42,109, 97,116, 0, 42,105,
-109, 97,116, 0,101,108,101,109,115, 0,100,105,115,112, 0, 42,101,100,105,116,101,108,101,109,115, 0, 42, 42,109, 97,116, 0,
-102,108, 97,103, 50, 0,116,111,116, 99,111,108, 0,119,105,114,101,115,105,122,101, 0,114,101,110,100,101,114,115,105,122,101,
- 0,116,104,114,101,115,104, 0, 42,108, 97,115,116,101,108,101,109, 0,118,101, 99, 91, 51, 93, 91, 51, 93, 0, 97,108,102, 97,
- 0,119,101,105,103,104,116, 0,104, 49, 0,104, 50, 0,102, 49, 0,102, 50, 0,102, 51, 0,104,105,100,101, 0,118,101, 99, 91,
- 52, 93, 0,109, 97,116, 95,110,114, 0,112,110,116,115,117, 0,112,110,116,115,118, 0,114,101,115,111,108,117, 0,114,101,115,
-111,108,118, 0,111,114,100,101,114,117, 0,111,114,100,101,114,118, 0,102,108, 97,103,117, 0,102,108, 97,103,118, 0, 42,107,
-110,111,116,115,117, 0, 42,107,110,111,116,115,118, 0,116,105,108,116, 95,105,110,116,101,114,112, 0,114, 97,100,105,117,115,
- 95,105,110,116,101,114,112, 0, 99,104, 97,114,105,100,120, 0,107,101,114,110, 0,119, 0,104, 0,110,117,114, 98,115, 0, 42,
-107,101,121,105,110,100,101,120, 0,115,104, 97,112,101,110,114, 0,110,117,114, 98, 0, 42,101,100,105,116,110,117,114, 98, 0,
- 42, 98,101,118,111, 98,106, 0, 42,116, 97,112,101,114,111, 98,106, 0, 42,116,101,120,116,111,110, 99,117,114,118,101, 0, 42,
-112, 97,116,104, 0, 42,107,101,121, 0, 98,101,118, 0,100,114, 97,119,102,108, 97,103, 0,116,119,105,115,116, 95,109,111,100,
-101, 0,116,119,105,115,116, 95,115,109,111,111,116,104, 0,115,109, 97,108,108, 99, 97,112,115, 95,115, 99, 97,108,101, 0,112,
- 97,116,104,108,101,110, 0, 98,101,118,114,101,115,111,108, 0,119,105,100,116,104, 0,101,120,116, 49, 0,101,120,116, 50, 0,
-114,101,115,111,108,117, 95,114,101,110, 0,114,101,115,111,108,118, 95,114,101,110, 0, 97, 99,116,110,117, 0, 42,108, 97,115,
-116,115,101,108, 0,115,112, 97, 99,101,109,111,100,101, 0,115,112, 97, 99,105,110,103, 0,108,105,110,101,100,105,115,116, 0,
-115,104,101, 97,114, 0,102,115,105,122,101, 0,119,111,114,100,115,112, 97, 99,101, 0,117,108,112,111,115, 0,117,108,104,101,
-105,103,104,116, 0,120,111,102, 0,121,111,102, 0,108,105,110,101,119,105,100,116,104, 0, 42,115,116,114, 0, 42,115,101,108,
- 98,111,120,101,115, 0, 42,101,100,105,116,102,111,110,116, 0,102, 97,109,105,108,121, 91, 50, 52, 93, 0, 42,118,102,111,110,
-116, 0, 42,118,102,111,110,116, 98, 0, 42,118,102,111,110,116,105, 0, 42,118,102,111,110,116, 98,105, 0,115,101,112, 99,104,
- 97,114, 0,116,111,116, 98,111,120, 0, 97, 99,116, 98,111,120, 0, 42,116, 98, 0,115,101,108,115,116, 97,114,116, 0,115,101,
-108,101,110,100, 0, 42,115,116,114,105,110,102,111, 0, 99,117,114,105,110,102,111, 0, 98,101,118,102, 97, 99, 49, 0, 98,101,
-118,102, 97, 99, 50, 0, 42,109,115,101,108,101, 99,116, 0, 42,109,112,111,108,121, 0, 42,109,116,112,111,108,121, 0, 42,109,
-108,111,111,112, 0, 42,109,108,111,111,112,117,118, 0, 42,109,108,111,111,112, 99,111,108, 0, 42,109,102, 97, 99,101, 0, 42,
-109,116,102, 97, 99,101, 0, 42,116,102, 97, 99,101, 0, 42,109,118,101,114,116, 0, 42,109,101,100,103,101, 0, 42,100,118,101,
-114,116, 0, 42,109, 99,111,108, 0, 42,109,115,116,105, 99,107,121, 0, 42,116,101,120, 99,111,109,101,115,104, 0, 42,101,100,
-105,116, 95, 98,116,109,101,115,104, 0,118,100, 97,116, 97, 0,101,100, 97,116, 97, 0,102,100, 97,116, 97, 0,112,100, 97,116,
- 97, 0,108,100, 97,116, 97, 0,116,111,116,101,100,103,101, 0,116,111,116,102, 97, 99,101, 0,116,111,116,115,101,108,101, 99,
-116, 0,116,111,116,112,111,108,121, 0,116,111,116,108,111,111,112, 0, 97, 99,116, 95,102, 97, 99,101, 0,115,109,111,111,116,
-104,114,101,115,104, 0,115,117, 98,100,105,118, 0,115,117, 98,100,105,118,114, 0,115,117, 98,115,117,114,102,116,121,112,101,
- 0,101,100,105,116,102,108, 97,103, 0, 42,109,114, 0, 42,116,112, 97,103,101, 0,117,118, 91, 52, 93, 91, 50, 93, 0, 99,111,
-108, 91, 52, 93, 0,116,114, 97,110,115,112, 0,116,105,108,101, 0,117,110,119,114, 97,112, 0,118, 49, 0,118, 50, 0,118, 51,
- 0,118, 52, 0,101,100, 99,111,100,101, 0, 99,114,101, 97,115,101, 0, 98,119,101,105,103,104,116, 0,100,101,102, 95,110,114,
- 0, 42,100,119, 0,116,111,116,119,101,105,103,104,116, 0, 99,111, 91, 51, 93, 0,110,111, 91, 51, 93, 0,108,111,111,112,115,
-116, 97,114,116, 0,118, 0,101, 0,117,118, 91, 50, 93, 0, 99,111, 91, 50, 93, 0,102, 0,105, 0,115, 91, 50, 53, 54, 93, 0,
-116,111,116,100,105,115,112, 0,108,101,118,101,108, 0, 40, 42,100,105,115,112,115, 41, 40, 41, 0, 42,104,105,100,100,101,110,
- 0,118, 91, 52, 93, 0,109,105,100, 0,112, 97,100, 91, 50, 93, 0,118, 91, 50, 93, 0, 42,102, 97, 99,101,115, 0, 42, 99,111,
-108,102, 97, 99,101,115, 0, 42,101,100,103,101,115, 0, 42,118,101,114,116,115, 0,108,101,118,101,108,115, 0,108,101,118,101,
-108, 95, 99,111,117,110,116, 0, 99,117,114,114,101,110,116, 0,110,101,119,108,118,108, 0,101,100,103,101,108,118,108, 0,112,
-105,110,108,118,108, 0,114,101,110,100,101,114,108,118,108, 0,117,115,101, 95, 99,111,108, 0, 42,101,100,103,101, 95,102,108,
- 97,103,115, 0, 42,101,100,103,101, 95, 99,114,101, 97,115,101,115, 0,115,116, 97, 99,107,105,110,100,101,120, 0, 42,101,114,
-114,111,114, 0,109,111,100,105,102,105,101,114, 0, 42,116,101,120,116,117,114,101, 0, 42,109, 97,112, 95,111, 98,106,101, 99,
-116, 0,117,118,108, 97,121,101,114, 95,110, 97,109,101, 91, 54, 52, 93, 0,117,118,108, 97,121,101,114, 95,116,109,112, 0,116,
-101,120,109, 97,112,112,105,110,103, 0,115,117, 98,100,105,118, 84,121,112,101, 0,114,101,110,100,101,114, 76,101,118,101,108,
-115, 0, 42,101,109, 67, 97, 99,104,101, 0, 42,109, 67, 97, 99,104,101, 0,115,116,114,101,110,103,116,104, 0,100,101,102, 97,
-120,105,115, 0,112, 97,100, 91, 54, 93, 0,108,101,110,103,116,104, 0,114, 97,110,100,111,109,105,122,101, 0,115,101,101,100,
- 0, 42,111, 98, 95, 97,114,109, 0, 42,115,116, 97,114,116, 95, 99, 97,112, 0, 42,101,110,100, 95, 99, 97,112, 0, 42, 99,117,
-114,118,101, 95,111, 98, 0, 42,111,102,102,115,101,116, 95,111, 98, 0,111,102,102,115,101,116, 91, 51, 93, 0,115, 99, 97,108,
-101, 91, 51, 93, 0,109,101,114,103,101, 95,100,105,115,116, 0,102,105,116, 95,116,121,112,101, 0,111,102,102,115,101,116, 95,
-116,121,112,101, 0, 99,111,117,110,116, 0, 97,120,105,115, 0,116,111,108,101,114, 97,110, 99,101, 0, 42,109,105,114,114,111,
-114, 95,111, 98, 0,115,112,108,105,116, 95, 97,110,103,108,101, 0,118, 97,108,117,101, 0,114,101,115, 0,118, 97,108, 95,102,
-108, 97,103,115, 0,108,105,109, 95,102,108, 97,103,115, 0,101, 95,102,108, 97,103,115, 0, 98,101,118,101,108, 95, 97,110,103,
-108,101, 0,100,101,102,103,114,112, 95,110, 97,109,101, 91, 54, 52, 93, 0, 42,100,111,109, 97,105,110, 0, 42,102,108,111,119,
- 0, 42, 99,111,108,108, 0,116,105,109,101, 0,100,105,114,101, 99,116,105,111,110, 0,109,105,100,108,101,118,101,108, 0, 42,
-112,114,111,106,101, 99,116,111,114,115, 91, 49, 48, 93, 0, 42,105,109, 97,103,101, 0,110,117,109, 95,112,114,111,106,101, 99,
-116,111,114,115, 0, 97,115,112,101, 99,116,120, 0, 97,115,112,101, 99,116,121, 0,115, 99, 97,108,101,120, 0,115, 99, 97,108,
-101,121, 0,112,101,114, 99,101,110,116, 0,102, 97, 99,101, 67,111,117,110,116, 0,102, 97, 99, 0,114,101,112,101, 97,116, 0,
- 42,111, 98,106,101, 99,116, 99,101,110,116,101,114, 0,115,116, 97,114,116,120, 0,115,116, 97,114,116,121, 0,104,101,105,103,
-104,116, 0,110, 97,114,114,111,119, 0,115,112,101,101,100, 0,100, 97,109,112, 0,102, 97,108,108,111,102,102, 0,116,105,109,
-101,111,102,102,115, 0,108,105,102,101,116,105,109,101, 0,100,101,102,111,114,109,102,108, 97,103, 0,109,117,108,116,105, 0,
- 42,112,114,101,118, 67,111,115, 0,115,117, 98,116, 97,114,103,101,116, 91, 54, 52, 93, 0,112, 97,114,101,110,116,105,110,118,
- 91, 52, 93, 91, 52, 93, 0, 99,101,110,116, 91, 51, 93, 0, 42,105,110,100,101,120, 97,114, 0,116,111,116,105,110,100,101,120,
- 0,102,111,114, 99,101, 0, 42, 99,108,111,116,104, 79, 98,106,101, 99,116, 0, 42,115,105,109, 95,112, 97,114,109,115, 0, 42,
- 99,111,108,108, 95,112, 97,114,109,115, 0, 42,112,111,105,110,116, 95, 99, 97, 99,104,101, 0,112,116, 99, 97, 99,104,101,115,
- 0, 42,120, 0, 42,120,110,101,119, 0, 42,120,111,108,100, 0, 42, 99,117,114,114,101,110,116, 95,120,110,101,119, 0, 42, 99,
-117,114,114,101,110,116, 95,120, 0, 42, 99,117,114,114,101,110,116, 95,118, 0, 42,109,102, 97, 99,101,115, 0,110,117,109,118,
-101,114,116,115, 0,110,117,109,102, 97, 99,101,115, 0,116,105,109,101, 95,120, 0,116,105,109,101, 95,120,110,101,119, 0, 42,
- 98,118,104,116,114,101,101, 0, 42,118, 0, 42,100,109, 0, 99,102,114, 97, 0,111,112,101,114, 97,116,105,111,110, 0,118,101,
-114,116,101,120, 0,116,111,116,105,110,102,108,117,101,110, 99,101, 0,103,114,105,100,115,105,122,101, 0, 42, 98,105,110,100,
-105,110,102,108,117,101,110, 99,101,115, 0, 42, 98,105,110,100,111,102,102,115,101,116,115, 0, 42, 98,105,110,100, 99, 97,103,
-101, 99,111,115, 0,116,111,116, 99, 97,103,101,118,101,114,116, 0, 42,100,121,110,103,114,105,100, 0, 42,100,121,110,105,110,
-102,108,117,101,110, 99,101,115, 0, 42,100,121,110,118,101,114,116,115, 0, 42,112, 97,100, 50, 0,100,121,110,103,114,105,100,
-115,105,122,101, 0,100,121,110, 99,101,108,108,109,105,110, 91, 51, 93, 0,100,121,110, 99,101,108,108,119,105,100,116,104, 0,
- 98,105,110,100,109, 97,116, 91, 52, 93, 91, 52, 93, 0, 42, 98,105,110,100,119,101,105,103,104,116,115, 0, 42, 98,105,110,100,
- 99,111,115, 0, 40, 42, 98,105,110,100,102,117,110, 99, 41, 40, 41, 0, 42,112,115,121,115, 0,116,111,116,100,109,118,101,114,
-116, 0,116,111,116,100,109,101,100,103,101, 0,116,111,116,100,109,102, 97, 99,101, 0,112,111,115,105,116,105,111,110, 0,114,
- 97,110,100,111,109, 95,112,111,115,105,116,105,111,110, 0, 42,102, 97, 99,101,112, 97, 0,118,103,114,111,117,112, 0,112,114,
-111,116,101, 99,116, 0,108,118,108, 0,115, 99,117,108,112,116,108,118,108, 0,116,111,116,108,118,108, 0,115,105,109,112,108,
-101, 0, 42,102,115,115, 0, 42,116, 97,114,103,101,116, 0, 42, 97,117,120, 84, 97,114,103,101,116, 0,118,103,114,111,117,112,
- 95,110, 97,109,101, 91, 54, 52, 93, 0,107,101,101,112, 68,105,115,116, 0,115,104,114,105,110,107, 84,121,112,101, 0,115,104,
-114,105,110,107, 79,112,116,115, 0,112,114,111,106, 65,120,105,115, 0,115,117, 98,115,117,114,102, 76,101,118,101,108,115, 0,
- 42,111,114,105,103,105,110, 0,102, 97, 99,116,111,114, 0,108,105,109,105,116, 91, 50, 93, 0,111,114,105,103,105,110, 79,112,
-116,115, 0,111,102,102,115,101,116, 95,102, 97, 99, 0,111,102,102,115,101,116, 95,102, 97, 99, 95,118,103, 0, 99,114,101, 97,
-115,101, 95,105,110,110,101,114, 0, 99,114,101, 97,115,101, 95,111,117,116,101,114, 0, 99,114,101, 97,115,101, 95,114,105,109,
- 0,109, 97,116, 95,111,102,115, 0,109, 97,116, 95,111,102,115, 95,114,105,109, 0, 42,111, 98, 95, 97,120,105,115, 0,115,116,
-101,112,115, 0,114,101,110,100,101,114, 95,115,116,101,112,115, 0,105,116,101,114, 0,115, 99,114,101,119, 95,111,102,115, 0,
- 97,110,103,108,101, 0, 42,111, 99,101, 97,110, 0, 42,111, 99,101, 97,110, 99, 97, 99,104,101, 0,114,101,115,111,108,117,116,
-105,111,110, 0,115,112, 97,116,105, 97,108, 95,115,105,122,101, 0,119,105,110,100, 95,118,101,108,111, 99,105,116,121, 0,115,
-109, 97,108,108,101,115,116, 95,119, 97,118,101, 0,119, 97,118,101, 95, 97,108,105,103,110,109,101,110,116, 0,119, 97,118,101,
- 95,100,105,114,101, 99,116,105,111,110, 0,119, 97,118,101, 95,115, 99, 97,108,101, 0, 99,104,111,112, 95, 97,109,111,117,110,
-116, 0,102,111, 97,109, 95, 99,111,118,101,114, 97,103,101, 0, 98, 97,107,101,115,116, 97,114,116, 0, 98, 97,107,101,101,110,
-100, 0, 99, 97, 99,104,101,112, 97,116,104, 91, 49, 48, 50, 52, 93, 0,102,111, 97,109,108, 97,121,101,114,110, 97,109,101, 91,
- 54, 52, 93, 0, 99, 97, 99,104,101,100, 0,103,101,111,109,101,116,114,121, 95,109,111,100,101, 0,114,101,102,114,101,115,104,
- 0,114,101,112,101, 97,116, 95,120, 0,114,101,112,101, 97,116, 95,121, 0,102,111, 97,109, 95,102, 97,100,101, 0, 42,111, 98,
-106,101, 99,116, 95,102,114,111,109, 0, 42,111, 98,106,101, 99,116, 95,116,111, 0,102, 97,108,108,111,102,102, 95,114, 97,100,
-105,117,115, 0,101,100,105,116, 95,102,108, 97,103,115, 0,100,101,102, 97,117,108,116, 95,119,101,105,103,104,116, 0, 42, 99,
-109, 97,112, 95, 99,117,114,118,101, 0, 97,100,100, 95,116,104,114,101,115,104,111,108,100, 0,114,101,109, 95,116,104,114,101,
-115,104,111,108,100, 0,109, 97,115,107, 95, 99,111,110,115,116, 97,110,116, 0,109, 97,115,107, 95,100,101,102,103,114,112, 95,
-110, 97,109,101, 91, 54, 52, 93, 0,109, 97,115,107, 95,116,101,120, 95,117,115,101, 95, 99,104, 97,110,110,101,108, 0, 42,109,
- 97,115,107, 95,116,101,120,116,117,114,101, 0, 42,109, 97,115,107, 95,116,101,120, 95,109, 97,112, 95,111, 98,106, 0,109, 97,
-115,107, 95,116,101,120, 95,109, 97,112,112,105,110,103, 0,109, 97,115,107, 95,116,101,120, 95,117,118,108, 97,121,101,114, 95,
-110, 97,109,101, 91, 54, 52, 93, 0,112, 97,100, 95,105, 49, 0,100,101,102,103,114,112, 95,110, 97,109,101, 95, 97, 91, 54, 52,
- 93, 0,100,101,102,103,114,112, 95,110, 97,109,101, 95, 98, 91, 54, 52, 93, 0,100,101,102, 97,117,108,116, 95,119,101,105,103,
-104,116, 95, 97, 0,100,101,102, 97,117,108,116, 95,119,101,105,103,104,116, 95, 98, 0,109,105,120, 95,109,111,100,101, 0,109,
-105,120, 95,115,101,116, 0,112, 97,100, 95, 99, 49, 91, 54, 93, 0,112,114,111,120,105,109,105,116,121, 95,109,111,100,101, 0,
-112,114,111,120,105,109,105,116,121, 95,102,108, 97,103,115, 0, 42,112,114,111,120,105,109,105,116,121, 95,111, 98, 95,116, 97,
-114,103,101,116, 0,109,105,110, 95,100,105,115,116, 0,109, 97,120, 95,100,105,115,116, 0,112, 97,100, 95,115, 49, 0, 42, 99,
- 97,110,118, 97,115, 0, 42, 98,114,117,115,104, 0,116,104,114,101,115,104,111,108,100, 0,115, 99, 97,108,101, 0,104,101,114,
-109,105,116,101, 95,110,117,109, 0, 42,108, 97,116,116, 0,112,110,116,115,119, 0,111,112,110,116,115,117, 0,111,112,110,116,
-115,118, 0,111,112,110,116,115,119, 0,116,121,112,101,117, 0,116,121,112,101,118, 0,116,121,112,101,119, 0,102,117, 0,102,
-118, 0,102,119, 0,100,117, 0,100,118, 0,100,119, 0, 42,100,101,102, 0, 42,108, 97,116,116,105, 99,101,100, 97,116, 97, 0,
-108, 97,116,109, 97,116, 91, 52, 93, 91, 52, 93, 0, 42,101,100,105,116,108, 97,116,116, 0,118,101, 99, 91, 56, 93, 91, 51, 93,
- 0, 42,115, 99,117,108,112,116, 0,112, 97,114,116,121,112,101, 0,112, 97,114, 49, 0,112, 97,114, 50, 0,112, 97,114, 51, 0,
-112, 97,114,115,117, 98,115,116,114, 91, 54, 52, 93, 0, 42,116,114, 97, 99,107, 0, 42,112,114,111,120,121, 0, 42,112,114,111,
-120,121, 95,103,114,111,117,112, 0, 42,112,114,111,120,121, 95,102,114,111,109, 0, 42, 97, 99,116,105,111,110, 0, 42,112,111,
-115,101,108,105, 98, 0, 42,112,111,115,101, 0, 42,103,112,100, 0, 97,118,115, 0, 42,109,112, 97,116,104, 0, 99,111,110,115,
-116,114, 97,105,110,116, 67,104, 97,110,110,101,108,115, 0,101,102,102,101, 99,116, 0,100,101,102, 98, 97,115,101, 0,109,111,
-100,105,102,105,101,114,115, 0,114,101,115,116,111,114,101, 95,109,111,100,101, 0, 42,109, 97,116, 98,105,116,115, 0, 97, 99,
-116, 99,111,108, 0,100,108,111, 99, 91, 51, 93, 0,111,114,105,103, 91, 51, 93, 0,100,115,105,122,101, 91, 51, 93, 0,100,115,
- 99, 97,108,101, 91, 51, 93, 0,100,114,111,116, 91, 51, 93, 0,100,113,117, 97,116, 91, 52, 93, 0,114,111,116, 65,120,105,115,
- 91, 51, 93, 0,100,114,111,116, 65,120,105,115, 91, 51, 93, 0,114,111,116, 65,110,103,108,101, 0,100,114,111,116, 65,110,103,
-108,101, 0,111, 98,109, 97,116, 91, 52, 93, 91, 52, 93, 0, 99,111,110,115,116,105,110,118, 91, 52, 93, 91, 52, 93, 0,105,109,
- 97,116, 95,114,101,110, 91, 52, 93, 91, 52, 93, 0,108, 97,121, 0,112, 97,100, 54, 0, 99,111,108, 98,105,116,115, 0,116,114,
- 97,110,115,102,108, 97,103, 0,112,114,111,116,101, 99,116,102,108, 97,103, 0,116,114, 97, 99,107,102,108, 97,103, 0,117,112,
-102,108, 97,103, 0,110,108, 97,102,108, 97,103, 0,105,112,111,102,108, 97,103, 0,115, 99, 97,102,108, 97,103, 0,115, 99, 97,
-118,105,115,102,108, 97,103, 0,112, 97,100, 53, 0,100,117,112,111,110, 0,100,117,112,111,102,102, 0,100,117,112,115,116, 97,
- 0,100,117,112,101,110,100, 0,115,102, 0,109, 97,115,115, 0,100, 97,109,112,105,110,103, 0,105,110,101,114,116,105, 97, 0,
-102,111,114,109,102, 97, 99,116,111,114, 0,114,100, 97,109,112,105,110,103, 0,109, 97,114,103,105,110, 0,109, 97,120, 95,118,
-101,108, 0,109,105,110, 95,118,101,108, 0,109, 95, 99,111,110,116, 97, 99,116, 80,114,111, 99,101,115,115,105,110,103, 84,104,
-114,101,115,104,111,108,100, 0,111, 98,115,116, 97, 99,108,101, 82, 97,100, 0,114,111,116,109,111,100,101, 0, 98,111,117,110,
-100,116,121,112,101, 0, 99,111,108,108,105,115,105,111,110, 95, 98,111,117,110,100,116,121,112,101, 0,114,101,115,116,114,105,
- 99,116,102,108, 97,103, 0,100,116, 0,101,109,112,116,121, 95,100,114, 97,119,116,121,112,101, 0,101,109,112,116,121, 95,100,
-114, 97,119,115,105,122,101, 0,100,117,112,102, 97, 99,101,115, 99, 97, 0,112,114,111,112, 0,115,101,110,115,111,114,115, 0,
- 99,111,110,116,114,111,108,108,101,114,115, 0, 97, 99,116,117, 97,116,111,114,115, 0, 98, 98,115,105,122,101, 91, 51, 93, 0,
- 97, 99,116,100,101,102, 0,103, 97,109,101,102,108, 97,103, 0,103, 97,109,101,102,108, 97,103, 50, 0, 42, 98,115,111,102,116,
- 0,115,111,102,116,102,108, 97,103, 0, 97,110,105,115,111,116,114,111,112,105, 99, 70,114,105, 99,116,105,111,110, 91, 51, 93,
- 0, 99,111,110,115,116,114, 97,105,110,116,115, 0,110,108, 97,115,116,114,105,112,115, 0,104,111,111,107,115, 0,112, 97,114,
-116,105, 99,108,101,115,121,115,116,101,109, 0, 42,115,111,102,116, 0, 42,100,117,112, 95,103,114,111,117,112, 0, 98,111,100,
-121, 95,116,121,112,101, 0,115,104, 97,112,101,102,108, 97,103, 0, 42,102,108,117,105,100,115,105,109, 83,101,116,116,105,110,
-103,115, 0, 42,100,101,114,105,118,101,100, 68,101,102,111,114,109, 0, 42,100,101,114,105,118,101,100, 70,105,110, 97,108, 0,
-108, 97,115,116, 68, 97,116, 97, 77, 97,115,107, 0, 99,117,115,116,111,109,100, 97,116, 97, 95,109, 97,115,107, 0,115,116, 97,
-116,101, 0,105,110,105,116, 95,115,116, 97,116,101, 0,103,112,117,108, 97,109,112, 0,112, 99, 95,105,100,115, 0, 42,100,117,
-112,108,105,108,105,115,116, 0,105,109, 97, 95,111,102,115, 91, 50, 93, 0, 99,117,114,105,110,100,101,120, 0, 97, 99,116,105,
-118,101, 0,111,114,105,103,108, 97,121, 0,111,109, 97,116, 91, 52, 93, 91, 52, 93, 0,111,114, 99,111, 91, 51, 93, 0,110,111,
- 95,100,114, 97,119, 0, 97,110,105,109, 97,116,101,100, 0,100,101,102,108,101, 99,116, 0,102,111,114, 99,101,102,105,101,108,
-100, 0,115,104, 97,112,101, 0,116,101,120, 95,109,111,100,101, 0,107,105,110,107, 0,107,105,110,107, 95, 97,120,105,115, 0,
-122,100,105,114, 0,102, 95,115,116,114,101,110,103,116,104, 0,102, 95,100, 97,109,112, 0,102, 95,102,108,111,119, 0,102, 95,
-115,105,122,101, 0,102, 95,112,111,119,101,114, 0,109, 97,120,100,105,115,116, 0,109,105,110,100,105,115,116, 0,102, 95,112,
-111,119,101,114, 95,114, 0,109, 97,120,114, 97,100, 0,109,105,110,114, 97,100, 0,112,100,101,102, 95,100, 97,109,112, 0,112,
-100,101,102, 95,114,100, 97,109,112, 0,112,100,101,102, 95,112,101,114,109, 0,112,100,101,102, 95,102,114,105, 99,116, 0,112,
-100,101,102, 95,114,102,114,105, 99,116, 0,112,100,101,102, 95,115,116,105, 99,107,110,101,115,115, 0, 97, 98,115,111,114,112,
-116,105,111,110, 0,112,100,101,102, 95,115, 98,100, 97,109,112, 0,112,100,101,102, 95,115, 98,105,102,116, 0,112,100,101,102,
- 95,115, 98,111,102,116, 0, 99,108,117,109,112, 95,102, 97, 99, 0, 99,108,117,109,112, 95,112,111,119, 0,107,105,110,107, 95,
-102,114,101,113, 0,107,105,110,107, 95,115,104, 97,112,101, 0,107,105,110,107, 95, 97,109,112, 0,102,114,101,101, 95,101,110,
-100, 0,116,101,120, 95,110, 97, 98,108, 97, 0, 42,114,110,103, 0,102, 95,110,111,105,115,101, 0,119,101,105,103,104,116, 91,
- 49, 51, 93, 0,103,108,111, 98, 97,108, 95,103,114, 97,118,105,116,121, 0,114,116, 91, 51, 93, 0,116,111,116,100, 97,116, 97,
- 0,102,114, 97,109,101, 0,116,111,116,112,111,105,110,116, 0,100, 97,116, 97, 95,116,121,112,101,115, 0, 42,100, 97,116, 97,
- 91, 56, 93, 0, 42, 99,117,114, 91, 56, 93, 0,101,120,116,114, 97,100, 97,116, 97, 0,115,116,101,112, 0,115,105,109,102,114,
- 97,109,101, 0,115,116, 97,114,116,102,114, 97,109,101, 0,101,110,100,102,114, 97,109,101, 0,101,100,105,116,102,114, 97,109,
-101, 0,108, 97,115,116, 95,101,120, 97, 99,116, 0,108, 97,115,116, 95,118, 97,108,105,100, 0, 99,111,109,112,114,101,115,115,
-105,111,110, 0,112,114,101,118, 95,110, 97,109,101, 91, 54, 52, 93, 0,105,110,102,111, 91, 54, 52, 93, 0,112, 97,116,104, 91,
- 49, 48, 50, 52, 93, 0, 42, 99, 97, 99,104,101,100, 95,102,114, 97,109,101,115, 0,109,101,109, 95, 99, 97, 99,104,101, 0, 42,
-101,100,105,116, 0, 40, 42,102,114,101,101, 95,101,100,105,116, 41, 40, 41, 0,108,105,110, 83,116,105,102,102, 0, 97,110,103,
- 83,116,105,102,102, 0,118,111,108,117,109,101, 0,118,105,116,101,114, 97,116,105,111,110,115, 0,112,105,116,101,114, 97,116,
-105,111,110,115, 0,100,105,116,101,114, 97,116,105,111,110,115, 0, 99,105,116,101,114, 97,116,105,111,110,115, 0,107, 83, 82,
- 72, 82, 95, 67, 76, 0,107, 83, 75, 72, 82, 95, 67, 76, 0,107, 83, 83, 72, 82, 95, 67, 76, 0,107, 83, 82, 95, 83, 80, 76, 84,
- 95, 67, 76, 0,107, 83, 75, 95, 83, 80, 76, 84, 95, 67, 76, 0,107, 83, 83, 95, 83, 80, 76, 84, 95, 67, 76, 0,107, 86, 67, 70,
- 0,107, 68, 80, 0,107, 68, 71, 0,107, 76, 70, 0,107, 80, 82, 0,107, 86, 67, 0,107, 68, 70, 0,107, 77, 84, 0,107, 67, 72,
- 82, 0,107, 75, 72, 82, 0,107, 83, 72, 82, 0,107, 65, 72, 82, 0, 99,111,108,108,105,115,105,111,110,102,108, 97,103,115, 0,
-110,117,109, 99,108,117,115,116,101,114,105,116,101,114, 97,116,105,111,110,115, 0,119,101,108,100,105,110,103, 0,116,111,116,
-115,112,114,105,110,103, 0, 42, 98,112,111,105,110,116, 0, 42, 98,115,112,114,105,110,103, 0,109,115,103, 95,108,111, 99,107,
- 0,109,115,103, 95,118, 97,108,117,101, 0,110,111,100,101,109, 97,115,115, 0,110, 97,109,101,100, 86, 71, 95, 77, 97,115,115,
- 91, 54, 52, 93, 0,103,114, 97,118, 0,109,101,100,105, 97,102,114,105, 99,116, 0,114,107,108,105,109,105,116, 0,112,104,121,
-115,105, 99,115, 95,115,112,101,101,100, 0,103,111, 97,108,115,112,114,105,110,103, 0,103,111, 97,108,102,114,105, 99,116, 0,
-109,105,110,103,111, 97,108, 0,109, 97,120,103,111, 97,108, 0,100,101,102,103,111, 97,108, 0,118,101,114,116,103,114,111,117,
-112, 0,110, 97,109,101,100, 86, 71, 95, 83,111,102,116,103,111, 97,108, 91, 54, 52, 93, 0,102,117,122,122,121,110,101,115,115,
- 0,105,110,115,112,114,105,110,103, 0,105,110,102,114,105, 99,116, 0,110, 97,109,101,100, 86, 71, 95, 83,112,114,105,110,103,
- 95, 75, 91, 54, 52, 93, 0,101,102,114, 97, 0,105,110,116,101,114,118, 97,108, 0,108,111, 99, 97,108, 0,115,111,108,118,101,
-114,102,108, 97,103,115, 0, 42, 42,107,101,121,115, 0,116,111,116,112,111,105,110,116,107,101,121, 0,115,101, 99,111,110,100,
-115,112,114,105,110,103, 0, 99,111,108, 98, 97,108,108, 0, 98, 97,108,108,100, 97,109,112, 0, 98, 97,108,108,115,116,105,102,
-102, 0,115, 98, 99, 95,109,111,100,101, 0, 97,101,114,111,101,100,103,101, 0,109,105,110,108,111,111,112,115, 0,109, 97,120,
-108,111,111,112,115, 0, 99,104,111,107,101, 0,115,111,108,118,101,114, 95, 73, 68, 0,112,108, 97,115,116,105, 99, 0,115,112,
-114,105,110,103,112,114,101,108,111, 97,100, 0, 42,115, 99,114, 97,116, 99,104, 0,115,104,101, 97,114,115,116,105,102,102, 0,
-105,110,112,117,115,104, 0, 42,112,111,105,110,116, 99, 97, 99,104,101, 0, 42,101,102,102,101, 99,116,111,114, 95,119,101,105,
-103,104,116,115, 0,108, 99,111,109, 91, 51, 93, 0,108,114,111,116, 91, 51, 93, 91, 51, 93, 0,108,115, 99, 97,108,101, 91, 51,
- 93, 91, 51, 93, 0,108, 97,115,116, 95,102,114, 97,109,101, 0,118,101,108, 91, 51, 93, 0, 42,102,109,100, 0,115,104,111,119,
- 95, 97,100,118, 97,110, 99,101,100,111,112,116,105,111,110,115, 0,114,101,115,111,108,117,116,105,111,110,120,121,122, 0,112,
-114,101,118,105,101,119,114,101,115,120,121,122, 0,114,101, 97,108,115,105,122,101, 0,103,117,105, 68,105,115,112,108, 97,121,
- 77,111,100,101, 0,114,101,110,100,101,114, 68,105,115,112,108, 97,121, 77,111,100,101, 0,118,105,115, 99,111,115,105,116,121,
- 86, 97,108,117,101, 0,118,105,115, 99,111,115,105,116,121, 77,111,100,101, 0,118,105,115, 99,111,115,105,116,121, 69,120,112,
-111,110,101,110,116, 0,103,114, 97,118, 91, 51, 93, 0, 97,110,105,109, 83,116, 97,114,116, 0, 97,110,105,109, 69,110,100, 0,
- 98, 97,107,101, 83,116, 97,114,116, 0, 98, 97,107,101, 69,110,100, 0,102,114, 97,109,101, 79,102,102,115,101,116, 0,103,115,
-116, 97,114, 0,109, 97,120, 82,101,102,105,110,101, 0,105,110,105, 86,101,108,120, 0,105,110,105, 86,101,108,121, 0,105,110,
-105, 86,101,108,122, 0, 42,111,114,103, 77,101,115,104, 0, 42,109,101,115,104, 66, 66, 0,115,117,114,102,100, 97,116, 97, 80,
- 97,116,104, 91, 49, 48, 50, 52, 93, 0, 98, 98, 83,116, 97,114,116, 91, 51, 93, 0, 98, 98, 83,105,122,101, 91, 51, 93, 0,116,
-121,112,101, 70,108, 97,103,115, 0,100,111,109, 97,105,110, 78,111,118,101, 99,103,101,110, 0,118,111,108,117,109,101, 73,110,
-105,116, 84,121,112,101, 0,112, 97,114,116, 83,108,105,112, 86, 97,108,117,101, 0,103,101,110,101,114, 97,116,101, 84,114, 97,
- 99,101,114,115, 0,103,101,110,101,114, 97,116,101, 80, 97,114,116,105, 99,108,101,115, 0,115,117,114,102, 97, 99,101, 83,109,
-111,111,116,104,105,110,103, 0,115,117,114,102, 97, 99,101, 83,117, 98,100,105,118,115, 0,112, 97,114,116,105, 99,108,101, 73,
-110,102, 83,105,122,101, 0,112, 97,114,116,105, 99,108,101, 73,110,102, 65,108,112,104, 97, 0,102, 97,114, 70,105,101,108,100,
- 83,105,122,101, 0, 42,109,101,115,104, 86,101,108,111, 99,105,116,105,101,115, 0, 99,112,115, 84,105,109,101, 83,116, 97,114,
-116, 0, 99,112,115, 84,105,109,101, 69,110,100, 0, 99,112,115, 81,117, 97,108,105,116,121, 0, 97,116,116,114, 97, 99,116,102,
-111,114, 99,101, 83,116,114,101,110,103,116,104, 0, 97,116,116,114, 97, 99,116,102,111,114, 99,101, 82, 97,100,105,117,115, 0,
-118,101,108,111, 99,105,116,121,102,111,114, 99,101, 83,116,114,101,110,103,116,104, 0,118,101,108,111, 99,105,116,121,102,111,
-114, 99,101, 82, 97,100,105,117,115, 0,108, 97,115,116,103,111,111,100,102,114, 97,109,101, 0, 97,110,105,109, 82, 97,116,101,
- 0,109,105,115,116,121,112,101, 0,104,111,114,114, 0,104,111,114,103, 0,104,111,114, 98, 0,122,101,110,114, 0,122,101,110,
-103, 0,122,101,110, 98, 0,102, 97,115,116, 99,111,108, 0,101,120,112,111,115,117,114,101, 0,101,120,112, 0,114, 97,110,103,
-101, 0,108,105,110,102, 97, 99, 0,108,111,103,102, 97, 99, 0,103,114, 97,118,105,116,121, 0, 97, 99,116,105,118,105,116,121,
- 66,111,120, 82, 97,100,105,117,115, 0,115,107,121,116,121,112,101, 0,111, 99, 99,108,117,115,105,111,110, 82,101,115, 0,112,
-104,121,115,105, 99,115, 69,110,103,105,110,101, 0,116,105, 99,114, 97,116,101, 0,109, 97,120,108,111,103,105, 99,115,116,101,
-112, 0,112,104,121,115,117, 98,115,116,101,112, 0,109, 97,120,112,104,121,115,116,101,112, 0,109,105,115,105, 0,109,105,115,
-116,115,116, 97, 0,109,105,115,116,100,105,115,116, 0,109,105,115,116,104,105, 0,115,116, 97,114,114, 0,115,116, 97,114,103,
- 0,115,116, 97,114, 98, 0,115,116, 97,114,107, 0,115,116, 97,114,115,105,122,101, 0,115,116, 97,114,109,105,110,100,105,115,
-116, 0,115,116, 97,114,100,105,115,116, 0,115,116, 97,114, 99,111,108,110,111,105,115,101, 0,100,111,102,115,116, 97, 0,100,
-111,102,101,110,100, 0,100,111,102,109,105,110, 0,100,111,102,109, 97,120, 0, 97,111,100,105,115,116, 0, 97,111,100,105,115,
-116,102, 97, 99, 0, 97,111,101,110,101,114,103,121, 0, 97,111, 98,105, 97,115, 0, 97,111,109,111,100,101, 0, 97,111,115, 97,
-109,112, 0, 97,111,109,105,120, 0, 97,111, 99,111,108,111,114, 0, 97,111, 95, 97,100, 97,112,116, 95,116,104,114,101,115,104,
- 0, 97,111, 95, 97,100, 97,112,116, 95,115,112,101,101,100, 95,102, 97, 99, 0, 97,111, 95, 97,112,112,114,111,120, 95,101,114,
-114,111,114, 0, 97,111, 95, 97,112,112,114,111,120, 95, 99,111,114,114,101, 99,116,105,111,110, 0, 97,111, 95,105,110,100,105,
-114,101, 99,116, 95,101,110,101,114,103,121, 0, 97,111, 95,101,110,118, 95,101,110,101,114,103,121, 0, 97,111, 95,112, 97,100,
- 50, 0, 97,111, 95,105,110,100,105,114,101, 99,116, 95, 98,111,117,110, 99,101,115, 0, 97,111, 95,112, 97,100, 0, 97,111, 95,
-115, 97,109,112, 95,109,101,116,104,111,100, 0, 97,111, 95,103, 97,116,104,101,114, 95,109,101,116,104,111,100, 0, 97,111, 95,
- 97,112,112,114,111,120, 95,112, 97,115,115,101,115, 0, 42, 97,111,115,112,104,101,114,101, 0, 42, 97,111,116, 97, 98,108,101,
-115, 0,115,101,108, 99,111,108, 0,115,120, 0,115,121, 0, 42,108,112, 70,111,114,109, 97,116, 0, 42,108,112, 80, 97,114,109,
-115, 0, 99, 98, 70,111,114,109, 97,116, 0, 99, 98, 80, 97,114,109,115, 0,102, 99, 99, 84,121,112,101, 0,102, 99, 99, 72, 97,
-110,100,108,101,114, 0,100,119, 75,101,121, 70,114, 97,109,101, 69,118,101,114,121, 0,100,119, 81,117, 97,108,105,116,121, 0,
-100,119, 66,121,116,101,115, 80,101,114, 83,101, 99,111,110,100, 0,100,119, 70,108, 97,103,115, 0,100,119, 73,110,116,101,114,
-108,101, 97,118,101, 69,118,101,114,121, 0, 97,118,105, 99,111,100,101, 99,110, 97,109,101, 91, 49, 50, 56, 93, 0, 42, 99,100,
- 80, 97,114,109,115, 0, 42,112, 97,100, 0, 99,100, 83,105,122,101, 0,113,116, 99,111,100,101, 99,110, 97,109,101, 91, 49, 50,
- 56, 93, 0, 99,111,100,101, 99, 84,121,112,101, 0, 99,111,100,101, 99, 83,112, 97,116,105, 97,108, 81,117, 97,108,105,116,121,
- 0, 99,111,100,101, 99, 0, 99,111,100,101, 99, 70,108, 97,103,115, 0, 99,111,108,111,114, 68,101,112,116,104, 0, 99,111,100,
-101, 99, 84,101,109,112,111,114, 97,108, 81,117, 97,108,105,116,121, 0,109,105,110, 83,112, 97,116,105, 97,108, 81,117, 97,108,
-105,116,121, 0,109,105,110, 84,101,109,112,111,114, 97,108, 81,117, 97,108,105,116,121, 0,107,101,121, 70,114, 97,109,101, 82,
- 97,116,101, 0, 98,105,116, 82, 97,116,101, 0, 97,117,100,105,111, 99,111,100,101, 99, 84,121,112,101, 0, 97,117,100,105,111,
- 83, 97,109,112,108,101, 82, 97,116,101, 0, 97,117,100,105,111, 66,105,116, 68,101,112,116,104, 0, 97,117,100,105,111, 67,104,
- 97,110,110,101,108,115, 0, 97,117,100,105,111, 67,111,100,101, 99, 70,108, 97,103,115, 0, 97,117,100,105,111, 66,105,116, 82,
- 97,116,101, 0, 97,117,100,105,111, 95, 99,111,100,101, 99, 0,118,105,100,101,111, 95, 98,105,116,114, 97,116,101, 0, 97,117,
-100,105,111, 95, 98,105,116,114, 97,116,101, 0, 97,117,100,105,111, 95,109,105,120,114, 97,116,101, 0, 97,117,100,105,111, 95,
- 99,104, 97,110,110,101,108,115, 0, 97,117,100,105,111, 95,112, 97,100, 0, 97,117,100,105,111, 95,118,111,108,117,109,101, 0,
-103,111,112, 95,115,105,122,101, 0,114, 99, 95,109,105,110, 95,114, 97,116,101, 0,114, 99, 95,109, 97,120, 95,114, 97,116,101,
- 0,114, 99, 95, 98,117,102,102,101,114, 95,115,105,122,101, 0,109,117,120, 95,112, 97, 99,107,101,116, 95,115,105,122,101, 0,
-109,117,120, 95,114, 97,116,101, 0,109,105,120,114, 97,116,101, 0,109, 97,105,110, 0,115,112,101,101,100, 95,111,102, 95,115,
-111,117,110,100, 0,100,111,112,112,108,101,114, 95,102, 97, 99,116,111,114, 0,100,105,115,116, 97,110, 99,101, 95,109,111,100,
-101,108, 0, 42,109, 97,116, 95,111,118,101,114,114,105,100,101, 0, 42,108,105,103,104,116, 95,111,118,101,114,114,105,100,101,
- 0,108, 97,121, 95,122,109, 97,115,107, 0,108, 97,121, 95,101,120, 99,108,117,100,101, 0,108, 97,121,102,108, 97,103, 0,112,
- 97,115,115,102,108, 97,103, 0,112, 97,115,115, 95,120,111,114, 0,115, 97,109,112,108,101,115, 0,105,109,116,121,112,101, 0,
-112,108, 97,110,101,115, 0,113,117, 97,108,105,116,121, 0, 99,111,109,112,114,101,115,115, 0,101,120,114, 95, 99,111,100,101,
- 99, 0, 99,105,110,101,111,110, 95,102,108, 97,103, 0, 99,105,110,101,111,110, 95,119,104,105,116,101, 0, 99,105,110,101,111,
-110, 95, 98,108, 97, 99,107, 0, 99,105,110,101,111,110, 95,103, 97,109,109, 97, 0,106,112, 50, 95,102,108, 97,103, 0,105,109,
- 95,102,111,114,109, 97,116, 0, 42, 97,118,105, 99,111,100,101, 99,100, 97,116, 97, 0, 42,113,116, 99,111,100,101, 99,100, 97,
-116, 97, 0,113,116, 99,111,100,101, 99,115,101,116,116,105,110,103,115, 0,102,102, 99,111,100,101, 99,100, 97,116, 97, 0,115,
-117, 98,102,114, 97,109,101, 0,112,115,102,114, 97, 0,112,101,102,114, 97, 0,105,109, 97,103,101,115, 0,102,114, 97,109, 97,
-112,116,111, 0,116,104,114,101, 97,100,115, 0,102,114, 97,109,101,108,101,110, 0, 98,108,117,114,102, 97, 99, 0,101,100,103,
-101, 82, 0,101,100,103,101, 71, 0,101,100,103,101, 66, 0,102,117,108,108,115, 99,114,101,101,110, 0,120,112,108, 97,121, 0,
-121,112,108, 97,121, 0,102,114,101,113,112,108, 97,121, 0, 97,116,116,114,105, 98, 0,102,114, 97,109,101, 95,115,116,101,112,
- 0,115,116,101,114,101,111,109,111,100,101, 0,100,105,109,101,110,115,105,111,110,115,112,114,101,115,101,116, 0,109, 97,120,
-105,109,115,105,122,101, 0,120,115, 99,104, 0,121,115, 99,104, 0,120,112, 97,114,116,115, 0,121,112, 97,114,116,115, 0,115,
-117, 98,105,109,116,121,112,101, 0,100,105,115,112,108, 97,121,109,111,100,101, 0,115, 99,101,109,111,100,101, 0,114, 97,121,
-116,114, 97, 99,101, 95,111,112,116,105,111,110,115, 0,114, 97,121,116,114, 97, 99,101, 95,115,116,114,117, 99,116,117,114,101,
- 0,111, 99,114,101,115, 0,112, 97,100, 52, 0, 97,108,112,104, 97,109,111,100,101, 0,111,115, 97, 0,102,114,115, 95,115,101,
- 99, 0,101,100,103,101,105,110,116, 0,115, 97,102,101,116,121, 0, 98,111,114,100,101,114, 0,100,105,115,112,114,101, 99,116,
- 0,108, 97,121,101,114,115, 0, 97, 99,116,108, 97,121, 0,109, 98,108,117,114, 95,115, 97,109,112,108,101,115, 0,120, 97,115,
-112, 0,121, 97,115,112, 0,102,114,115, 95,115,101, 99, 95, 98, 97,115,101, 0,103, 97,117,115,115, 0, 99,111,108,111,114, 95,
-109,103,116, 95,102,108, 97,103, 0,112,111,115,116,103, 97,109,109, 97, 0,112,111,115,116,104,117,101, 0,112,111,115,116,115,
- 97,116, 0,100,105,116,104,101,114, 95,105,110,116,101,110,115,105,116,121, 0, 98, 97,107,101, 95,111,115, 97, 0, 98, 97,107,
-101, 95,102,105,108,116,101,114, 0, 98, 97,107,101, 95,109,111,100,101, 0, 98, 97,107,101, 95,102,108, 97,103, 0, 98, 97,107,
-101, 95,110,111,114,109, 97,108, 95,115,112, 97, 99,101, 0, 98, 97,107,101, 95,113,117, 97,100, 95,115,112,108,105,116, 0, 98,
- 97,107,101, 95,109, 97,120,100,105,115,116, 0, 98, 97,107,101, 95, 98,105, 97,115,100,105,115,116, 0, 98, 97,107,101, 95,112,
- 97,100, 0,112,105, 99, 91, 49, 48, 50, 52, 93, 0,115,116, 97,109,112, 0,115,116, 97,109,112, 95,102,111,110,116, 95,105,100,
- 0,115,116, 97,109,112, 95,117,100, 97,116, 97, 91, 55, 54, 56, 93, 0,102,103, 95,115,116, 97,109,112, 91, 52, 93, 0, 98,103,
- 95,115,116, 97,109,112, 91, 52, 93, 0,115,101,113, 95,112,114,101,118, 95,116,121,112,101, 0,115,101,113, 95,114,101,110,100,
- 95,116,121,112,101, 0,115,101,113, 95,102,108, 97,103, 0,112, 97,100, 53, 91, 53, 93, 0,115,105,109,112,108,105,102,121, 95,
-102,108, 97,103, 0,115,105,109,112,108,105,102,121, 95,115,117, 98,115,117,114,102, 0,115,105,109,112,108,105,102,121, 95,115,
-104, 97,100,111,119,115, 97,109,112,108,101,115, 0,115,105,109,112,108,105,102,121, 95,112, 97,114,116,105, 99,108,101,115, 0,
-115,105,109,112,108,105,102,121, 95, 97,111,115,115,115, 0, 99,105,110,101,111,110,119,104,105,116,101, 0, 99,105,110,101,111,
-110, 98,108, 97, 99,107, 0, 99,105,110,101,111,110,103, 97,109,109, 97, 0,106,112, 50, 95,112,114,101,115,101,116, 0,106,112,
- 50, 95,100,101,112,116,104, 0,114,112, 97,100, 51, 0,100,111,109,101,114,101,115, 0,100,111,109,101,109,111,100,101, 0,100,
-111,109,101, 97,110,103,108,101, 0,100,111,109,101,116,105,108,116, 0,100,111,109,101,114,101,115, 98,117,102, 0, 42,100,111,
-109,101,116,101,120,116, 0,101,110,103,105,110,101, 91, 51, 50, 93, 0,110, 97,109,101, 91, 51, 50, 93, 0,112, 97,114,116,105,
- 99,108,101, 95,112,101,114, 99, 0,115,117, 98,115,117,114,102, 95,109, 97,120, 0,115,104, 97,100, 98,117,102,115, 97,109,112,
-108,101, 95,109, 97,120, 0, 97,111, 95,101,114,114,111,114, 0,116,105,108,116, 0,114,101,115, 98,117,102, 0, 42,119, 97,114,
-112,116,101,120,116, 0, 99,111,108, 91, 51, 93, 0, 99,101,108,108,115,105,122,101, 0, 99,101,108,108,104,101,105,103,104,116,
- 0, 97,103,101,110,116,109, 97,120,115,108,111,112,101, 0, 97,103,101,110,116,109, 97,120, 99,108,105,109, 98, 0, 97,103,101,
-110,116,104,101,105,103,104,116, 0, 97,103,101,110,116,114, 97,100,105,117,115, 0,101,100,103,101,109, 97,120,108,101,110, 0,
-101,100,103,101,109, 97,120,101,114,114,111,114, 0,114,101,103,105,111,110,109,105,110,115,105,122,101, 0,114,101,103,105,111,
-110,109,101,114,103,101,115,105,122,101, 0,118,101,114,116,115,112,101,114,112,111,108,121, 0,100,101,116, 97,105,108,115, 97,
-109,112,108,101,100,105,115,116, 0,100,101,116, 97,105,108,115, 97,109,112,108,101,109, 97,120,101,114,114,111,114, 0,102,114,
- 97,109,105,110,103, 0,112,108, 97,121,101,114,102,108, 97,103, 0,114,116, 49, 0,114,116, 50, 0, 97, 97,115, 97,109,112,108,
-101,115, 0,112, 97,100, 52, 91, 51, 93, 0,100,111,109,101, 0,115,116,101,114,101,111,102,108, 97,103, 0,101,121,101,115,101,
-112, 97,114, 97,116,105,111,110, 0,114,101, 99, 97,115,116, 68, 97,116, 97, 0,109, 97,116,109,111,100,101, 0,101,120,105,116,
-107,101,121, 0,111, 98,115,116, 97, 99,108,101, 83,105,109,117,108, 97,116,105,111,110, 0,108,101,118,101,108, 72,101,105,103,
-104,116, 0, 42, 99, 97,109,101,114, 97, 0, 42,112, 97,105,110,116, 95, 99,117,114,115,111,114, 0,112, 97,105,110,116, 95, 99,
-117,114,115,111,114, 95, 99,111,108, 91, 52, 93, 0,110,117,109, 95,105,110,112,117,116, 95,115, 97,109,112,108,101,115, 0,112,
- 97,105,110,116, 0,115,101, 97,109, 95, 98,108,101,101,100, 0,110,111,114,109, 97,108, 95, 97,110,103,108,101, 0,115, 99,114,
-101,101,110, 95,103,114, 97, 98, 95,115,105,122,101, 91, 50, 93, 0, 42,112, 97,105,110,116, 99,117,114,115,111,114, 0,105,110,
-118,101,114,116, 0,116,111,116,114,101,107,101,121, 0,116,111,116, 97,100,100,107,101,121, 0, 98,114,117,115,104,116,121,112,
-101, 0, 98,114,117,115,104, 91, 55, 93, 0,101,109,105,116,116,101,114,100,105,115,116, 0,115,101,108,101, 99,116,109,111,100,
-101, 0,101,100,105,116,116,121,112,101, 0,100,114, 97,119, 95,115,116,101,112, 0,102, 97,100,101, 95,102,114, 97,109,101,115,
- 0,114, 97,100,105, 97,108, 95,115,121,109,109, 91, 51, 93, 0,108, 97,115,116, 95,120, 0,108, 97,115,116, 95,121, 0,108, 97,
-115,116, 95, 97,110,103,108,101, 0,100,114, 97,119, 95, 97,110, 99,104,111,114,101,100, 0, 97,110, 99,104,111,114,101,100, 95,
-115,105,122,101, 0, 97,110, 99,104,111,114,101,100, 95,108,111, 99, 97,116,105,111,110, 91, 51, 93, 0, 97,110, 99,104,111,114,
-101,100, 95,105,110,105,116,105, 97,108, 95,109,111,117,115,101, 91, 50, 93, 0,100,114, 97,119, 95,112,114,101,115,115,117,114,
-101, 0,112,114,101,115,115,117,114,101, 95,118, 97,108,117,101, 0,115,112,101, 99,105, 97,108, 95,114,111,116, 97,116,105,111,
-110, 0, 42,118,112, 97,105,110,116, 95,112,114,101,118, 0, 42,119,112, 97,105,110,116, 95,112,114,101,118, 0,109, 97,116, 91,
- 51, 93, 91, 51, 93, 0,117,110,112,114,111,106,101, 99,116,101,100, 95,114, 97,100,105,117,115, 0, 42,118,112, 97,105,110,116,
- 0, 42,119,112, 97,105,110,116, 0, 42,117,118,115, 99,117,108,112,116, 0,118,103,114,111,117,112, 95,119,101,105,103,104,116,
- 0, 99,111,114,110,101,114,116,121,112,101, 0,106,111,105,110,116,114,105,108,105,109,105,116, 0,100,101,103,114, 0,116,117,
-114,110, 0,101,120,116,114, 95,111,102,102,115, 0,100,111,117, 98,108,105,109,105,116, 0,110,111,114,109, 97,108,115,105,122,
-101, 0, 97,117,116,111,109,101,114,103,101, 0,115,101,103,109,101,110,116,115, 0,114,105,110,103,115, 0,118,101,114,116,105,
- 99,101,115, 0,117,110,119,114, 97,112,112,101,114, 0,117,118, 99, 97,108, 99, 95,114, 97,100,105,117,115, 0,117,118, 99, 97,
-108, 99, 95, 99,117, 98,101,115,105,122,101, 0,117,118, 99, 97,108, 99, 95,109, 97,114,103,105,110, 0,117,118, 99, 97,108, 99,
- 95,109, 97,112,100,105,114, 0,117,118, 99, 97,108, 99, 95,109, 97,112, 97,108,105,103,110, 0,117,118, 99, 97,108, 99, 95,102,
-108, 97,103, 0,117,118, 95,102,108, 97,103, 0,117,118, 95,115,101,108,101, 99,116,109,111,100,101, 0,117,118, 95,115,117, 98,
-115,117,114,102, 95,108,101,118,101,108, 0,103,112,101,110, 99,105,108, 95,102,108, 97,103,115, 0, 97,117,116,111,105,107, 95,
- 99,104, 97,105,110,108,101,110, 0,105,109, 97,112, 97,105,110,116, 0,112, 97,114,116,105, 99,108,101, 0,112,114,111,112,111,
-114,116,105,111,110, 97,108, 95,115,105,122,101, 0,115,101,108,101, 99,116, 95,116,104,114,101,115,104, 0, 99,108,101, 97,110,
- 95,116,104,114,101,115,104, 0, 97,117,116,111,107,101,121, 95,109,111,100,101, 0, 97,117,116,111,107,101,121, 95,102,108, 97,
-103, 0,109,117,108,116,105,114,101,115, 95,115,117, 98,100,105,118, 95,116,121,112,101, 0,112, 97,100, 50, 91, 53, 93, 0,115,
-107,103,101,110, 95,114,101,115,111,108,117,116,105,111,110, 0,115,107,103,101,110, 95,116,104,114,101,115,104,111,108,100, 95,
-105,110,116,101,114,110, 97,108, 0,115,107,103,101,110, 95,116,104,114,101,115,104,111,108,100, 95,101,120,116,101,114,110, 97,
-108, 0,115,107,103,101,110, 95,108,101,110,103,116,104, 95,114, 97,116,105,111, 0,115,107,103,101,110, 95,108,101,110,103,116,
-104, 95,108,105,109,105,116, 0,115,107,103,101,110, 95, 97,110,103,108,101, 95,108,105,109,105,116, 0,115,107,103,101,110, 95,
- 99,111,114,114,101,108, 97,116,105,111,110, 95,108,105,109,105,116, 0,115,107,103,101,110, 95,115,121,109,109,101,116,114,121,
- 95,108,105,109,105,116, 0,115,107,103,101,110, 95,114,101,116, 97,114,103,101,116, 95, 97,110,103,108,101, 95,119,101,105,103,
-104,116, 0,115,107,103,101,110, 95,114,101,116, 97,114,103,101,116, 95,108,101,110,103,116,104, 95,119,101,105,103,104,116, 0,
-115,107,103,101,110, 95,114,101,116, 97,114,103,101,116, 95,100,105,115,116, 97,110, 99,101, 95,119,101,105,103,104,116, 0,115,
-107,103,101,110, 95,111,112,116,105,111,110,115, 0,115,107,103,101,110, 95,112,111,115,116,112,114,111, 0,115,107,103,101,110,
- 95,112,111,115,116,112,114,111, 95,112, 97,115,115,101,115, 0,115,107,103,101,110, 95,115,117, 98,100,105,118,105,115,105,111,
-110,115, 91, 51, 93, 0,115,107,103,101,110, 95,109,117,108,116,105, 95,108,101,118,101,108, 0, 42,115,107,103,101,110, 95,116,
-101,109,112,108, 97,116,101, 0, 98,111,110,101, 95,115,107,101,116, 99,104,105,110,103, 0, 98,111,110,101, 95,115,107,101,116,
- 99,104,105,110,103, 95, 99,111,110,118,101,114,116, 0,115,107,103,101,110, 95,115,117, 98,100,105,118,105,115,105,111,110, 95,
-110,117,109, 98,101,114, 0,115,107,103,101,110, 95,114,101,116, 97,114,103,101,116, 95,111,112,116,105,111,110,115, 0,115,107,
-103,101,110, 95,114,101,116, 97,114,103,101,116, 95,114,111,108,108, 0,115,107,103,101,110, 95,115,105,100,101, 95,115,116,114,
-105,110,103, 91, 56, 93, 0,115,107,103,101,110, 95,110,117,109, 95,115,116,114,105,110,103, 91, 56, 93, 0,101,100,103,101, 95,
-109,111,100,101, 0,101,100,103,101, 95,109,111,100,101, 95,108,105,118,101, 95,117,110,119,114, 97,112, 0,115,110, 97,112, 95,
-109,111,100,101, 0,115,110, 97,112, 95,102,108, 97,103, 0,115,110, 97,112, 95,116, 97,114,103,101,116, 0,112,114,111,112,111,
-114,116,105,111,110, 97,108, 0,112,114,111,112, 95,109,111,100,101, 0,112,114,111,112,111,114,116,105,111,110, 97,108, 95,111,
- 98,106,101, 99,116,115, 0,112, 97,100, 91, 53, 93, 0, 97,117,116,111, 95,110,111,114,109, 97,108,105,122,101, 0,109,117,108,
-116,105,112, 97,105,110,116, 0,117,115,101, 95,117,118, 95,115, 99,117,108,112,116, 0,117,118, 95,115, 99,117,108,112,116, 95,
-115,101,116,116,105,110,103,115, 0,117,118, 95,115, 99,117,108,112,116, 95,116,111,111,108, 0,117,118, 95,114,101,108, 97,120,
- 95,109,101,116,104,111,100, 0,115, 99,117,108,112,116, 95,112, 97,105,110,116, 95,115,101,116,116,105,110,103,115, 0,115, 99,
-117,108,112,116, 95,112, 97,105,110,116, 95,117,110,105,102,105,101,100, 95,115,105,122,101, 0,115, 99,117,108,112,116, 95,112,
- 97,105,110,116, 95,117,110,105,102,105,101,100, 95,117,110,112,114,111,106,101, 99,116,101,100, 95,114, 97,100,105,117,115, 0,
-115, 99,117,108,112,116, 95,112, 97,105,110,116, 95,117,110,105,102,105,101,100, 95, 97,108,112,104, 97, 0,117,110,105,102,105,
-101,100, 95,112, 97,105,110,116, 95,115,101,116,116,105,110,103,115, 0,116,111,116,111, 98,106, 0,116,111,116,108, 97,109,112,
- 0,116,111,116,111, 98,106,115,101,108, 0,116,111,116, 99,117,114,118,101, 0,116,111,116,109,101,115,104, 0,116,111,116, 97,
-114,109, 97,116,117,114,101, 0,115, 99, 97,108,101, 95,108,101,110,103,116,104, 0,115,121,115,116,101,109, 0,115,121,115,116,
-101,109, 95,114,111,116, 97,116,105,111,110, 0,103,114, 97,118,105,116,121, 91, 51, 93, 0,113,117,105, 99,107, 95, 99, 97, 99,
-104,101, 95,115,116,101,112, 0, 42,119,111,114,108,100, 0, 42,115,101,116, 0, 98, 97,115,101, 0, 42, 98, 97,115, 97, 99,116,
- 0, 42,111, 98,101,100,105,116, 0, 99,117,114,115,111,114, 91, 51, 93, 0,116,119, 99,101,110,116, 91, 51, 93, 0,116,119,109,
-105,110, 91, 51, 93, 0,116,119,109, 97,120, 91, 51, 93, 0,108, 97,121, 97, 99,116, 0,108, 97,121, 95,117,112,100, 97,116,101,
-100, 0, 42,101,100, 0, 42,116,111,111,108,115,101,116,116,105,110,103,115, 0, 42,115,116, 97,116,115, 0, 97,117,100,105,111,
- 0,116,114, 97,110,115,102,111,114,109, 95,115,112, 97, 99,101,115, 0, 42,115,111,117,110,100, 95,115, 99,101,110,101, 0, 42,
-115,111,117,110,100, 95,115, 99,101,110,101, 95,104, 97,110,100,108,101, 0, 42,115,111,117,110,100, 95,115, 99,114,117, 98, 95,
-104, 97,110,100,108,101, 0, 42,115,112,101, 97,107,101,114, 95,104, 97,110,100,108,101,115, 0, 42,102,112,115, 95,105,110,102,
-111, 0, 42,116,104,101, 68, 97,103, 0,100, 97,103,105,115,118, 97,108,105,100, 0,100, 97,103,102,108, 97,103,115, 0, 97, 99,
-116,105,118,101, 95,107,101,121,105,110,103,115,101,116, 0,107,101,121,105,110,103,115,101,116,115, 0,103,109, 0,117,110,105,
-116, 0,112,104,121,115,105, 99,115, 95,115,101,116,116,105,110,103,115, 0, 42, 99,108,105,112, 0, 99,117,115,116,111,109,100,
- 97,116, 97, 95,109, 97,115,107, 95,109,111,100, 97,108, 0, 99,117,115,101,114, 0, 98,108,101,110,100, 0,118,105,101,119, 0,
-119,105,110,109, 97,116, 91, 52, 93, 91, 52, 93, 0,118,105,101,119,109, 97,116, 91, 52, 93, 91, 52, 93, 0,118,105,101,119,105,
-110,118, 91, 52, 93, 91, 52, 93, 0,112,101,114,115,109, 97,116, 91, 52, 93, 91, 52, 93, 0,112,101,114,115,105,110,118, 91, 52,
- 93, 91, 52, 93, 0,118,105,101,119,109, 97,116,111, 98, 91, 52, 93, 91, 52, 93, 0,112,101,114,115,109, 97,116,111, 98, 91, 52,
- 93, 91, 52, 93, 0, 99,108,105,112, 91, 54, 93, 91, 52, 93, 0, 99,108,105,112, 95,108,111, 99, 97,108, 91, 54, 93, 91, 52, 93,
- 0, 42, 99,108,105,112, 98, 98, 0, 42,108,111, 99, 97,108,118,100, 0, 42,114,105, 0, 42,114,101,110,100,101,114, 95,101,110,
-103,105,110,101, 0, 42,100,101,112,116,104,115, 0, 42,115,109,115, 0, 42,115,109,111,111,116,104, 95,116,105,109,101,114, 0,
-116,119,109, 97,116, 91, 52, 93, 91, 52, 93, 0,118,105,101,119,113,117, 97,116, 91, 52, 93, 0,122,102, 97, 99, 0, 99, 97,109,
-100,120, 0, 99, 97,109,100,121, 0,112,105,120,115,105,122,101, 0, 99, 97,109,122,111,111,109, 0,105,115, 95,112,101,114,115,
-112, 0,112,101,114,115,112, 0,118,105,101,119,108,111, 99,107, 0,116,119,100,114, 97,119,102,108, 97,103, 0,114,102,108, 97,
-103, 0,108,118,105,101,119,113,117, 97,116, 91, 52, 93, 0,108,112,101,114,115,112, 0,108,118,105,101,119, 0,103,114,105,100,
-118,105,101,119, 0,116,119, 97,110,103,108,101, 91, 51, 93, 0,114,111,116, 95, 97,110,103,108,101, 0,114,111,116, 95, 97,120,
-105,115, 91, 51, 93, 0,114,101,103,105,111,110, 98, 97,115,101, 0,115,112, 97, 99,101,116,121,112,101, 0, 98,108,111, 99,107,
-115, 99, 97,108,101, 0, 98,108,111, 99,107,104, 97,110,100,108,101,114, 91, 56, 93, 0, 98,117,110,100,108,101, 95,115,105,122,
-101, 0, 98,117,110,100,108,101, 95,100,114, 97,119,116,121,112,101, 0,108, 97,121, 95,117,115,101,100, 0, 42,111, 98, 95, 99,
-101,110,116,114,101, 0, 98,103,112,105, 99, 98, 97,115,101, 0, 42, 98,103,112,105, 99, 0,111, 98, 95, 99,101,110,116,114,101,
- 95, 98,111,110,101, 91, 54, 52, 93, 0,100,114, 97,119,116,121,112,101, 0,111, 98, 95, 99,101,110,116,114,101, 95, 99,117,114,
-115,111,114, 0,115, 99,101,110,101,108,111, 99,107, 0, 97,114,111,117,110,100, 0,103,114,105,100, 0,110,101, 97,114, 0,102,
- 97,114, 0,109,111,100,101,115,101,108,101, 99,116, 0,103,114,105,100,108,105,110,101,115, 0,103,114,105,100,115,117, 98,100,
-105,118, 0,103,114,105,100,102,108, 97,103, 0,116,119,116,121,112,101, 0,116,119,109,111,100,101, 0,116,119,102,108, 97,103,
- 0,112, 97,100, 50, 91, 50, 93, 0, 97,102,116,101,114,100,114, 97,119, 95,116,114, 97,110,115,112, 0, 97,102,116,101,114,100,
-114, 97,119, 95,120,114, 97,121, 0, 97,102,116,101,114,100,114, 97,119, 95,120,114, 97,121,116,114, 97,110,115,112, 0,122, 98,
-117,102, 0,120,114, 97,121, 0,112, 97,100, 51, 91, 50, 93, 0, 42,112,114,111,112,101,114,116,105,101,115, 95,115,116,111,114,
- 97,103,101, 0,118,101,114,116, 0,104,111,114, 0,109, 97,115,107, 0,109,105,110, 91, 50, 93, 0,109, 97,120, 91, 50, 93, 0,
-109,105,110,122,111,111,109, 0,109, 97,120,122,111,111,109, 0,115, 99,114,111,108,108, 0,115, 99,114,111,108,108, 95,117,105,
- 0,107,101,101,112,116,111,116, 0,107,101,101,112,122,111,111,109, 0,107,101,101,112,111,102,115, 0, 97,108,105,103,110, 0,
-119,105,110,120, 0,119,105,110,121, 0,111,108,100,119,105,110,120, 0,111,108,100,119,105,110,121, 0, 42,116, 97, 98, 95,111,
-102,102,115,101,116, 0,116, 97, 98, 95,110,117,109, 0,116, 97, 98, 95, 99,117,114, 0,114,112,116, 95,109, 97,115,107, 0,118,
- 50,100, 0, 42, 97,100,115, 0,103,104,111,115,116, 67,117,114,118,101,115, 0, 97,117,116,111,115,110, 97,112, 0, 99,117,114,
-115,111,114, 86, 97,108, 0,109, 97,105,110, 98, 0,109, 97,105,110, 98,111, 0,109, 97,105,110, 98,117,115,101,114, 0,114,101,
- 95, 97,108,105,103,110, 0,112,114,101,118,105,101,119, 0,116,101,120,116,117,114,101, 95, 99,111,110,116,101,120,116, 0,112,
- 97,116,104,102,108, 97,103, 0,100, 97,116, 97,105, 99,111,110, 0, 42,112,105,110,105,100, 0, 42,116,101,120,117,115,101,114,
- 0,114,101,110,100,101,114, 95,115,105,122,101, 0, 99,104, 97,110,115,104,111,119,110, 0,122,101, 98,114, 97, 0,122,111,111,
-109, 0,116,105,116,108,101, 91, 51, 50, 93, 0,100,105,114, 91, 49, 48, 53, 54, 93, 0,102,105,108,101, 91, 50, 53, 54, 93, 0,
-114,101,110, 97,109,101,102,105,108,101, 91, 50, 53, 54, 93, 0,114,101,110, 97,109,101,101,100,105,116, 91, 50, 53, 54, 93, 0,
-102,105,108,116,101,114, 95,103,108,111, 98, 91, 54, 52, 93, 0, 97, 99,116,105,118,101, 95,102,105,108,101, 0,115,101,108, 95,
-102,105,114,115,116, 0,115,101,108, 95,108, 97,115,116, 0,115,111,114,116, 0,100,105,115,112,108, 97,121, 0,102, 95,102,112,
- 0,102,112, 95,115,116,114, 91, 56, 93, 0,115, 99,114,111,108,108, 95,111,102,102,115,101,116, 0, 42,112, 97,114, 97,109,115,
- 0, 42,102,105,108,101,115, 0, 42,102,111,108,100,101,114,115, 95,112,114,101,118, 0, 42,102,111,108,100,101,114,115, 95,110,
-101,120,116, 0, 42,111,112, 0, 42,115,109,111,111,116,104,115, 99,114,111,108,108, 95,116,105,109,101,114, 0, 42,108, 97,121,
-111,117,116, 0,114,101, 99,101,110,116,110,114, 0, 98,111,111,107,109, 97,114,107,110,114, 0,115,121,115,116,101,109,110,114,
- 0,116,114,101,101, 0, 42,116,114,101,101,115,116,111,114,101, 0,115,101, 97,114, 99,104, 95,115,116,114,105,110,103, 91, 51,
- 50, 93, 0,115,101, 97,114, 99,104, 95,116,115,101, 0,111,117,116,108,105,110,101,118,105,115, 0,115,116,111,114,101,102,108,
- 97,103, 0,115,101, 97,114, 99,104, 95,102,108, 97,103,115, 0, 42, 99,117,109, 97,112, 0,115, 99,111,112,101,115, 0,115, 97,
-109,112,108,101, 95,108,105,110,101, 95,104,105,115,116, 0, 99,117,114,115,111,114, 91, 50, 93, 0, 99,101,110,116,120, 0, 99,
-101,110,116,121, 0, 99,117,114,116,105,108,101, 0,108,111, 99,107, 0,112,105,110, 0,100,116, 95,117,118, 0,115,116,105, 99,
-107,121, 0,100,116, 95,117,118,115,116,114,101,116, 99,104, 0, 42,116,101,120,116, 0,116,111,112, 0,118,105,101,119,108,105,
-110,101,115, 0,109,101,110,117,110,114, 0,108,104,101,105,103,104,116, 0, 99,119,105,100,116,104, 0,108,105,110,101,110,114,
-115, 95,116,111,116, 0,108,101,102,116, 0,115,104,111,119,108,105,110,101,110,114,115, 0,116, 97, 98,110,117,109, 98,101,114,
- 0,115,104,111,119,115,121,110,116, 97,120, 0,108,105,110,101, 95,104,108,105,103,104,116, 0,111,118,101,114,119,114,105,116,
-101, 0,108,105,118,101, 95,101,100,105,116, 0,112,105,120, 95,112,101,114, 95,108,105,110,101, 0,116,120,116,115, 99,114,111,
-108,108, 0,116,120,116, 98, 97,114, 0,119,111,114,100,119,114, 97,112, 0,100,111,112,108,117,103,105,110,115, 0,102,105,110,
-100,115,116,114, 91, 50, 53, 54, 93, 0,114,101,112,108, 97, 99,101,115,116,114, 91, 50, 53, 54, 93, 0,109, 97,114,103,105,110,
- 95, 99,111,108,117,109,110, 0, 42,100,114, 97,119, 99, 97, 99,104,101, 0, 42,112,121, 95,100,114, 97,119, 0, 42,112,121, 95,
-101,118,101,110,116, 0, 42,112,121, 95, 98,117,116,116,111,110, 0, 42,112,121, 95, 98,114,111,119,115,101,114, 99, 97,108,108,
- 98, 97, 99,107, 0, 42,112,121, 95,103,108,111, 98, 97,108,100,105, 99,116, 0,108, 97,115,116,115,112, 97, 99,101, 0,115, 99,
-114,105,112,116,110, 97,109,101, 91, 49, 48, 50, 52, 93, 0,115, 99,114,105,112,116, 97,114,103, 91, 50, 53, 54, 93, 0, 42,115,
- 99,114,105,112,116, 0, 42, 98,117,116, 95,114,101,102,115, 0, 42, 97,114,114, 97,121, 0, 99, 97, 99,104,101,115, 0, 99, 97,
- 99,104,101, 95,100,105,115,112,108, 97,121, 0, 42,105,100, 0, 97,115,112,101, 99,116, 0,112, 97,100,102, 0,109,120, 0,109,
-121, 0, 42,101,100,105,116,116,114,101,101, 0,116,114,101,101,116,121,112,101, 0,116,101,120,102,114,111,109, 0,115,104, 97,
-100,101,114,102,114,111,109, 0,108,105,110,107,100,114, 97,103, 0,108,101,110, 95, 97,108,108,111, 99, 0, 99,117,114,115,111,
-114, 0,115, 99,114,111,108,108, 98, 97, 99,107, 0,104,105,115,116,111,114,121, 0,112,114,111,109,112,116, 91, 50, 53, 54, 93,
- 0,108, 97,110,103,117, 97,103,101, 91, 51, 50, 93, 0,115,101,108, 95,115,116, 97,114,116, 0,115,101,108, 95,101,110,100, 0,
-102,105,108,116,101,114, 91, 54, 52, 93, 0,120,108,111, 99,107,111,102, 0,121,108,111, 99,107,111,102, 0,117,115,101,114, 0,
-112, 97,116,104, 95,108,101,110,103,116,104, 0,108,111, 99, 91, 50, 93, 0,115,116, 97, 98,109, 97,116, 91, 52, 93, 91, 52, 93,
- 0,117,110,105,115,116, 97, 98,109, 97,116, 91, 52, 93, 91, 52, 93, 0,112,111,115,116,112,114,111, 99, 95,102,108, 97,103, 0,
- 42,100,114, 97,119, 95, 99,111,110,116,101,120,116, 0,100,111,112,101, 95,115,111,114,116, 0,100,111,112,101, 95,102,108, 97,
-103, 0,102,105,108,101,110, 97,109,101, 91, 49, 48, 50, 52, 93, 0, 98,108,102, 95,105,100, 0,117,105,102,111,110,116, 95,105,
-100, 0,114, 95,116,111, 95,108, 0,112,111,105,110,116,115, 0,107,101,114,110,105,110,103, 0,105,116, 97,108,105, 99, 0, 98,
-111,108,100, 0,115,104, 97,100,111,119, 0,115,104, 97,100,120, 0,115,104, 97,100,121, 0,115,104, 97,100,111,119, 97,108,112,
-104, 97, 0,115,104, 97,100,111,119, 99,111,108,111,114, 0,112, 97,110,101,108,116,105,116,108,101, 0,103,114,111,117,112,108,
- 97, 98,101,108, 0,119,105,100,103,101,116,108, 97, 98,101,108, 0,119,105,100,103,101,116, 0,112, 97,110,101,108,122,111,111,
-109, 0,109,105,110,108, 97, 98,101,108, 99,104, 97,114,115, 0,109,105,110,119,105,100,103,101,116, 99,104, 97,114,115, 0, 99,
-111,108,117,109,110,115,112, 97, 99,101, 0,116,101,109,112,108, 97,116,101,115,112, 97, 99,101, 0, 98,111,120,115,112, 97, 99,
-101, 0, 98,117,116,116,111,110,115,112, 97, 99,101,120, 0, 98,117,116,116,111,110,115,112, 97, 99,101,121, 0,112, 97,110,101,
-108,115,112, 97, 99,101, 0,112, 97,110,101,108,111,117,116,101,114, 0,111,117,116,108,105,110,101, 91, 52, 93, 0,105,110,110,
-101,114, 91, 52, 93, 0,105,110,110,101,114, 95,115,101,108, 91, 52, 93, 0,105,116,101,109, 91, 52, 93, 0,116,101,120,116, 91,
- 52, 93, 0,116,101,120,116, 95,115,101,108, 91, 52, 93, 0,115,104, 97,100,101,100, 0,115,104, 97,100,101,116,111,112, 0,115,
-104, 97,100,101,100,111,119,110, 0, 97,108,112,104, 97, 95, 99,104,101, 99,107, 0,105,110,110,101,114, 95, 97,110,105,109, 91,
- 52, 93, 0,105,110,110,101,114, 95, 97,110,105,109, 95,115,101,108, 91, 52, 93, 0,105,110,110,101,114, 95,107,101,121, 91, 52,
- 93, 0,105,110,110,101,114, 95,107,101,121, 95,115,101,108, 91, 52, 93, 0,105,110,110,101,114, 95,100,114,105,118,101,110, 91,
- 52, 93, 0,105,110,110,101,114, 95,100,114,105,118,101,110, 95,115,101,108, 91, 52, 93, 0,104,101, 97,100,101,114, 91, 52, 93,
- 0,115,104,111,119, 95,104,101, 97,100,101,114, 0,119, 99,111,108, 95,114,101,103,117,108, 97,114, 0,119, 99,111,108, 95,116,
-111,111,108, 0,119, 99,111,108, 95,116,101,120,116, 0,119, 99,111,108, 95,114, 97,100,105,111, 0,119, 99,111,108, 95,111,112,
-116,105,111,110, 0,119, 99,111,108, 95,116,111,103,103,108,101, 0,119, 99,111,108, 95,110,117,109, 0,119, 99,111,108, 95,110,
-117,109,115,108,105,100,101,114, 0,119, 99,111,108, 95,109,101,110,117, 0,119, 99,111,108, 95,112,117,108,108,100,111,119,110,
- 0,119, 99,111,108, 95,109,101,110,117, 95, 98, 97, 99,107, 0,119, 99,111,108, 95,109,101,110,117, 95,105,116,101,109, 0,119,
- 99,111,108, 95,116,111,111,108,116,105,112, 0,119, 99,111,108, 95, 98,111,120, 0,119, 99,111,108, 95,115, 99,114,111,108,108,
- 0,119, 99,111,108, 95,112,114,111,103,114,101,115,115, 0,119, 99,111,108, 95,108,105,115,116, 95,105,116,101,109, 0,119, 99,
-111,108, 95,115,116, 97,116,101, 0,112, 97,110,101,108, 0,105, 99,111,110,102,105,108,101, 91, 50, 53, 54, 93, 0,105, 99,111,
-110, 95, 97,108,112,104, 97, 0, 98, 97, 99,107, 91, 52, 93, 0,116,105,116,108,101, 91, 52, 93, 0,116,101,120,116, 95,104,105,
- 91, 52, 93, 0,104,101, 97,100,101,114, 95,116,105,116,108,101, 91, 52, 93, 0,104,101, 97,100,101,114, 95,116,101,120,116, 91,
- 52, 93, 0,104,101, 97,100,101,114, 95,116,101,120,116, 95,104,105, 91, 52, 93, 0, 98,117,116,116,111,110, 91, 52, 93, 0, 98,
-117,116,116,111,110, 95,116,105,116,108,101, 91, 52, 93, 0, 98,117,116,116,111,110, 95,116,101,120,116, 91, 52, 93, 0, 98,117,
-116,116,111,110, 95,116,101,120,116, 95,104,105, 91, 52, 93, 0,108,105,115,116, 91, 52, 93, 0,108,105,115,116, 95,116,105,116,
-108,101, 91, 52, 93, 0,108,105,115,116, 95,116,101,120,116, 91, 52, 93, 0,108,105,115,116, 95,116,101,120,116, 95,104,105, 91,
- 52, 93, 0,112, 97,110,101,108, 91, 52, 93, 0,112, 97,110,101,108, 95,116,105,116,108,101, 91, 52, 93, 0,112, 97,110,101,108,
- 95,116,101,120,116, 91, 52, 93, 0,112, 97,110,101,108, 95,116,101,120,116, 95,104,105, 91, 52, 93, 0,115,104, 97,100,101, 49,
- 91, 52, 93, 0,115,104, 97,100,101, 50, 91, 52, 93, 0,104,105,108,105,116,101, 91, 52, 93, 0,103,114,105,100, 91, 52, 93, 0,
-119,105,114,101, 91, 52, 93, 0,115,101,108,101, 99,116, 91, 52, 93, 0,108, 97,109,112, 91, 52, 93, 0,115,112,101, 97,107,101,
-114, 91, 52, 93, 0,101,109,112,116,121, 91, 52, 93, 0, 99, 97,109,101,114, 97, 91, 52, 93, 0,112, 97,100, 91, 56, 93, 0, 97,
- 99,116,105,118,101, 91, 52, 93, 0,103,114,111,117,112, 91, 52, 93, 0,103,114,111,117,112, 95, 97, 99,116,105,118,101, 91, 52,
- 93, 0,116,114, 97,110,115,102,111,114,109, 91, 52, 93, 0,118,101,114,116,101,120, 91, 52, 93, 0,118,101,114,116,101,120, 95,
-115,101,108,101, 99,116, 91, 52, 93, 0,101,100,103,101, 91, 52, 93, 0,101,100,103,101, 95,115,101,108,101, 99,116, 91, 52, 93,
- 0,101,100,103,101, 95,115,101, 97,109, 91, 52, 93, 0,101,100,103,101, 95,115,104, 97,114,112, 91, 52, 93, 0,101,100,103,101,
- 95,102, 97, 99,101,115,101,108, 91, 52, 93, 0,101,100,103,101, 95, 99,114,101, 97,115,101, 91, 52, 93, 0,102, 97, 99,101, 91,
- 52, 93, 0,102, 97, 99,101, 95,115,101,108,101, 99,116, 91, 52, 93, 0,102, 97, 99,101, 95,100,111,116, 91, 52, 93, 0,101,120,
-116,114, 97, 95,101,100,103,101, 95,108,101,110, 91, 52, 93, 0,101,120,116,114, 97, 95,102, 97, 99,101, 95, 97,110,103,108,101,
- 91, 52, 93, 0,101,120,116,114, 97, 95,102, 97, 99,101, 95, 97,114,101, 97, 91, 52, 93, 0,112, 97,100, 51, 91, 52, 93, 0,110,
-111,114,109, 97,108, 91, 52, 93, 0,118,101,114,116,101,120, 95,110,111,114,109, 97,108, 91, 52, 93, 0, 98,111,110,101, 95,115,
-111,108,105,100, 91, 52, 93, 0, 98,111,110,101, 95,112,111,115,101, 91, 52, 93, 0,115,116,114,105,112, 91, 52, 93, 0,115,116,
-114,105,112, 95,115,101,108,101, 99,116, 91, 52, 93, 0, 99,102,114, 97,109,101, 91, 52, 93, 0,110,117,114, 98, 95,117,108,105,
-110,101, 91, 52, 93, 0,110,117,114, 98, 95,118,108,105,110,101, 91, 52, 93, 0, 97, 99,116, 95,115,112,108,105,110,101, 91, 52,
- 93, 0,110,117,114, 98, 95,115,101,108, 95,117,108,105,110,101, 91, 52, 93, 0,110,117,114, 98, 95,115,101,108, 95,118,108,105,
-110,101, 91, 52, 93, 0,108, 97,115,116,115,101,108, 95,112,111,105,110,116, 91, 52, 93, 0,104, 97,110,100,108,101, 95,102,114,
-101,101, 91, 52, 93, 0,104, 97,110,100,108,101, 95, 97,117,116,111, 91, 52, 93, 0,104, 97,110,100,108,101, 95,118,101, 99,116,
- 91, 52, 93, 0,104, 97,110,100,108,101, 95, 97,108,105,103,110, 91, 52, 93, 0,104, 97,110,100,108,101, 95, 97,117,116,111, 95,
- 99,108, 97,109,112,101,100, 91, 52, 93, 0,104, 97,110,100,108,101, 95,115,101,108, 95,102,114,101,101, 91, 52, 93, 0,104, 97,
-110,100,108,101, 95,115,101,108, 95, 97,117,116,111, 91, 52, 93, 0,104, 97,110,100,108,101, 95,115,101,108, 95,118,101, 99,116,
- 91, 52, 93, 0,104, 97,110,100,108,101, 95,115,101,108, 95, 97,108,105,103,110, 91, 52, 93, 0,104, 97,110,100,108,101, 95,115,
-101,108, 95, 97,117,116,111, 95, 99,108, 97,109,112,101,100, 91, 52, 93, 0,100,115, 95, 99,104, 97,110,110,101,108, 91, 52, 93,
- 0,100,115, 95,115,117, 98, 99,104, 97,110,110,101,108, 91, 52, 93, 0, 99,111,110,115,111,108,101, 95,111,117,116,112,117,116,
- 91, 52, 93, 0, 99,111,110,115,111,108,101, 95,105,110,112,117,116, 91, 52, 93, 0, 99,111,110,115,111,108,101, 95,105,110,102,
-111, 91, 52, 93, 0, 99,111,110,115,111,108,101, 95,101,114,114,111,114, 91, 52, 93, 0, 99,111,110,115,111,108,101, 95, 99,117,
-114,115,111,114, 91, 52, 93, 0,118,101,114,116,101,120, 95,115,105,122,101, 0,111,117,116,108,105,110,101, 95,119,105,100,116,
-104, 0,102, 97, 99,101,100,111,116, 95,115,105,122,101, 0,110,111,111,100,108,101, 95, 99,117,114,118,105,110,103, 0,115,121,
-110,116, 97,120,108, 91, 52, 93, 0,115,121,110,116, 97,120,110, 91, 52, 93, 0,115,121,110,116, 97,120, 98, 91, 52, 93, 0,115,
-121,110,116, 97,120,118, 91, 52, 93, 0,115,121,110,116, 97,120, 99, 91, 52, 93, 0,109,111,118,105,101, 91, 52, 93, 0,109,111,
-118,105,101, 99,108,105,112, 91, 52, 93, 0,105,109, 97,103,101, 91, 52, 93, 0,115, 99,101,110,101, 91, 52, 93, 0, 97,117,100,
-105,111, 91, 52, 93, 0,101,102,102,101, 99,116, 91, 52, 93, 0,112,108,117,103,105,110, 91, 52, 93, 0,116,114, 97,110,115,105,
-116,105,111,110, 91, 52, 93, 0,109,101,116, 97, 91, 52, 93, 0,101,100,105,116,109,101,115,104, 95, 97, 99,116,105,118,101, 91,
- 52, 93, 0,104, 97,110,100,108,101, 95,118,101,114,116,101,120, 91, 52, 93, 0,104, 97,110,100,108,101, 95,118,101,114,116,101,
-120, 95,115,101,108,101, 99,116, 91, 52, 93, 0,104, 97,110,100,108,101, 95,118,101,114,116,101,120, 95,115,105,122,101, 0,109,
- 97,114,107,101,114, 95,111,117,116,108,105,110,101, 91, 52, 93, 0,109, 97,114,107,101,114, 91, 52, 93, 0, 97, 99,116, 95,109,
- 97,114,107,101,114, 91, 52, 93, 0,115,101,108, 95,109, 97,114,107,101,114, 91, 52, 93, 0,100,105,115, 95,109, 97,114,107,101,
-114, 91, 52, 93, 0,108,111, 99,107, 95,109, 97,114,107,101,114, 91, 52, 93, 0, 98,117,110,100,108,101, 95,115,111,108,105,100,
- 91, 52, 93, 0,112, 97,116,104, 95, 98,101,102,111,114,101, 91, 52, 93, 0,112, 97,116,104, 95, 97,102,116,101,114, 91, 52, 93,
- 0, 99, 97,109,101,114, 97, 95,112, 97,116,104, 91, 52, 93, 0,104,112, 97,100, 91, 55, 93, 0,112,114,101,118,105,101,119, 95,
- 98, 97, 99,107, 91, 52, 93, 0,112,114,101,118,105,101,119, 95,115,116,105,116, 99,104, 95,102, 97, 99,101, 91, 52, 93, 0,112,
-114,101,118,105,101,119, 95,115,116,105,116, 99,104, 95,101,100,103,101, 91, 52, 93, 0,112,114,101,118,105,101,119, 95,115,116,
-105,116, 99,104, 95,118,101,114,116, 91, 52, 93, 0,112,114,101,118,105,101,119, 95,115,116,105,116, 99,104, 95,115,116,105,116,
- 99,104, 97, 98,108,101, 91, 52, 93, 0,112,114,101,118,105,101,119, 95,115,116,105,116, 99,104, 95,117,110,115,116,105,116, 99,
-104, 97, 98,108,101, 91, 52, 93, 0,112,114,101,118,105,101,119, 95,115,116,105,116, 99,104, 95, 97, 99,116,105,118,101, 91, 52,
- 93, 0,109, 97,116, 99,104, 91, 52, 93, 0,115,101,108,101, 99,116,101,100, 95,104,105,103,104,108,105,103,104,116, 91, 52, 93,
- 0,115,111,108,105,100, 91, 52, 93, 0,116,117,105, 0,116, 98,117,116,115, 0,116,118, 51,100, 0,116,102,105,108,101, 0,116,
-105,112,111, 0,116,105,110,102,111, 0,116, 97, 99,116, 0,116,110,108, 97, 0,116,115,101,113, 0,116,105,109, 97, 0,116,101,
-120,116, 0,116,111,111,112,115, 0,116,116,105,109,101, 0,116,110,111,100,101, 0,116,108,111,103,105, 99, 0,116,117,115,101,
-114,112,114,101,102, 0,116, 99,111,110,115,111,108,101, 0,116, 99,108,105,112, 0,116, 97,114,109, 91, 50, 48, 93, 0, 97, 99,
-116,105,118,101, 95,116,104,101,109,101, 95, 97,114,101, 97, 0,109,111,100,117,108,101, 91, 54, 52, 93, 0,115,112,101, 99, 91,
- 52, 93, 0,100,117,112,102,108, 97,103, 0,115, 97,118,101,116,105,109,101, 0,116,101,109,112,100,105,114, 91, 55, 54, 56, 93,
- 0,102,111,110,116,100,105,114, 91, 55, 54, 56, 93, 0,114,101,110,100,101,114,100,105,114, 91, 49, 48, 50, 52, 93, 0,116,101,
-120,116,117,100,105,114, 91, 55, 54, 56, 93, 0,112,108,117,103,116,101,120,100,105,114, 91, 55, 54, 56, 93, 0,112,108,117,103,
-115,101,113,100,105,114, 91, 55, 54, 56, 93, 0,112,121,116,104,111,110,100,105,114, 91, 55, 54, 56, 93, 0,115,111,117,110,100,
-100,105,114, 91, 55, 54, 56, 93, 0,105,109, 97,103,101, 95,101,100,105,116,111,114, 91, 49, 48, 50, 52, 93, 0, 97,110,105,109,
- 95,112,108, 97,121,101,114, 91, 49, 48, 50, 52, 93, 0, 97,110,105,109, 95,112,108, 97,121,101,114, 95,112,114,101,115,101,116,
- 0,118, 50,100, 95,109,105,110, 95,103,114,105,100,115,105,122,101, 0,116,105,109,101, 99,111,100,101, 95,115,116,121,108,101,
- 0,118,101,114,115,105,111,110,115, 0,100, 98,108, 95, 99,108,105, 99,107, 95,116,105,109,101, 0,103, 97,109,101,102,108, 97,
-103,115, 0,119,104,101,101,108,108,105,110,101,115, 99,114,111,108,108, 0,117,105,102,108, 97,103, 0,108, 97,110,103,117, 97,
-103,101, 0,117,115,101,114,112,114,101,102, 0,118,105,101,119,122,111,111,109, 0,109,105,120, 98,117,102,115,105,122,101, 0,
- 97,117,100,105,111,100,101,118,105, 99,101, 0, 97,117,100,105,111,114, 97,116,101, 0, 97,117,100,105,111,102,111,114,109, 97,
-116, 0, 97,117,100,105,111, 99,104, 97,110,110,101,108,115, 0,100,112,105, 0,101,110, 99,111,100,105,110,103, 0,116,114, 97,
-110,115,111,112,116,115, 0,109,101,110,117,116,104,114,101,115,104,111,108,100, 49, 0,109,101,110,117,116,104,114,101,115,104,
-111,108,100, 50, 0,116,104,101,109,101,115, 0,117,105,102,111,110,116,115, 0,117,105,115,116,121,108,101,115, 0,107,101,121,
-109, 97,112,115, 0,117,115,101,114, 95,107,101,121,109, 97,112,115, 0, 97,100,100,111,110,115, 0,107,101,121, 99,111,110,102,
-105,103,115,116,114, 91, 54, 52, 93, 0,117,110,100,111,115,116,101,112,115, 0,117,110,100,111,109,101,109,111,114,121, 0,103,
-112, 95,109, 97,110,104, 97,116,116,101,110,100,105,115,116, 0,103,112, 95,101,117, 99,108,105,100,101, 97,110,100,105,115,116,
- 0,103,112, 95,101,114, 97,115,101,114, 0,103,112, 95,115,101,116,116,105,110,103,115, 0,116, 98, 95,108,101,102,116,109,111,
-117,115,101, 0,116, 98, 95,114,105,103,104,116,109,111,117,115,101, 0,108,105,103,104,116, 91, 51, 93, 0,116,119, 95,104,111,
-116,115,112,111,116, 0,116,119, 95,102,108, 97,103, 0,116,119, 95,104, 97,110,100,108,101,115,105,122,101, 0,116,119, 95,115,
-105,122,101, 0,116,101,120,116,105,109,101,111,117,116, 0,116,101,120, 99,111,108,108,101, 99,116,114, 97,116,101, 0,119,109,
-100,114, 97,119,109,101,116,104,111,100, 0,100,114, 97,103,116,104,114,101,115,104,111,108,100, 0,109,101,109, 99, 97, 99,104,
-101,108,105,109,105,116, 0,112,114,101,102,101,116, 99,104,102,114, 97,109,101,115, 0,102,114, 97,109,101,115,101,114,118,101,
-114,112,111,114,116, 0,112, 97,100, 95,114,111,116, 95, 97,110,103,108,101, 0,111, 98, 99,101,110,116,101,114, 95,100,105, 97,
- 0,114,118,105,115,105,122,101, 0,114,118,105, 98,114,105,103,104,116, 0,114,101, 99,101,110,116, 95,102,105,108,101,115, 0,
-115,109,111,111,116,104, 95,118,105,101,119,116,120, 0,103,108,114,101,115,108,105,109,105,116, 0, 99,117,114,115,115,105,122,
-101, 0, 99,111,108,111,114, 95,112,105, 99,107,101,114, 95,116,121,112,101, 0,105,112,111, 95,110,101,119, 0,107,101,121,104,
- 97,110,100,108,101,115, 95,110,101,119, 0,115, 99,114, 99, 97,115,116,102,112,115, 0,115, 99,114, 99, 97,115,116,119, 97,105,
-116, 0,119,105,100,103,101,116, 95,117,110,105,116, 0, 97,110,105,115,111,116,114,111,112,105, 99, 95,102,105,108,116,101,114,
- 0,117,115,101, 95, 49, 54, 98,105,116, 95,116,101,120,116,117,114,101,115, 0,112, 97,100, 56, 0,110,100,111,102, 95,115,101,
-110,115,105,116,105,118,105,116,121, 0,110,100,111,102, 95,102,108, 97,103, 0,103,108, 97,108,112,104, 97, 99,108,105,112, 0,
-116,101,120,116, 95,114,101,110,100,101,114, 0,112, 97,100, 57, 0, 99,111, 98, 97, 95,119,101,105,103,104,116, 0,115, 99,117,
-108,112,116, 95,112, 97,105,110,116, 95,111,118,101,114,108, 97,121, 95, 99,111,108, 91, 51, 93, 0,116,119,101, 97,107, 95,116,
-104,114,101,115,104,111,108,100, 0, 97,117,116,104,111,114, 91, 56, 48, 93, 0, 99,111,109,112,117,116,101, 95,100,101,118,105,
- 99,101, 95,116,121,112,101, 0, 99,111,109,112,117,116,101, 95,100,101,118,105, 99,101, 95,105,100, 0,102, 99,117, 95,105,110,
- 97, 99,116,105,118,101, 95, 97,108,112,104, 97, 0,118,101,114,116, 98, 97,115,101, 0,101,100,103,101, 98, 97,115,101, 0, 97,
-114,101, 97, 98, 97,115,101, 0, 42,110,101,119,115, 99,101,110,101, 0,114,101,100,114, 97,119,115, 95,102,108, 97,103, 0,102,
-117,108,108, 0,116,101,109,112, 0,119,105,110,105,100, 0,100,111, 95,100,114, 97,119, 0,100,111, 95,114,101,102,114,101,115,
-104, 0,100,111, 95,100,114, 97,119, 95,103,101,115,116,117,114,101, 0,100,111, 95,100,114, 97,119, 95,112, 97,105,110,116, 99,
-117,114,115,111,114, 0,100,111, 95,100,114, 97,119, 95,100,114, 97,103, 0,115,119, 97,112, 0,109, 97,105,110,119,105,110, 0,
-115,117, 98,119,105,110, 97, 99,116,105,118,101, 0, 42, 97,110,105,109,116,105,109,101,114, 0, 42, 99,111,110,116,101,120,116,
- 0,104, 97,110,100,108,101,114, 91, 56, 93, 0, 42,110,101,119,118, 0,118,101, 99, 0, 42,118, 49, 0, 42,118, 50, 0, 42,116,
-121,112,101, 0,112, 97,110,101,108,110, 97,109,101, 91, 54, 52, 93, 0,116, 97, 98,110, 97,109,101, 91, 54, 52, 93, 0,100,114,
- 97,119,110, 97,109,101, 91, 54, 52, 93, 0,111,102,115,120, 0,111,102,115,121, 0,115,105,122,101,120, 0,115,105,122,101,121,
- 0,108, 97, 98,101,108,111,102,115, 0,114,117,110,116,105,109,101, 95,102,108, 97,103, 0, 99,111,110,116,114,111,108, 0,115,
-110, 97,112, 0,115,111,114,116,111,114,100,101,114, 0, 42,112, 97,110,101,108,116, 97, 98, 0, 42, 97, 99,116,105,118,101,100,
- 97,116, 97, 0,108,105,115,116, 95,115, 99,114,111,108,108, 0,108,105,115,116, 95,115,105,122,101, 0,108,105,115,116, 95,108,
- 97,115,116, 95,108,101,110, 0,108,105,115,116, 95,103,114,105,112, 95,115,105,122,101, 0,108,105,115,116, 95,115,101, 97,114,
- 99,104, 91, 54, 52, 93, 0, 42,118, 51, 0, 42,118, 52, 0, 42,102,117,108,108, 0, 98,117,116,115,112, 97, 99,101,116,121,112,
-101, 0,104,101, 97,100,101,114,116,121,112,101, 0,115,112, 97, 99,101,100, 97,116, 97, 0,104, 97,110,100,108,101,114,115, 0,
- 97, 99,116,105,111,110,122,111,110,101,115, 0,119,105,110,114, 99,116, 0,100,114, 97,119,114, 99,116, 0,115,119,105,110,105,
-100, 0,114,101,103,105,111,110,116,121,112,101, 0, 97,108,105,103,110,109,101,110,116, 0,100,111, 95,100,114, 97,119, 95,111,
-118,101,114,108, 97,121, 0,117,105, 98,108,111, 99,107,115, 0,112, 97,110,101,108,115, 0, 42,104,101, 97,100,101,114,115,116,
-114, 0, 42,114,101,103,105,111,110,100, 97,116, 97, 0,115,117, 98,118,115,116,114, 91, 52, 93, 0,115,117, 98,118,101,114,115,
-105,111,110, 0,112, 97,100,115, 0,109,105,110,118,101,114,115,105,111,110, 0,109,105,110,115,117, 98,118,101,114,115,105,111,
-110, 0,119,105,110,112,111,115, 0, 42, 99,117,114,115, 99,114,101,101,110, 0, 42, 99,117,114,115, 99,101,110,101, 0,102,105,
-108,101,102,108, 97,103,115, 0,103,108,111, 98, 97,108,102, 0,114,101,118,105,115,105,111,110, 0,110, 97,109,101, 91, 50, 53,
- 54, 93, 0,111,114,105,103, 95,119,105,100,116,104, 0,111,114,105,103, 95,104,101,105,103,104,116, 0, 98,111,116,116,111,109,
- 0,114,105,103,104,116, 0,120,111,102,115, 0,121,111,102,115, 0,108,105,102,116, 91, 51, 93, 0,103, 97,109,109, 97, 91, 51,
- 93, 0,103, 97,105,110, 91, 51, 93, 0,100,105,114, 91, 55, 54, 56, 93, 0,116, 99, 0, 98,117,105,108,100, 95,115,105,122,101,
- 95,102,108, 97,103,115, 0, 98,117,105,108,100, 95,116, 99, 95,102,108, 97,103,115, 0,100,111,110,101, 0,115,116, 97,114,116,
-115,116,105,108,108, 0,101,110,100,115,116,105,108,108, 0, 42,115,116,114,105,112,100, 97,116, 97, 0, 42, 99,114,111,112, 0,
- 42,116,114, 97,110,115,102,111,114,109, 0, 42, 99,111,108,111,114, 95, 98, 97,108, 97,110, 99,101, 0, 42,105,110,115,116, 97,
-110, 99,101, 95,112,114,105,118, 97,116,101, 95,100, 97,116, 97, 0, 42, 42, 99,117,114,114,101,110,116, 95,112,114,105,118, 97,
-116,101, 95,100, 97,116, 97, 0, 42,116,109,112, 0,115,116, 97,114,116,111,102,115, 0,101,110,100,111,102,115, 0,109, 97, 99,
-104,105,110,101, 0,115,116, 97,114,116,100,105,115,112, 0,101,110,100,100,105,115,112, 0,115, 97,116, 0,109,117,108, 0,104,
- 97,110,100,115,105,122,101, 0, 97,110,105,109, 95,112,114,101,115,101,101,107, 0,115,116,114,101, 97,109,105,110,100,101,120,
- 0,109,117,108,116,105, 99, 97,109, 95,115,111,117,114, 99,101, 0, 99,108,105,112, 95,102,108, 97,103, 0, 42,115,116,114,105,
-112, 0, 42,115, 99,101,110,101, 95, 99, 97,109,101,114, 97, 0,101,102,102,101, 99,116, 95,102, 97,100,101,114, 0,115,112,101,
-101,100, 95,102, 97,100,101,114, 0, 42,115,101,113, 49, 0, 42,115,101,113, 50, 0, 42,115,101,113, 51, 0,115,101,113, 98, 97,
-115,101, 0, 42,115,111,117,110,100, 0, 42,115, 99,101,110,101, 95,115,111,117,110,100, 0,112,105,116, 99,104, 0,112, 97,110,
- 0,115,116,114,111, 98,101, 0, 42,101,102,102,101, 99,116,100, 97,116, 97, 0, 97,110,105,109, 95,115,116, 97,114,116,111,102,
-115, 0, 97,110,105,109, 95,101,110,100,111,102,115, 0, 98,108,101,110,100, 95,109,111,100,101, 0, 98,108,101,110,100, 95,111,
-112, 97, 99,105,116,121, 0, 42,111,108,100, 98, 97,115,101,112, 0, 42,112, 97,114,115,101,113, 0, 42,115,101,113, 98, 97,115,
-101,112, 0,109,101,116, 97,115,116, 97, 99,107, 0, 42, 97, 99,116, 95,115,101,113, 0, 97, 99,116, 95,105,109, 97,103,101,100,
-105,114, 91, 49, 48, 50, 52, 93, 0, 97, 99,116, 95,115,111,117,110,100,100,105,114, 91, 49, 48, 50, 52, 93, 0,111,118,101,114,
- 95,111,102,115, 0,111,118,101,114, 95, 99,102,114, 97, 0,111,118,101,114, 95,102,108, 97,103, 0,111,118,101,114, 95, 98,111,
-114,100,101,114, 0,101,100,103,101, 87,105,100,116,104, 0,102,111,114,119, 97,114,100, 0,119,105,112,101,116,121,112,101, 0,
-102, 77,105,110,105, 0,102, 67,108, 97,109,112, 0,102, 66,111,111,115,116, 0,100, 68,105,115,116, 0,100, 81,117, 97,108,105,
-116,121, 0, 98, 78,111, 67,111,109,112, 0, 83, 99, 97,108,101,120, 73,110,105, 0, 83, 99, 97,108,101,121, 73,110,105, 0,120,
- 73,110,105, 0,121, 73,110,105, 0,114,111,116, 73,110,105, 0,105,110,116,101,114,112,111,108, 97,116,105,111,110, 0,117,110,
-105,102,111,114,109, 95,115, 99, 97,108,101, 0, 42,102,114, 97,109,101, 77, 97,112, 0,103,108,111, 98, 97,108, 83,112,101,101,
-100, 0,108, 97,115,116, 86, 97,108,105,100, 70,114, 97,109,101, 0, 98,117,116,116,121,112,101, 0,117,115,101,114,106,105,116,
- 0,115,116, 97, 0,116,111,116,112, 97,114,116, 0,110,111,114,109,102, 97, 99, 0,111, 98,102, 97, 99, 0,114, 97,110,100,102,
- 97, 99, 0,116,101,120,102, 97, 99, 0,114, 97,110,100,108,105,102,101, 0,102,111,114, 99,101, 91, 51, 93, 0,118,101, 99,116,
-115,105,122,101, 0,109, 97,120,108,101,110, 0,100,101,102,118,101, 99, 91, 51, 93, 0,109,117,108,116, 91, 52, 93, 0,108,105,
-102,101, 91, 52, 93, 0, 99,104,105,108,100, 91, 52, 93, 0,109, 97,116, 91, 52, 93, 0,116,101,120,109, 97,112, 0, 99,117,114,
-109,117,108,116, 0,115,116, 97,116,105, 99,115,116,101,112, 0,111,109, 97,116, 0,116,105,109,101,116,101,120, 0,115,112,101,
-101,100,116,101,120, 0,102,108, 97,103, 50,110,101,103, 0,118,101,114,116,103,114,111,117,112, 95,118, 0,118,103,114,111,117,
-112,110, 97,109,101, 91, 54, 52, 93, 0,118,103,114,111,117,112,110, 97,109,101, 95,118, 91, 54, 52, 93, 0, 42,107,101,121,115,
- 0,109,105,110,102, 97, 99, 0,110,114, 0,117,115,101,100, 0,117,115,101,100,101,108,101,109, 0, 42,112,111,105,110, 0,114,
-101,115,101,116,100,105,115,116, 0,108, 97,115,116,118, 97,108, 0, 42,109, 97, 0,107,101,121, 0,113,117, 97,108, 0,113,117,
- 97,108, 50, 0,116, 97,114,103,101,116, 78, 97,109,101, 91, 54, 52, 93, 0,116,111,103,103,108,101, 78, 97,109,101, 91, 54, 52,
- 93, 0,118, 97,108,117,101, 91, 54, 52, 93, 0,109, 97,120,118, 97,108,117,101, 91, 54, 52, 93, 0,100,101,108, 97,121, 0,100,
-117,114, 97,116,105,111,110, 0,109, 97,116,101,114,105, 97,108, 78, 97,109,101, 91, 54, 52, 93, 0,100, 97,109,112,116,105,109,
-101,114, 0,112,114,111,112,110, 97,109,101, 91, 54, 52, 93, 0,109, 97,116,110, 97,109,101, 91, 54, 52, 93, 0, 97,120,105,115,
-102,108, 97,103, 0,112,111,115,101, 99,104, 97,110,110,101,108, 91, 54, 52, 93, 0, 99,111,110,115,116,114, 97,105,110,116, 91,
- 54, 52, 93, 0, 42,102,114,111,109, 79, 98,106,101, 99,116, 0,115,117, 98,106,101, 99,116, 91, 54, 52, 93, 0, 98,111,100,121,
- 91, 54, 52, 93, 0,111,116,121,112,101, 0,112,117,108,115,101, 0,102,114,101,113, 0,116,111,116,108,105,110,107,115, 0, 42,
- 42,108,105,110,107,115, 0,116, 97,112, 0,106,111,121,105,110,100,101,120, 0, 97,120,105,115, 95,115,105,110,103,108,101, 0,
- 97,120,105,115,102, 0, 98,117,116,116,111,110, 0,104, 97,116, 0,104, 97,116,102, 0,112,114,101, 99,105,115,105,111,110, 0,
-115,116,114, 91, 49, 50, 56, 93, 0, 42,109,121,110,101,119, 0,105,110,112,117,116,115, 0,116,111,116,115,108,105,110,107,115,
- 0, 42, 42,115,108,105,110,107,115, 0,118, 97,108,111, 0,115,116, 97,116,101, 95,109, 97,115,107, 0, 42, 97, 99,116, 0,102,
-114, 97,109,101, 80,114,111,112, 91, 54, 52, 93, 0, 98,108,101,110,100,105,110, 0,112,114,105,111,114,105,116,121, 0,101,110,
-100, 95,114,101,115,101,116, 0,115,116,114,105,100,101, 97,120,105,115, 0,115,116,114,105,100,101,108,101,110,103,116,104, 0,
-108, 97,121,101,114, 95,119,101,105,103,104,116, 0,109,105,110, 95,103, 97,105,110, 0,109, 97,120, 95,103, 97,105,110, 0,114,
-101,102,101,114,101,110, 99,101, 95,100,105,115,116, 97,110, 99,101, 0,109, 97,120, 95,100,105,115,116, 97,110, 99,101, 0,114,
-111,108,108,111,102,102, 95,102, 97, 99,116,111,114, 0, 99,111,110,101, 95,105,110,110,101,114, 95, 97,110,103,108,101, 0, 99,
-111,110,101, 95,111,117,116,101,114, 95, 97,110,103,108,101, 0, 99,111,110,101, 95,111,117,116,101,114, 95,103, 97,105,110, 0,
-115,110,100,110,114, 0,115,111,117,110,100, 51, 68, 0,112, 97,100, 54, 91, 49, 93, 0, 42,109,101, 0,108,105,110, 86,101,108,
-111, 99,105,116,121, 91, 51, 93, 0, 97,110,103, 86,101,108,111, 99,105,116,121, 91, 51, 93, 0,108,111, 99, 97,108,102,108, 97,
-103, 0,100,121,110, 95,111,112,101,114, 97,116,105,111,110, 0,102,111,114, 99,101,108,111, 99, 91, 51, 93, 0,102,111,114, 99,
-101,114,111,116, 91, 51, 93, 0,112, 97,100, 49, 91, 51, 93, 0,108,105,110,101, 97,114,118,101,108,111, 99,105,116,121, 91, 51,
- 93, 0, 97,110,103,117,108, 97,114,118,101,108,111, 99,105,116,121, 91, 51, 93, 0, 42,114,101,102,101,114,101,110, 99,101, 0,
-109,105,110, 0,109, 97,120, 0,114,111,116,100, 97,109,112, 0,109,105,110,108,111, 99, 91, 51, 93, 0,109, 97,120,108,111, 99,
- 91, 51, 93, 0,109,105,110,114,111,116, 91, 51, 93, 0,109, 97,120,114,111,116, 91, 51, 93, 0,109, 97,116,112,114,111,112, 91,
- 54, 52, 93, 0, 98,117,116,115,116, 97, 0, 98,117,116,101,110,100, 0,100,105,115,116,114,105, 98,117,116,105,111,110, 0,105,
-110,116, 95, 97,114,103, 95, 49, 0,105,110,116, 95, 97,114,103, 95, 50, 0,102,108,111, 97,116, 95, 97,114,103, 95, 49, 0,102,
-108,111, 97,116, 95, 97,114,103, 95, 50, 0,116,111, 80,114,111,112, 78, 97,109,101, 91, 54, 52, 93, 0, 42,116,111, 79, 98,106,
-101, 99,116, 0, 98,111,100,121, 84,121,112,101, 0,102,105,108,101,110, 97,109,101, 91, 54, 52, 93, 0,108,111, 97,100, 97,110,
-105,110, 97,109,101, 91, 54, 52, 93, 0,105,110,116, 95, 97,114,103, 0,102,108,111, 97,116, 95, 97,114,103, 0,105,110,102,108,
-117,101,110, 99,101, 0, 42,115,117, 98,116, 97,114,103,101,116, 0,102, 97, 99,105,110,103, 97,120,105,115, 0,118,101,108,111,
- 99,105,116,121, 0, 97, 99, 99,101,108,101,114, 97,116,105,111,110, 0,116,117,114,110,115,112,101,101,100, 0,117,112,100, 97,
-116,101, 84,105,109,101, 0, 42,110, 97,118,109,101,115,104, 0,103,111, 0, 42,110,101,119,112, 97, 99,107,101,100,102,105,108,
-101, 0, 97,116,116,101,110,117, 97,116,105,111,110, 0,100,105,115,116, 97,110, 99,101, 0, 42, 99, 97, 99,104,101, 0, 42,119,
- 97,118,101,102,111,114,109, 0, 42,112,108, 97,121, 98, 97, 99,107, 95,104, 97,110,100,108,101, 0, 42,108, 97,109,112,114,101,
-110, 0,103,111, 98,106,101, 99,116, 0,100,117,112,108,105, 95,111,102,115, 91, 51, 93, 0, 42,112,114,111,112, 0, 99,104,105,
-108,100, 98, 97,115,101, 0,114,111,108,108, 0,104,101, 97,100, 91, 51, 93, 0,116, 97,105,108, 91, 51, 93, 0, 98,111,110,101,
- 95,109, 97,116, 91, 51, 93, 91, 51, 93, 0, 97,114,109, 95,104,101, 97,100, 91, 51, 93, 0, 97,114,109, 95,116, 97,105,108, 91,
- 51, 93, 0, 97,114,109, 95,109, 97,116, 91, 52, 93, 91, 52, 93, 0, 97,114,109, 95,114,111,108,108, 0,120,119,105,100,116,104,
- 0,122,119,105,100,116,104, 0,101, 97,115,101, 49, 0,101, 97,115,101, 50, 0,114, 97,100, 95,104,101, 97,100, 0,114, 97,100,
- 95,116, 97,105,108, 0,112, 97,100, 91, 49, 93, 0, 98,111,110,101, 98, 97,115,101, 0, 99,104, 97,105,110, 98, 97,115,101, 0,
- 42,101,100, 98,111, 0, 42, 97, 99,116, 95, 98,111,110,101, 0, 42, 97, 99,116, 95,101,100, 98,111,110,101, 0, 42,115,107,101,
-116, 99,104, 0,103,101,118,101,114,116,100,101,102,111,114,109,101,114, 0,108, 97,121,101,114, 95,117,115,101,100, 0,108, 97,
-121,101,114, 95,112,114,111,116,101, 99,116,101,100, 0,103,104,111,115,116,101,112, 0,103,104,111,115,116,115,105,122,101, 0,
-103,104,111,115,116,116,121,112,101, 0,112, 97,116,104,115,105,122,101, 0,103,104,111,115,116,115,102, 0,103,104,111,115,116,
-101,102, 0,112, 97,116,104,115,102, 0,112, 97,116,104,101,102, 0,112, 97,116,104, 98, 99, 0,112, 97,116,104, 97, 99, 0, 42,
-112,111,105,110,116,115, 0,115,116, 97,114,116, 95,102,114, 97,109,101, 0,101,110,100, 95,102,114, 97,109,101, 0,103,104,111,
-115,116, 95,115,102, 0,103,104,111,115,116, 95,101,102, 0,103,104,111,115,116, 95, 98, 99, 0,103,104,111,115,116, 95, 97, 99,
- 0,103,104,111,115,116, 95,116,121,112,101, 0,103,104,111,115,116, 95,115,116,101,112, 0,103,104,111,115,116, 95,102,108, 97,
-103, 0,112, 97,116,104, 95,116,121,112,101, 0,112, 97,116,104, 95,115,116,101,112, 0,112, 97,116,104, 95,118,105,101,119,102,
-108, 97,103, 0,112, 97,116,104, 95, 98, 97,107,101,102,108, 97,103, 0,112, 97,116,104, 95,115,102, 0,112, 97,116,104, 95,101,
-102, 0,112, 97,116,104, 95, 98, 99, 0,112, 97,116,104, 95, 97, 99, 0,105,107,102,108, 97,103, 0, 97,103,114,112, 95,105,110,
-100,101,120, 0, 99,111,110,115,116,102,108, 97,103, 0,115,101,108,101, 99,116,102,108, 97,103, 0,112, 97,100, 48, 91, 54, 93,
- 0, 42, 98,111,110,101, 0, 42, 99,104,105,108,100, 0,105,107,116,114,101,101, 0,115,105,107,116,114,101,101, 0, 42, 99,117,
-115,116,111,109, 0, 42, 99,117,115,116,111,109, 95,116,120, 0,101,117,108, 91, 51, 93, 0, 99,104, 97,110, 95,109, 97,116, 91,
- 52, 93, 91, 52, 93, 0,112,111,115,101, 95,109, 97,116, 91, 52, 93, 91, 52, 93, 0,112,111,115,101, 95,104,101, 97,100, 91, 51,
- 93, 0,112,111,115,101, 95,116, 97,105,108, 91, 51, 93, 0,108,105,109,105,116,109,105,110, 91, 51, 93, 0,108,105,109,105,116,
-109, 97,120, 91, 51, 93, 0,115,116,105,102,102,110,101,115,115, 91, 51, 93, 0,105,107,115,116,114,101,116, 99,104, 0,105,107,
-114,111,116,119,101,105,103,104,116, 0,105,107,108,105,110,119,101,105,103,104,116, 0, 42,116,101,109,112, 0, 99,104, 97,110,
- 98, 97,115,101, 0, 42, 99,104, 97,110,104, 97,115,104, 0,112,114,111,120,121, 95,108, 97,121,101,114, 0,115,116,114,105,100,
-101, 95,111,102,102,115,101,116, 91, 51, 93, 0, 99,121, 99,108,105, 99, 95,111,102,102,115,101,116, 91, 51, 93, 0, 97,103,114,
-111,117,112,115, 0, 97, 99,116,105,118,101, 95,103,114,111,117,112, 0,105,107,115,111,108,118,101,114, 0, 42,105,107,100, 97,
-116, 97, 0, 42,105,107,112, 97,114, 97,109, 0,112,114,111,120,121, 95, 97, 99,116, 95, 98,111,110,101, 91, 54, 52, 93, 0,110,
-117,109,105,116,101,114, 0,110,117,109,115,116,101,112, 0,109,105,110,115,116,101,112, 0,109, 97,120,115,116,101,112, 0,115,
-111,108,118,101,114, 0,102,101,101,100, 98, 97, 99,107, 0,109, 97,120,118,101,108, 0,100, 97,109,112,109, 97,120, 0,100, 97,
-109,112,101,112,115, 0, 99,104, 97,110,110,101,108,115, 0, 99,117,115,116,111,109, 67,111,108, 0, 99,115, 0, 99,117,114,118,
-101,115, 0,103,114,111,117,112,115, 0, 97, 99,116,105,118,101, 95,109, 97,114,107,101,114, 0,105,100,114,111,111,116, 0, 42,
-115,111,117,114, 99,101, 0, 42,102,105,108,116,101,114, 95,103,114,112, 0,115,101, 97,114, 99,104,115,116,114, 91, 54, 52, 93,
- 0,102,105,108,116,101,114,102,108, 97,103, 0,114,101,110, 97,109,101, 73,110,100,101,120, 0, 97,100,115, 0,116,105,109,101,
-115,108,105,100,101, 0, 42,103,114,112, 0,110, 97,109,101, 91, 51, 48, 93, 0,111,119,110,115,112, 97, 99,101, 0,116, 97,114,
-115,112, 97, 99,101, 0,101,110,102,111,114, 99,101, 0,104,101, 97,100,116, 97,105,108, 0,108,105,110, 95,101,114,114,111,114,
- 0,114,111,116, 95,101,114,114,111,114, 0, 42,116, 97,114, 0,109, 97,116,114,105,120, 91, 52, 93, 91, 52, 93, 0,115,112, 97,
- 99,101, 0,114,111,116, 79,114,100,101,114, 0,116, 97,114,110,117,109, 0,116, 97,114,103,101,116,115, 0,105,116,101,114, 97,
-116,105,111,110,115, 0,114,111,111,116, 98,111,110,101, 0,109, 97,120, 95,114,111,111,116, 98,111,110,101, 0, 42,112,111,108,
-101,116, 97,114, 0,112,111,108,101,115,117, 98,116, 97,114,103,101,116, 91, 54, 52, 93, 0,112,111,108,101, 97,110,103,108,101,
- 0,111,114,105,101,110,116,119,101,105,103,104,116, 0,103,114, 97, 98,116, 97,114,103,101,116, 91, 51, 93, 0,110,117,109,112,
-111,105,110,116,115, 0, 99,104, 97,105,110,108,101,110, 0,120,122, 83, 99, 97,108,101, 77,111,100,101, 0,114,101,115,101,114,
-118,101,100, 49, 0,114,101,115,101,114,118,101,100, 50, 0,109,105,110,109, 97,120,102,108, 97,103, 0,115,116,117, 99,107, 0,
- 99, 97, 99,104,101, 91, 51, 93, 0,108,111, 99,107,102,108, 97,103, 0,102,111,108,108,111,119,102,108, 97,103, 0,118,111,108,
-109,111,100,101, 0,112,108, 97,110,101, 0,111,114,103,108,101,110,103,116,104, 0, 98,117,108,103,101, 0,112,105,118, 88, 0,
-112,105,118, 89, 0,112,105,118, 90, 0, 97,120, 88, 0, 97,120, 89, 0, 97,120, 90, 0,109,105,110, 76,105,109,105,116, 91, 54,
- 93, 0,109, 97,120, 76,105,109,105,116, 91, 54, 93, 0,101,120,116,114, 97, 70,122, 0,105,110,118,109, 97,116, 91, 52, 93, 91,
- 52, 93, 0,102,114,111,109, 0,116,111, 0,109, 97,112, 91, 51, 93, 0,101,120,112,111, 0,102,114,111,109, 95,109,105,110, 91,
- 51, 93, 0,102,114,111,109, 95,109, 97,120, 91, 51, 93, 0,116,111, 95,109,105,110, 91, 51, 93, 0,116,111, 95,109, 97,120, 91,
- 51, 93, 0,114,111,116, 65,120,105,115, 0,122,109,105,110, 0,122,109, 97,120, 0,112, 97,100, 91, 57, 93, 0,116,114, 97, 99,
-107, 91, 54, 52, 93, 0,111, 98,106,101, 99,116, 91, 54, 52, 93, 0, 42,100,101,112,116,104, 95,111, 98, 0, 99,104, 97,110,110,
-101,108, 91, 51, 50, 93, 0,110,111, 95,114,111,116, 95, 97,120,105,115, 0,115,116,114,105,100,101, 95, 97,120,105,115, 0, 99,
-117,114,109,111,100, 0, 97, 99,116,115,116, 97,114,116, 0, 97, 99,116,101,110,100, 0, 97, 99,116,111,102,102,115, 0,115,116,
-114,105,100,101,108,101,110, 0, 98,108,101,110,100,111,117,116, 0,115,116,114,105,100,101, 99,104, 97,110,110,101,108, 91, 51,
- 50, 93, 0,111,102,102,115, 95, 98,111,110,101, 91, 51, 50, 93, 0,104, 97,115,105,110,112,117,116, 0,104, 97,115,111,117,116,
-112,117,116, 0,100, 97,116, 97,116,121,112,101, 0,115,111, 99,107,101,116,116,121,112,101, 0,105,115, 95, 99,111,112,121, 0,
-101,120,116,101,114,110, 97,108, 0, 42,110,101,119, 95,115,111, 99,107, 0, 42,115,116,111,114, 97,103,101, 0,108,105,109,105,
-116, 0,108,111, 99,120, 0,108,111, 99,121, 0, 42,100,101,102, 97,117,108,116, 95,118, 97,108,117,101, 0,115,116, 97, 99,107,
- 95,105,110,100,101,120, 0,115,116, 97, 99,107, 95,116,121,112,101, 0,114,101,115,105,122,101,109,111,100,101, 0,111,119,110,
- 95,105,110,100,101,120, 0,116,111, 95,105,110,100,101,120, 0, 42,103,114,111,117,112,115,111, 99,107, 0, 42,108,105,110,107,
- 0,110,115, 0, 42,114,101, 99,116, 0,120,115,105,122,101, 0,121,115,105,122,101, 0, 42,110,101,119, 95,110,111,100,101, 0,
-108, 97,115,116,121, 0, 99,111,108,111,114, 91, 51, 93, 0,111,117,116,112,117,116,115, 0,109,105,110,105,119,105,100,116,104,
- 0,111,102,102,115,101,116,120, 0,111,102,102,115,101,116,121, 0,117,112,100, 97,116,101, 0,108, 97, 98,101,108, 91, 54, 52,
- 93, 0, 99,117,115,116,111,109, 49, 0, 99,117,115,116,111,109, 50, 0, 99,117,115,116,111,109, 51, 0, 99,117,115,116,111,109,
- 52, 0,110,101,101,100, 95,101,120,101, 99, 0,101,120,101, 99, 0, 42,116,104,114,101, 97,100,100, 97,116, 97, 0,116,111,116,
-114, 0, 98,117,116,114, 0,112,114,118,114, 0, 42, 98,108,111, 99,107, 0, 42,116,121,112,101,105,110,102,111, 0, 42,102,114,
-111,109,110,111,100,101, 0, 42,116,111,110,111,100,101, 0, 42,102,114,111,109,115,111, 99,107, 0, 42,116,111,115,111, 99,107,
- 0,110,111,100,101,115, 0,108,105,110,107,115, 0,105,110,105,116, 0, 99,117,114, 95,105,110,100,101,120, 0,110,111,100,101,
-116,121,112,101, 0,101,100,105,116, 95,113,117, 97,108,105,116,121, 0,114,101,110,100,101,114, 95,113,117, 97,108,105,116,121,
- 0, 99,104,117,110,107,115,105,122,101, 0, 42,101,120,101, 99,100, 97,116, 97, 0, 40, 42,112,114,111,103,114,101,115,115, 41,
- 40, 41, 0, 40, 42,115,116, 97,116,115, 95,100,114, 97,119, 41, 40, 41, 0, 40, 42,116,101,115,116, 95, 98,114,101, 97,107, 41,
- 40, 41, 0, 42,116, 98,104, 0, 42,112,114,104, 0, 42,115,100,104, 0,118, 97,108,117,101, 91, 51, 93, 0,118, 97,108,117,101,
- 91, 52, 93, 0,108, 97, 98,101,108, 95,115,105,122,101, 0, 99,121, 99,108,105, 99, 0,109,111,118,105,101, 0,103, 97,109,109,
- 97, 0,103, 97,105,110, 0,108,105,102,116, 0,109, 97,115,116,101,114, 0,115,104, 97,100,111,119,115, 0,109,105,100,116,111,
-110,101,115, 0,104,105,103,104,108,105,103,104,116,115, 0,115,116, 97,114,116,109,105,100,116,111,110,101,115, 0,101,110,100,
-109,105,100,116,111,110,101,115, 0,102,108, 97,112,115, 0,114,111,117,110,100,105,110,103, 0, 99, 97,116, 97,100,105,111,112,
-116,114,105, 99, 0,108,101,110,115,115,104,105,102,116, 0,114,111,116, 97,116,105,111,110, 0,112, 97,115,115, 95,105,110,100,
-101,120, 0,112, 97,115,115, 95,102,108, 97,103, 0,109, 97,120,115,112,101,101,100, 0,109,105,110,115,112,101,101,100, 0, 99,
-117,114,118,101,100, 0,112,101,114, 99,101,110,116,120, 0,112,101,114, 99,101,110,116,121, 0, 98,111,107,101,104, 0,105,109,
- 97,103,101, 95,105,110, 95,119,105,100,116,104, 0,105,109, 97,103,101, 95,105,110, 95,104,101,105,103,104,116, 0, 99,101,110,
-116,101,114, 95,120, 0, 99,101,110,116,101,114, 95,121, 0,115,112,105,110, 0,119,114, 97,112, 0,115,105,103,109, 97, 95, 99,
-111,108,111,114, 0,115,105,103,109, 97, 95,115,112, 97, 99,101, 0,104,117,101, 0, 98, 97,115,101, 95,112, 97,116,104, 91, 49,
- 48, 50, 52, 93, 0,102,111,114,109, 97,116, 0, 97, 99,116,105,118,101, 95,105,110,112,117,116, 0,117,115,101, 95,114,101,110,
-100,101,114, 95,102,111,114,109, 97,116, 0,117,115,101, 95,110,111,100,101, 95,102,111,114,109, 97,116, 0,108, 97,121,101,114,
- 91, 51, 48, 93, 0,116, 49, 0,116, 50, 0,116, 51, 0,102,115,116,114,101,110,103,116,104, 0,102, 97,108,112,104, 97, 0,107,
-101,121, 91, 52, 93, 0, 97,108,103,111,114,105,116,104,109, 0, 99,104, 97,110,110,101,108, 0,120, 49, 0,120, 50, 0,121, 49,
- 0,121, 50, 0,102, 97, 99, 95,120, 49, 0,102, 97, 99, 95,120, 50, 0,102, 97, 99, 95,121, 49, 0,102, 97, 99, 95,121, 50, 0,
- 99,111,108,110, 97,109,101, 91, 54, 52, 93, 0, 98,107,116,121,112,101, 0,112, 97,100, 95, 99, 49, 0,103, 97,109, 99,111, 0,
-110,111, 95,122, 98,117,102, 0,102,115,116,111,112, 0,109, 97,120, 98,108,117,114, 0, 98,116,104,114,101,115,104, 0,112, 97,
-100, 95,102, 49, 0, 42,100,105, 99,116, 0, 42,110,111,100,101, 0, 99,111,108,109,111,100, 0,109,105,120, 0,102, 97,100,101,
- 0, 97,110,103,108,101, 95,111,102,115, 0,109, 0, 99, 0,106,105,116, 0,112,114,111,106, 0,102,105,116, 0,115,108,111,112,
-101, 91, 51, 93, 0,112,111,119,101,114, 91, 51, 93, 0,108,105,102,116, 95,108,103,103, 91, 51, 93, 0,103, 97,109,109, 97, 95,
-105,110,118, 91, 51, 93, 0,108,105,109, 99,104, 97,110, 0,117,110,115,112,105,108,108, 0,108,105,109,115, 99, 97,108,101, 0,
-117,115,112,105,108,108,114, 0,117,115,112,105,108,108,103, 0,117,115,112,105,108,108, 98, 0,116,101,120, 95,109, 97,112,112,
-105,110,103, 0, 99,111,108,111,114, 95,109, 97,112,112,105,110,103, 0,115,117,110, 95,100,105,114,101, 99,116,105,111,110, 91,
- 51, 93, 0,116,117,114, 98,105,100,105,116,121, 0, 99,111,108,111,114, 95,115,112, 97, 99,101, 0,112,114,111,106,101, 99,116,
-105,111,110, 0,103,114, 97,100,105,101,110,116, 95,116,121,112,101, 0, 99,111,108,111,114,105,110,103, 0,109,117,115,103,114,
- 97,118,101, 95,116,121,112,101, 0,119, 97,118,101, 95,116,121,112,101, 0,115,104,111,114,116,121, 0,109,105,110,116, 97, 98,
-108,101, 0,109, 97,120,116, 97, 98,108,101, 0,101,120,116, 95,105,110, 91, 50, 93, 0,101,120,116, 95,111,117,116, 91, 50, 93,
- 0, 42, 99,117,114,118,101, 0, 42,116, 97, 98,108,101, 0, 42,112,114,101,109,117,108,116, 97, 98,108,101, 0,112,114,101,115,
-101,116, 0, 99,104, 97,110,103,101,100, 95,116,105,109,101,115,116, 97,109,112, 0, 99,117,114,114, 0, 99,108,105,112,114, 0,
- 99,109, 91, 52, 93, 0, 98,108, 97, 99,107, 91, 51, 93, 0,119,104,105,116,101, 91, 51, 93, 0, 98,119,109,117,108, 91, 51, 93,
- 0,115, 97,109,112,108,101, 91, 51, 93, 0,120, 95,114,101,115,111,108,117,116,105,111,110, 0,100, 97,116, 97, 95,114, 91, 50,
- 53, 54, 93, 0,100, 97,116, 97, 95,103, 91, 50, 53, 54, 93, 0,100, 97,116, 97, 95, 98, 91, 50, 53, 54, 93, 0,100, 97,116, 97,
- 95,108,117,109, 97, 91, 50, 53, 54, 93, 0,115, 97,109,112,108,101, 95,102,117,108,108, 0,115, 97,109,112,108,101, 95,108,105,
-110,101,115, 0, 97, 99, 99,117,114, 97, 99,121, 0,119, 97,118,101,102,114,109, 95,109,111,100,101, 0,119, 97,118,101,102,114,
-109, 95, 97,108,112,104, 97, 0,119, 97,118,101,102,114,109, 95,121,102, 97, 99, 0,119, 97,118,101,102,114,109, 95,104,101,105,
-103,104,116, 0,118,101, 99,115, 99,111,112,101, 95, 97,108,112,104, 97, 0,118,101, 99,115, 99,111,112,101, 95,104,101,105,103,
-104,116, 0,109,105,110,109, 97,120, 91, 51, 93, 91, 50, 93, 0,104,105,115,116, 0, 42,119, 97,118,101,102,111,114,109, 95, 49,
- 0, 42,119, 97,118,101,102,111,114,109, 95, 50, 0, 42,119, 97,118,101,102,111,114,109, 95, 51, 0, 42,118,101, 99,115, 99,111,
-112,101, 0,119, 97,118,101,102,111,114,109, 95,116,111,116, 0,111,102,102,115,101,116, 91, 50, 93, 0, 99,108,111,110,101, 0,
-109,116,101,120, 0, 42,116,111,103,103,108,101, 95, 98,114,117,115,104, 0, 42,105, 99,111,110, 95,105,109, 98,117,102, 0,105,
- 99,111,110, 95,102,105,108,101,112, 97,116,104, 91, 49, 48, 50, 52, 93, 0,110,111,114,109, 97,108, 95,119,101,105,103,104,116,
- 0,111, 98, 95,109,111,100,101, 0,106,105,116,116,101,114, 0,115,109,111,111,116,104, 95,115,116,114,111,107,101, 95,114, 97,
-100,105,117,115, 0,115,109,111,111,116,104, 95,115,116,114,111,107,101, 95,102, 97, 99,116,111,114, 0,114, 97,116,101, 0,114,
-103, 98, 91, 51, 93, 0,115, 99,117,108,112,116, 95,112,108, 97,110,101, 0,112,108, 97,110,101, 95,111,102,102,115,101,116, 0,
-115, 99,117,108,112,116, 95,116,111,111,108, 0,118,101,114,116,101,120,112, 97,105,110,116, 95,116,111,111,108, 0,105,109, 97,
-103,101,112, 97,105,110,116, 95,116,111,111,108, 0,109, 97,115,107, 95,116,111,111,108, 0, 97,117,116,111,115,109,111,111,116,
-104, 95,102, 97, 99,116,111,114, 0, 99,114,101, 97,115,101, 95,112,105,110, 99,104, 95,102, 97, 99,116,111,114, 0,112,108, 97,
-110,101, 95,116,114,105,109, 0,116,101,120,116,117,114,101, 95,115, 97,109,112,108,101, 95, 98,105, 97,115, 0,116,101,120,116,
-117,114,101, 95,111,118,101,114,108, 97,121, 95, 97,108,112,104, 97, 0, 97,100,100, 95, 99,111,108, 91, 51, 93, 0,115,117, 98,
- 95, 99,111,108, 91, 51, 93, 0, 97, 99,116,105,118,101, 95,114,110,100, 0, 97, 99,116,105,118,101, 95, 99,108,111,110,101, 0,
- 97, 99,116,105,118,101, 95,109, 97,115,107, 0, 42,108, 97,121,101,114,115, 0,116,121,112,101,109, 97,112, 91, 51, 54, 93, 0,
-116,111,116,108, 97,121,101,114, 0,109, 97,120,108, 97,121,101,114, 0,116,111,116,115,105,122,101, 0, 42,112,111,111,108, 0,
- 42,101,120,116,101,114,110, 97,108, 0,114,111,116, 91, 52, 93, 0, 97,118,101, 91, 51, 93, 0, 42,103,114,111,117,110,100, 0,
-119, 97,110,100,101,114, 91, 51, 93, 0,114,101,115,116, 95,108,101,110,103,116,104, 0,112, 97,114,116,105, 99,108,101, 95,105,
-110,100,101,120, 91, 50, 93, 0,100,101,108,101,116,101, 95,102,108, 97,103, 0,110,117,109, 0,112, 97,114,101,110,116, 0,112,
- 97, 91, 52, 93, 0,119, 91, 52, 93, 0,102,117,118, 91, 52, 93, 0,102,111,102,102,115,101,116, 0,112,114,101,118, 95,115,116,
- 97,116,101, 0, 42,104, 97,105,114, 0, 42, 98,111,105,100, 0,100,105,101,116,105,109,101, 0,110,117,109, 95,100,109, 99, 97,
- 99,104,101, 0,104, 97,105,114, 95,105,110,100,101,120, 0, 97,108,105,118,101, 0,115,112,114,105,110,103, 95,107, 0,112,108,
- 97,115,116,105, 99,105,116,121, 95, 99,111,110,115,116, 97,110,116, 0,121,105,101,108,100, 95,114, 97,116,105,111, 0,112,108,
- 97,115,116,105, 99,105,116,121, 95, 98, 97,108, 97,110, 99,101, 0,121,105,101,108,100, 95, 98, 97,108, 97,110, 99,101, 0,118,
-105,115, 99,111,115,105,116,121, 95,111,109,101,103, 97, 0,118,105,115, 99,111,115,105,116,121, 95, 98,101,116, 97, 0,115,116,
-105,102,102,110,101,115,115, 95,107, 0,115,116,105,102,102,110,101,115,115, 95,107,110,101, 97,114, 0,114,101,115,116, 95,100,
-101,110,115,105,116,121, 0, 98,117,111,121, 97,110, 99,121, 0,115,112,114,105,110,103, 95,102,114, 97,109,101,115, 0, 42, 98,
-111,105,100,115, 0, 42,102,108,117,105,100, 0,100,105,115,116,114, 0,112,104,121,115,116,121,112,101, 0, 97,118,101,109,111,
-100,101, 0,114,101, 97, 99,116,101,118,101,110,116, 0,100,114, 97,119, 0,100,114, 97,119, 95, 97,115, 0,100,114, 97,119, 95,
-115,105,122,101, 0, 99,104,105,108,100,116,121,112,101, 0,114,101,110, 95, 97,115, 0,115,117, 98,102,114, 97,109,101,115, 0,
-100,114, 97,119, 95, 99,111,108, 0,114,101,110, 95,115,116,101,112, 0,104, 97,105,114, 95,115,116,101,112, 0,107,101,121,115,
- 95,115,116,101,112, 0, 97,100, 97,112,116, 95, 97,110,103,108,101, 0, 97,100, 97,112,116, 95,112,105,120, 0,114,111,116,102,
-114,111,109, 0,105,110,116,101,103,114, 97,116,111,114, 0, 98, 98, 95, 97,108,105,103,110, 0, 98, 98, 95,117,118, 95,115,112,
-108,105,116, 0, 98, 98, 95, 97,110,105,109, 0, 98, 98, 95,115,112,108,105,116, 95,111,102,102,115,101,116, 0, 98, 98, 95,116,
-105,108,116, 0, 98, 98, 95,114, 97,110,100, 95,116,105,108,116, 0, 98, 98, 95,111,102,102,115,101,116, 91, 50, 93, 0, 98, 98,
- 95,115,105,122,101, 91, 50, 93, 0, 98, 98, 95,118,101,108, 95,104,101, 97,100, 0, 98, 98, 95,118,101,108, 95,116, 97,105,108,
- 0, 99,111,108,111,114, 95,118,101, 99, 95,109, 97,120, 0,115,105,109,112,108,105,102,121, 95,114,101,102,115,105,122,101, 0,
-115,105,109,112,108,105,102,121, 95,114, 97,116,101, 0,115,105,109,112,108,105,102,121, 95,116,114, 97,110,115,105,116,105,111,
-110, 0,115,105,109,112,108,105,102,121, 95,118,105,101,119,112,111,114,116, 0,116,105,109,101,116,119,101, 97,107, 0, 99,111,
-117,114, 97,110,116, 95,116, 97,114,103,101,116, 0,106,105,116,102, 97, 99, 0,101,102,102, 95,104, 97,105,114, 0,103,114,105,
-100, 95,114, 97,110,100, 0,112,115, 95,111,102,102,115,101,116, 91, 49, 93, 0,103,114,105,100, 95,114,101,115, 0,101,102,102,
-101, 99,116,111,114, 95, 97,109,111,117,110,116, 0,116,105,109,101, 95,102,108, 97,103, 0,116,105,109,101, 95,112, 97,100, 91,
- 51, 93, 0,112, 97,114,116,102, 97, 99, 0,116, 97,110,102, 97, 99, 0,116, 97,110,112,104, 97,115,101, 0,114,101, 97, 99,116,
-102, 97, 99, 0,111, 98, 95,118,101,108, 91, 51, 93, 0, 97,118,101,102, 97, 99, 0,112,104, 97,115,101,102, 97, 99, 0,114, 97,
-110,100,114,111,116,102, 97, 99, 0,114, 97,110,100,112,104, 97,115,101,102, 97, 99, 0,114, 97,110,100,115,105,122,101, 0, 97,
- 99, 99, 91, 51, 93, 0,100,114, 97,103,102, 97, 99, 0, 98,114,111,119,110,102, 97, 99, 0,114, 97,110,100,108,101,110,103,116,
-104, 0, 99,104,105,108,100, 95,110, 98,114, 0,114,101,110, 95, 99,104,105,108,100, 95,110, 98,114, 0,112, 97,114,101,110,116,
-115, 0, 99,104,105,108,100,115,105,122,101, 0, 99,104,105,108,100,114, 97,110,100,115,105,122,101, 0, 99,104,105,108,100,114,
- 97,100, 0, 99,104,105,108,100,102,108, 97,116, 0, 99,108,117,109,112,112,111,119, 0,107,105,110,107, 95,102,108, 97,116, 0,
-107,105,110,107, 95, 97,109,112, 95, 99,108,117,109,112, 0,114,111,117,103,104, 49, 0,114,111,117,103,104, 49, 95,115,105,122,
-101, 0,114,111,117,103,104, 50, 0,114,111,117,103,104, 50, 95,115,105,122,101, 0,114,111,117,103,104, 50, 95,116,104,114,101,
-115, 0,114,111,117,103,104, 95,101,110,100, 0,114,111,117,103,104, 95,101,110,100, 95,115,104, 97,112,101, 0, 99,108,101,110,
-103,116,104, 0, 99,108,101,110,103,116,104, 95,116,104,114,101,115, 0,112, 97,114,116,105,110,103, 95,102, 97, 99, 0,112, 97,
-114,116,105,110,103, 95,109,105,110, 0,112, 97,114,116,105,110,103, 95,109, 97,120, 0, 98,114, 97,110, 99,104, 95,116,104,114,
-101,115, 0,100,114, 97,119, 95,108,105,110,101, 91, 50, 93, 0,112, 97,116,104, 95,115,116, 97,114,116, 0,112, 97,116,104, 95,
-101,110,100, 0,116,114, 97,105,108, 95, 99,111,117,110,116, 0,107,101,121,101,100, 95,108,111,111,112,115, 0,100,117,112,108,
-105,119,101,105,103,104,116,115, 0, 42,101,102,102, 95,103,114,111,117,112, 0, 42,100,117,112, 95,111, 98, 0, 42, 98, 98, 95,
-111, 98, 0, 42,112,100, 50, 0, 42,112, 97,114,116, 0, 42,112, 97,114,116,105, 99,108,101,115, 0, 42, 42,112, 97,116,104, 99,
- 97, 99,104,101, 0, 42, 42, 99,104,105,108,100, 99, 97, 99,104,101, 0,112, 97,116,104, 99, 97, 99,104,101, 98,117,102,115, 0,
- 99,104,105,108,100, 99, 97, 99,104,101, 98,117,102,115, 0, 42, 99,108,109,100, 0, 42,104, 97,105,114, 95,105,110, 95,100,109,
- 0, 42,104, 97,105,114, 95,111,117,116, 95,100,109, 0, 42,116, 97,114,103,101,116, 95,111, 98, 0, 42,108, 97,116,116,105, 99,
-101, 0,116,114,101,101, 95,102,114, 97,109,101, 0, 98,118,104,116,114,101,101, 95,102,114, 97,109,101, 0, 99,104,105,108,100,
- 95,115,101,101,100, 0,116,111,116,117,110,101,120,105,115,116, 0,116,111,116, 99,104,105,108,100, 0,116,111,116, 99, 97, 99,
-104,101,100, 0,116,111,116, 99,104,105,108,100, 99, 97, 99,104,101, 0,116, 97,114,103,101,116, 95,112,115,121,115, 0,116,111,
-116,107,101,121,101,100, 0, 98, 97,107,101,115,112, 97, 99,101, 0, 98, 98, 95,117,118,110, 97,109,101, 91, 51, 93, 91, 54, 52,
- 93, 0,118,103,114,111,117,112, 91, 49, 50, 93, 0,118,103, 95,110,101,103, 0,114,116, 51, 0, 42,114,101,110,100,101,114,100,
- 97,116, 97, 0, 42,101,102,102,101, 99,116,111,114,115, 0, 42,102,108,117,105,100, 95,115,112,114,105,110,103,115, 0,116,111,
-116, 95,102,108,117,105,100,115,112,114,105,110,103,115, 0, 97,108,108,111, 99, 95,102,108,117,105,100,115,112,114,105,110,103,
-115, 0, 42,116,114,101,101, 0, 42,112,100,100, 0, 42,102,114, 97,110,100, 0,100,116, 95,102,114, 97, 99, 0, 95,112, 97,100,
- 0, 67,100,105,115, 0, 67,118,105, 0,115,116,114,117, 99,116,117,114, 97,108, 0, 98,101,110,100,105,110,103, 0,109, 97,120,
- 95, 98,101,110,100, 0,109, 97,120, 95,115,116,114,117, 99,116, 0,109, 97,120, 95,115,104,101, 97,114, 0, 97,118,103, 95,115,
-112,114,105,110,103, 95,108,101,110, 0,116,105,109,101,115, 99, 97,108,101, 0,101,102,102, 95,102,111,114, 99,101, 95,115, 99,
- 97,108,101, 0,101,102,102, 95,119,105,110,100, 95,115, 99, 97,108,101, 0,115,105,109, 95,116,105,109,101, 95,111,108,100, 0,
-118,101,108,111, 99,105,116,121, 95,115,109,111,111,116,104, 0, 99,111,108,108,105,100,101,114, 95,102,114,105, 99,116,105,111,
-110, 0,118,101,108, 95,100, 97,109,112,105,110,103, 0,115,116,101,112,115, 80,101,114, 70,114, 97,109,101, 0,112,114,101,114,
-111,108,108, 0,109, 97,120,115,112,114,105,110,103,108,101,110, 0,115,111,108,118,101,114, 95,116,121,112,101, 0,118,103,114,
-111,117,112, 95, 98,101,110,100, 0,118,103,114,111,117,112, 95,109, 97,115,115, 0,118,103,114,111,117,112, 95,115,116,114,117,
- 99,116, 0,115,104, 97,112,101,107,101,121, 95,114,101,115,116, 0,112,114,101,115,101,116,115, 0,114,101,115,101,116, 0, 42,
- 99,111,108,108,105,115,105,111,110, 95,108,105,115,116, 0,101,112,115,105,108,111,110, 0,115,101,108,102, 95,102,114,105, 99,
-116,105,111,110, 0,115,101,108,102,101,112,115,105,108,111,110, 0,114,101,112,101,108, 95,102,111,114, 99,101, 0,100,105,115,
-116, 97,110, 99,101, 95,114,101,112,101,108, 0,115,101,108,102, 95,108,111,111,112, 95, 99,111,117,110,116, 0,108,111,111,112,
- 95, 99,111,117,110,116, 0,112,114,101,115,115,117,114,101, 0,116,104,105, 99,107,110,101,115,115, 0,115,116,114,111,107,101,
-115, 0,102,114, 97,109,101,110,117,109, 0, 42, 97, 99,116,102,114, 97,109,101, 0,103,115,116,101,112, 0,105,110,102,111, 91,
- 49, 50, 56, 93, 0,115, 98,117,102,102,101,114, 95,115,105,122,101, 0,115, 98,117,102,102,101,114, 95,115,102,108, 97,103, 0,
- 42,115, 98,117,102,102,101,114, 0,108,105,115,116, 0,112,114,105,110,116,108,101,118,101,108, 0,115,116,111,114,101,108,101,
-118,101,108, 0, 42,114,101,112,111,114,116,116,105,109,101,114, 0, 42,119,105,110,100,114, 97,119, 97, 98,108,101, 0, 42,119,
-105,110, 97, 99,116,105,118,101, 0,119,105,110,100,111,119,115, 0,105,110,105,116,105, 97,108,105,122,101,100, 0,102,105,108,
-101, 95,115, 97,118,101,100, 0,111,112, 95,117,110,100,111, 95,100,101,112,116,104, 0,111,112,101,114, 97,116,111,114,115, 0,
-113,117,101,117,101, 0,114,101,112,111,114,116,115, 0,106,111, 98,115, 0,112, 97,105,110,116, 99,117,114,115,111,114,115, 0,
-100,114, 97,103,115, 0,107,101,121, 99,111,110,102,105,103,115, 0, 42,100,101,102, 97,117,108,116, 99,111,110,102, 0, 42, 97,
-100,100,111,110, 99,111,110,102, 0, 42,117,115,101,114, 99,111,110,102, 0,116,105,109,101,114,115, 0, 42, 97,117,116,111,115,
- 97,118,101,116,105,109,101,114, 0, 42,103,104,111,115,116,119,105,110, 0,103,114, 97, 98, 99,117,114,115,111,114, 0, 42,115,
- 99,114,101,101,110, 0, 42,110,101,119,115, 99,114,101,101,110, 0,115, 99,114,101,101,110,110, 97,109,101, 91, 54, 52, 93, 0,
-112,111,115,120, 0,112,111,115,121, 0,119,105,110,100,111,119,115,116, 97,116,101, 0,109,111,110,105,116,111,114, 0,108, 97,
-115,116, 99,117,114,115,111,114, 0,109,111,100, 97,108, 99,117,114,115,111,114, 0, 97,100,100,109,111,117,115,101,109,111,118,
-101, 0, 42,101,118,101,110,116,115,116, 97,116,101, 0, 42, 99,117,114,115,119,105,110, 0, 42,116,119,101, 97,107, 0,100,114,
- 97,119,109,101,116,104,111,100, 0,100,114, 97,119,102, 97,105,108, 0, 42,100,114, 97,119,100, 97,116, 97, 0,109,111,100, 97,
-108,104, 97,110,100,108,101,114,115, 0,115,117, 98,119,105,110,100,111,119,115, 0,103,101,115,116,117,114,101, 0,105,100,110,
- 97,109,101, 91, 54, 52, 93, 0,112,114,111,112,118, 97,108,117,101, 95,115,116,114, 91, 54, 52, 93, 0,112,114,111,112,118, 97,
-108,117,101, 0,115,104,105,102,116, 0, 99,116,114,108, 0, 97,108,116, 0,111,115,107,101,121, 0,107,101,121,109,111,100,105,
-102,105,101,114, 0,109, 97,112,116,121,112,101, 0, 42,112,116,114, 0, 42,114,101,109,111,118,101, 95,105,116,101,109, 0, 42,
- 97,100,100, 95,105,116,101,109, 0,105,116,101,109,115, 0,100,105,102,102, 95,105,116,101,109,115, 0,115,112, 97, 99,101,105,
-100, 0,114,101,103,105,111,110,105,100, 0,107,109,105, 95,105,100, 0, 40, 42,112,111,108,108, 41, 40, 41, 0, 42,109,111,100,
- 97,108, 95,105,116,101,109,115, 0, 98, 97,115,101,110, 97,109,101, 91, 54, 52, 93, 0, 97, 99,116,107,101,121,109, 97,112, 0,
- 42, 99,117,115,116,111,109,100, 97,116, 97, 0, 42,112,121, 95,105,110,115,116, 97,110, 99,101, 0, 42,114,101,112,111,114,116,
-115, 0,109, 97, 99,114,111, 0, 42,111,112,109, 0, 42,101,100, 97,116, 97, 0, 42, 99,111,101,102,102,105, 99,105,101,110,116,
-115, 0, 97,114,114, 97,121,115,105,122,101, 0,112,111,108,121, 95,111,114,100,101,114, 0, 97,109,112,108,105,116,117,100,101,
- 0,112,104, 97,115,101, 95,109,117,108,116,105,112,108,105,101,114, 0,112,104, 97,115,101, 95,111,102,102,115,101,116, 0,118,
- 97,108,117,101, 95,111,102,102,115,101,116, 0,109,105,100,118, 97,108, 0, 98,101,102,111,114,101, 95,109,111,100,101, 0, 97,
-102,116,101,114, 95,109,111,100,101, 0, 98,101,102,111,114,101, 95, 99,121, 99,108,101,115, 0, 97,102,116,101,114, 95, 99,121,
- 99,108,101,115, 0,114,101, 99,116, 0,112,104, 97,115,101, 0,109,111,100,105,102,105, 99, 97,116,105,111,110, 0,115,116,101,
-112, 95,115,105,122,101, 0, 42,114,110, 97, 95,112, 97,116,104, 0,112, 99,104, 97,110, 95,110, 97,109,101, 91, 51, 50, 93, 0,
-116,114, 97,110,115, 67,104, 97,110, 0,105,100,116,121,112,101, 0,116, 97,114,103,101,116,115, 91, 56, 93, 0,110,117,109, 95,
-116, 97,114,103,101,116,115, 0,118, 97,114,105, 97, 98,108,101,115, 0,101,120,112,114,101,115,115,105,111,110, 91, 50, 53, 54,
- 93, 0, 42,101,120,112,114, 95, 99,111,109,112, 0,118,101, 99, 91, 50, 93, 0, 42,102,112,116, 0, 97,114,114, 97,121, 95,105,
-110,100,101,120, 0, 99,111,108,111,114, 95,109,111,100,101, 0,102,114,111,109, 91, 49, 50, 56, 93, 0,116,111, 91, 49, 50, 56,
- 93, 0,109, 97,112,112,105,110,103,115, 0,115,116,114,105,112,115, 0, 42,114,101,109, 97,112, 0,102, 99,117,114,118,101,115,
- 0,115,116,114,105,112, 95,116,105,109,101, 0, 98,108,101,110,100,109,111,100,101, 0,101,120,116,101,110,100,109,111,100,101,
- 0, 42,115,112,101, 97,107,101,114, 95,104, 97,110,100,108,101, 0,103,114,111,117,112, 91, 54, 52, 93, 0,103,114,111,117,112,
-109,111,100,101, 0,107,101,121,105,110,103,102,108, 97,103, 0,112, 97,116,104,115, 0,100,101,115, 99,114,105,112,116,105,111,
-110, 91, 50, 52, 48, 93, 0,116,121,112,101,105,110,102,111, 91, 54, 52, 93, 0, 97, 99,116,105,118,101, 95,112, 97,116,104, 0,
- 42,116,109,112, 97, 99,116, 0,110,108, 97, 95,116,114, 97, 99,107,115, 0, 42, 97, 99,116,115,116,114,105,112, 0,100,114,105,
-118,101,114,115, 0,111,118,101,114,114,105,100,101,115, 0, 97, 99,116, 95, 98,108,101,110,100,109,111,100,101, 0, 97, 99,116,
- 95,101,120,116,101,110,100,109,111,100,101, 0, 97, 99,116, 95,105,110,102,108,117,101,110, 99,101, 0,114,117,108,101, 0,111,
-112,116,105,111,110,115, 0,102,101, 97,114, 95,102, 97, 99,116,111,114, 0,115,105,103,110, 97,108, 95,105,100, 0,108,111,111,
-107, 95, 97,104,101, 97,100, 0,111,108,111, 99, 91, 51, 93, 0,113,117,101,117,101, 95,115,105,122,101, 0,119, 97,110,100,101,
-114, 0,102,108,101,101, 95,100,105,115,116, 97,110, 99,101, 0,104,101, 97,108,116,104, 0,115,116, 97,116,101, 95,105,100, 0,
-114,117,108,101,115, 0, 99,111,110,100,105,116,105,111,110,115, 0, 97, 99,116,105,111,110,115, 0,114,117,108,101,115,101,116,
- 95,116,121,112,101, 0,114,117,108,101, 95,102,117,122,122,105,110,101,115,115, 0,108, 97,115,116, 95,115,116, 97,116,101, 95,
-105,100, 0,108, 97,110,100,105,110,103, 95,115,109,111,111,116,104,110,101,115,115, 0, 98, 97,110,107,105,110,103, 0, 97,103,
-103,114,101,115,115,105,111,110, 0, 97,105,114, 95,109,105,110, 95,115,112,101,101,100, 0, 97,105,114, 95,109, 97,120, 95,115,
-112,101,101,100, 0, 97,105,114, 95,109, 97,120, 95, 97, 99, 99, 0, 97,105,114, 95,109, 97,120, 95, 97,118,101, 0, 97,105,114,
- 95,112,101,114,115,111,110, 97,108, 95,115,112, 97, 99,101, 0,108, 97,110,100, 95,106,117,109,112, 95,115,112,101,101,100, 0,
-108, 97,110,100, 95,109, 97,120, 95,115,112,101,101,100, 0,108, 97,110,100, 95,109, 97,120, 95, 97, 99, 99, 0,108, 97,110,100,
- 95,109, 97,120, 95, 97,118,101, 0,108, 97,110,100, 95,112,101,114,115,111,110, 97,108, 95,115,112, 97, 99,101, 0,108, 97,110,
-100, 95,115,116,105, 99,107, 95,102,111,114, 99,101, 0,115,116, 97,116,101,115, 0, 42,115,109,100, 0, 42,102,108,117,105,100,
- 95,103,114,111,117,112, 0, 42, 99,111,108,108, 95,103,114,111,117,112, 0, 42,119,116, 0, 42,116,101,120, 95,119,116, 0, 42,
-116,101,120, 95,115,104, 97,100,111,119, 0, 42,115,104, 97,100,111,119, 0,112, 48, 91, 51, 93, 0,112, 49, 91, 51, 93, 0,100,
-120, 0,111,109,101,103, 97, 0,116,101,109,112, 65,109, 98, 0, 98,101,116, 97, 0,114,101,115, 91, 51, 93, 0, 97,109,112,108,
-105,102,121, 0,109, 97,120,114,101,115, 0,118,105,101,119,115,101,116,116,105,110,103,115, 0,110,111,105,115,101, 0,100,105,
-115,115, 95,112,101,114, 99,101,110,116, 0,100,105,115,115, 95,115,112,101,101,100, 0,114,101,115, 95,119,116, 91, 51, 93, 0,
-100,120, 95,119,116, 0,118, 51,100,110,117,109, 0, 99, 97, 99,104,101, 95, 99,111,109,112, 0, 99, 97, 99,104,101, 95,104,105,
-103,104, 95, 99,111,109,112, 0, 42,112,111,105,110,116, 95, 99, 97, 99,104,101, 91, 50, 93, 0,112,116, 99, 97, 99,104,101,115,
- 91, 50, 93, 0, 98,111,114,100,101,114, 95, 99,111,108,108,105,115,105,111,110,115, 0,116,105,109,101, 95,115, 99, 97,108,101,
- 0,118,111,114,116,105, 99,105,116,121, 0,118,101,108,111, 99,105,116,121, 91, 50, 93, 0,118,101,108, 95,109,117,108,116,105,
- 0,118,103,114,112, 95,104,101, 97,116, 95,115, 99, 97,108,101, 91, 50, 93, 0,118,103,114,111,117,112, 95,102,108,111,119, 0,
-118,103,114,111,117,112, 95,100,101,110,115,105,116,121, 0,118,103,114,111,117,112, 95,104,101, 97,116, 0, 42,112,111,105,110,
-116,115, 95,111,108,100, 0, 42,118,101,108, 0, 42,116,114,105,100,105,118,115, 0,109, 97,116, 95,111,108,100, 91, 52, 93, 91,
- 52, 93, 0,110,117,109,116,114,105,115, 0,118,111,108,117,109,101, 95,109, 97,120, 0,118,111,108,117,109,101, 95,109,105,110,
- 0,100,105,115,116, 97,110, 99,101, 95,109, 97,120, 0,100,105,115,116, 97,110, 99,101, 95,114,101,102,101,114,101,110, 99,101,
- 0, 99,111,110,101, 95, 97,110,103,108,101, 95,111,117,116,101,114, 0, 99,111,110,101, 95, 97,110,103,108,101, 95,105,110,110,
-101,114, 0, 99,111,110,101, 95,118,111,108,117,109,101, 95,111,117,116,101,114, 0,114,101,110,100,101,114, 95,102,108, 97,103,
- 0, 98,117,105,108,100, 95,115,105,122,101, 95,102,108, 97,103, 0, 98,117,105,108,100, 95,116, 99, 95,102,108, 97,103, 0,108,
- 97,115,116,115,105,122,101, 91, 50, 93, 0,116,114, 97, 99,107,105,110,103, 0, 42,116,114, 97, 99,107,105,110,103, 95, 99,111,
-110,116,101,120,116, 0,112,114,111,120,121, 0,116,114, 97, 99,107, 95,112,114,101,118,105,101,119, 95,104,101,105,103,104,116,
- 0, 42,116,114, 97, 99,107, 95,112,114,101,118,105,101,119, 0,116,114, 97, 99,107, 95,112,111,115, 91, 50, 93, 0,116,114, 97,
- 99,107, 95,100,105,115, 97, 98,108,101,100, 0, 42,109, 97,114,107,101,114, 0,115,108,105,100,101, 95,115, 99, 97,108,101, 91,
- 50, 93, 0,101,114,114,111,114, 0, 42,105,110,116,114,105,110,115,105, 99,115, 0,115,101,110,115,111,114, 95,119,105,100,116,
-104, 0,112,105,120,101,108, 95, 97,115,112,101, 99,116, 0,102,111, 99, 97,108, 0,117,110,105,116,115, 0,112,114,105,110, 99,
-105,112, 97,108, 91, 50, 93, 0,107, 49, 0,107, 50, 0,107, 51, 0,112,111,115, 91, 50, 93, 0,112, 97,116, 95,109,105,110, 91,
- 50, 93, 0,112, 97,116, 95,109, 97,120, 91, 50, 93, 0,115,101, 97,114, 99,104, 95,109,105,110, 91, 50, 93, 0,115,101, 97,114,
- 99,104, 95,109, 97,120, 91, 50, 93, 0,109, 97,114,107,101,114,115,110,114, 0,108, 97,115,116, 95,109, 97,114,107,101,114, 0,
- 42,109, 97,114,107,101,114,115, 0, 98,117,110,100,108,101, 95,112,111,115, 91, 51, 93, 0,112, 97,116, 95,102,108, 97,103, 0,
-115,101, 97,114, 99,104, 95,102,108, 97,103, 0,102,114, 97,109,101,115, 95,108,105,109,105,116, 0,112, 97,116,116,101,114,110,
- 95,109, 97,116, 99,104, 0,116,114, 97, 99,107,101,114, 0,112,121,114, 97,109,105,100, 95,108,101,118,101,108,115, 0,109,105,
-110,105,109,117,109, 95, 99,111,114,114,101,108, 97,116,105,111,110, 0,100,101,102, 97,117,108,116, 95,116,114, 97, 99,107,101,
-114, 0,100,101,102, 97,117,108,116, 95,112,121,114, 97,109,105,100, 95,108,101,118,101,108,115, 0,100,101,102, 97,117,108,116,
- 95,109,105,110,105,109,117,109, 95, 99,111,114,114,101,108, 97,116,105,111,110, 0,100,101,102, 97,117,108,116, 95,112, 97,116,
-116,101,114,110, 95,115,105,122,101, 0,100,101,102, 97,117,108,116, 95,115,101, 97,114, 99,104, 95,115,105,122,101, 0,100,101,
-102, 97,117,108,116, 95,102,114, 97,109,101,115, 95,108,105,109,105,116, 0,100,101,102, 97,117,108,116, 95,109, 97,114,103,105,
-110, 0,100,101,102, 97,117,108,116, 95,112, 97,116,116,101,114,110, 95,109, 97,116, 99,104, 0,100,101,102, 97,117,108,116, 95,
-102,108, 97,103, 0,109,111,116,105,111,110, 95,102,108, 97,103, 0,107,101,121,102,114, 97,109,101, 49, 0,107,101,121,102,114,
- 97,109,101, 50, 0,114,101,102,105,110,101, 95, 99, 97,109,101,114, 97, 95,105,110,116,114,105,110,115,105, 99,115, 0, 99,108,
-101, 97,110, 95,102,114, 97,109,101,115, 0, 99,108,101, 97,110, 95, 97, 99,116,105,111,110, 0, 99,108,101, 97,110, 95,101,114,
-114,111,114, 0,111, 98,106,101, 99,116, 95,100,105,115,116, 97,110, 99,101, 0,116,111,116, 95,116,114, 97, 99,107, 0, 97, 99,
-116, 95,116,114, 97, 99,107, 0,109, 97,120,115, 99, 97,108,101, 0, 42,114,111,116, 95,116,114, 97, 99,107, 0,108,111, 99,105,
-110,102, 0,115, 99, 97,108,101,105,110,102, 0,114,111,116,105,110,102, 0, 42,115, 99, 97,108,101,105, 98,117,102, 0,108, 97,
-115,116, 95, 99, 97,109,101,114, 97, 0, 99, 97,109,110,114, 0, 42, 99, 97,109,101,114, 97,115, 0,116,114, 97, 99,107,115, 0,
-114,101, 99,111,110,115,116,114,117, 99,116,105,111,110, 0,109,101,115,115, 97,103,101, 91, 50, 53, 54, 93, 0,116,111,116, 95,
-115,101,103,109,101,110,116, 0, 42,115,101,103,109,101,110,116,115, 0,109, 97,120, 95,115,101,103,109,101,110,116, 0,116,111,
-116, 97,108, 95,102,114, 97,109,101,115, 0,116,111,116, 95, 99,104, 97,110,110,101,108, 0,115,111,114,116, 95,109,101,116,104,
-111,100, 0,115,111,114,116, 95,105,110,118,101,114,115,101, 0,115,101,116,116,105,110,103,115, 0, 99, 97,109,101,114, 97, 0,
-115,116, 97, 98,105,108,105,122, 97,116,105,111,110, 0, 42, 97, 99,116, 95,116,114, 97, 99,107, 0,111, 98,106,101, 99,116,115,
- 0,111, 98,106,101, 99,116,110,114, 0,116,111,116, 95,111, 98,106,101, 99,116, 0,100,111,112,101,115,104,101,101,116, 0, 42,
- 98,114,117,115,104, 95,103,114,111,117,112, 0, 99,117,114,114,101,110,116, 95,102,114, 97,109,101, 0,100,105,115,112, 95,116,
-121,112,101, 0,105,109, 97,103,101, 95,102,105,108,101,102,111,114,109, 97,116, 0,101,102,102,101, 99,116, 95,117,105, 0,112,
-114,101,118,105,101,119, 95,105,100, 0,105,110,105,116, 95, 99,111,108,111,114, 95,116,121,112,101, 0,112, 97,100, 95,115, 0,
-105,109, 97,103,101, 95,114,101,115,111,108,117,116,105,111,110, 0,115,117, 98,115,116,101,112,115, 0,105,110,105,116, 95, 99,
-111,108,111,114, 91, 52, 93, 0, 42,105,110,105,116, 95,116,101,120,116,117,114,101, 0,105,110,105,116, 95,108, 97,121,101,114,
-110, 97,109,101, 91, 54, 52, 93, 0,100,114,121, 95,115,112,101,101,100, 0, 99,111,108,111,114, 95,100,114,121, 95,116,104,114,
-101,115,104,111,108,100, 0,100,101,112,116,104, 95, 99,108, 97,109,112, 0,100,105,115,112, 95,102, 97, 99,116,111,114, 0,115,
-112,114,101, 97,100, 95,115,112,101,101,100, 0, 99,111,108,111,114, 95,115,112,114,101, 97,100, 95,115,112,101,101,100, 0,115,
-104,114,105,110,107, 95,115,112,101,101,100, 0,100,114,105,112, 95,118,101,108, 0,100,114,105,112, 95, 97, 99, 99, 0,105,110,
-102,108,117,101,110, 99,101, 95,115, 99, 97,108,101, 0,114, 97,100,105,117,115, 95,115, 99, 97,108,101, 0,119, 97,118,101, 95,
-100, 97,109,112,105,110,103, 0,119, 97,118,101, 95,115,112,101,101,100, 0,119, 97,118,101, 95,116,105,109,101,115, 99, 97,108,
-101, 0,119, 97,118,101, 95,115,112,114,105,110,103, 0,105,109, 97,103,101, 95,111,117,116,112,117,116, 95,112, 97,116,104, 91,
- 49, 48, 50, 52, 93, 0,111,117,116,112,117,116, 95,110, 97,109,101, 91, 54, 52, 93, 0,111,117,116,112,117,116, 95,110, 97,109,
-101, 50, 91, 54, 52, 93, 0, 42,112,109,100, 0,115,117,114,102, 97, 99,101,115, 0, 97, 99,116,105,118,101, 95,115,117,114, 0,
-101,114,114,111,114, 91, 54, 52, 93, 0, 99,111,108,108,105,115,105,111,110, 0,119,101,116,110,101,115,115, 0,112, 97,114,116,
-105, 99,108,101, 95,114, 97,100,105,117,115, 0,112, 97,114,116,105, 99,108,101, 95,115,109,111,111,116,104, 0,112, 97,105,110,
-116, 95,100,105,115,116, 97,110, 99,101, 0, 42,112, 97,105,110,116, 95,114, 97,109,112, 0, 42,118,101,108, 95,114, 97,109,112,
- 0,112,114,111,120,105,109,105,116,121, 95,102, 97,108,108,111,102,102, 0,114, 97,121, 95,100,105,114, 0,119, 97,118,101, 95,
-102, 97, 99,116,111,114, 0,119, 97,118,101, 95, 99,108, 97,109,112, 0,109, 97,120, 95,118,101,108,111, 99,105,116,121, 0,115,
-109,117,100,103,101, 95,115,116,114,101,110,103,116,104, 0, 0, 84, 89, 80, 69, 26, 2, 0, 0, 99,104, 97,114, 0,117, 99,104,
- 97,114, 0,115,104,111,114,116, 0,117,115,104,111,114,116, 0,105,110,116, 0,108,111,110,103, 0,117,108,111,110,103, 0,102,
-108,111, 97,116, 0,100,111,117, 98,108,101, 0,105,110,116, 54, 52, 95,116, 0,117,105,110,116, 54, 52, 95,116, 0,118,111,105,
-100, 0, 76,105,110,107, 0, 76,105,110,107, 68, 97,116, 97, 0, 76,105,115,116, 66, 97,115,101, 0,118,101, 99, 50,115, 0,118,
-101, 99, 50,102, 0,118,101, 99, 51,102, 0,114, 99,116,105, 0,114, 99,116,102, 0, 73, 68, 80,114,111,112,101,114,116,121, 68,
- 97,116, 97, 0, 73, 68, 80,114,111,112,101,114,116,121, 0, 73, 68, 0, 76,105, 98,114, 97,114,121, 0, 70,105,108,101, 68, 97,
-116, 97, 0, 80,114,101,118,105,101,119, 73,109, 97,103,101, 0, 73,112,111, 68,114,105,118,101,114, 0, 79, 98,106,101, 99,116,
- 0, 73,112,111, 67,117,114,118,101, 0, 66, 80,111,105,110,116, 0, 66,101,122, 84,114,105,112,108,101, 0, 73,112,111, 0, 75,
-101,121, 66,108,111, 99,107, 0, 75,101,121, 0, 65,110,105,109, 68, 97,116, 97, 0, 84,101,120,116, 76,105,110,101, 0, 84,101,
-120,116, 77, 97,114,107,101,114, 0, 84,101,120,116, 0, 80, 97, 99,107,101,100, 70,105,108,101, 0, 67, 97,109,101,114, 97, 0,
- 73,109, 97,103,101, 85,115,101,114, 0, 83, 99,101,110,101, 0, 73,109, 97,103,101, 0, 71, 80, 85, 84,101,120,116,117,114,101,
- 0, 97,110,105,109, 0, 82,101,110,100,101,114, 82,101,115,117,108,116, 0, 77, 84,101,120, 0, 84,101,120, 0, 80,108,117,103,
-105,110, 84,101,120, 0, 67, 66, 68, 97,116, 97, 0, 67,111,108,111,114, 66, 97,110,100, 0, 69,110,118, 77, 97,112, 0, 73,109,
- 66,117,102, 0, 80,111,105,110,116, 68,101,110,115,105,116,121, 0, 67,117,114,118,101, 77, 97,112,112,105,110,103, 0, 86,111,
-120,101,108, 68, 97,116, 97, 0, 79, 99,101, 97,110, 84,101,120, 0, 98, 78,111,100,101, 84,114,101,101, 0, 84,101,120, 77, 97,
-112,112,105,110,103, 0, 67,111,108,111,114, 77, 97,112,112,105,110,103, 0, 76, 97,109,112, 0, 86,111,108,117,109,101, 83,101,
-116,116,105,110,103,115, 0, 71, 97,109,101, 83,101,116,116,105,110,103,115, 0, 77, 97,116,101,114,105, 97,108, 0, 71,114,111,
-117,112, 0, 86, 70,111,110,116, 0, 86, 70,111,110,116, 68, 97,116, 97, 0, 77,101,116, 97, 69,108,101,109, 0, 66,111,117,110,
-100, 66,111,120, 0, 77,101,116, 97, 66, 97,108,108, 0, 78,117,114, 98, 0, 67,104, 97,114, 73,110,102,111, 0, 84,101,120,116,
- 66,111,120, 0, 69,100,105,116, 78,117,114, 98, 0, 71, 72, 97,115,104, 0, 67,117,114,118,101, 0, 80, 97,116,104, 0, 83,101,
-108, 66,111,120, 0, 69,100,105,116, 70,111,110,116, 0, 77,101,115,104, 0, 77, 83,101,108,101, 99,116, 0, 77, 80,111,108,121,
- 0, 77, 84,101,120, 80,111,108,121, 0, 77, 76,111,111,112, 0, 77, 76,111,111,112, 85, 86, 0, 77, 76,111,111,112, 67,111,108,
- 0, 77, 70, 97, 99,101, 0, 77, 84, 70, 97, 99,101, 0, 84, 70, 97, 99,101, 0, 77, 86,101,114,116, 0, 77, 69,100,103,101, 0,
- 77, 68,101,102,111,114,109, 86,101,114,116, 0, 77, 67,111,108, 0, 77, 83,116,105, 99,107,121, 0, 66, 77, 69,100,105,116, 77,
-101,115,104, 0, 67,117,115,116,111,109, 68, 97,116, 97, 0, 77,117,108,116,105,114,101,115, 0, 77, 68,101,102,111,114,109, 87,
-101,105,103,104,116, 0, 77, 70,108,111, 97,116, 80,114,111,112,101,114,116,121, 0, 77, 73,110,116, 80,114,111,112,101,114,116,
-121, 0, 77, 83,116,114,105,110,103, 80,114,111,112,101,114,116,121, 0, 79,114,105,103, 83,112, 97, 99,101, 70, 97, 99,101, 0,
- 79,114,105,103, 83,112, 97, 99,101, 76,111,111,112, 0, 77, 68,105,115,112,115, 0, 77,117,108,116,105,114,101,115, 67,111,108,
- 0, 77,117,108,116,105,114,101,115, 67,111,108, 70, 97, 99,101, 0, 77,117,108,116,105,114,101,115, 70, 97, 99,101, 0, 77,117,
-108,116,105,114,101,115, 69,100,103,101, 0, 77,117,108,116,105,114,101,115, 76,101,118,101,108, 0, 77, 82,101, 99, 97,115,116,
- 0, 71,114,105,100, 80, 97,105,110,116, 77, 97,115,107, 0, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 77, 97,112,112,
-105,110,103, 73,110,102,111, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 83,117, 98,115,117,114,102, 77,111,100,105,102,
-105,101,114, 68, 97,116, 97, 0, 76, 97,116,116,105, 99,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 67,117,114,118,
-101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 66,117,105,108,100, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0,
- 77, 97,115,107, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 65,114,114, 97,121, 77,111,100,105,102,105,101,114, 68, 97,
-116, 97, 0, 77,105,114,114,111,114, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 69,100,103,101, 83,112,108,105,116, 77,
-111,100,105,102,105,101,114, 68, 97,116, 97, 0, 66,101,118,101,108, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 66, 77,
-101,115,104, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 83,109,111,107,101, 77,111,100,105,102,105,101,114, 68, 97,116,
- 97, 0, 83,109,111,107,101, 68,111,109, 97,105,110, 83,101,116,116,105,110,103,115, 0, 83,109,111,107,101, 70,108,111,119, 83,
-101,116,116,105,110,103,115, 0, 83,109,111,107,101, 67,111,108,108, 83,101,116,116,105,110,103,115, 0, 68,105,115,112,108, 97,
- 99,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 85, 86, 80,114,111,106,101, 99,116, 77,111,100,105,102,105,101,114,
- 68, 97,116, 97, 0, 68,101, 99,105,109, 97,116,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 83,109,111,111,116,104,
- 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 67, 97,115,116, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 87, 97,
-118,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 65,114,109, 97,116,117,114,101, 77,111,100,105,102,105,101,114, 68,
- 97,116, 97, 0, 72,111,111,107, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 83,111,102,116, 98,111,100,121, 77,111,100,
-105,102,105,101,114, 68, 97,116, 97, 0, 67,108,111,116,104, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 67,108,111,116,
-104, 0, 67,108,111,116,104, 83,105,109, 83,101,116,116,105,110,103,115, 0, 67,108,111,116,104, 67,111,108,108, 83,101,116,116,
-105,110,103,115, 0, 80,111,105,110,116, 67, 97, 99,104,101, 0, 67,111,108,108,105,115,105,111,110, 77,111,100,105,102,105,101,
-114, 68, 97,116, 97, 0, 66, 86, 72, 84,114,101,101, 0, 83,117,114,102, 97, 99,101, 77,111,100,105,102,105,101,114, 68, 97,116,
- 97, 0, 68,101,114,105,118,101,100, 77,101,115,104, 0, 66, 86, 72, 84,114,101,101, 70,114,111,109, 77,101,115,104, 0, 66,111,
-111,108,101, 97,110, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 77, 68,101,102, 73,110,102,108,117,101,110, 99,101, 0,
- 77, 68,101,102, 67,101,108,108, 0, 77,101,115,104, 68,101,102,111,114,109, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0,
- 80, 97,114,116,105, 99,108,101, 83,121,115,116,101,109, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 80, 97,114,116,105,
- 99,108,101, 83,121,115,116,101,109, 0, 80, 97,114,116,105, 99,108,101, 73,110,115,116, 97,110, 99,101, 77,111,100,105,102,105,
-101,114, 68, 97,116, 97, 0, 69,120,112,108,111,100,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 77,117,108,116,105,
-114,101,115, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 70,108,117,105,100,115,105,109, 77,111,100,105,102,105,101,114,
- 68, 97,116, 97, 0, 70,108,117,105,100,115,105,109, 83,101,116,116,105,110,103,115, 0, 83,104,114,105,110,107,119,114, 97,112,
- 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 83,105,109,112,108,101, 68,101,102,111,114,109, 77,111,100,105,102,105,101,
-114, 68, 97,116, 97, 0, 83,104, 97,112,101, 75,101,121, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 83,111,108,105,100,
-105,102,121, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 83, 99,114,101,119, 77,111,100,105,102,105,101,114, 68, 97,116,
- 97, 0, 79, 99,101, 97,110, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 79, 99,101, 97,110, 0, 79, 99,101, 97,110, 67,
- 97, 99,104,101, 0, 87, 97,114,112, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 87,101,105,103,104,116, 86, 71, 69,100,
-105,116, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 87,101,105,103,104,116, 86, 71, 77,105,120, 77,111,100,105,102,105,
-101,114, 68, 97,116, 97, 0, 87,101,105,103,104,116, 86, 71, 80,114,111,120,105,109,105,116,121, 77,111,100,105,102,105,101,114,
- 68, 97,116, 97, 0, 68,121,110, 97,109,105, 99, 80, 97,105,110,116, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 68,121,
-110, 97,109,105, 99, 80, 97,105,110,116, 67, 97,110,118, 97,115, 83,101,116,116,105,110,103,115, 0, 68,121,110, 97,109,105, 99,
- 80, 97,105,110,116, 66,114,117,115,104, 83,101,116,116,105,110,103,115, 0, 82,101,109,101,115,104, 77,111,100,105,102,105,101,
-114, 68, 97,116, 97, 0, 69,100,105,116, 76, 97,116,116, 0, 76, 97,116,116,105, 99,101, 0, 98, 68,101,102,111,114,109, 71,114,
-111,117,112, 0, 83, 99,117,108,112,116, 83,101,115,115,105,111,110, 0, 98, 65, 99,116,105,111,110, 0, 98, 80,111,115,101, 0,
- 98, 71, 80,100, 97,116, 97, 0, 98, 65,110,105,109, 86,105,122, 83,101,116,116,105,110,103,115, 0, 98, 77,111,116,105,111,110,
- 80, 97,116,104, 0, 66,117,108,108,101,116, 83,111,102,116, 66,111,100,121, 0, 80, 97,114,116, 68,101,102,108,101, 99,116, 0,
- 83,111,102,116, 66,111,100,121, 0, 79, 98, 72,111,111,107, 0, 68,117,112,108,105, 79, 98,106,101, 99,116, 0, 82, 78, 71, 0,
- 69,102,102,101, 99,116,111,114, 87,101,105,103,104,116,115, 0, 80, 84, 67, 97, 99,104,101, 69,120,116,114, 97, 0, 80, 84, 67,
- 97, 99,104,101, 77,101,109, 0, 80, 84, 67, 97, 99,104,101, 69,100,105,116, 0, 83, 66, 86,101,114,116,101,120, 0, 66,111,100,
-121, 80,111,105,110,116, 0, 66,111,100,121, 83,112,114,105,110,103, 0, 83, 66, 83, 99,114, 97,116, 99,104, 0, 70,108,117,105,
-100, 86,101,114,116,101,120, 86,101,108,111, 99,105,116,121, 0, 87,111,114,108,100, 0, 66, 97,115,101, 0, 65,118,105, 67,111,
-100,101, 99, 68, 97,116, 97, 0, 81,117,105, 99,107,116,105,109,101, 67,111,100,101, 99, 68, 97,116, 97, 0, 81,117,105, 99,107,
-116,105,109,101, 67,111,100,101, 99, 83,101,116,116,105,110,103,115, 0, 70, 70, 77,112,101,103, 67,111,100,101, 99, 68, 97,116,
- 97, 0, 65,117,100,105,111, 68, 97,116, 97, 0, 83, 99,101,110,101, 82,101,110,100,101,114, 76, 97,121,101,114, 0, 73,109, 97,
-103,101, 70,111,114,109, 97,116, 68, 97,116, 97, 0, 82,101,110,100,101,114, 68, 97,116, 97, 0, 82,101,110,100,101,114, 80,114,
-111,102,105,108,101, 0, 71, 97,109,101, 68,111,109,101, 0, 71, 97,109,101, 70,114, 97,109,105,110,103, 0, 82,101, 99, 97,115,
-116, 68, 97,116, 97, 0, 71, 97,109,101, 68, 97,116, 97, 0, 84,105,109,101, 77, 97,114,107,101,114, 0, 80, 97,105,110,116, 0,
- 66,114,117,115,104, 0, 73,109, 97,103,101, 80, 97,105,110,116, 83,101,116,116,105,110,103,115, 0, 80, 97,114,116,105, 99,108,
-101, 66,114,117,115,104, 68, 97,116, 97, 0, 80, 97,114,116,105, 99,108,101, 69,100,105,116, 83,101,116,116,105,110,103,115, 0,
- 83, 99,117,108,112,116, 0, 85,118, 83, 99,117,108,112,116, 0, 86, 80, 97,105,110,116, 0, 84,114, 97,110,115,102,111,114,109,
- 79,114,105,101,110,116, 97,116,105,111,110, 0, 85,110,105,102,105,101,100, 80, 97,105,110,116, 83,101,116,116,105,110,103,115,
- 0, 84,111,111,108, 83,101,116,116,105,110,103,115, 0, 98, 83,116, 97,116,115, 0, 85,110,105,116, 83,101,116,116,105,110,103,
-115, 0, 80,104,121,115,105, 99,115, 83,101,116,116,105,110,103,115, 0, 69,100,105,116,105,110,103, 0, 83, 99,101,110,101, 83,
-116, 97,116,115, 0, 68, 97,103, 70,111,114,101,115,116, 0, 77,111,118,105,101, 67,108,105,112, 0, 66, 71,112,105, 99, 0, 77,
-111,118,105,101, 67,108,105,112, 85,115,101,114, 0, 82,101,103,105,111,110, 86,105,101,119, 51, 68, 0, 82,101,110,100,101,114,
- 73,110,102,111, 0, 82,101,110,100,101,114, 69,110,103,105,110,101, 0, 86,105,101,119, 68,101,112,116,104,115, 0, 83,109,111,
-111,116,104, 86,105,101,119, 83,116,111,114,101, 0,119,109, 84,105,109,101,114, 0, 86,105,101,119, 51, 68, 0, 83,112, 97, 99,
-101, 76,105,110,107, 0, 86,105,101,119, 50, 68, 0, 83,112, 97, 99,101, 73,110,102,111, 0, 83,112, 97, 99,101, 73,112,111, 0,
- 98, 68,111,112,101, 83,104,101,101,116, 0, 83,112, 97, 99,101, 66,117,116,115, 0, 83,112, 97, 99,101, 83,101,113, 0, 70,105,
-108,101, 83,101,108,101, 99,116, 80, 97,114, 97,109,115, 0, 83,112, 97, 99,101, 70,105,108,101, 0, 70,105,108,101, 76,105,115,
-116, 0,119,109, 79,112,101,114, 97,116,111,114, 0, 70,105,108,101, 76, 97,121,111,117,116, 0, 83,112, 97, 99,101, 79,111,112,
-115, 0, 84,114,101,101, 83,116,111,114,101, 0, 84,114,101,101, 83,116,111,114,101, 69,108,101,109, 0, 83,112, 97, 99,101, 73,
-109, 97,103,101, 0, 83, 99,111,112,101,115, 0, 72,105,115,116,111,103,114, 97,109, 0, 83,112, 97, 99,101, 78,108, 97, 0, 83,
-112, 97, 99,101, 84,101,120,116, 0, 83, 99,114,105,112,116, 0, 83,112, 97, 99,101, 83, 99,114,105,112,116, 0, 83,112, 97, 99,
-101, 84,105,109,101, 67, 97, 99,104,101, 0, 83,112, 97, 99,101, 84,105,109,101, 0, 83,112, 97, 99,101, 78,111,100,101, 0, 83,
-112, 97, 99,101, 76,111,103,105, 99, 0, 67,111,110,115,111,108,101, 76,105,110,101, 0, 83,112, 97, 99,101, 67,111,110,115,111,
-108,101, 0, 83,112, 97, 99,101, 85,115,101,114, 80,114,101,102, 0, 83,112, 97, 99,101, 67,108,105,112, 0, 77,111,118,105,101,
- 67,108,105,112, 83, 99,111,112,101,115, 0,117,105, 70,111,110,116, 0,117,105, 70,111,110,116, 83,116,121,108,101, 0,117,105,
- 83,116,121,108,101, 0,117,105, 87,105,100,103,101,116, 67,111,108,111,114,115, 0,117,105, 87,105,100,103,101,116, 83,116, 97,
-116,101, 67,111,108,111,114,115, 0,117,105, 80, 97,110,101,108, 67,111,108,111,114,115, 0, 84,104,101,109,101, 85, 73, 0, 84,
-104,101,109,101, 83,112, 97, 99,101, 0, 84,104,101,109,101, 87,105,114,101, 67,111,108,111,114, 0, 98, 84,104,101,109,101, 0,
- 98, 65,100,100,111,110, 0, 83,111,108,105,100, 76,105,103,104,116, 0, 85,115,101,114, 68,101,102, 0, 98, 83, 99,114,101,101,
-110, 0, 83, 99,114, 86,101,114,116, 0, 83, 99,114, 69,100,103,101, 0, 80, 97,110,101,108, 0, 80, 97,110,101,108, 84,121,112,
-101, 0,117,105, 76, 97,121,111,117,116, 0, 83, 99,114, 65,114,101, 97, 0, 83,112, 97, 99,101, 84,121,112,101, 0, 65, 82,101,
-103,105,111,110, 0, 65, 82,101,103,105,111,110, 84,121,112,101, 0, 70,105,108,101, 71,108,111, 98, 97,108, 0, 83,116,114,105,
-112, 69,108,101,109, 0, 83,116,114,105,112, 67,114,111,112, 0, 83,116,114,105,112, 84,114, 97,110,115,102,111,114,109, 0, 83,
-116,114,105,112, 67,111,108,111,114, 66, 97,108, 97,110, 99,101, 0, 83,116,114,105,112, 80,114,111,120,121, 0, 83,116,114,105,
-112, 0, 80,108,117,103,105,110, 83,101,113, 0, 83,101,113,117,101,110, 99,101, 0, 98, 83,111,117,110,100, 0, 77,101,116, 97,
- 83,116, 97, 99,107, 0, 87,105,112,101, 86, 97,114,115, 0, 71,108,111,119, 86, 97,114,115, 0, 84,114, 97,110,115,102,111,114,
-109, 86, 97,114,115, 0, 83,111,108,105,100, 67,111,108,111,114, 86, 97,114,115, 0, 83,112,101,101,100, 67,111,110,116,114,111,
-108, 86, 97,114,115, 0, 69,102,102,101, 99,116, 0, 66,117,105,108,100, 69,102,102, 0, 80, 97,114,116, 69,102,102, 0, 80, 97,
-114,116,105, 99,108,101, 0, 87, 97,118,101, 69,102,102, 0, 98, 80,114,111,112,101,114,116,121, 0, 98, 78,101, 97,114, 83,101,
-110,115,111,114, 0, 98, 77,111,117,115,101, 83,101,110,115,111,114, 0, 98, 84,111,117, 99,104, 83,101,110,115,111,114, 0, 98,
- 75,101,121, 98,111, 97,114,100, 83,101,110,115,111,114, 0, 98, 80,114,111,112,101,114,116,121, 83,101,110,115,111,114, 0, 98,
- 65, 99,116,117, 97,116,111,114, 83,101,110,115,111,114, 0, 98, 68,101,108, 97,121, 83,101,110,115,111,114, 0, 98, 67,111,108,
-108,105,115,105,111,110, 83,101,110,115,111,114, 0, 98, 82, 97,100, 97,114, 83,101,110,115,111,114, 0, 98, 82, 97,110,100,111,
-109, 83,101,110,115,111,114, 0, 98, 82, 97,121, 83,101,110,115,111,114, 0, 98, 65,114,109, 97,116,117,114,101, 83,101,110,115,
-111,114, 0, 98, 77,101,115,115, 97,103,101, 83,101,110,115,111,114, 0, 98, 83,101,110,115,111,114, 0, 98, 67,111,110,116,114,
-111,108,108,101,114, 0, 98, 74,111,121,115,116,105, 99,107, 83,101,110,115,111,114, 0, 98, 69,120,112,114,101,115,115,105,111,
-110, 67,111,110,116, 0, 98, 80,121,116,104,111,110, 67,111,110,116, 0, 98, 65, 99,116,117, 97,116,111,114, 0, 98, 65,100,100,
- 79, 98,106,101, 99,116, 65, 99,116,117, 97,116,111,114, 0, 98, 65, 99,116,105,111,110, 65, 99,116,117, 97,116,111,114, 0, 83,
-111,117,110,100, 51, 68, 0, 98, 83,111,117,110,100, 65, 99,116,117, 97,116,111,114, 0, 98, 69,100,105,116, 79, 98,106,101, 99,
-116, 65, 99,116,117, 97,116,111,114, 0, 98, 83, 99,101,110,101, 65, 99,116,117, 97,116,111,114, 0, 98, 80,114,111,112,101,114,
-116,121, 65, 99,116,117, 97,116,111,114, 0, 98, 79, 98,106,101, 99,116, 65, 99,116,117, 97,116,111,114, 0, 98, 73,112,111, 65,
- 99,116,117, 97,116,111,114, 0, 98, 67, 97,109,101,114, 97, 65, 99,116,117, 97,116,111,114, 0, 98, 67,111,110,115,116,114, 97,
-105,110,116, 65, 99,116,117, 97,116,111,114, 0, 98, 71,114,111,117,112, 65, 99,116,117, 97,116,111,114, 0, 98, 82, 97,110,100,
-111,109, 65, 99,116,117, 97,116,111,114, 0, 98, 77,101,115,115, 97,103,101, 65, 99,116,117, 97,116,111,114, 0, 98, 71, 97,109,
-101, 65, 99,116,117, 97,116,111,114, 0, 98, 86,105,115,105, 98,105,108,105,116,121, 65, 99,116,117, 97,116,111,114, 0, 98, 84,
-119,111, 68, 70,105,108,116,101,114, 65, 99,116,117, 97,116,111,114, 0, 98, 80, 97,114,101,110,116, 65, 99,116,117, 97,116,111,
-114, 0, 98, 83,116, 97,116,101, 65, 99,116,117, 97,116,111,114, 0, 98, 65,114,109, 97,116,117,114,101, 65, 99,116,117, 97,116,
-111,114, 0, 98, 83,116,101,101,114,105,110,103, 65, 99,116,117, 97,116,111,114, 0, 71,114,111,117,112, 79, 98,106,101, 99,116,
- 0, 66,111,110,101, 0, 98, 65,114,109, 97,116,117,114,101, 0, 98, 77,111,116,105,111,110, 80, 97,116,104, 86,101,114,116, 0,
- 98, 80,111,115,101, 67,104, 97,110,110,101,108, 0, 98, 73, 75, 80, 97,114, 97,109, 0, 98, 73,116, 97,115, 99, 0, 98, 65, 99,
-116,105,111,110, 71,114,111,117,112, 0, 83,112, 97, 99,101, 65, 99,116,105,111,110, 0, 98, 65, 99,116,105,111,110, 67,104, 97,
-110,110,101,108, 0, 98, 67,111,110,115,116,114, 97,105,110,116, 67,104, 97,110,110,101,108, 0, 98, 67,111,110,115,116,114, 97,
-105,110,116, 0, 98, 67,111,110,115,116,114, 97,105,110,116, 84, 97,114,103,101,116, 0, 98, 80,121,116,104,111,110, 67,111,110,
-115,116,114, 97,105,110,116, 0, 98, 75,105,110,101,109, 97,116,105, 99, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 83,112,
-108,105,110,101, 73, 75, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 84,114, 97, 99,107, 84,111, 67,111,110,115,116,114, 97,
-105,110,116, 0, 98, 82,111,116, 97,116,101, 76,105,107,101, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 76,111, 99, 97,116,
-101, 76,105,107,101, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 83,105,122,101, 76,105,107,101, 67,111,110,115,116,114, 97,
-105,110,116, 0, 98, 83, 97,109,101, 86,111,108,117,109,101, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 84,114, 97,110,115,
- 76,105,107,101, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 77,105,110, 77, 97,120, 67,111,110,115,116,114, 97,105,110,116,
- 0, 98, 65, 99,116,105,111,110, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 76,111, 99,107, 84,114, 97, 99,107, 67,111,110,
-115,116,114, 97,105,110,116, 0, 98, 68, 97,109,112, 84,114, 97, 99,107, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 70,111,
-108,108,111,119, 80, 97,116,104, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 83,116,114,101,116, 99,104, 84,111, 67,111,110,
-115,116,114, 97,105,110,116, 0, 98, 82,105,103,105,100, 66,111,100,121, 74,111,105,110,116, 67,111,110,115,116,114, 97,105,110,
-116, 0, 98, 67,108, 97,109,112, 84,111, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 67,104,105,108,100, 79,102, 67,111,110,
-115,116,114, 97,105,110,116, 0, 98, 84,114, 97,110,115,102,111,114,109, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 80,105,
-118,111,116, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 76,111, 99, 76,105,109,105,116, 67,111,110,115,116,114, 97,105,110,
-116, 0, 98, 82,111,116, 76,105,109,105,116, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 83,105,122,101, 76,105,109,105,116,
- 67,111,110,115,116,114, 97,105,110,116, 0, 98, 68,105,115,116, 76,105,109,105,116, 67,111,110,115,116,114, 97,105,110,116, 0,
- 98, 83,104,114,105,110,107,119,114, 97,112, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 70,111,108,108,111,119, 84,114, 97,
- 99,107, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 67, 97,109,101,114, 97, 83,111,108,118,101,114, 67,111,110,115,116,114,
- 97,105,110,116, 0, 98, 79, 98,106,101, 99,116, 83,111,108,118,101,114, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 65, 99,
-116,105,111,110, 77,111,100,105,102,105,101,114, 0, 98, 65, 99,116,105,111,110, 83,116,114,105,112, 0, 98, 78,111,100,101, 83,
-116, 97, 99,107, 0, 98, 78,111,100,101, 83,111, 99,107,101,116, 0, 98, 78,111,100,101, 76,105,110,107, 0, 98, 78,111,100,101,
- 80,114,101,118,105,101,119, 0, 98, 78,111,100,101, 0,117,105, 66,108,111, 99,107, 0, 98, 78,111,100,101, 84,121,112,101, 0,
- 98, 78,111,100,101, 84,114,101,101, 69,120,101, 99, 0, 98, 78,111,100,101, 83,111, 99,107,101,116, 86, 97,108,117,101, 73,110,
-116, 0, 98, 78,111,100,101, 83,111, 99,107,101,116, 86, 97,108,117,101, 70,108,111, 97,116, 0, 98, 78,111,100,101, 83,111, 99,
-107,101,116, 86, 97,108,117,101, 66,111,111,108,101, 97,110, 0, 98, 78,111,100,101, 83,111, 99,107,101,116, 86, 97,108,117,101,
- 86,101, 99,116,111,114, 0, 98, 78,111,100,101, 83,111, 99,107,101,116, 86, 97,108,117,101, 82, 71, 66, 65, 0, 78,111,100,101,
- 70,114, 97,109,101, 0, 78,111,100,101, 73,109, 97,103,101, 65,110,105,109, 0, 67,111,108,111,114, 67,111,114,114,101, 99,116,
-105,111,110, 68, 97,116, 97, 0, 78,111,100,101, 67,111,108,111,114, 67,111,114,114,101, 99,116,105,111,110, 0, 78,111,100,101,
- 66,111,107,101,104, 73,109, 97,103,101, 0, 78,111,100,101, 66,111,120, 77, 97,115,107, 0, 78,111,100,101, 69,108,108,105,112,
-115,101, 77, 97,115,107, 0, 78,111,100,101, 73,109, 97,103,101, 76, 97,121,101,114, 0, 78,111,100,101, 66,108,117,114, 68, 97,
-116, 97, 0, 78,111,100,101, 68, 66,108,117,114, 68, 97,116, 97, 0, 78,111,100,101, 66,105,108, 97,116,101,114, 97,108, 66,108,
-117,114, 68, 97,116, 97, 0, 78,111,100,101, 72,117,101, 83, 97,116, 0, 78,111,100,101, 73,109, 97,103,101, 70,105,108,101, 0,
- 78,111,100,101, 73,109, 97,103,101, 77,117,108,116,105, 70,105,108,101, 0, 78,111,100,101, 73,109, 97,103,101, 77,117,108,116,
-105, 70,105,108,101, 83,111, 99,107,101,116, 0, 78,111,100,101, 67,104,114,111,109, 97, 0, 78,111,100,101, 84,119,111, 88, 89,
-115, 0, 78,111,100,101, 84,119,111, 70,108,111, 97,116,115, 0, 78,111,100,101, 71,101,111,109,101,116,114,121, 0, 78,111,100,
-101, 86,101,114,116,101,120, 67,111,108, 0, 78,111,100,101, 68,101,102,111, 99,117,115, 0, 78,111,100,101, 83, 99,114,105,112,
-116, 68,105, 99,116, 0, 78,111,100,101, 71,108, 97,114,101, 0, 78,111,100,101, 84,111,110,101,109, 97,112, 0, 78,111,100,101,
- 76,101,110,115, 68,105,115,116, 0, 78,111,100,101, 67,111,108,111,114, 66, 97,108, 97,110, 99,101, 0, 78,111,100,101, 67,111,
-108,111,114,115,112,105,108,108, 0, 78,111,100,101, 84,101,120, 66, 97,115,101, 0, 78,111,100,101, 84,101,120, 83,107,121, 0,
- 78,111,100,101, 84,101,120, 73,109, 97,103,101, 0, 78,111,100,101, 84,101,120, 67,104,101, 99,107,101,114, 0, 78,111,100,101,
- 84,101,120, 69,110,118,105,114,111,110,109,101,110,116, 0, 78,111,100,101, 84,101,120, 71,114, 97,100,105,101,110,116, 0, 78,
-111,100,101, 84,101,120, 78,111,105,115,101, 0, 78,111,100,101, 84,101,120, 86,111,114,111,110,111,105, 0, 78,111,100,101, 84,
-101,120, 77,117,115,103,114, 97,118,101, 0, 78,111,100,101, 84,101,120, 87, 97,118,101, 0, 78,111,100,101, 84,101,120, 77, 97,
-103,105, 99, 0, 78,111,100,101, 83,104, 97,100,101,114, 65,116,116,114,105, 98,117,116,101, 0, 84,101,120, 78,111,100,101, 79,
-117,116,112,117,116, 0, 67,117,114,118,101, 77, 97,112, 80,111,105,110,116, 0, 67,117,114,118,101, 77, 97,112, 0, 66,114,117,
-115,104, 67,108,111,110,101, 0, 67,117,115,116,111,109, 68, 97,116, 97, 76, 97,121,101,114, 0, 67,117,115,116,111,109, 68, 97,
-116, 97, 69,120,116,101,114,110, 97,108, 0, 72, 97,105,114, 75,101,121, 0, 80, 97,114,116,105, 99,108,101, 75,101,121, 0, 66,
-111,105,100, 80, 97,114,116,105, 99,108,101, 0, 66,111,105,100, 68, 97,116, 97, 0, 80, 97,114,116,105, 99,108,101, 83,112,114,
-105,110,103, 0, 67,104,105,108,100, 80, 97,114,116,105, 99,108,101, 0, 80, 97,114,116,105, 99,108,101, 84, 97,114,103,101,116,
- 0, 80, 97,114,116,105, 99,108,101, 68,117,112,108,105, 87,101,105,103,104,116, 0, 80, 97,114,116,105, 99,108,101, 68, 97,116,
- 97, 0, 83, 80, 72, 70,108,117,105,100, 83,101,116,116,105,110,103,115, 0, 80, 97,114,116,105, 99,108,101, 83,101,116,116,105,
-110,103,115, 0, 66,111,105,100, 83,101,116,116,105,110,103,115, 0, 80, 97,114,116,105, 99,108,101, 67, 97, 99,104,101, 75,101,
-121, 0, 75, 68, 84,114,101,101, 0, 80, 97,114,116,105, 99,108,101, 68,114, 97,119, 68, 97,116, 97, 0, 76,105,110,107, 78,111,
-100,101, 0, 98, 71, 80, 68,115,112,111,105,110,116, 0, 98, 71, 80, 68,115,116,114,111,107,101, 0, 98, 71, 80, 68,102,114, 97,
-109,101, 0, 98, 71, 80, 68,108, 97,121,101,114, 0, 82,101,112,111,114,116, 76,105,115,116, 0,119,109, 87,105,110,100,111,119,
- 77, 97,110, 97,103,101,114, 0,119,109, 87,105,110,100,111,119, 0,119,109, 75,101,121, 67,111,110,102,105,103, 0,119,109, 69,
-118,101,110,116, 0,119,109, 83,117, 98, 87,105,110,100,111,119, 0,119,109, 71,101,115,116,117,114,101, 0,119,109, 75,101,121,
- 77, 97,112, 73,116,101,109, 0, 80,111,105,110,116,101,114, 82, 78, 65, 0,119,109, 75,101,121, 77, 97,112, 68,105,102,102, 73,
-116,101,109, 0,119,109, 75,101,121, 77, 97,112, 0,119,109, 79,112,101,114, 97,116,111,114, 84,121,112,101, 0, 70, 77,111,100,
-105,102,105,101,114, 0, 70, 77,111,100, 95, 71,101,110,101,114, 97,116,111,114, 0, 70, 77,111,100, 95, 70,117,110, 99,116,105,
-111,110, 71,101,110,101,114, 97,116,111,114, 0, 70, 67, 77, 95, 69,110,118,101,108,111,112,101, 68, 97,116, 97, 0, 70, 77,111,
-100, 95, 69,110,118,101,108,111,112,101, 0, 70, 77,111,100, 95, 67,121, 99,108,101,115, 0, 70, 77,111,100, 95, 80,121,116,104,
-111,110, 0, 70, 77,111,100, 95, 76,105,109,105,116,115, 0, 70, 77,111,100, 95, 78,111,105,115,101, 0, 70, 77,111,100, 95, 83,
-116,101,112,112,101,100, 0, 68,114,105,118,101,114, 84, 97,114,103,101,116, 0, 68,114,105,118,101,114, 86, 97,114, 0, 67,104,
- 97,110,110,101,108, 68,114,105,118,101,114, 0, 70, 80,111,105,110,116, 0, 70, 67,117,114,118,101, 0, 65,110,105,109, 77, 97,
-112, 80, 97,105,114, 0, 65,110,105,109, 77, 97,112,112,101,114, 0, 78,108, 97, 83,116,114,105,112, 0, 78,108, 97, 84,114, 97,
- 99,107, 0, 75, 83, 95, 80, 97,116,104, 0, 75,101,121,105,110,103, 83,101,116, 0, 65,110,105,109, 79,118,101,114,114,105,100,
-101, 0, 73,100, 65,100,116, 84,101,109,112,108, 97,116,101, 0, 66,111,105,100, 82,117,108,101, 0, 66,111,105,100, 82,117,108,
-101, 71,111, 97,108, 65,118,111,105,100, 0, 66,111,105,100, 82,117,108,101, 65,118,111,105,100, 67,111,108,108,105,115,105,111,
-110, 0, 66,111,105,100, 82,117,108,101, 70,111,108,108,111,119, 76,101, 97,100,101,114, 0, 66,111,105,100, 82,117,108,101, 65,
-118,101,114, 97,103,101, 83,112,101,101,100, 0, 66,111,105,100, 82,117,108,101, 70,105,103,104,116, 0, 66,111,105,100, 83,116,
- 97,116,101, 0, 70, 76, 85, 73, 68, 95, 51, 68, 0, 87, 84, 85, 82, 66, 85, 76, 69, 78, 67, 69, 0, 83,112,101, 97,107,101,114,
- 0, 77,111,118,105,101, 67,108,105,112, 80,114,111,120,121, 0, 77,111,118,105,101, 67,108,105,112, 67, 97, 99,104,101, 0, 77,
-111,118,105,101, 84,114, 97, 99,107,105,110,103, 0, 77,111,118,105,101, 84,114, 97, 99,107,105,110,103, 84,114, 97, 99,107, 0,
- 77,111,118,105,101, 84,114, 97, 99,107,105,110,103, 77, 97,114,107,101,114, 0, 77,111,118,105,101, 82,101, 99,111,110,115,116,
-114,117, 99,116,101,100, 67, 97,109,101,114, 97, 0, 77,111,118,105,101, 84,114, 97, 99,107,105,110,103, 67, 97,109,101,114, 97,
- 0, 77,111,118,105,101, 84,114, 97, 99,107,105,110,103, 83,101,116,116,105,110,103,115, 0, 77,111,118,105,101, 84,114, 97, 99,
-107,105,110,103, 83,116, 97, 98,105,108,105,122, 97,116,105,111,110, 0, 77,111,118,105,101, 84,114, 97, 99,107,105,110,103, 82,
-101, 99,111,110,115,116,114,117, 99,116,105,111,110, 0, 77,111,118,105,101, 84,114, 97, 99,107,105,110,103, 79, 98,106,101, 99,
-116, 0, 77,111,118,105,101, 84,114, 97, 99,107,105,110,103, 83,116, 97,116,115, 0, 77,111,118,105,101, 84,114, 97, 99,107,105,
-110,103, 68,111,112,101,115,104,101,101,116, 67,104, 97,110,110,101,108, 0, 77,111,118,105,101, 84,114, 97, 99,107,105,110,103,
- 68,111,112,101,115,104,101,101,116, 0, 68,121,110, 97,109,105, 99, 80, 97,105,110,116, 83,117,114,102, 97, 99,101, 0, 80, 97,
-105,110,116, 83,117,114,102, 97, 99,101, 68, 97,116, 97, 0, 0, 84, 76, 69, 78, 1, 0, 1, 0, 2, 0, 2, 0, 4, 0, 4, 0,
- 4, 0, 4, 0, 8, 0, 8, 0, 8, 0, 0, 0, 16, 0, 24, 0, 16, 0, 4, 0, 8, 0, 12, 0, 16, 0, 16, 0, 32, 0,128, 0,
-120, 0,144, 8, 0, 0, 40, 0,144, 0,112, 5,112, 0, 36, 0, 56, 0,160, 0,192, 0,224, 0, 96, 0, 40, 0, 48, 0,224, 0,
- 16, 0,200, 0, 40, 0,216, 11, 48, 5, 0, 0, 0, 0, 0, 0, 56, 1,168, 1,216, 4, 24, 0, 8, 3,200, 0, 0, 0,104, 0,
- 64, 1, 56, 4, 80, 0, 32, 1,144, 0, 56, 3, 16, 2, 88, 0, 16, 0,128, 3,152, 0,136, 4, 0, 0,104, 0,104, 0, 0, 1,
- 80, 0, 8, 0, 16, 0, 32, 0, 0, 0, 16, 2, 0, 0, 0, 0, 0, 0, 16, 5, 8, 0, 12, 0, 16, 0, 8, 0, 12, 0, 4, 0,
- 20, 0, 48, 0, 64, 0, 20, 0, 12, 0, 16, 0, 4, 0, 8, 0, 0, 0,184, 0,160, 1, 8, 0, 4, 0, 4, 0, 0, 1, 32, 0,
- 8, 0, 24, 0, 16, 0, 64, 0, 24, 0, 12, 0, 64, 0, 4, 0, 16, 0,112, 0,200, 0,136, 0,192, 0,192, 0,128, 0,192, 0,
-192, 0,128, 0,120, 0,200, 0,120, 0,144, 0, 16, 1, 56, 0,200, 0, 24, 1, 40, 1,120, 0,184, 0,200, 0, 64, 1,200, 0,
- 88, 1,112, 0,168, 0, 0, 0,152, 0, 48, 0, 40, 5,192, 0, 0, 0,152, 0, 0, 0, 0, 0,128, 0, 8, 0, 8, 0,112, 1,
-144, 0,152, 2,136, 0,192, 0,120, 0,128, 0,224, 4,208, 0,200, 0,112, 0,208, 0,144, 0, 16, 5, 0, 0, 0, 0, 48, 1,
-104, 1,160, 1,104, 1,136, 0,104, 0,112, 0,128, 0, 16, 0, 96, 1, 88, 0, 0, 0,200, 0,216, 0,152, 0, 48, 0, 24, 0,
-120, 0,152, 0,216, 1, 0, 1,184, 0, 0, 0, 72, 0, 32, 0,176, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 12, 0, 24, 2,
- 40, 0,184, 0,152, 0, 64, 0, 72, 0, 32, 0,128, 0, 24, 0, 56, 9, 64, 0, 24, 0, 16, 0, 56, 0,168, 0, 96, 0, 32, 0,
- 96, 6, 56, 0, 16, 0,168, 0,104, 0, 32, 0, 64, 0,120, 0, 24, 0,248, 1, 32, 0, 8, 0, 24, 0, 80, 8, 0, 0, 0, 0,
-224, 8,104, 0, 8, 0,112, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96, 1, 56, 0,144, 0, 64, 0,240, 0,112, 0,248, 0,
-240, 0,160, 7,104, 0, 0, 0,168, 0, 0, 0, 24, 1, 16, 0, 16, 0, 40, 33,128, 16, 24, 16,216, 0,160, 2,168, 5, 64, 0,
- 24, 0,208, 0, 48, 1, 72, 0, 40, 0,136, 1,104, 0, 56, 1, 56, 0, 24, 4, 32, 0,232, 0, 32, 0, 32, 0, 8, 0, 80, 3,
-224, 1, 16, 0,168, 36, 80, 0, 56, 0,112, 38, 8, 1, 32, 0, 40, 0, 88, 1, 0, 0, 0, 0,160, 0, 0, 0, 40, 1, 0, 0,
- 48, 4, 8, 1, 16, 0, 8, 0, 44, 0, 16, 4, 72, 3,200, 4, 80, 1,208, 4, 32, 0, 12, 0, 24, 0, 32, 0, 16, 0, 24, 0,
- 24, 0, 32, 0,136, 1, 0, 0, 64, 0, 96, 0, 80, 0, 8, 0, 80, 0,136, 0,200, 0, 72, 0, 8, 0,136, 0, 76, 0, 72, 0,
-204, 0,136, 0,136, 0,128, 0,136, 0, 92, 0,128, 0, 80, 0,112, 0, 16, 0,168, 0, 32, 0, 72, 0,120, 0, 24, 0,144, 0,
-112, 0,148, 0, 32, 0,128, 0, 88, 0, 88, 0,208, 0,140, 0, 4, 0, 24, 0, 16, 0, 8, 0,160, 0, 48, 0, 40, 0, 72, 1,
- 0, 1, 16, 0, 32, 2, 4, 0, 40, 0,120, 0, 72, 1,120, 0, 56, 0,120, 0,160, 0,112, 0,184, 0, 24, 0, 88, 0, 80, 0,
- 80, 0, 80, 0, 8, 0, 72, 0,104, 0,104, 0, 80, 0, 80, 0, 24, 0, 88, 0,104, 0, 16, 0,144, 0,128, 0, 88, 0, 28, 0,
- 28, 0, 28, 0, 88, 0, 24, 0,160, 0, 16, 0,152, 0, 72, 0,168, 0, 48, 0,208, 0, 56, 0, 16, 0,112, 1, 0, 0, 0, 0,
- 0, 0, 16, 0, 16, 0, 4, 0, 24, 0, 16, 0, 4, 0, 16, 0, 24, 0,104, 0, 20, 0, 24, 0, 24, 0, 8, 0, 40, 0, 28, 0,
- 12, 0, 12, 0, 32, 4, 40, 4, 64, 4, 44, 0, 24, 0, 8, 0,128, 0, 64, 0, 32, 0, 16, 0, 32, 0, 32, 0, 8, 0, 96, 0,
- 20, 0,200, 3,216, 3,208, 3,200, 3,208, 3,208, 3,200, 3,208, 3,208, 3,208, 3,208, 3, 64, 0, 64, 0, 12, 0, 56, 0,
- 24, 0,104, 0, 0, 4, 24, 0, 56, 0, 56, 0, 20, 0, 16, 0, 64, 0, 40, 0, 32, 0,192, 0, 60, 0, 16, 3,104, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 16, 0, 32, 0, 40, 0,192, 0, 40, 0, 88, 1, 0, 1,168, 0, 0, 0, 0, 0, 0, 0,184, 0, 0, 0,
- 32, 0,136, 0, 0, 0,120, 0, 24, 0, 24, 0, 16, 0, 24, 0, 8, 0, 16, 0, 24, 0, 20, 0, 20, 0, 56, 0, 24, 2, 40, 1,
- 16, 0,104, 0, 0, 1, 40, 0,208, 0,104, 0,112, 0,216, 1, 32, 0,128, 0, 56, 0, 80, 0, 64, 0,104, 0, 72, 0, 64, 0,
-128, 0, 0, 0, 0, 0,184, 0, 8, 3, 0, 0, 24, 1,192, 0, 16, 0, 72, 0, 48, 0, 64, 0, 56, 0, 24, 0,128, 0, 0, 1,
- 48, 0, 32, 0, 16, 6, 0, 0, 83, 84, 82, 67,217, 1, 0, 0, 12, 0, 2, 0, 12, 0, 0, 0, 12, 0, 1, 0, 13, 0, 3, 0,
- 13, 0, 0, 0, 13, 0, 1, 0, 11, 0, 2, 0, 14, 0, 2, 0, 11, 0, 3, 0, 11, 0, 4, 0, 15, 0, 2, 0, 2, 0, 5, 0,
- 2, 0, 6, 0, 16, 0, 2, 0, 7, 0, 5, 0, 7, 0, 6, 0, 17, 0, 3, 0, 7, 0, 5, 0, 7, 0, 6, 0, 7, 0, 7, 0,
- 18, 0, 4, 0, 4, 0, 8, 0, 4, 0, 9, 0, 4, 0, 10, 0, 4, 0, 11, 0, 19, 0, 4, 0, 7, 0, 8, 0, 7, 0, 9, 0,
- 7, 0, 10, 0, 7, 0, 11, 0, 20, 0, 4, 0, 11, 0, 12, 0, 14, 0, 13, 0, 4, 0, 14, 0, 4, 0, 15, 0, 21, 0, 10, 0,
- 21, 0, 0, 0, 21, 0, 1, 0, 0, 0, 16, 0, 0, 0, 17, 0, 2, 0, 18, 0, 0, 0, 19, 0, 4, 0, 20, 0, 20, 0, 21, 0,
- 4, 0, 22, 0, 4, 0, 23, 0, 22, 0, 11, 0, 11, 0, 0, 0, 11, 0, 1, 0, 22, 0, 24, 0, 23, 0, 25, 0, 0, 0, 26, 0,
- 2, 0, 27, 0, 2, 0, 28, 0, 2, 0, 18, 0, 4, 0, 29, 0, 4, 0, 30, 0, 21, 0, 31, 0, 23, 0, 6, 0, 22, 0, 32, 0,
- 22, 0, 33, 0, 24, 0, 34, 0, 0, 0, 35, 0, 0, 0, 36, 0, 23, 0, 37, 0, 25, 0, 5, 0, 4, 0, 38, 0, 4, 0, 39, 0,
- 2, 0, 40, 0, 2, 0, 41, 0, 4, 0, 42, 0, 26, 0, 6, 0, 27, 0, 43, 0, 2, 0, 44, 0, 2, 0, 45, 0, 2, 0, 16, 0,
- 2, 0, 18, 0, 0, 0, 46, 0, 28, 0, 21, 0, 28, 0, 0, 0, 28, 0, 1, 0, 29, 0, 47, 0, 30, 0, 48, 0, 19, 0, 49, 0,
- 19, 0, 50, 0, 2, 0, 44, 0, 2, 0, 45, 0, 2, 0, 51, 0, 2, 0, 52, 0, 2, 0, 53, 0, 2, 0, 54, 0, 2, 0, 18, 0,
- 2, 0, 55, 0, 7, 0, 10, 0, 7, 0, 11, 0, 4, 0, 56, 0, 7, 0, 57, 0, 7, 0, 58, 0, 7, 0, 59, 0, 26, 0, 60, 0,
- 31, 0, 7, 0, 22, 0, 32, 0, 14, 0, 61, 0, 19, 0, 62, 0, 2, 0, 44, 0, 2, 0, 63, 0, 2, 0, 64, 0, 2, 0, 27, 0,
- 32, 0, 16, 0, 32, 0, 0, 0, 32, 0, 1, 0, 7, 0, 65, 0, 7, 0, 59, 0, 2, 0, 16, 0, 2, 0, 66, 0, 2, 0, 67, 0,
- 2, 0, 18, 0, 4, 0, 68, 0, 4, 0, 69, 0, 11, 0, 2, 0, 7, 0, 70, 0, 0, 0, 19, 0, 0, 0, 71, 0, 7, 0, 72, 0,
- 7, 0, 73, 0, 33, 0, 15, 0, 22, 0, 32, 0, 34, 0, 74, 0, 32, 0, 75, 0, 0, 0, 76, 0, 4, 0, 77, 0, 4, 0, 27, 0,
- 14, 0, 78, 0, 31, 0, 79, 0, 22, 0, 80, 0, 2, 0, 16, 0, 2, 0, 81, 0, 2, 0, 82, 0, 2, 0, 18, 0, 7, 0, 83, 0,
- 4, 0, 84, 0, 35, 0, 6, 0, 35, 0, 0, 0, 35, 0, 1, 0, 0, 0, 85, 0, 0, 0, 86, 0, 4, 0, 22, 0, 4, 0, 87, 0,
- 36, 0, 10, 0, 36, 0, 0, 0, 36, 0, 1, 0, 4, 0, 88, 0, 4, 0, 89, 0, 4, 0, 90, 0, 4, 0, 66, 0, 4, 0, 13, 0,
- 4, 0, 91, 0, 0, 0, 92, 0, 0, 0, 93, 0, 37, 0, 15, 0, 22, 0, 32, 0, 0, 0, 94, 0, 4, 0, 91, 0, 4, 0, 95, 0,
- 14, 0, 96, 0, 35, 0, 97, 0, 35, 0, 98, 0, 4, 0, 99, 0, 4, 0,100, 0, 14, 0,101, 0, 0, 0,102, 0, 4, 0,103, 0,
- 4, 0,104, 0, 11, 0,105, 0, 8, 0,106, 0, 38, 0, 3, 0, 4, 0,107, 0, 4, 0,108, 0, 11, 0, 2, 0, 39, 0, 20, 0,
- 22, 0, 32, 0, 34, 0, 74, 0, 0, 0, 16, 0, 0, 0,109, 0, 2, 0, 18, 0, 7, 0,110, 0, 7, 0,111, 0, 7, 0,112, 0,
- 7, 0,113, 0, 7, 0,114, 0, 7, 0,115, 0, 7, 0,116, 0, 7, 0,117, 0, 7, 0,118, 0, 7, 0,119, 0, 7, 0,120, 0,
- 31, 0, 79, 0, 27, 0,121, 0, 0, 0,122, 0, 0, 0,123, 0, 40, 0, 14, 0, 41, 0,124, 0, 4, 0,125, 0, 4, 0,126, 0,
- 4, 0,127, 0, 4, 0,128, 0, 0, 0,129, 0, 0, 0,130, 0, 0, 0,131, 0, 0, 0, 27, 0, 2, 0,132, 0, 2, 0,133, 0,
- 2, 0,134, 0, 2, 0, 18, 0, 4, 0, 30, 0, 42, 0, 33, 0, 22, 0, 32, 0, 0, 0, 35, 0, 14, 0,135, 0, 43, 0,136, 0,
- 44, 0,137, 0, 45, 0,138, 0, 45, 0,139, 0, 2, 0,140, 0, 2, 0,141, 0, 2, 0,131, 0, 2, 0, 18, 0, 2, 0,142, 0,
- 2, 0, 16, 0, 4, 0,143, 0, 2, 0,144, 0, 2, 0,145, 0, 2, 0,146, 0, 2, 0,147, 0, 2, 0,148, 0, 2, 0,149, 0,
- 4, 0,150, 0, 4, 0,151, 0, 38, 0,152, 0, 25, 0,153, 0, 7, 0,154, 0, 4, 0,155, 0, 2, 0,156, 0, 2, 0,157, 0,
- 2, 0,158, 0, 0, 0,159, 0, 0, 0,160, 0, 7, 0,161, 0, 7, 0,162, 0, 46, 0, 65, 0, 2, 0,163, 0, 2, 0,164, 0,
- 2, 0,165, 0, 2, 0,166, 0, 27, 0,167, 0, 47, 0,168, 0, 0, 0,169, 0, 0, 0,170, 0, 0, 0,171, 0, 0, 0,172, 0,
- 0, 0,173, 0, 7, 0,174, 0, 7, 0,175, 0, 7, 0,176, 0, 2, 0,177, 0, 2, 0,178, 0, 2, 0,179, 0, 2, 0,180, 0,
- 2, 0,181, 0, 2, 0,182, 0, 0, 0,183, 0, 0, 0,123, 0, 7, 0,184, 0, 7, 0,185, 0, 7, 0,186, 0, 7, 0,187, 0,
- 7, 0,188, 0, 7, 0, 55, 0, 7, 0,189, 0, 7, 0,190, 0, 7, 0,191, 0, 7, 0,192, 0, 7, 0,193, 0, 7, 0,194, 0,
- 7, 0,195, 0, 7, 0,196, 0, 7, 0,197, 0, 7, 0,198, 0, 7, 0,199, 0, 7, 0,200, 0, 7, 0,201, 0, 7, 0,202, 0,
- 7, 0,203, 0, 7, 0,204, 0, 7, 0,205, 0, 7, 0,206, 0, 7, 0,207, 0, 7, 0,208, 0, 7, 0,209, 0, 7, 0,210, 0,
- 7, 0,211, 0, 7, 0,212, 0, 7, 0,213, 0, 7, 0,214, 0, 7, 0,215, 0, 7, 0,216, 0, 7, 0,217, 0, 7, 0,218, 0,
- 7, 0,219, 0, 7, 0,220, 0, 7, 0,221, 0, 7, 0,222, 0, 7, 0,223, 0, 7, 0,224, 0, 7, 0,225, 0, 48, 0, 15, 0,
- 0, 0, 35, 0, 11, 0,226, 0, 0, 0,227, 0, 0, 0,228, 0, 4, 0,229, 0, 4, 0,230, 0, 11, 0,231, 0, 7, 0,232, 0,
- 7, 0,233, 0, 7, 0,234, 0, 4, 0,235, 0, 11, 0,236, 0, 11, 0,237, 0, 4, 0,238, 0, 4, 0, 27, 0, 49, 0, 6, 0,
- 7, 0,184, 0, 7, 0,185, 0, 7, 0,186, 0, 7, 0,239, 0, 7, 0, 65, 0, 4, 0, 62, 0, 50, 0, 5, 0, 2, 0, 18, 0,
- 2, 0,240, 0, 2, 0, 62, 0, 2, 0,241, 0, 49, 0,234, 0, 51, 0, 17, 0, 27, 0,167, 0, 42, 0,242, 0, 52, 0,243, 0,
- 7, 0,244, 0, 7, 0,245, 0, 2, 0, 16, 0, 2, 0,246, 0, 7, 0,111, 0, 7, 0,112, 0, 7, 0,247, 0, 4, 0,248, 0,
- 2, 0,249, 0, 2, 0,250, 0, 4, 0,131, 0, 4, 0,143, 0, 2, 0,251, 0, 2, 0,252, 0, 53, 0, 25, 0, 2, 0, 18, 0,
- 2, 0,253, 0, 7, 0,254, 0, 7, 0,255, 0, 2, 0,142, 0, 2, 0, 0, 1, 4, 0, 1, 1, 4, 0, 2, 1, 27, 0,167, 0,
- 4, 0, 3, 1, 2, 0, 4, 1, 2, 0, 5, 1, 11, 0, 6, 1, 7, 0, 7, 1, 7, 0, 8, 1, 2, 0, 9, 1, 2, 0, 10, 1,
- 2, 0, 11, 1, 2, 0, 12, 1, 7, 0, 13, 1, 7, 0, 14, 1, 7, 0, 15, 1, 7, 0, 16, 1, 50, 0, 17, 1, 54, 0, 18, 1,
- 55, 0, 13, 0, 4, 0, 19, 1, 4, 0, 20, 1, 2, 0, 21, 1, 2, 0, 18, 0, 2, 0, 22, 1, 2, 0, 23, 1, 27, 0,167, 0,
- 7, 0, 24, 1, 4, 0, 25, 1, 0, 0, 26, 1, 7, 0, 27, 1, 4, 0, 28, 1, 4, 0,131, 0, 56, 0, 4, 0, 27, 0,167, 0,
- 0, 0, 29, 1, 4, 0, 30, 1, 4, 0, 27, 0, 47, 0, 64, 0, 22, 0, 32, 0, 34, 0, 74, 0, 7, 0, 31, 1, 7, 0, 32, 1,
- 7, 0, 33, 1, 7, 0, 34, 1, 7, 0, 35, 1, 7, 0, 36, 1, 7, 0, 37, 1, 7, 0, 38, 1, 7, 0, 39, 1, 7, 0, 30, 0,
- 7, 0, 40, 1, 7, 0, 41, 1, 7, 0, 42, 1, 7, 0, 43, 1, 7, 0, 44, 1, 7, 0, 45, 1, 7, 0, 46, 1, 7, 0, 47, 1,
- 7, 0, 48, 1, 7, 0, 49, 1, 7, 0, 50, 1, 7, 0, 51, 1, 2, 0, 52, 1, 2, 0, 53, 1, 2, 0, 54, 1, 2, 0, 55, 1,
- 2, 0, 56, 1, 2, 0, 57, 1, 2, 0, 58, 1, 2, 0, 18, 0, 2, 0, 16, 0, 2, 0,246, 0, 7, 0, 59, 1, 7, 0, 60, 1,
- 7, 0, 61, 1, 7, 0, 62, 1, 4, 0, 63, 1, 4, 0, 64, 1, 2, 0, 65, 1, 2, 0, 66, 1, 2, 0, 22, 1, 2, 0,129, 0,
- 4, 0, 22, 0, 4, 0,126, 0, 4, 0,127, 0, 4, 0,128, 0, 7, 0, 67, 1, 7, 0, 68, 1, 7, 0, 66, 0, 40, 0, 69, 1,
- 57, 0, 70, 1, 31, 0, 79, 0, 42, 0,242, 0, 48, 0, 71, 1, 50, 0, 17, 1, 51, 0, 72, 1, 25, 0,153, 0, 53, 0, 73, 1,
- 55, 0, 74, 1, 56, 0, 75, 1, 0, 0, 76, 1, 0, 0,123, 0, 58, 0, 13, 0, 7, 0, 77, 1, 7, 0, 78, 1, 7, 0,175, 0,
- 4, 0, 18, 0, 0, 0,170, 0, 0, 0,171, 0, 0, 0,172, 0, 0, 0,173, 0, 4, 0, 27, 0, 7, 0, 79, 1, 7, 0, 80, 1,
- 7, 0, 81, 1, 27, 0, 43, 0, 59, 0, 9, 0, 50, 0, 82, 1, 7, 0, 33, 1, 7, 0, 34, 1, 7, 0, 35, 1, 4, 0, 18, 0,
- 7, 0, 83, 1, 7, 0, 84, 1, 4, 0, 85, 1, 4, 0, 86, 1, 60, 0, 76, 0, 22, 0, 32, 0, 34, 0, 74, 0, 2, 0, 16, 0,
- 2, 0, 18, 0, 4, 0, 87, 1, 2, 0,178, 0, 2, 0, 88, 1, 7, 0,184, 0, 7, 0,185, 0, 7, 0,186, 0, 7, 0,187, 0,
- 7, 0, 89, 1, 7, 0, 90, 1, 7, 0, 91, 1, 7, 0, 92, 1, 7, 0, 93, 1, 7, 0, 94, 1, 7, 0, 95, 1, 7, 0, 96, 1,
- 7, 0, 97, 1, 7, 0, 98, 1, 7, 0, 99, 1, 54, 0,100, 1, 2, 0,253, 0, 2, 0, 30, 0, 7, 0,111, 0, 7, 0,112, 0,
- 7, 0,101, 1, 7, 0,102, 1, 7, 0,103, 1, 7, 0,104, 1, 7, 0,105, 1, 7, 0,106, 1, 2, 0,107, 1, 2, 0,108, 1,
- 2, 0,109, 1, 2, 0,110, 1, 0, 0,111, 1, 0, 0,112, 1, 2, 0,113, 1, 2, 0,114, 1, 2, 0,115, 1, 2, 0,116, 1,
- 2, 0,117, 1, 7, 0,118, 1, 7, 0,119, 1, 7, 0,120, 1, 7, 0,121, 1, 2, 0,122, 1, 2, 0,123, 1, 2, 0,124, 1,
- 2, 0,125, 1, 2, 0,126, 1, 2, 0,127, 1, 7, 0,128, 1, 7, 0,129, 1, 7, 0,130, 1, 7, 0,131, 1, 7, 0,132, 1,
+ 0, 0,128, 63, 0, 0, 0, 0,114,114,114,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255,
+ 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255,
+ 0, 0, 0,255,255,255,255,255,130,130,130,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100,
+ 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,255,140, 25,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255,
+ 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,
+255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255,
+ 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,
+240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0, 0, 0, 0, 0,255,
+240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0, 0, 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, 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,255,255,255,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 57, 57,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,
+114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,
+165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,
+160,160,160,100,127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40, 0, 0, 0,255,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,170, 64,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255,
+ 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255, 32,255,255,255, 75, 75, 75,255,204, 0,153,255,
+ 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 32, 0, 0,255, 0, 32, 0,255, 0, 0,128,255, 0, 0, 0, 0, 34,221,221,255,
+ 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,
+219, 37, 18,255,240,255, 64,255,240,144,160,255,255,255,255,255, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255,
+ 0, 0, 0, 0, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0, 0, 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, 1, 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,255,255,255,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,200,200,255, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 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, 76, 76,255, 0, 0, 0, 0,
+250,250,250,255, 15, 15, 15,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255,
+ 0, 0, 0,255,255,255,255,255,102,102,102,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,145,145,145,255, 0, 0, 0,255,
+ 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100,255,140, 25,255,250,250,250,255, 0, 0, 0,255,241, 88, 0,255,
+ 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,130,130,130,255, 8, 48, 8,255,
+ 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255,
+ 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,
+144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255,
+ 64,144, 48,255,128, 48, 96,255, 0, 0, 0, 0, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0,
+ 0, 0, 0, 0, 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, 4, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,250,250,250,255, 0, 0, 0, 0,250,250,250,255,
+250,250,250,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+107,107,107,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,
+114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,102,102,102,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,
+255,255,255,150, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,150,150,150,100,112,112,112,100, 96,192, 64,255, 94, 94, 94,255,
+ 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+255,140, 25,255, 79,101, 73,255,135,177,125,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,
+219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0,
+ 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0,
+ 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255,153, 64, 48,255, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,
+240,144,160,255,240,175,144,255, 82, 96,110,255,124,137,150,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 3, 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,
+255,255,255,128, 0, 0, 0,255,255,133, 0,255, 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,114,114,114,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255,
+ 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255,
+ 0, 0, 0,255,255,255,255,255,165,165,165,127, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100,
+ 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,255,140, 25,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255,
+ 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,
+255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255,
+ 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,
+240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0, 0, 0, 0, 0,255,
+240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0, 0, 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, 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,255,255,255,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,107,107,107,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,
+114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,
+102,102,102,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,255,255,255,150, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,
+150,150,150,100,112,112,112,100, 96,192, 64,255, 94, 94, 94,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,140, 25,255, 79,101, 73,255,135,177,125,255,255,255,255,255,
+ 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0,
+ 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255,
+ 35, 97,221,255,200,200,200,255, 80,200,255, 80, 12, 10, 10,128,255,140, 0,255, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,
+219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255,
+ 0, 0, 0, 0, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 82, 96,110,255,124,137,150,255,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 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,255,255,255,128, 0, 0, 0,255,255,133, 0,255, 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,107,107,107,255, 0, 0, 0, 0,
+ 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255,
+ 0, 0, 0,255,255,255,255,255,102,102,102,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,255,255,255,150, 0, 0, 0,255,
+ 0, 0, 0,255,255,255,255,255,150,150,150,100,112,112,112,100, 96,192, 64,255, 94, 94, 94,255, 0, 0, 0,255,241, 88, 0,255,
+ 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,140, 25,255, 79,101, 73,255,
+135,177,125,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255,
+ 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 12, 10, 10,128,255,140, 0,255, 96,192, 64,255,
+144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255,
+ 64,144, 48,255,128, 48, 96,255, 0, 0, 0, 0, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0,
+ 82, 96,110,255,124,137,150,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 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,255,255,255,128, 0, 0, 0,255,
+255,133, 0,255, 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,
+116,116,116,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,
+114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,
+165,165,165,127, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255,
+ 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+255,140, 25,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,
+219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0,
+ 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0,
+ 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0, 0, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,
+240,144,160,255, 0, 0, 0, 0, 0, 0, 0, 0, 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, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 81,105,135,255,
+ 32, 32,143,255,109, 88,129,255, 78,152, 62,255, 46,143,143,255,169, 84,124,255, 0, 0, 0, 0,162, 95,111,255,109,145,131,255,
+255,255,255,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 53, 53, 53,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255,
+ 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255,
+ 0, 0, 0,255,255,255,255,255,165,165,165,127, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100,
+ 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,255,140, 25,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255,
+ 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0,255,255,255, 10,255,133, 0, 60,
+255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255,
+ 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,
+240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0, 0, 0, 0, 0,255,
+240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0, 0, 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, 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,255,255,255,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,114,114,114,255, 18, 66,176, 38,255,133, 0,178,255,133, 0,127, 0,255, 0,255,255, 0, 0,255,225,210,195, 35,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,153,153,153,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,
+114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,
+165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,
+143,143,143,255,198,119,119,255,255, 0, 0,255, 64, 64, 64,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,140, 25,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255,
+ 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0,
+ 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255,
+ 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,
+219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255,
+ 0, 0, 0, 0, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0, 0, 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, 4, 0,100, 0, 0,255, 0, 0,200,255,
+128, 0, 80,255, 95, 95, 0,255, 0,100, 50,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,114,114,114,255, 0, 0, 0, 0,
+ 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255,
+ 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127, 0, 0, 0,255,
+ 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255,241, 88, 0,255,
+ 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,140, 25,255, 8, 48, 8,255,
+ 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255,
+ 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,
+144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255,
+ 64,144, 48,255,128, 48, 96,255, 0, 0, 0, 0, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0,
+ 0, 0, 0, 0, 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, 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,255,255,255,128, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51,127, 51, 76,130,135,140, 76, 0, 0, 0, 0, 0, 0, 0, 0,
+114,114,114,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,
+114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,
+165,165,165,127, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,173,173,173,255,127,112,112,100, 0, 0, 0, 0, 91, 91, 91,255,
+ 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+255,140, 25,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,
+219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0,
+ 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0,
+ 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0, 0, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,
+240,144,160,255, 0, 0, 0, 0, 0, 0, 0, 0, 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, 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,
+255,255,255,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 57, 57, 57,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255,
+ 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255,
+ 0, 0, 0,255,255,255,255,255,165,165,165,127, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100,
+ 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255,255,255,255,255, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255,
+ 0, 0, 0,255,255,255,255,255,219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,
+255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255,
+ 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,
+240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0, 0, 0, 0, 0,255,
+240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0, 0, 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, 4, 5,155,155,155,160,100,104,111,255,111,106,100,255,104,106,117,255,
+105,117,110,255,154,155,155,160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,100,100,100,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,
+114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,
+165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,
+160,160,160,100,127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,140, 25,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255,
+ 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0,
+ 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255,
+ 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,
+219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255,
+ 0, 0, 0, 0, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0, 0, 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, 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,255,255,255,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,114,114,114,255, 0, 0, 0, 0,
+ 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255,
+ 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127, 0, 0, 0,255,
+ 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255,241, 88, 0,255,
+ 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,140, 25,255, 8, 48, 8,255,
+ 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255,
+ 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,
+144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255,
+ 64,144, 48,255,128, 48, 96,255, 0, 0, 0, 0, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0,
+ 0, 0, 0, 0, 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, 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,255,255,255,128, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,
+114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,
+165,165,165,127, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255,
+ 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+255,140, 25,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,
+219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0,
+ 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0,
+ 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0, 0, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,
+240,144,160,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96,128,255,255,255,255,255,255, 0,170, 0,255,220, 96, 96,255,
+220, 96, 96,255, 3, 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,
+255,255,255,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 57, 57, 57,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255,
+ 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,102,102,102,255, 0, 0, 0,255,
+ 0, 0, 0,255,255,255,255,255,165,165,165,127, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100,
+ 0, 0, 0, 0, 94, 94, 94,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40, 0, 0, 0,255, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,255,170, 64,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255,
+ 0, 0, 0,255,255,160, 0,255,219, 37, 18,255, 32,255,255,255, 75, 75, 75,255,204, 0,153,255, 0, 0, 0, 18,255,133, 0, 60,
+255,133, 0,255, 32, 0, 0,255, 0, 32, 0,255, 0, 0,128,255, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255,
+ 80,200,255, 80, 12, 10, 10,128,255,140, 0,255, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,
+240,144,160,255,255,255,255,255, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0, 0, 0, 0, 0,255,
+240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0, 0, 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, 1, 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,255,255,255,128, 0, 0, 0,255,255,255, 0,255, 4, 0, 0, 0,255,127,127, 0,255,255,255,255,
+255,255,255, 0,255,127, 0, 0,255,127,127,127,255,200,200,200,255,255, 0, 0,255, 0, 0,255,255, 0, 0, 0,255, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,154, 0, 0,255,189, 17, 17,255,247, 10, 10,255, 0, 0, 0, 0,
+247, 64, 24,255,246,105, 19,255,250,153, 0,255, 0, 0, 0, 0, 30,145, 9,255, 89,183, 11,255,131,239, 29,255, 0, 0, 0, 0,
+ 10, 54,148,255, 54,103,223,255, 94,193,239,255, 0, 0, 0, 0,169, 41, 78,255,193, 65,106,255,240, 93,145,255, 0, 0, 0, 0,
+ 67, 12,120,255, 84, 58,163,255,135,100,213,255, 0, 0, 0, 0, 36,120, 90,255, 60,149,121,255,111,182,171,255, 0, 0, 0, 0,
+ 75,112,124,255,106,134,145,255,155,194,205,255, 0, 0, 0, 0,244,201, 12,255,238,194, 54,255,243,255, 0,255, 0, 0, 0, 0,
+ 30, 32, 36,255, 72, 76, 86,255,255,255,255,255, 0, 0, 0, 0,111, 47,106,255,152, 69,190,255,211, 48,214,255, 0, 0, 0, 0,
+108,142, 34,255,127,176, 34,255,187,239, 91,255, 0, 0, 0, 0,141,141,141,255,176,176,176,255,222,222,222,255, 0, 0, 0, 0,
+131, 67, 38,255,139, 88, 17,255,189,106, 17,255, 0, 0, 0, 0, 8, 49, 14,255, 28, 67, 11,255, 52, 98, 43,255, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 68, 65, 84, 65, 80, 0, 0, 0,
+216,206,222, 4, 0, 0, 0, 0,209, 0, 0, 0, 1, 0, 0, 0,120,207,222, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+105,111, 95,115, 99,101,110,101, 95, 51,100,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,
+ 68, 65, 84, 65, 80, 0, 0, 0,120,207,222, 4, 0, 0, 0, 0,209, 0, 0, 0, 1, 0, 0, 0,232, 39,224, 4, 0, 0, 0, 0,
+216,206,222, 4, 0, 0, 0, 0,105,111, 95,115, 99,101,110,101, 95,102, 98,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 80, 0, 0, 0,232, 39,224, 4, 0, 0, 0, 0,209, 0, 0, 0, 1, 0, 0, 0,
+136, 40,224, 4, 0, 0, 0, 0,120,207,222, 4, 0, 0, 0, 0,105,111, 95, 97,110,105,109, 95, 98,118,104, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 80, 0, 0, 0,136, 40,224, 4, 0, 0, 0, 0,
+209, 0, 0, 0, 1, 0, 0, 0, 40, 41,224, 4, 0, 0, 0, 0,232, 39,224, 4, 0, 0, 0, 0,105,111, 95,109,101,115,104, 95,
+112,108,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, 68, 65, 84, 65, 80, 0, 0, 0,
+ 40, 41,224, 4, 0, 0, 0, 0,209, 0, 0, 0, 1, 0, 0, 0,200, 41,224, 4, 0, 0, 0, 0,136, 40,224, 4, 0, 0, 0, 0,
+105,111, 95,115, 99,101,110,101, 95,111, 98,106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 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, 80, 0, 0, 0,200, 41,224, 4, 0, 0, 0, 0,209, 0, 0, 0, 1, 0, 0, 0,104, 42,224, 4, 0, 0, 0, 0,
+ 40, 41,224, 4, 0, 0, 0, 0,105,111, 95,115, 99,101,110,101, 95,120, 51,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 80, 0, 0, 0,104, 42,224, 4, 0, 0, 0, 0,209, 0, 0, 0, 1, 0, 0, 0,
+ 8, 43,224, 4, 0, 0, 0, 0,200, 41,224, 4, 0, 0, 0, 0,105,111, 95,109,101,115,104, 95,115,116,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, 68, 65, 84, 65, 80, 0, 0, 0, 8, 43,224, 4, 0, 0, 0, 0,
+209, 0, 0, 0, 1, 0, 0, 0,168, 43,224, 4, 0, 0, 0, 0,104, 42,224, 4, 0, 0, 0, 0,105,111, 95,109,101,115,104, 95,
+117,118, 95,108, 97,121,111,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, 68, 65, 84, 65, 80, 0, 0, 0,
+168, 43,224, 4, 0, 0, 0, 0,209, 0, 0, 0, 1, 0, 0, 0, 72, 44,224, 4, 0, 0, 0, 0, 8, 43,224, 4, 0, 0, 0, 0,
+105,111, 95, 99,117,114,118,101, 95,115,118,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,
+ 68, 65, 84, 65, 80, 0, 0, 0, 72, 44,224, 4, 0, 0, 0, 0,209, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+168, 43,224, 4, 0, 0, 0, 0, 99,121, 99,108,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, 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,232, 0, 0, 0,232, 44,224, 4, 0, 0, 0, 0,201, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68,101,102, 97,117,108,116, 32, 83,116,121,108,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, 12, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0,255,255, 0, 0,154,153, 25, 62, 0, 0,128, 63, 0, 0, 12, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 3, 0, 0, 0,255,255, 0, 0, 0, 0,128, 62, 0, 0, 0, 0, 0, 0, 11, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 3, 0, 0, 0,255,255, 0, 0,154,153, 25, 62, 0, 0,128, 63, 0, 0, 11, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 8, 0, 5, 0, 5, 0, 8, 0,
+ 2, 0, 8, 0, 4, 0, 0, 0, 68, 78, 65, 49, 40, 8, 1, 0,232,232,142, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 83, 68, 78, 65, 78, 65, 77, 69, 94, 13, 0, 0, 42,110,101,120,116, 0, 42,112,114,101,118, 0, 42,100, 97,116, 97, 0, 42,102,
+105,114,115,116, 0, 42,108, 97,115,116, 0,120, 0,121, 0,122, 0,120,109,105,110, 0,120,109, 97,120, 0,121,109,105,110, 0,
+121,109, 97,120, 0, 42,112,111,105,110,116,101,114, 0,103,114,111,117,112, 0,118, 97,108, 0,118, 97,108, 50, 0,116,121,112,
+101, 0,115,117, 98,116,121,112,101, 0,102,108, 97,103, 0,110, 97,109,101, 91, 54, 52, 93, 0,115, 97,118,101,100, 0,100, 97,
+116, 97, 0,108,101,110, 0,116,111,116, 97,108,108,101,110, 0, 42,110,101,119,105,100, 0, 42,108,105, 98, 0,110, 97,109,101,
+ 91, 54, 54, 93, 0,112, 97,100, 0,117,115, 0,105, 99,111,110, 95,105,100, 0,112, 97,100, 50, 0, 42,112,114,111,112,101,114,
+116,105,101,115, 0,105,100, 0, 42,105,100, 98,108,111, 99,107, 0, 42,102,105,108,101,100, 97,116, 97, 0,110, 97,109,101, 91,
+ 49, 48, 50, 52, 93, 0,102,105,108,101,112, 97,116,104, 91, 49, 48, 50, 52, 93, 0, 42,112, 97,114,101,110,116, 0,119, 91, 50,
+ 93, 0,104, 91, 50, 93, 0, 99,104, 97,110,103,101,100, 91, 50, 93, 0, 99,104, 97,110,103,101,100, 95,116,105,109,101,115,116,
+ 97,109,112, 91, 50, 93, 0, 42,114,101, 99,116, 91, 50, 93, 0, 42,111, 98, 0, 98,108,111, 99,107,116,121,112,101, 0, 97,100,
+114, 99,111,100,101, 0,110, 97,109,101, 91, 49, 50, 56, 93, 0, 42, 98,112, 0, 42, 98,101,122,116, 0,109, 97,120,114, 99,116,
+ 0,116,111,116,114, 99,116, 0,118, 97,114,116,121,112,101, 0,116,111,116,118,101,114,116, 0,105,112,111, 0,101,120,116,114,
+ 97,112, 0,114,116, 0, 98,105,116,109, 97,115,107, 0,115,108,105,100,101, 95,109,105,110, 0,115,108,105,100,101, 95,109, 97,
+120, 0, 99,117,114,118, 97,108, 0, 42,100,114,105,118,101,114, 0, 99,117,114,118,101, 0, 99,117,114, 0,115,104,111,119,107,
+101,121, 0,109,117,116,101,105,112,111, 0,112,111,115, 0,112, 97,100, 49, 0,114,101,108, 97,116,105,118,101, 0,116,111,116,
+101,108,101,109, 0,117,105,100, 0, 42,119,101,105,103,104,116,115, 0,118,103,114,111,117,112, 91, 54, 52, 93, 0,115,108,105,
+100,101,114,109,105,110, 0,115,108,105,100,101,114,109, 97,120, 0, 42, 97,100,116, 0, 42,114,101,102,107,101,121, 0,101,108,
+101,109,115,116,114, 91, 51, 50, 93, 0,101,108,101,109,115,105,122,101, 0, 98,108,111, 99,107, 0, 42,105,112,111, 0, 42,102,
+114,111,109, 0,116,111,116,107,101,121, 0,115,108,117,114,112,104, 0, 99,116,105,109,101, 0,117,105,100,103,101,110, 0, 42,
+108,105,110,101, 0, 42,102,111,114,109, 97,116, 0, 98,108,101,110, 0,108,105,110,101,110,111, 0,115,116, 97,114,116, 0,101,
+110,100, 0,102,108, 97,103,115, 0, 99,111,108,111,114, 91, 52, 93, 0,112, 97,100, 91, 52, 93, 0, 42,110, 97,109,101, 0,110,
+108,105,110,101,115, 0,108,105,110,101,115, 0, 42, 99,117,114,108, 0, 42,115,101,108,108, 0, 99,117,114, 99, 0,115,101,108,
+ 99, 0,109, 97,114,107,101,114,115, 0, 42,117,110,100,111, 95, 98,117,102, 0,117,110,100,111, 95,112,111,115, 0,117,110,100,
+111, 95,108,101,110, 0, 42, 99,111,109,112,105,108,101,100, 0,109,116,105,109,101, 0,115,105,122,101, 0,115,101,101,107, 0,
+100,116,120, 0,112, 97,115,115,101,112, 97,114,116, 97,108,112,104, 97, 0, 99,108,105,112,115,116, 97, 0, 99,108,105,112,101,
+110,100, 0,108,101,110,115, 0,111,114,116,104,111, 95,115, 99, 97,108,101, 0,100,114, 97,119,115,105,122,101, 0,115,101,110,
+115,111,114, 95,120, 0,115,101,110,115,111,114, 95,121, 0,115,104,105,102,116,120, 0,115,104,105,102,116,121, 0, 89, 70, 95,
+100,111,102,100,105,115,116, 0, 42,100,111,102, 95,111, 98, 0,115,101,110,115,111,114, 95,102,105,116, 0,112, 97,100, 91, 55,
+ 93, 0, 42,115, 99,101,110,101, 0,102,114, 97,109,101,110,114, 0,102,114, 97,109,101,115, 0,111,102,102,115,101,116, 0,115,
+102,114, 97, 0,102,105,101, 95,105,109, 97, 0, 99,121, 99,108, 0,111,107, 0,109,117,108,116,105, 95,105,110,100,101,120, 0,
+108, 97,121,101,114, 0,112, 97,115,115, 0,105, 98,117,102,115, 0, 42,103,112,117,116,101,120,116,117,114,101, 0, 42, 97,110,
+105,109, 0, 42,114,114, 0, 42,114,101,110,100,101,114,115, 91, 56, 93, 0,114,101,110,100,101,114, 95,115,108,111,116, 0,108,
+ 97,115,116, 95,114,101,110,100,101,114, 95,115,108,111,116, 0,115,111,117,114, 99,101, 0,108, 97,115,116,102,114, 97,109,101,
+ 0,116,112, 97,103,101,102,108, 97,103, 0,116,111,116, 98,105,110,100, 0,120,114,101,112, 0,121,114,101,112, 0,116,119,115,
+116, 97, 0,116,119,101,110,100, 0, 98,105,110,100, 99,111,100,101, 0, 42,114,101,112, 98,105,110,100, 0, 42,112, 97, 99,107,
+101,100,102,105,108,101, 0, 42,112,114,101,118,105,101,119, 0,108, 97,115,116,117,112,100, 97,116,101, 0,108, 97,115,116,117,
+115,101,100, 0, 97,110,105,109,115,112,101,101,100, 0,103,101,110, 95,120, 0,103,101,110, 95,121, 0,103,101,110, 95,116,121,
+112,101, 0,103,101,110, 95,102,108, 97,103, 0, 97,115,112,120, 0, 97,115,112,121, 0,116,101,120, 99,111, 0,109, 97,112,116,
+111, 0,109, 97,112,116,111,110,101,103, 0, 98,108,101,110,100,116,121,112,101, 0, 42,111, 98,106,101, 99,116, 0, 42,116,101,
+120, 0,117,118,110, 97,109,101, 91, 54, 52, 93, 0,112,114,111,106,120, 0,112,114,111,106,121, 0,112,114,111,106,122, 0,109,
+ 97,112,112,105,110,103, 0,111,102,115, 91, 51, 93, 0,115,105,122,101, 91, 51, 93, 0,114,111,116, 0,116,101,120,102,108, 97,
+103, 0, 99,111,108,111,114,109,111,100,101,108, 0,112,109, 97,112,116,111, 0,112,109, 97,112,116,111,110,101,103, 0,110,111,
+114,109, 97,112,115,112, 97, 99,101, 0,119,104,105, 99,104, 95,111,117,116,112,117,116, 0, 98,114,117,115,104, 95,109, 97,112,
+ 95,109,111,100,101, 0,114, 0,103, 0, 98, 0,107, 0,100,101,102, 95,118, 97,114, 0, 99,111,108,102, 97, 99, 0,118, 97,114,
+102, 97, 99, 0,110,111,114,102, 97, 99, 0,100,105,115,112,102, 97, 99, 0,119, 97,114,112,102, 97, 99, 0, 99,111,108,115,112,
+101, 99,102, 97, 99, 0,109,105,114,114,102, 97, 99, 0, 97,108,112,104, 97,102, 97, 99, 0,100,105,102,102,102, 97, 99, 0,115,
+112,101, 99,102, 97, 99, 0,101,109,105,116,102, 97, 99, 0,104, 97,114,100,102, 97, 99, 0,114, 97,121,109,105,114,114,102, 97,
+ 99, 0,116,114, 97,110,115,108,102, 97, 99, 0, 97,109, 98,102, 97, 99, 0, 99,111,108,101,109,105,116,102, 97, 99, 0, 99,111,
+108,114,101,102,108,102, 97, 99, 0, 99,111,108,116,114, 97,110,115,102, 97, 99, 0,100,101,110,115,102, 97, 99, 0,115, 99, 97,
+116,116,101,114,102, 97, 99, 0,114,101,102,108,102, 97, 99, 0,116,105,109,101,102, 97, 99, 0,108,101,110,103,116,104,102, 97,
+ 99, 0, 99,108,117,109,112,102, 97, 99, 0,100, 97,109,112,102, 97, 99, 0,107,105,110,107,102, 97, 99, 0,114,111,117,103,104,
+102, 97, 99, 0,112, 97,100,101,110,115,102, 97, 99, 0,103,114, 97,118,105,116,121,102, 97, 99, 0,108,105,102,101,102, 97, 99,
+ 0,115,105,122,101,102, 97, 99, 0,105,118,101,108,102, 97, 99, 0,102,105,101,108,100,102, 97, 99, 0,115,104, 97,100,111,119,
+102, 97, 99, 0,122,101,110,117,112,102, 97, 99, 0,122,101,110,100,111,119,110,102, 97, 99, 0, 98,108,101,110,100,102, 97, 99,
+ 0, 97, 0,116,111,116, 0,105,112,111,116,121,112,101, 0,100, 97,116, 97, 91, 51, 50, 93, 0, 42,105,109, 97, 0, 42, 99,117,
+ 98,101, 91, 54, 93, 0,105,109, 97,116, 91, 52, 93, 91, 52, 93, 0,111, 98,105,109, 97,116, 91, 51, 93, 91, 51, 93, 0,115,116,
+121,112,101, 0,118,105,101,119,115, 99, 97,108,101, 0,110,111,116,108, 97,121, 0, 99,117, 98,101,114,101,115, 0,100,101,112,
+116,104, 0,114,101, 99, 97,108, 99, 0,108, 97,115,116,115,105,122,101, 0,102, 97,108,108,111,102,102, 95,116,121,112,101, 0,
+102, 97,108,108,111,102,102, 95,115,111,102,116,110,101,115,115, 0,114, 97,100,105,117,115, 0, 99,111,108,111,114, 95,115,111,
+117,114, 99,101, 0,116,111,116,112,111,105,110,116,115, 0,112,100,112, 97,100, 0,112,115,121,115, 0,112,115,121,115, 95, 99,
+ 97, 99,104,101, 95,115,112, 97, 99,101, 0,111, 98, 95, 99, 97, 99,104,101, 95,115,112, 97, 99,101, 0, 42,112,111,105,110,116,
+ 95,116,114,101,101, 0, 42,112,111,105,110,116, 95,100, 97,116, 97, 0,110,111,105,115,101, 95,115,105,122,101, 0,110,111,105,
+115,101, 95,100,101,112,116,104, 0,110,111,105,115,101, 95,105,110,102,108,117,101,110, 99,101, 0,110,111,105,115,101, 95, 98,
+ 97,115,105,115, 0,112,100,112, 97,100, 51, 91, 51, 93, 0,110,111,105,115,101, 95,102, 97, 99, 0,115,112,101,101,100, 95,115,
+ 99, 97,108,101, 0,102, 97,108,108,111,102,102, 95,115,112,101,101,100, 95,115, 99, 97,108,101, 0,112,100,112, 97,100, 50, 0,
+ 42, 99,111, 98, 97, 0, 42,102, 97,108,108,111,102,102, 95, 99,117,114,118,101, 0,114,101,115,111,108, 91, 51, 93, 0,105,110,
+116,101,114,112, 95,116,121,112,101, 0,102,105,108,101, 95,102,111,114,109, 97,116, 0,101,120,116,101,110,100, 0,115,109,111,
+107,101,100, 95,116,121,112,101, 0,105,110,116, 95,109,117,108,116,105,112,108,105,101,114, 0,115,116,105,108,108, 95,102,114,
+ 97,109,101, 0,115,111,117,114, 99,101, 95,112, 97,116,104, 91, 49, 48, 50, 52, 93, 0, 42,100, 97,116, 97,115,101,116, 0, 99,
+ 97, 99,104,101,100,102,114, 97,109,101, 0,111, 99,101, 97,110,109,111,100, 91, 54, 52, 93, 0,111,117,116,112,117,116, 0,110,
+111,105,115,101,115,105,122,101, 0,116,117,114, 98,117,108, 0, 98,114,105,103,104,116, 0, 99,111,110,116,114, 97,115,116, 0,
+115, 97,116,117,114, 97,116,105,111,110, 0,114,102, 97, 99, 0,103,102, 97, 99, 0, 98,102, 97, 99, 0,102,105,108,116,101,114,
+115,105,122,101, 0,109,103, 95, 72, 0,109,103, 95,108, 97, 99,117,110, 97,114,105,116,121, 0,109,103, 95,111, 99,116, 97,118,
+101,115, 0,109,103, 95,111,102,102,115,101,116, 0,109,103, 95,103, 97,105,110, 0,100,105,115,116, 95, 97,109,111,117,110,116,
+ 0,110,115, 95,111,117,116,115, 99, 97,108,101, 0,118,110, 95,119, 49, 0,118,110, 95,119, 50, 0,118,110, 95,119, 51, 0,118,
+110, 95,119, 52, 0,118,110, 95,109,101,120,112, 0,118,110, 95,100,105,115,116,109, 0,118,110, 95, 99,111,108,116,121,112,101,
+ 0,110,111,105,115,101,100,101,112,116,104, 0,110,111,105,115,101,116,121,112,101, 0,110,111,105,115,101, 98, 97,115,105,115,
+ 0,110,111,105,115,101, 98, 97,115,105,115, 50, 0,105,109, 97,102,108, 97,103, 0, 99,114,111,112,120,109,105,110, 0, 99,114,
+111,112,121,109,105,110, 0, 99,114,111,112,120,109, 97,120, 0, 99,114,111,112,121,109, 97,120, 0,116,101,120,102,105,108,116,
+101,114, 0, 97,102,109, 97,120, 0,120,114,101,112,101, 97,116, 0,121,114,101,112,101, 97,116, 0, 99,104,101, 99,107,101,114,
+100,105,115,116, 0,110, 97, 98,108, 97, 0,105,117,115,101,114, 0, 42,110,111,100,101,116,114,101,101, 0, 42,101,110,118, 0,
+ 42,112,100, 0, 42,118,100, 0, 42,111,116, 0,117,115,101, 95,110,111,100,101,115, 0,108,111, 99, 91, 51, 93, 0,114,111,116,
+ 91, 51, 93, 0,109, 97,116, 91, 52, 93, 91, 52, 93, 0,109,105,110, 91, 51, 93, 0,109, 97,120, 91, 51, 93, 0, 99,111, 98, 97,
+ 0, 98,108,101,110,100, 95, 99,111,108,111,114, 91, 51, 93, 0, 98,108,101,110,100, 95,102, 97, 99,116,111,114, 0, 98,108,101,
+110,100, 95,116,121,112,101, 0,112, 97,100, 91, 51, 93, 0,109,111,100,101, 0,116,111,116,101,120, 0,115,104,100,119,114, 0,
+115,104,100,119,103, 0,115,104,100,119, 98, 0,115,104,100,119,112, 97,100, 0,101,110,101,114,103,121, 0,100,105,115,116, 0,
+115,112,111,116,115,105,122,101, 0,115,112,111,116, 98,108,101,110,100, 0,104, 97,105,110,116, 0, 97,116,116, 49, 0, 97,116,
+116, 50, 0, 42, 99,117,114,102, 97,108,108,111,102,102, 0,115,104, 97,100,115,112,111,116,115,105,122,101, 0, 98,105, 97,115,
+ 0,115,111,102,116, 0, 99,111,109,112,114,101,115,115,116,104,114,101,115,104, 0, 98,108,101,101,100, 98,105, 97,115, 0,112,
+ 97,100, 53, 91, 50, 93, 0, 98,117,102,115,105,122,101, 0,115, 97,109,112, 0, 98,117,102,102,101,114,115, 0,102,105,108,116,
+101,114,116,121,112,101, 0, 98,117,102,102,108, 97,103, 0, 98,117,102,116,121,112,101, 0,114, 97,121, 95,115, 97,109,112, 0,
+114, 97,121, 95,115, 97,109,112,121, 0,114, 97,121, 95,115, 97,109,112,122, 0,114, 97,121, 95,115, 97,109,112, 95,116,121,112,
+101, 0, 97,114,101, 97, 95,115,104, 97,112,101, 0, 97,114,101, 97, 95,115,105,122,101, 0, 97,114,101, 97, 95,115,105,122,101,
+121, 0, 97,114,101, 97, 95,115,105,122,101,122, 0, 97,100, 97,112,116, 95,116,104,114,101,115,104, 0,114, 97,121, 95,115, 97,
+109,112, 95,109,101,116,104,111,100, 0,115,104, 97,100,111,119,109, 97,112, 95,116,121,112,101, 0,116,101,120, 97, 99,116, 0,
+115,104, 97,100,104, 97,108,111,115,116,101,112, 0,115,117,110, 95,101,102,102,101, 99,116, 95,116,121,112,101, 0,115,107,121,
+ 98,108,101,110,100,116,121,112,101, 0,104,111,114,105,122,111,110, 95, 98,114,105,103,104,116,110,101,115,115, 0,115,112,114,
+101, 97,100, 0,115,117,110, 95, 98,114,105,103,104,116,110,101,115,115, 0,115,117,110, 95,115,105,122,101, 0, 98, 97, 99,107,
+115, 99, 97,116,116,101,114,101,100, 95,108,105,103,104,116, 0,115,117,110, 95,105,110,116,101,110,115,105,116,121, 0, 97,116,
+109, 95,116,117,114, 98,105,100,105,116,121, 0, 97,116,109, 95,105,110,115, 99, 97,116,116,101,114,105,110,103, 95,102, 97, 99,
+116,111,114, 0, 97,116,109, 95,101,120,116,105,110, 99,116,105,111,110, 95,102, 97, 99,116,111,114, 0, 97,116,109, 95,100,105,
+115,116, 97,110, 99,101, 95,102, 97, 99,116,111,114, 0,115,107,121, 98,108,101,110,100,102, 97, 99, 0,115,107,121, 95,101,120,
+112,111,115,117,114,101, 0,115,104, 97,100,111,119, 95,102,114,117,115,116,117,109, 95,115,105,122,101, 0,115,107,121, 95, 99,
+111,108,111,114,115,112, 97, 99,101, 0,112, 97,100, 52, 91, 50, 93, 0, 42,109,116,101,120, 91, 49, 56, 93, 0,112,114, 95,116,
+101,120,116,117,114,101, 0,112, 97,100, 54, 91, 52, 93, 0,100,101,110,115,105,116,121, 0,101,109,105,115,115,105,111,110, 0,
+115, 99, 97,116,116,101,114,105,110,103, 0,114,101,102,108,101, 99,116,105,111,110, 0,101,109,105,115,115,105,111,110, 95, 99,
+111,108, 91, 51, 93, 0,116,114, 97,110,115,109,105,115,115,105,111,110, 95, 99,111,108, 91, 51, 93, 0,114,101,102,108,101, 99,
+116,105,111,110, 95, 99,111,108, 91, 51, 93, 0,100,101,110,115,105,116,121, 95,115, 99, 97,108,101, 0,100,101,112,116,104, 95,
+ 99,117,116,111,102,102, 0, 97,115,121,109,109,101,116,114,121, 0,115,116,101,112,115,105,122,101, 95,116,121,112,101, 0,115,
+104, 97,100,101,102,108, 97,103, 0,115,104, 97,100,101, 95,116,121,112,101, 0,112,114,101, 99, 97, 99,104,101, 95,114,101,115,
+111,108,117,116,105,111,110, 0,115,116,101,112,115,105,122,101, 0,109,115, 95,100,105,102,102, 0,109,115, 95,105,110,116,101,
+110,115,105,116,121, 0,109,115, 95,115,112,114,101, 97,100, 0, 97,108,112,104, 97, 95, 98,108,101,110,100, 0,102, 97, 99,101,
+ 95,111,114,105,101,110,116, 97,116,105,111,110, 0,109, 97,116,101,114,105, 97,108, 95,116,121,112,101, 0,115,112,101, 99,114,
+ 0,115,112,101, 99,103, 0,115,112,101, 99, 98, 0,109,105,114,114, 0,109,105,114,103, 0,109,105,114, 98, 0, 97,109, 98,114,
+ 0, 97,109, 98, 98, 0, 97,109, 98,103, 0, 97,109, 98, 0,101,109,105,116, 0, 97,110,103, 0,115,112,101, 99,116,114, 97, 0,
+114, 97,121, 95,109,105,114,114,111,114, 0, 97,108,112,104, 97, 0,114,101,102, 0,115,112,101, 99, 0,122,111,102,102,115, 0,
+ 97,100,100, 0,116,114, 97,110,115,108,117, 99,101,110, 99,121, 0,118,111,108, 0,103, 97,109,101, 0,102,114,101,115,110,101,
+108, 95,109,105,114, 0,102,114,101,115,110,101,108, 95,109,105,114, 95,105, 0,102,114,101,115,110,101,108, 95,116,114, 97, 0,
+102,114,101,115,110,101,108, 95,116,114, 97, 95,105, 0,102,105,108,116,101,114, 0,116,120, 95,108,105,109,105,116, 0,116,120,
+ 95,102, 97,108,108,111,102,102, 0,114, 97,121, 95,100,101,112,116,104, 0,114, 97,121, 95,100,101,112,116,104, 95,116,114, 97,
+ 0,104, 97,114, 0,115,101,101,100, 49, 0,115,101,101,100, 50, 0,103,108,111,115,115, 95,109,105,114, 0,103,108,111,115,115,
+ 95,116,114, 97, 0,115, 97,109,112, 95,103,108,111,115,115, 95,109,105,114, 0,115, 97,109,112, 95,103,108,111,115,115, 95,116,
+114, 97, 0, 97,100, 97,112,116, 95,116,104,114,101,115,104, 95,109,105,114, 0, 97,100, 97,112,116, 95,116,104,114,101,115,104,
+ 95,116,114, 97, 0, 97,110,105,115,111, 95,103,108,111,115,115, 95,109,105,114, 0,100,105,115,116, 95,109,105,114, 0,102, 97,
+100,101,116,111, 95,109,105,114, 0,115,104, 97,100,101, 95,102,108, 97,103, 0,109,111,100,101, 95,108, 0,102,108, 97,114,101,
+ 99, 0,115,116, 97,114, 99, 0,108,105,110,101, 99, 0,114,105,110,103, 99, 0,104, 97,115,105,122,101, 0,102,108, 97,114,101,
+115,105,122,101, 0,115,117, 98,115,105,122,101, 0,102,108, 97,114,101, 98,111,111,115,116, 0,115,116,114, 97,110,100, 95,115,
+116, 97, 0,115,116,114, 97,110,100, 95,101,110,100, 0,115,116,114, 97,110,100, 95,101, 97,115,101, 0,115,116,114, 97,110,100,
+ 95,115,117,114,102,110,111,114, 0,115,116,114, 97,110,100, 95,109,105,110, 0,115,116,114, 97,110,100, 95,119,105,100,116,104,
+102, 97,100,101, 0,115,116,114, 97,110,100, 95,117,118,110, 97,109,101, 91, 54, 52, 93, 0,115, 98,105, 97,115, 0,108, 98,105,
+ 97,115, 0,115,104, 97,100, 95, 97,108,112,104, 97, 0,115,101,112,116,101,120, 0,114,103, 98,115,101,108, 0,112,114, 95,116,
+121,112,101, 0,112,114, 95, 98, 97, 99,107, 0,112,114, 95,108, 97,109,112, 0,109,108, 95,102,108, 97,103, 0,100,105,102,102,
+ 95,115,104, 97,100,101,114, 0,115,112,101, 99, 95,115,104, 97,100,101,114, 0,114,111,117,103,104,110,101,115,115, 0,114,101,
+102,114, 97, 99, 0,112, 97,114, 97,109, 91, 52, 93, 0,114,109,115, 0,100, 97,114,107,110,101,115,115, 0, 42,114, 97,109,112,
+ 95, 99,111,108, 0, 42,114, 97,109,112, 95,115,112,101, 99, 0,114, 97,109,112,105,110, 95, 99,111,108, 0,114, 97,109,112,105,
+110, 95,115,112,101, 99, 0,114, 97,109,112, 98,108,101,110,100, 95, 99,111,108, 0,114, 97,109,112, 98,108,101,110,100, 95,115,
+112,101, 99, 0,114, 97,109,112, 95,115,104,111,119, 0,112, 97,100, 51, 0,114, 97,109,112,102, 97, 99, 95, 99,111,108, 0,114,
+ 97,109,112,102, 97, 99, 95,115,112,101, 99, 0, 42,103,114,111,117,112, 0,102,114,105, 99,116,105,111,110, 0,102,104, 0,114,
+101,102,108,101, 99,116, 0,102,104,100,105,115,116, 0,120,121,102,114,105, 99,116, 0,100,121,110, 97,109,111,100,101, 0,115,
+115,115, 95,114, 97,100,105,117,115, 91, 51, 93, 0,115,115,115, 95, 99,111,108, 91, 51, 93, 0,115,115,115, 95,101,114,114,111,
+114, 0,115,115,115, 95,115, 99, 97,108,101, 0,115,115,115, 95,105,111,114, 0,115,115,115, 95, 99,111,108,102, 97, 99, 0,115,
+115,115, 95,116,101,120,102, 97, 99, 0,115,115,115, 95,102,114,111,110,116, 0,115,115,115, 95, 98, 97, 99,107, 0,115,115,115,
+ 95,102,108, 97,103, 0,115,115,115, 95,112,114,101,115,101,116, 0,109, 97,112,116,111, 95,116,101,120,116,117,114,101,100, 0,
+115,104, 97,100,111,119,111,110,108,121, 95,102,108, 97,103, 0,105,110,100,101,120, 0,103,112,117,109, 97,116,101,114,105, 97,
+108, 0, 42, 98, 98, 0,115,101,108, 99,111,108, 49, 0,115,101,108, 99,111,108, 50, 0,113,117, 97,116, 91, 52, 93, 0,101,120,
+112,120, 0,101,120,112,121, 0,101,120,112,122, 0,114, 97,100, 0,114, 97,100, 50, 0,115, 0, 42,109, 97,116, 0, 42,105,109,
+ 97,116, 0,101,108,101,109,115, 0,100,105,115,112, 0, 42,101,100,105,116,101,108,101,109,115, 0, 42, 42,109, 97,116, 0,102,
+108, 97,103, 50, 0,116,111,116, 99,111,108, 0,119,105,114,101,115,105,122,101, 0,114,101,110,100,101,114,115,105,122,101, 0,
+116,104,114,101,115,104, 0, 42,108, 97,115,116,101,108,101,109, 0,118,101, 99, 91, 51, 93, 91, 51, 93, 0, 97,108,102, 97, 0,
+119,101,105,103,104,116, 0,104, 49, 0,104, 50, 0,102, 49, 0,102, 50, 0,102, 51, 0,104,105,100,101, 0,118,101, 99, 91, 52,
+ 93, 0,109, 97,116, 95,110,114, 0,112,110,116,115,117, 0,112,110,116,115,118, 0,114,101,115,111,108,117, 0,114,101,115,111,
+108,118, 0,111,114,100,101,114,117, 0,111,114,100,101,114,118, 0,102,108, 97,103,117, 0,102,108, 97,103,118, 0, 42,107,110,
+111,116,115,117, 0, 42,107,110,111,116,115,118, 0,116,105,108,116, 95,105,110,116,101,114,112, 0,114, 97,100,105,117,115, 95,
+105,110,116,101,114,112, 0, 99,104, 97,114,105,100,120, 0,107,101,114,110, 0,119, 0,104, 0,110,117,114, 98,115, 0, 42,107,
+101,121,105,110,100,101,120, 0,115,104, 97,112,101,110,114, 0,110,117,114, 98, 0, 42,101,100,105,116,110,117,114, 98, 0, 42,
+ 98,101,118,111, 98,106, 0, 42,116, 97,112,101,114,111, 98,106, 0, 42,116,101,120,116,111,110, 99,117,114,118,101, 0, 42,112,
+ 97,116,104, 0, 42,107,101,121, 0, 98,101,118, 0,100,114, 97,119,102,108, 97,103, 0,116,119,105,115,116, 95,109,111,100,101,
+ 0,116,119,105,115,116, 95,115,109,111,111,116,104, 0,115,109, 97,108,108, 99, 97,112,115, 95,115, 99, 97,108,101, 0,112, 97,
+116,104,108,101,110, 0, 98,101,118,114,101,115,111,108, 0,119,105,100,116,104, 0,101,120,116, 49, 0,101,120,116, 50, 0,114,
+101,115,111,108,117, 95,114,101,110, 0,114,101,115,111,108,118, 95,114,101,110, 0, 97, 99,116,110,117, 0, 42,108, 97,115,116,
+115,101,108, 0,115,112, 97, 99,101,109,111,100,101, 0,115,112, 97, 99,105,110,103, 0,108,105,110,101,100,105,115,116, 0,115,
+104,101, 97,114, 0,102,115,105,122,101, 0,119,111,114,100,115,112, 97, 99,101, 0,117,108,112,111,115, 0,117,108,104,101,105,
+103,104,116, 0,120,111,102, 0,121,111,102, 0,108,105,110,101,119,105,100,116,104, 0, 42,115,116,114, 0, 42,115,101,108, 98,
+111,120,101,115, 0, 42,101,100,105,116,102,111,110,116, 0,102, 97,109,105,108,121, 91, 50, 52, 93, 0, 42,118,102,111,110,116,
+ 0, 42,118,102,111,110,116, 98, 0, 42,118,102,111,110,116,105, 0, 42,118,102,111,110,116, 98,105, 0,115,101,112, 99,104, 97,
+114, 0,116,111,116, 98,111,120, 0, 97, 99,116, 98,111,120, 0, 42,116, 98, 0,115,101,108,115,116, 97,114,116, 0,115,101,108,
+101,110,100, 0, 42,115,116,114,105,110,102,111, 0, 99,117,114,105,110,102,111, 0, 98,101,118,102, 97, 99, 49, 0, 98,101,118,
+102, 97, 99, 50, 0, 42,109,115,101,108,101, 99,116, 0, 42,109,112,111,108,121, 0, 42,109,116,112,111,108,121, 0, 42,109,108,
+111,111,112, 0, 42,109,108,111,111,112,117,118, 0, 42,109,108,111,111,112, 99,111,108, 0, 42,109,102, 97, 99,101, 0, 42,109,
+116,102, 97, 99,101, 0, 42,116,102, 97, 99,101, 0, 42,109,118,101,114,116, 0, 42,109,101,100,103,101, 0, 42,100,118,101,114,
+116, 0, 42,109, 99,111,108, 0, 42,109,115,116,105, 99,107,121, 0, 42,116,101,120, 99,111,109,101,115,104, 0, 42,101,100,105,
+116, 95, 98,116,109,101,115,104, 0,118,100, 97,116, 97, 0,101,100, 97,116, 97, 0,102,100, 97,116, 97, 0,112,100, 97,116, 97,
+ 0,108,100, 97,116, 97, 0,116,111,116,101,100,103,101, 0,116,111,116,102, 97, 99,101, 0,116,111,116,115,101,108,101, 99,116,
+ 0,116,111,116,112,111,108,121, 0,116,111,116,108,111,111,112, 0, 97, 99,116, 95,102, 97, 99,101, 0,115,109,111,111,116,104,
+114,101,115,104, 0,115,117, 98,100,105,118, 0,115,117, 98,100,105,118,114, 0,115,117, 98,115,117,114,102,116,121,112,101, 0,
+101,100,105,116,102,108, 97,103, 0, 42,109,114, 0, 42,116,112, 97,103,101, 0,117,118, 91, 52, 93, 91, 50, 93, 0, 99,111,108,
+ 91, 52, 93, 0,116,114, 97,110,115,112, 0,116,105,108,101, 0,117,110,119,114, 97,112, 0,118, 49, 0,118, 50, 0,118, 51, 0,
+118, 52, 0,101,100, 99,111,100,101, 0, 99,114,101, 97,115,101, 0, 98,119,101,105,103,104,116, 0,100,101,102, 95,110,114, 0,
+ 42,100,119, 0,116,111,116,119,101,105,103,104,116, 0, 99,111, 91, 51, 93, 0,110,111, 91, 51, 93, 0,108,111,111,112,115,116,
+ 97,114,116, 0,118, 0,101, 0,117,118, 91, 50, 93, 0, 99,111, 91, 50, 93, 0,102, 0,105, 0,115, 91, 50, 53, 54, 93, 0,116,
+111,116,100,105,115,112, 0,108,101,118,101,108, 0, 40, 42,100,105,115,112,115, 41, 40, 41, 0, 42,104,105,100,100,101,110, 0,
+118, 91, 52, 93, 0,109,105,100, 0,112, 97,100, 91, 50, 93, 0,118, 91, 50, 93, 0, 42,102, 97, 99,101,115, 0, 42, 99,111,108,
+102, 97, 99,101,115, 0, 42,101,100,103,101,115, 0, 42,118,101,114,116,115, 0,108,101,118,101,108,115, 0,108,101,118,101,108,
+ 95, 99,111,117,110,116, 0, 99,117,114,114,101,110,116, 0,110,101,119,108,118,108, 0,101,100,103,101,108,118,108, 0,112,105,
+110,108,118,108, 0,114,101,110,100,101,114,108,118,108, 0,117,115,101, 95, 99,111,108, 0, 42,101,100,103,101, 95,102,108, 97,
+103,115, 0, 42,101,100,103,101, 95, 99,114,101, 97,115,101,115, 0,114, 97,100,105,117,115, 91, 51, 93, 0,115,116, 97, 99,107,
+105,110,100,101,120, 0, 42,101,114,114,111,114, 0,109,111,100,105,102,105,101,114, 0, 42,116,101,120,116,117,114,101, 0, 42,
+109, 97,112, 95,111, 98,106,101, 99,116, 0,117,118,108, 97,121,101,114, 95,110, 97,109,101, 91, 54, 52, 93, 0,117,118,108, 97,
+121,101,114, 95,116,109,112, 0,116,101,120,109, 97,112,112,105,110,103, 0,115,117, 98,100,105,118, 84,121,112,101, 0,114,101,
+110,100,101,114, 76,101,118,101,108,115, 0, 42,101,109, 67, 97, 99,104,101, 0, 42,109, 67, 97, 99,104,101, 0,115,116,114,101,
+110,103,116,104, 0,100,101,102, 97,120,105,115, 0,112, 97,100, 91, 54, 93, 0,108,101,110,103,116,104, 0,114, 97,110,100,111,
+109,105,122,101, 0,115,101,101,100, 0, 42,111, 98, 95, 97,114,109, 0, 42,115,116, 97,114,116, 95, 99, 97,112, 0, 42,101,110,
+100, 95, 99, 97,112, 0, 42, 99,117,114,118,101, 95,111, 98, 0, 42,111,102,102,115,101,116, 95,111, 98, 0,111,102,102,115,101,
+116, 91, 51, 93, 0,115, 99, 97,108,101, 91, 51, 93, 0,109,101,114,103,101, 95,100,105,115,116, 0,102,105,116, 95,116,121,112,
+101, 0,111,102,102,115,101,116, 95,116,121,112,101, 0, 99,111,117,110,116, 0, 97,120,105,115, 0,116,111,108,101,114, 97,110,
+ 99,101, 0, 42,109,105,114,114,111,114, 95,111, 98, 0,115,112,108,105,116, 95, 97,110,103,108,101, 0,118, 97,108,117,101, 0,
+114,101,115, 0,118, 97,108, 95,102,108, 97,103,115, 0,108,105,109, 95,102,108, 97,103,115, 0,101, 95,102,108, 97,103,115, 0,
+ 98,101,118,101,108, 95, 97,110,103,108,101, 0,100,101,102,103,114,112, 95,110, 97,109,101, 91, 54, 52, 93, 0, 42,100,111,109,
+ 97,105,110, 0, 42,102,108,111,119, 0, 42, 99,111,108,108, 0,116,105,109,101, 0,100,105,114,101, 99,116,105,111,110, 0,109,
+105,100,108,101,118,101,108, 0, 42,112,114,111,106,101, 99,116,111,114,115, 91, 49, 48, 93, 0, 42,105,109, 97,103,101, 0,110,
+117,109, 95,112,114,111,106,101, 99,116,111,114,115, 0, 97,115,112,101, 99,116,120, 0, 97,115,112,101, 99,116,121, 0,115, 99,
+ 97,108,101,120, 0,115, 99, 97,108,101,121, 0,112,101,114, 99,101,110,116, 0,102, 97, 99,101, 67,111,117,110,116, 0,102, 97,
+ 99, 0,114,101,112,101, 97,116, 0, 42,111, 98,106,101, 99,116, 99,101,110,116,101,114, 0,115,116, 97,114,116,120, 0,115,116,
+ 97,114,116,121, 0,104,101,105,103,104,116, 0,110, 97,114,114,111,119, 0,115,112,101,101,100, 0,100, 97,109,112, 0,102, 97,
+108,108,111,102,102, 0,116,105,109,101,111,102,102,115, 0,108,105,102,101,116,105,109,101, 0,100,101,102,111,114,109,102,108,
+ 97,103, 0,109,117,108,116,105, 0, 42,112,114,101,118, 67,111,115, 0,115,117, 98,116, 97,114,103,101,116, 91, 54, 52, 93, 0,
+112, 97,114,101,110,116,105,110,118, 91, 52, 93, 91, 52, 93, 0, 99,101,110,116, 91, 51, 93, 0, 42,105,110,100,101,120, 97,114,
+ 0,116,111,116,105,110,100,101,120, 0,102,111,114, 99,101, 0, 42, 99,108,111,116,104, 79, 98,106,101, 99,116, 0, 42,115,105,
+109, 95,112, 97,114,109,115, 0, 42, 99,111,108,108, 95,112, 97,114,109,115, 0, 42,112,111,105,110,116, 95, 99, 97, 99,104,101,
+ 0,112,116, 99, 97, 99,104,101,115, 0, 42,120, 0, 42,120,110,101,119, 0, 42,120,111,108,100, 0, 42, 99,117,114,114,101,110,
+116, 95,120,110,101,119, 0, 42, 99,117,114,114,101,110,116, 95,120, 0, 42, 99,117,114,114,101,110,116, 95,118, 0, 42,109,102,
+ 97, 99,101,115, 0,110,117,109,118,101,114,116,115, 0,110,117,109,102, 97, 99,101,115, 0,116,105,109,101, 95,120, 0,116,105,
+109,101, 95,120,110,101,119, 0, 42, 98,118,104,116,114,101,101, 0, 42,118, 0, 42,100,109, 0, 99,102,114, 97, 0,111,112,101,
+114, 97,116,105,111,110, 0,118,101,114,116,101,120, 0,116,111,116,105,110,102,108,117,101,110, 99,101, 0,103,114,105,100,115,
+105,122,101, 0, 42, 98,105,110,100,105,110,102,108,117,101,110, 99,101,115, 0, 42, 98,105,110,100,111,102,102,115,101,116,115,
+ 0, 42, 98,105,110,100, 99, 97,103,101, 99,111,115, 0,116,111,116, 99, 97,103,101,118,101,114,116, 0, 42,100,121,110,103,114,
+105,100, 0, 42,100,121,110,105,110,102,108,117,101,110, 99,101,115, 0, 42,100,121,110,118,101,114,116,115, 0, 42,112, 97,100,
+ 50, 0,100,121,110,103,114,105,100,115,105,122,101, 0,100,121,110, 99,101,108,108,109,105,110, 91, 51, 93, 0,100,121,110, 99,
+101,108,108,119,105,100,116,104, 0, 98,105,110,100,109, 97,116, 91, 52, 93, 91, 52, 93, 0, 42, 98,105,110,100,119,101,105,103,
+104,116,115, 0, 42, 98,105,110,100, 99,111,115, 0, 40, 42, 98,105,110,100,102,117,110, 99, 41, 40, 41, 0, 42,112,115,121,115,
+ 0,116,111,116,100,109,118,101,114,116, 0,116,111,116,100,109,101,100,103,101, 0,116,111,116,100,109,102, 97, 99,101, 0,112,
+111,115,105,116,105,111,110, 0,114, 97,110,100,111,109, 95,112,111,115,105,116,105,111,110, 0, 42,102, 97, 99,101,112, 97, 0,
+118,103,114,111,117,112, 0,112,114,111,116,101, 99,116, 0,108,118,108, 0,115, 99,117,108,112,116,108,118,108, 0,116,111,116,
+108,118,108, 0,115,105,109,112,108,101, 0, 42,102,115,115, 0, 42,116, 97,114,103,101,116, 0, 42, 97,117,120, 84, 97,114,103,
+101,116, 0,118,103,114,111,117,112, 95,110, 97,109,101, 91, 54, 52, 93, 0,107,101,101,112, 68,105,115,116, 0,115,104,114,105,
+110,107, 84,121,112,101, 0,115,104,114,105,110,107, 79,112,116,115, 0,112,114,111,106, 65,120,105,115, 0,115,117, 98,115,117,
+114,102, 76,101,118,101,108,115, 0, 42,111,114,105,103,105,110, 0,102, 97, 99,116,111,114, 0,108,105,109,105,116, 91, 50, 93,
+ 0,111,114,105,103,105,110, 79,112,116,115, 0,111,102,102,115,101,116, 95,102, 97, 99, 0,111,102,102,115,101,116, 95,102, 97,
+ 99, 95,118,103, 0, 99,114,101, 97,115,101, 95,105,110,110,101,114, 0, 99,114,101, 97,115,101, 95,111,117,116,101,114, 0, 99,
+114,101, 97,115,101, 95,114,105,109, 0,109, 97,116, 95,111,102,115, 0,109, 97,116, 95,111,102,115, 95,114,105,109, 0, 42,111,
+ 98, 95, 97,120,105,115, 0,115,116,101,112,115, 0,114,101,110,100,101,114, 95,115,116,101,112,115, 0,105,116,101,114, 0,115,
+ 99,114,101,119, 95,111,102,115, 0, 97,110,103,108,101, 0, 42,111, 99,101, 97,110, 0, 42,111, 99,101, 97,110, 99, 97, 99,104,
+101, 0,114,101,115,111,108,117,116,105,111,110, 0,115,112, 97,116,105, 97,108, 95,115,105,122,101, 0,119,105,110,100, 95,118,
+101,108,111, 99,105,116,121, 0,115,109, 97,108,108,101,115,116, 95,119, 97,118,101, 0,119, 97,118,101, 95, 97,108,105,103,110,
+109,101,110,116, 0,119, 97,118,101, 95,100,105,114,101, 99,116,105,111,110, 0,119, 97,118,101, 95,115, 99, 97,108,101, 0, 99,
+104,111,112, 95, 97,109,111,117,110,116, 0,102,111, 97,109, 95, 99,111,118,101,114, 97,103,101, 0, 98, 97,107,101,115,116, 97,
+114,116, 0, 98, 97,107,101,101,110,100, 0, 99, 97, 99,104,101,112, 97,116,104, 91, 49, 48, 50, 52, 93, 0,102,111, 97,109,108,
+ 97,121,101,114,110, 97,109,101, 91, 54, 52, 93, 0, 99, 97, 99,104,101,100, 0,103,101,111,109,101,116,114,121, 95,109,111,100,
+101, 0,114,101,102,114,101,115,104, 0,114,101,112,101, 97,116, 95,120, 0,114,101,112,101, 97,116, 95,121, 0,102,111, 97,109,
+ 95,102, 97,100,101, 0, 42,111, 98,106,101, 99,116, 95,102,114,111,109, 0, 42,111, 98,106,101, 99,116, 95,116,111, 0,102, 97,
+108,108,111,102,102, 95,114, 97,100,105,117,115, 0,101,100,105,116, 95,102,108, 97,103,115, 0,100,101,102, 97,117,108,116, 95,
+119,101,105,103,104,116, 0, 42, 99,109, 97,112, 95, 99,117,114,118,101, 0, 97,100,100, 95,116,104,114,101,115,104,111,108,100,
+ 0,114,101,109, 95,116,104,114,101,115,104,111,108,100, 0,109, 97,115,107, 95, 99,111,110,115,116, 97,110,116, 0,109, 97,115,
+107, 95,100,101,102,103,114,112, 95,110, 97,109,101, 91, 54, 52, 93, 0,109, 97,115,107, 95,116,101,120, 95,117,115,101, 95, 99,
+104, 97,110,110,101,108, 0, 42,109, 97,115,107, 95,116,101,120,116,117,114,101, 0, 42,109, 97,115,107, 95,116,101,120, 95,109,
+ 97,112, 95,111, 98,106, 0,109, 97,115,107, 95,116,101,120, 95,109, 97,112,112,105,110,103, 0,109, 97,115,107, 95,116,101,120,
+ 95,117,118,108, 97,121,101,114, 95,110, 97,109,101, 91, 54, 52, 93, 0,112, 97,100, 95,105, 49, 0,100,101,102,103,114,112, 95,
+110, 97,109,101, 95, 97, 91, 54, 52, 93, 0,100,101,102,103,114,112, 95,110, 97,109,101, 95, 98, 91, 54, 52, 93, 0,100,101,102,
+ 97,117,108,116, 95,119,101,105,103,104,116, 95, 97, 0,100,101,102, 97,117,108,116, 95,119,101,105,103,104,116, 95, 98, 0,109,
+105,120, 95,109,111,100,101, 0,109,105,120, 95,115,101,116, 0,112, 97,100, 95, 99, 49, 91, 54, 93, 0,112,114,111,120,105,109,
+105,116,121, 95,109,111,100,101, 0,112,114,111,120,105,109,105,116,121, 95,102,108, 97,103,115, 0, 42,112,114,111,120,105,109,
+105,116,121, 95,111, 98, 95,116, 97,114,103,101,116, 0,109,105,110, 95,100,105,115,116, 0,109, 97,120, 95,100,105,115,116, 0,
+112, 97,100, 95,115, 49, 0, 42, 99, 97,110,118, 97,115, 0, 42, 98,114,117,115,104, 0,116,104,114,101,115,104,111,108,100, 0,
+115, 99, 97,108,101, 0,104,101,114,109,105,116,101, 95,110,117,109, 0, 98,114, 97,110, 99,104, 95,115,109,111,111,116,104,105,
+110,103, 0,115,121,109,109,101,116,114,121, 95, 97,120,101,115, 0, 42,108, 97,116,116, 0,112,110,116,115,119, 0,111,112,110,
+116,115,117, 0,111,112,110,116,115,118, 0,111,112,110,116,115,119, 0,116,121,112,101,117, 0,116,121,112,101,118, 0,116,121,
+112,101,119, 0,102,117, 0,102,118, 0,102,119, 0,100,117, 0,100,118, 0,100,119, 0, 42,100,101,102, 0, 42,108, 97,116,116,
+105, 99,101,100, 97,116, 97, 0,108, 97,116,109, 97,116, 91, 52, 93, 91, 52, 93, 0, 42,101,100,105,116,108, 97,116,116, 0,118,
+101, 99, 91, 56, 93, 91, 51, 93, 0, 42,115, 99,117,108,112,116, 0,112, 97,114,116,121,112,101, 0,112, 97,114, 49, 0,112, 97,
+114, 50, 0,112, 97,114, 51, 0,112, 97,114,115,117, 98,115,116,114, 91, 54, 52, 93, 0, 42,116,114, 97, 99,107, 0, 42,112,114,
+111,120,121, 0, 42,112,114,111,120,121, 95,103,114,111,117,112, 0, 42,112,114,111,120,121, 95,102,114,111,109, 0, 42, 97, 99,
+116,105,111,110, 0, 42,112,111,115,101,108,105, 98, 0, 42,112,111,115,101, 0, 42,103,112,100, 0, 97,118,115, 0, 42,109,112,
+ 97,116,104, 0, 99,111,110,115,116,114, 97,105,110,116, 67,104, 97,110,110,101,108,115, 0,101,102,102,101, 99,116, 0,100,101,
+102, 98, 97,115,101, 0,109,111,100,105,102,105,101,114,115, 0,114,101,115,116,111,114,101, 95,109,111,100,101, 0, 42,109, 97,
+116, 98,105,116,115, 0, 97, 99,116, 99,111,108, 0,100,108,111, 99, 91, 51, 93, 0,111,114,105,103, 91, 51, 93, 0,100,115,105,
+122,101, 91, 51, 93, 0,100,115, 99, 97,108,101, 91, 51, 93, 0,100,114,111,116, 91, 51, 93, 0,100,113,117, 97,116, 91, 52, 93,
+ 0,114,111,116, 65,120,105,115, 91, 51, 93, 0,100,114,111,116, 65,120,105,115, 91, 51, 93, 0,114,111,116, 65,110,103,108,101,
+ 0,100,114,111,116, 65,110,103,108,101, 0,111, 98,109, 97,116, 91, 52, 93, 91, 52, 93, 0, 99,111,110,115,116,105,110,118, 91,
+ 52, 93, 91, 52, 93, 0,105,109, 97,116, 95,114,101,110, 91, 52, 93, 91, 52, 93, 0,108, 97,121, 0,112, 97,100, 54, 0, 99,111,
+108, 98,105,116,115, 0,116,114, 97,110,115,102,108, 97,103, 0,112,114,111,116,101, 99,116,102,108, 97,103, 0,116,114, 97, 99,
+107,102,108, 97,103, 0,117,112,102,108, 97,103, 0,110,108, 97,102,108, 97,103, 0,105,112,111,102,108, 97,103, 0,115, 99, 97,
+102,108, 97,103, 0,115, 99, 97,118,105,115,102,108, 97,103, 0,112, 97,100, 53, 0,100,117,112,111,110, 0,100,117,112,111,102,
+102, 0,100,117,112,115,116, 97, 0,100,117,112,101,110,100, 0,115,102, 0,109, 97,115,115, 0,100, 97,109,112,105,110,103, 0,
+105,110,101,114,116,105, 97, 0,102,111,114,109,102, 97, 99,116,111,114, 0,114,100, 97,109,112,105,110,103, 0,109, 97,114,103,
+105,110, 0,109, 97,120, 95,118,101,108, 0,109,105,110, 95,118,101,108, 0,109, 95, 99,111,110,116, 97, 99,116, 80,114,111, 99,
+101,115,115,105,110,103, 84,104,114,101,115,104,111,108,100, 0,111, 98,115,116, 97, 99,108,101, 82, 97,100, 0,115,116,101,112,
+ 95,104,101,105,103,104,116, 0,106,117,109,112, 95,115,112,101,101,100, 0,102, 97,108,108, 95,115,112,101,101,100, 0,112, 97,
+100, 49, 91, 52, 93, 0,114,111,116,109,111,100,101, 0, 98,111,117,110,100,116,121,112,101, 0, 99,111,108,108,105,115,105,111,
+110, 95, 98,111,117,110,100,116,121,112,101, 0,114,101,115,116,114,105, 99,116,102,108, 97,103, 0,100,116, 0,101,109,112,116,
+121, 95,100,114, 97,119,116,121,112,101, 0,101,109,112,116,121, 95,100,114, 97,119,115,105,122,101, 0,100,117,112,102, 97, 99,
+101,115, 99, 97, 0,112,114,111,112, 0,115,101,110,115,111,114,115, 0, 99,111,110,116,114,111,108,108,101,114,115, 0, 97, 99,
+116,117, 97,116,111,114,115, 0, 98, 98,115,105,122,101, 91, 51, 93, 0, 97, 99,116,100,101,102, 0,103, 97,109,101,102,108, 97,
+103, 0,103, 97,109,101,102,108, 97,103, 50, 0, 42, 98,115,111,102,116, 0,115,111,102,116,102,108, 97,103, 0, 97,110,105,115,
+111,116,114,111,112,105, 99, 70,114,105, 99,116,105,111,110, 91, 51, 93, 0, 99,111,110,115,116,114, 97,105,110,116,115, 0,110,
+108, 97,115,116,114,105,112,115, 0,104,111,111,107,115, 0,112, 97,114,116,105, 99,108,101,115,121,115,116,101,109, 0, 42,115,
+111,102,116, 0, 42,100,117,112, 95,103,114,111,117,112, 0, 98,111,100,121, 95,116,121,112,101, 0,115,104, 97,112,101,102,108,
+ 97,103, 0, 42,102,108,117,105,100,115,105,109, 83,101,116,116,105,110,103,115, 0, 42,100,101,114,105,118,101,100, 68,101,102,
+111,114,109, 0, 42,100,101,114,105,118,101,100, 70,105,110, 97,108, 0,108, 97,115,116, 68, 97,116, 97, 77, 97,115,107, 0, 99,
+117,115,116,111,109,100, 97,116, 97, 95,109, 97,115,107, 0,115,116, 97,116,101, 0,105,110,105,116, 95,115,116, 97,116,101, 0,
+103,112,117,108, 97,109,112, 0,112, 99, 95,105,100,115, 0, 42,100,117,112,108,105,108,105,115,116, 0,105,109, 97, 95,111,102,
+115, 91, 50, 93, 0, 99,117,114,105,110,100,101,120, 0, 97, 99,116,105,118,101, 0,111,114,105,103,108, 97,121, 0,111,109, 97,
+116, 91, 52, 93, 91, 52, 93, 0,111,114, 99,111, 91, 51, 93, 0,110,111, 95,100,114, 97,119, 0, 97,110,105,109, 97,116,101,100,
+ 0,100,101,102,108,101, 99,116, 0,102,111,114, 99,101,102,105,101,108,100, 0,115,104, 97,112,101, 0,116,101,120, 95,109,111,
+100,101, 0,107,105,110,107, 0,107,105,110,107, 95, 97,120,105,115, 0,122,100,105,114, 0,102, 95,115,116,114,101,110,103,116,
+104, 0,102, 95,100, 97,109,112, 0,102, 95,102,108,111,119, 0,102, 95,115,105,122,101, 0,102, 95,112,111,119,101,114, 0,109,
+ 97,120,100,105,115,116, 0,109,105,110,100,105,115,116, 0,102, 95,112,111,119,101,114, 95,114, 0,109, 97,120,114, 97,100, 0,
+109,105,110,114, 97,100, 0,112,100,101,102, 95,100, 97,109,112, 0,112,100,101,102, 95,114,100, 97,109,112, 0,112,100,101,102,
+ 95,112,101,114,109, 0,112,100,101,102, 95,102,114,105, 99,116, 0,112,100,101,102, 95,114,102,114,105, 99,116, 0,112,100,101,
+102, 95,115,116,105, 99,107,110,101,115,115, 0, 97, 98,115,111,114,112,116,105,111,110, 0,112,100,101,102, 95,115, 98,100, 97,
+109,112, 0,112,100,101,102, 95,115, 98,105,102,116, 0,112,100,101,102, 95,115, 98,111,102,116, 0, 99,108,117,109,112, 95,102,
+ 97, 99, 0, 99,108,117,109,112, 95,112,111,119, 0,107,105,110,107, 95,102,114,101,113, 0,107,105,110,107, 95,115,104, 97,112,
+101, 0,107,105,110,107, 95, 97,109,112, 0,102,114,101,101, 95,101,110,100, 0,116,101,120, 95,110, 97, 98,108, 97, 0, 42,114,
+110,103, 0,102, 95,110,111,105,115,101, 0,119,101,105,103,104,116, 91, 49, 51, 93, 0,103,108,111, 98, 97,108, 95,103,114, 97,
+118,105,116,121, 0,114,116, 91, 51, 93, 0,116,111,116,100, 97,116, 97, 0,102,114, 97,109,101, 0,116,111,116,112,111,105,110,
+116, 0,100, 97,116, 97, 95,116,121,112,101,115, 0, 42,100, 97,116, 97, 91, 56, 93, 0, 42, 99,117,114, 91, 56, 93, 0,101,120,
+116,114, 97,100, 97,116, 97, 0,115,116,101,112, 0,115,105,109,102,114, 97,109,101, 0,115,116, 97,114,116,102,114, 97,109,101,
+ 0,101,110,100,102,114, 97,109,101, 0,101,100,105,116,102,114, 97,109,101, 0,108, 97,115,116, 95,101,120, 97, 99,116, 0,108,
+ 97,115,116, 95,118, 97,108,105,100, 0, 99,111,109,112,114,101,115,115,105,111,110, 0,112,114,101,118, 95,110, 97,109,101, 91,
+ 54, 52, 93, 0,105,110,102,111, 91, 54, 52, 93, 0,112, 97,116,104, 91, 49, 48, 50, 52, 93, 0, 42, 99, 97, 99,104,101,100, 95,
+102,114, 97,109,101,115, 0,109,101,109, 95, 99, 97, 99,104,101, 0, 42,101,100,105,116, 0, 40, 42,102,114,101,101, 95,101,100,
+105,116, 41, 40, 41, 0,108,105,110, 83,116,105,102,102, 0, 97,110,103, 83,116,105,102,102, 0,118,111,108,117,109,101, 0,118,
+105,116,101,114, 97,116,105,111,110,115, 0,112,105,116,101,114, 97,116,105,111,110,115, 0,100,105,116,101,114, 97,116,105,111,
+110,115, 0, 99,105,116,101,114, 97,116,105,111,110,115, 0,107, 83, 82, 72, 82, 95, 67, 76, 0,107, 83, 75, 72, 82, 95, 67, 76,
+ 0,107, 83, 83, 72, 82, 95, 67, 76, 0,107, 83, 82, 95, 83, 80, 76, 84, 95, 67, 76, 0,107, 83, 75, 95, 83, 80, 76, 84, 95, 67,
+ 76, 0,107, 83, 83, 95, 83, 80, 76, 84, 95, 67, 76, 0,107, 86, 67, 70, 0,107, 68, 80, 0,107, 68, 71, 0,107, 76, 70, 0,107,
+ 80, 82, 0,107, 86, 67, 0,107, 68, 70, 0,107, 77, 84, 0,107, 67, 72, 82, 0,107, 75, 72, 82, 0,107, 83, 72, 82, 0,107, 65,
+ 72, 82, 0, 99,111,108,108,105,115,105,111,110,102,108, 97,103,115, 0,110,117,109, 99,108,117,115,116,101,114,105,116,101,114,
+ 97,116,105,111,110,115, 0,119,101,108,100,105,110,103, 0,116,111,116,115,112,114,105,110,103, 0, 42, 98,112,111,105,110,116,
+ 0, 42, 98,115,112,114,105,110,103, 0,109,115,103, 95,108,111, 99,107, 0,109,115,103, 95,118, 97,108,117,101, 0,110,111,100,
+101,109, 97,115,115, 0,110, 97,109,101,100, 86, 71, 95, 77, 97,115,115, 91, 54, 52, 93, 0,103,114, 97,118, 0,109,101,100,105,
+ 97,102,114,105, 99,116, 0,114,107,108,105,109,105,116, 0,112,104,121,115,105, 99,115, 95,115,112,101,101,100, 0,103,111, 97,
+108,115,112,114,105,110,103, 0,103,111, 97,108,102,114,105, 99,116, 0,109,105,110,103,111, 97,108, 0,109, 97,120,103,111, 97,
+108, 0,100,101,102,103,111, 97,108, 0,118,101,114,116,103,114,111,117,112, 0,110, 97,109,101,100, 86, 71, 95, 83,111,102,116,
+103,111, 97,108, 91, 54, 52, 93, 0,102,117,122,122,121,110,101,115,115, 0,105,110,115,112,114,105,110,103, 0,105,110,102,114,
+105, 99,116, 0,110, 97,109,101,100, 86, 71, 95, 83,112,114,105,110,103, 95, 75, 91, 54, 52, 93, 0,101,102,114, 97, 0,105,110,
+116,101,114,118, 97,108, 0,108,111, 99, 97,108, 0,115,111,108,118,101,114,102,108, 97,103,115, 0, 42, 42,107,101,121,115, 0,
+116,111,116,112,111,105,110,116,107,101,121, 0,115,101, 99,111,110,100,115,112,114,105,110,103, 0, 99,111,108, 98, 97,108,108,
+ 0, 98, 97,108,108,100, 97,109,112, 0, 98, 97,108,108,115,116,105,102,102, 0,115, 98, 99, 95,109,111,100,101, 0, 97,101,114,
+111,101,100,103,101, 0,109,105,110,108,111,111,112,115, 0,109, 97,120,108,111,111,112,115, 0, 99,104,111,107,101, 0,115,111,
+108,118,101,114, 95, 73, 68, 0,112,108, 97,115,116,105, 99, 0,115,112,114,105,110,103,112,114,101,108,111, 97,100, 0, 42,115,
+ 99,114, 97,116, 99,104, 0,115,104,101, 97,114,115,116,105,102,102, 0,105,110,112,117,115,104, 0, 42,112,111,105,110,116, 99,
+ 97, 99,104,101, 0, 42,101,102,102,101, 99,116,111,114, 95,119,101,105,103,104,116,115, 0,108, 99,111,109, 91, 51, 93, 0,108,
+114,111,116, 91, 51, 93, 91, 51, 93, 0,108,115, 99, 97,108,101, 91, 51, 93, 91, 51, 93, 0,108, 97,115,116, 95,102,114, 97,109,
+101, 0,118,101,108, 91, 51, 93, 0, 42,102,109,100, 0,115,104,111,119, 95, 97,100,118, 97,110, 99,101,100,111,112,116,105,111,
+110,115, 0,114,101,115,111,108,117,116,105,111,110,120,121,122, 0,112,114,101,118,105,101,119,114,101,115,120,121,122, 0,114,
+101, 97,108,115,105,122,101, 0,103,117,105, 68,105,115,112,108, 97,121, 77,111,100,101, 0,114,101,110,100,101,114, 68,105,115,
+112,108, 97,121, 77,111,100,101, 0,118,105,115, 99,111,115,105,116,121, 86, 97,108,117,101, 0,118,105,115, 99,111,115,105,116,
+121, 77,111,100,101, 0,118,105,115, 99,111,115,105,116,121, 69,120,112,111,110,101,110,116, 0,103,114, 97,118, 91, 51, 93, 0,
+ 97,110,105,109, 83,116, 97,114,116, 0, 97,110,105,109, 69,110,100, 0, 98, 97,107,101, 83,116, 97,114,116, 0, 98, 97,107,101,
+ 69,110,100, 0,102,114, 97,109,101, 79,102,102,115,101,116, 0,103,115,116, 97,114, 0,109, 97,120, 82,101,102,105,110,101, 0,
+105,110,105, 86,101,108,120, 0,105,110,105, 86,101,108,121, 0,105,110,105, 86,101,108,122, 0, 42,111,114,103, 77,101,115,104,
+ 0, 42,109,101,115,104, 66, 66, 0,115,117,114,102,100, 97,116, 97, 80, 97,116,104, 91, 49, 48, 50, 52, 93, 0, 98, 98, 83,116,
+ 97,114,116, 91, 51, 93, 0, 98, 98, 83,105,122,101, 91, 51, 93, 0,116,121,112,101, 70,108, 97,103,115, 0,100,111,109, 97,105,
+110, 78,111,118,101, 99,103,101,110, 0,118,111,108,117,109,101, 73,110,105,116, 84,121,112,101, 0,112, 97,114,116, 83,108,105,
+112, 86, 97,108,117,101, 0,103,101,110,101,114, 97,116,101, 84,114, 97, 99,101,114,115, 0,103,101,110,101,114, 97,116,101, 80,
+ 97,114,116,105, 99,108,101,115, 0,115,117,114,102, 97, 99,101, 83,109,111,111,116,104,105,110,103, 0,115,117,114,102, 97, 99,
+101, 83,117, 98,100,105,118,115, 0,112, 97,114,116,105, 99,108,101, 73,110,102, 83,105,122,101, 0,112, 97,114,116,105, 99,108,
+101, 73,110,102, 65,108,112,104, 97, 0,102, 97,114, 70,105,101,108,100, 83,105,122,101, 0, 42,109,101,115,104, 86,101,108,111,
+ 99,105,116,105,101,115, 0, 99,112,115, 84,105,109,101, 83,116, 97,114,116, 0, 99,112,115, 84,105,109,101, 69,110,100, 0, 99,
+112,115, 81,117, 97,108,105,116,121, 0, 97,116,116,114, 97, 99,116,102,111,114, 99,101, 83,116,114,101,110,103,116,104, 0, 97,
+116,116,114, 97, 99,116,102,111,114, 99,101, 82, 97,100,105,117,115, 0,118,101,108,111, 99,105,116,121,102,111,114, 99,101, 83,
+116,114,101,110,103,116,104, 0,118,101,108,111, 99,105,116,121,102,111,114, 99,101, 82, 97,100,105,117,115, 0,108, 97,115,116,
+103,111,111,100,102,114, 97,109,101, 0, 97,110,105,109, 82, 97,116,101, 0,109,105,115,116,121,112,101, 0,104,111,114,114, 0,
+104,111,114,103, 0,104,111,114, 98, 0,122,101,110,114, 0,122,101,110,103, 0,122,101,110, 98, 0,102, 97,115,116, 99,111,108,
+ 0,101,120,112,111,115,117,114,101, 0,101,120,112, 0,114, 97,110,103,101, 0,108,105,110,102, 97, 99, 0,108,111,103,102, 97,
+ 99, 0,103,114, 97,118,105,116,121, 0, 97, 99,116,105,118,105,116,121, 66,111,120, 82, 97,100,105,117,115, 0,115,107,121,116,
+121,112,101, 0,111, 99, 99,108,117,115,105,111,110, 82,101,115, 0,112,104,121,115,105, 99,115, 69,110,103,105,110,101, 0,116,
+105, 99,114, 97,116,101, 0,109, 97,120,108,111,103,105, 99,115,116,101,112, 0,112,104,121,115,117, 98,115,116,101,112, 0,109,
+ 97,120,112,104,121,115,116,101,112, 0,109,105,115,105, 0,109,105,115,116,115,116, 97, 0,109,105,115,116,100,105,115,116, 0,
+109,105,115,116,104,105, 0,115,116, 97,114,114, 0,115,116, 97,114,103, 0,115,116, 97,114, 98, 0,115,116, 97,114,107, 0,115,
+116, 97,114,115,105,122,101, 0,115,116, 97,114,109,105,110,100,105,115,116, 0,115,116, 97,114,100,105,115,116, 0,115,116, 97,
+114, 99,111,108,110,111,105,115,101, 0,100,111,102,115,116, 97, 0,100,111,102,101,110,100, 0,100,111,102,109,105,110, 0,100,
+111,102,109, 97,120, 0, 97,111,100,105,115,116, 0, 97,111,100,105,115,116,102, 97, 99, 0, 97,111,101,110,101,114,103,121, 0,
+ 97,111, 98,105, 97,115, 0, 97,111,109,111,100,101, 0, 97,111,115, 97,109,112, 0, 97,111,109,105,120, 0, 97,111, 99,111,108,
+111,114, 0, 97,111, 95, 97,100, 97,112,116, 95,116,104,114,101,115,104, 0, 97,111, 95, 97,100, 97,112,116, 95,115,112,101,101,
+100, 95,102, 97, 99, 0, 97,111, 95, 97,112,112,114,111,120, 95,101,114,114,111,114, 0, 97,111, 95, 97,112,112,114,111,120, 95,
+ 99,111,114,114,101, 99,116,105,111,110, 0, 97,111, 95,105,110,100,105,114,101, 99,116, 95,101,110,101,114,103,121, 0, 97,111,
+ 95,101,110,118, 95,101,110,101,114,103,121, 0, 97,111, 95,112, 97,100, 50, 0, 97,111, 95,105,110,100,105,114,101, 99,116, 95,
+ 98,111,117,110, 99,101,115, 0, 97,111, 95,112, 97,100, 0, 97,111, 95,115, 97,109,112, 95,109,101,116,104,111,100, 0, 97,111,
+ 95,103, 97,116,104,101,114, 95,109,101,116,104,111,100, 0, 97,111, 95, 97,112,112,114,111,120, 95,112, 97,115,115,101,115, 0,
+ 42, 97,111,115,112,104,101,114,101, 0, 42, 97,111,116, 97, 98,108,101,115, 0,115,101,108, 99,111,108, 0,115,120, 0,115,121,
+ 0, 42,108,112, 70,111,114,109, 97,116, 0, 42,108,112, 80, 97,114,109,115, 0, 99, 98, 70,111,114,109, 97,116, 0, 99, 98, 80,
+ 97,114,109,115, 0,102, 99, 99, 84,121,112,101, 0,102, 99, 99, 72, 97,110,100,108,101,114, 0,100,119, 75,101,121, 70,114, 97,
+109,101, 69,118,101,114,121, 0,100,119, 81,117, 97,108,105,116,121, 0,100,119, 66,121,116,101,115, 80,101,114, 83,101, 99,111,
+110,100, 0,100,119, 70,108, 97,103,115, 0,100,119, 73,110,116,101,114,108,101, 97,118,101, 69,118,101,114,121, 0, 97,118,105,
+ 99,111,100,101, 99,110, 97,109,101, 91, 49, 50, 56, 93, 0, 42, 99,100, 80, 97,114,109,115, 0, 42,112, 97,100, 0, 99,100, 83,
+105,122,101, 0,113,116, 99,111,100,101, 99,110, 97,109,101, 91, 49, 50, 56, 93, 0, 99,111,100,101, 99, 84,121,112,101, 0, 99,
+111,100,101, 99, 83,112, 97,116,105, 97,108, 81,117, 97,108,105,116,121, 0, 99,111,100,101, 99, 0, 99,111,100,101, 99, 70,108,
+ 97,103,115, 0, 99,111,108,111,114, 68,101,112,116,104, 0, 99,111,100,101, 99, 84,101,109,112,111,114, 97,108, 81,117, 97,108,
+105,116,121, 0,109,105,110, 83,112, 97,116,105, 97,108, 81,117, 97,108,105,116,121, 0,109,105,110, 84,101,109,112,111,114, 97,
+108, 81,117, 97,108,105,116,121, 0,107,101,121, 70,114, 97,109,101, 82, 97,116,101, 0, 98,105,116, 82, 97,116,101, 0, 97,117,
+100,105,111, 99,111,100,101, 99, 84,121,112,101, 0, 97,117,100,105,111, 83, 97,109,112,108,101, 82, 97,116,101, 0, 97,117,100,
+105,111, 66,105,116, 68,101,112,116,104, 0, 97,117,100,105,111, 67,104, 97,110,110,101,108,115, 0, 97,117,100,105,111, 67,111,
+100,101, 99, 70,108, 97,103,115, 0, 97,117,100,105,111, 66,105,116, 82, 97,116,101, 0, 97,117,100,105,111, 95, 99,111,100,101,
+ 99, 0,118,105,100,101,111, 95, 98,105,116,114, 97,116,101, 0, 97,117,100,105,111, 95, 98,105,116,114, 97,116,101, 0, 97,117,
+100,105,111, 95,109,105,120,114, 97,116,101, 0, 97,117,100,105,111, 95, 99,104, 97,110,110,101,108,115, 0, 97,117,100,105,111,
+ 95,112, 97,100, 0, 97,117,100,105,111, 95,118,111,108,117,109,101, 0,103,111,112, 95,115,105,122,101, 0,114, 99, 95,109,105,
+110, 95,114, 97,116,101, 0,114, 99, 95,109, 97,120, 95,114, 97,116,101, 0,114, 99, 95, 98,117,102,102,101,114, 95,115,105,122,
+101, 0,109,117,120, 95,112, 97, 99,107,101,116, 95,115,105,122,101, 0,109,117,120, 95,114, 97,116,101, 0,109,105,120,114, 97,
+116,101, 0,109, 97,105,110, 0,115,112,101,101,100, 95,111,102, 95,115,111,117,110,100, 0,100,111,112,112,108,101,114, 95,102,
+ 97, 99,116,111,114, 0,100,105,115,116, 97,110, 99,101, 95,109,111,100,101,108, 0, 42,109, 97,116, 95,111,118,101,114,114,105,
+100,101, 0, 42,108,105,103,104,116, 95,111,118,101,114,114,105,100,101, 0,108, 97,121, 95,122,109, 97,115,107, 0,108, 97,121,
+ 95,101,120, 99,108,117,100,101, 0,108, 97,121,102,108, 97,103, 0,112, 97,115,115,102,108, 97,103, 0,112, 97,115,115, 95,120,
+111,114, 0,115, 97,109,112,108,101,115, 0,105,109,116,121,112,101, 0,112,108, 97,110,101,115, 0,113,117, 97,108,105,116,121,
+ 0, 99,111,109,112,114,101,115,115, 0,101,120,114, 95, 99,111,100,101, 99, 0, 99,105,110,101,111,110, 95,102,108, 97,103, 0,
+ 99,105,110,101,111,110, 95,119,104,105,116,101, 0, 99,105,110,101,111,110, 95, 98,108, 97, 99,107, 0, 99,105,110,101,111,110,
+ 95,103, 97,109,109, 97, 0,106,112, 50, 95,102,108, 97,103, 0,105,109, 95,102,111,114,109, 97,116, 0, 42, 97,118,105, 99,111,
+100,101, 99,100, 97,116, 97, 0, 42,113,116, 99,111,100,101, 99,100, 97,116, 97, 0,113,116, 99,111,100,101, 99,115,101,116,116,
+105,110,103,115, 0,102,102, 99,111,100,101, 99,100, 97,116, 97, 0,115,117, 98,102,114, 97,109,101, 0,112,115,102,114, 97, 0,
+112,101,102,114, 97, 0,105,109, 97,103,101,115, 0,102,114, 97,109, 97,112,116,111, 0,116,104,114,101, 97,100,115, 0,102,114,
+ 97,109,101,108,101,110, 0, 98,108,117,114,102, 97, 99, 0,101,100,103,101, 82, 0,101,100,103,101, 71, 0,101,100,103,101, 66,
+ 0,102,117,108,108,115, 99,114,101,101,110, 0,120,112,108, 97,121, 0,121,112,108, 97,121, 0,102,114,101,113,112,108, 97,121,
+ 0, 97,116,116,114,105, 98, 0,102,114, 97,109,101, 95,115,116,101,112, 0,115,116,101,114,101,111,109,111,100,101, 0,100,105,
+109,101,110,115,105,111,110,115,112,114,101,115,101,116, 0,109, 97,120,105,109,115,105,122,101, 0,120,115, 99,104, 0,121,115,
+ 99,104, 0,120,112, 97,114,116,115, 0,121,112, 97,114,116,115, 0,115,117, 98,105,109,116,121,112,101, 0,100,105,115,112,108,
+ 97,121,109,111,100,101, 0,115, 99,101,109,111,100,101, 0,114, 97,121,116,114, 97, 99,101, 95,111,112,116,105,111,110,115, 0,
+114, 97,121,116,114, 97, 99,101, 95,115,116,114,117, 99,116,117,114,101, 0,111, 99,114,101,115, 0,112, 97,100, 52, 0, 97,108,
+112,104, 97,109,111,100,101, 0,111,115, 97, 0,102,114,115, 95,115,101, 99, 0,101,100,103,101,105,110,116, 0,115, 97,102,101,
+116,121, 0, 98,111,114,100,101,114, 0,100,105,115,112,114,101, 99,116, 0,108, 97,121,101,114,115, 0, 97, 99,116,108, 97,121,
+ 0,109, 98,108,117,114, 95,115, 97,109,112,108,101,115, 0,120, 97,115,112, 0,121, 97,115,112, 0,102,114,115, 95,115,101, 99,
+ 95, 98, 97,115,101, 0,103, 97,117,115,115, 0, 99,111,108,111,114, 95,109,103,116, 95,102,108, 97,103, 0,112,111,115,116,103,
+ 97,109,109, 97, 0,112,111,115,116,104,117,101, 0,112,111,115,116,115, 97,116, 0,100,105,116,104,101,114, 95,105,110,116,101,
+110,115,105,116,121, 0, 98, 97,107,101, 95,111,115, 97, 0, 98, 97,107,101, 95,102,105,108,116,101,114, 0, 98, 97,107,101, 95,
+109,111,100,101, 0, 98, 97,107,101, 95,102,108, 97,103, 0, 98, 97,107,101, 95,110,111,114,109, 97,108, 95,115,112, 97, 99,101,
+ 0, 98, 97,107,101, 95,113,117, 97,100, 95,115,112,108,105,116, 0, 98, 97,107,101, 95,109, 97,120,100,105,115,116, 0, 98, 97,
+107,101, 95, 98,105, 97,115,100,105,115,116, 0, 98, 97,107,101, 95,112, 97,100, 0,112,105, 99, 91, 49, 48, 50, 52, 93, 0,115,
+116, 97,109,112, 0,115,116, 97,109,112, 95,102,111,110,116, 95,105,100, 0,115,116, 97,109,112, 95,117,100, 97,116, 97, 91, 55,
+ 54, 56, 93, 0,102,103, 95,115,116, 97,109,112, 91, 52, 93, 0, 98,103, 95,115,116, 97,109,112, 91, 52, 93, 0,115,101,113, 95,
+112,114,101,118, 95,116,121,112,101, 0,115,101,113, 95,114,101,110,100, 95,116,121,112,101, 0,115,101,113, 95,102,108, 97,103,
+ 0,112, 97,100, 53, 91, 53, 93, 0,115,105,109,112,108,105,102,121, 95,102,108, 97,103, 0,115,105,109,112,108,105,102,121, 95,
+115,117, 98,115,117,114,102, 0,115,105,109,112,108,105,102,121, 95,115,104, 97,100,111,119,115, 97,109,112,108,101,115, 0,115,
+105,109,112,108,105,102,121, 95,112, 97,114,116,105, 99,108,101,115, 0,115,105,109,112,108,105,102,121, 95, 97,111,115,115,115,
+ 0, 99,105,110,101,111,110,119,104,105,116,101, 0, 99,105,110,101,111,110, 98,108, 97, 99,107, 0, 99,105,110,101,111,110,103,
+ 97,109,109, 97, 0,106,112, 50, 95,112,114,101,115,101,116, 0,106,112, 50, 95,100,101,112,116,104, 0,114,112, 97,100, 51, 0,
+100,111,109,101,114,101,115, 0,100,111,109,101,109,111,100,101, 0,100,111,109,101, 97,110,103,108,101, 0,100,111,109,101,116,
+105,108,116, 0,100,111,109,101,114,101,115, 98,117,102, 0, 42,100,111,109,101,116,101,120,116, 0,101,110,103,105,110,101, 91,
+ 51, 50, 93, 0,110, 97,109,101, 91, 51, 50, 93, 0,112, 97,114,116,105, 99,108,101, 95,112,101,114, 99, 0,115,117, 98,115,117,
+114,102, 95,109, 97,120, 0,115,104, 97,100, 98,117,102,115, 97,109,112,108,101, 95,109, 97,120, 0, 97,111, 95,101,114,114,111,
+114, 0,116,105,108,116, 0,114,101,115, 98,117,102, 0, 42,119, 97,114,112,116,101,120,116, 0, 99,111,108, 91, 51, 93, 0, 99,
+101,108,108,115,105,122,101, 0, 99,101,108,108,104,101,105,103,104,116, 0, 97,103,101,110,116,109, 97,120,115,108,111,112,101,
+ 0, 97,103,101,110,116,109, 97,120, 99,108,105,109, 98, 0, 97,103,101,110,116,104,101,105,103,104,116, 0, 97,103,101,110,116,
+114, 97,100,105,117,115, 0,101,100,103,101,109, 97,120,108,101,110, 0,101,100,103,101,109, 97,120,101,114,114,111,114, 0,114,
+101,103,105,111,110,109,105,110,115,105,122,101, 0,114,101,103,105,111,110,109,101,114,103,101,115,105,122,101, 0,118,101,114,
+116,115,112,101,114,112,111,108,121, 0,100,101,116, 97,105,108,115, 97,109,112,108,101,100,105,115,116, 0,100,101,116, 97,105,
+108,115, 97,109,112,108,101,109, 97,120,101,114,114,111,114, 0,102,114, 97,109,105,110,103, 0,112,108, 97,121,101,114,102,108,
+ 97,103, 0,114,116, 49, 0,114,116, 50, 0, 97, 97,115, 97,109,112,108,101,115, 0,112, 97,100, 52, 91, 51, 93, 0,100,111,109,
+101, 0,115,116,101,114,101,111,102,108, 97,103, 0,101,121,101,115,101,112, 97,114, 97,116,105,111,110, 0,114,101, 99, 97,115,
+116, 68, 97,116, 97, 0,109, 97,116,109,111,100,101, 0,101,120,105,116,107,101,121, 0,111, 98,115,116, 97, 99,108,101, 83,105,
+109,117,108, 97,116,105,111,110, 0,108,101,118,101,108, 72,101,105,103,104,116, 0,100,101, 97, 99,116,105,118, 97,116,105,111,
+110,116,105,109,101, 0,108,105,110,101, 97,114,100,101, 97, 99,116,116,104,114,101,115,104,111,108,100, 0, 97,110,103,117,108,
+ 97,114,100,101, 97, 99,116,116,104,114,101,115,104,111,108,100, 0, 42, 99, 97,109,101,114, 97, 0, 42,112, 97,105,110,116, 95,
+ 99,117,114,115,111,114, 0,112, 97,105,110,116, 95, 99,117,114,115,111,114, 95, 99,111,108, 91, 52, 93, 0,110,117,109, 95,105,
+110,112,117,116, 95,115, 97,109,112,108,101,115, 0,112, 97,105,110,116, 0,115,101, 97,109, 95, 98,108,101,101,100, 0,110,111,
+114,109, 97,108, 95, 97,110,103,108,101, 0,115, 99,114,101,101,110, 95,103,114, 97, 98, 95,115,105,122,101, 91, 50, 93, 0, 42,
+112, 97,105,110,116, 99,117,114,115,111,114, 0,105,110,118,101,114,116, 0,116,111,116,114,101,107,101,121, 0,116,111,116, 97,
+100,100,107,101,121, 0, 98,114,117,115,104,116,121,112,101, 0, 98,114,117,115,104, 91, 55, 93, 0,101,109,105,116,116,101,114,
+100,105,115,116, 0,115,101,108,101, 99,116,109,111,100,101, 0,101,100,105,116,116,121,112,101, 0,100,114, 97,119, 95,115,116,
+101,112, 0,102, 97,100,101, 95,102,114, 97,109,101,115, 0,114, 97,100,105, 97,108, 95,115,121,109,109, 91, 51, 93, 0,108, 97,
+115,116, 95,120, 0,108, 97,115,116, 95,121, 0,108, 97,115,116, 95, 97,110,103,108,101, 0,100,114, 97,119, 95, 97,110, 99,104,
+111,114,101,100, 0, 97,110, 99,104,111,114,101,100, 95,115,105,122,101, 0, 97,110, 99,104,111,114,101,100, 95,108,111, 99, 97,
+116,105,111,110, 91, 51, 93, 0, 97,110, 99,104,111,114,101,100, 95,105,110,105,116,105, 97,108, 95,109,111,117,115,101, 91, 50,
+ 93, 0,100,114, 97,119, 95,112,114,101,115,115,117,114,101, 0,112,114,101,115,115,117,114,101, 95,118, 97,108,117,101, 0,115,
+112,101, 99,105, 97,108, 95,114,111,116, 97,116,105,111,110, 0, 42,118,112, 97,105,110,116, 95,112,114,101,118, 0, 42,119,112,
+ 97,105,110,116, 95,112,114,101,118, 0,109, 97,116, 91, 51, 93, 91, 51, 93, 0,117,110,112,114,111,106,101, 99,116,101,100, 95,
+114, 97,100,105,117,115, 0, 42,118,112, 97,105,110,116, 0, 42,119,112, 97,105,110,116, 0, 42,117,118,115, 99,117,108,112,116,
+ 0,118,103,114,111,117,112, 95,119,101,105,103,104,116, 0, 99,111,114,110,101,114,116,121,112,101, 0,106,111,105,110,116,114,
+105,108,105,109,105,116, 0,100,101,103,114, 0,116,117,114,110, 0,101,120,116,114, 95,111,102,102,115, 0,100,111,117, 98,108,
+105,109,105,116, 0,110,111,114,109, 97,108,115,105,122,101, 0, 97,117,116,111,109,101,114,103,101, 0,115,101,103,109,101,110,
+116,115, 0,114,105,110,103,115, 0,118,101,114,116,105, 99,101,115, 0,117,110,119,114, 97,112,112,101,114, 0,117,118, 99, 97,
+108, 99, 95,114, 97,100,105,117,115, 0,117,118, 99, 97,108, 99, 95, 99,117, 98,101,115,105,122,101, 0,117,118, 99, 97,108, 99,
+ 95,109, 97,114,103,105,110, 0,117,118, 99, 97,108, 99, 95,109, 97,112,100,105,114, 0,117,118, 99, 97,108, 99, 95,109, 97,112,
+ 97,108,105,103,110, 0,117,118, 99, 97,108, 99, 95,102,108, 97,103, 0,117,118, 95,102,108, 97,103, 0,117,118, 95,115,101,108,
+101, 99,116,109,111,100,101, 0,117,118, 95,115,117, 98,115,117,114,102, 95,108,101,118,101,108, 0,103,112,101,110, 99,105,108,
+ 95,102,108, 97,103,115, 0, 97,117,116,111,105,107, 95, 99,104, 97,105,110,108,101,110, 0,105,109, 97,112, 97,105,110,116, 0,
+112, 97,114,116,105, 99,108,101, 0,112,114,111,112,111,114,116,105,111,110, 97,108, 95,115,105,122,101, 0,115,101,108,101, 99,
+116, 95,116,104,114,101,115,104, 0, 99,108,101, 97,110, 95,116,104,114,101,115,104, 0, 97,117,116,111,107,101,121, 95,109,111,
+100,101, 0, 97,117,116,111,107,101,121, 95,102,108, 97,103, 0,109,117,108,116,105,114,101,115, 95,115,117, 98,100,105,118, 95,
+116,121,112,101, 0,112, 97,100, 50, 91, 53, 93, 0,115,107,103,101,110, 95,114,101,115,111,108,117,116,105,111,110, 0,115,107,
+103,101,110, 95,116,104,114,101,115,104,111,108,100, 95,105,110,116,101,114,110, 97,108, 0,115,107,103,101,110, 95,116,104,114,
+101,115,104,111,108,100, 95,101,120,116,101,114,110, 97,108, 0,115,107,103,101,110, 95,108,101,110,103,116,104, 95,114, 97,116,
+105,111, 0,115,107,103,101,110, 95,108,101,110,103,116,104, 95,108,105,109,105,116, 0,115,107,103,101,110, 95, 97,110,103,108,
+101, 95,108,105,109,105,116, 0,115,107,103,101,110, 95, 99,111,114,114,101,108, 97,116,105,111,110, 95,108,105,109,105,116, 0,
+115,107,103,101,110, 95,115,121,109,109,101,116,114,121, 95,108,105,109,105,116, 0,115,107,103,101,110, 95,114,101,116, 97,114,
+103,101,116, 95, 97,110,103,108,101, 95,119,101,105,103,104,116, 0,115,107,103,101,110, 95,114,101,116, 97,114,103,101,116, 95,
+108,101,110,103,116,104, 95,119,101,105,103,104,116, 0,115,107,103,101,110, 95,114,101,116, 97,114,103,101,116, 95,100,105,115,
+116, 97,110, 99,101, 95,119,101,105,103,104,116, 0,115,107,103,101,110, 95,111,112,116,105,111,110,115, 0,115,107,103,101,110,
+ 95,112,111,115,116,112,114,111, 0,115,107,103,101,110, 95,112,111,115,116,112,114,111, 95,112, 97,115,115,101,115, 0,115,107,
+103,101,110, 95,115,117, 98,100,105,118,105,115,105,111,110,115, 91, 51, 93, 0,115,107,103,101,110, 95,109,117,108,116,105, 95,
+108,101,118,101,108, 0, 42,115,107,103,101,110, 95,116,101,109,112,108, 97,116,101, 0, 98,111,110,101, 95,115,107,101,116, 99,
+104,105,110,103, 0, 98,111,110,101, 95,115,107,101,116, 99,104,105,110,103, 95, 99,111,110,118,101,114,116, 0,115,107,103,101,
+110, 95,115,117, 98,100,105,118,105,115,105,111,110, 95,110,117,109, 98,101,114, 0,115,107,103,101,110, 95,114,101,116, 97,114,
+103,101,116, 95,111,112,116,105,111,110,115, 0,115,107,103,101,110, 95,114,101,116, 97,114,103,101,116, 95,114,111,108,108, 0,
+115,107,103,101,110, 95,115,105,100,101, 95,115,116,114,105,110,103, 91, 56, 93, 0,115,107,103,101,110, 95,110,117,109, 95,115,
+116,114,105,110,103, 91, 56, 93, 0,101,100,103,101, 95,109,111,100,101, 0,101,100,103,101, 95,109,111,100,101, 95,108,105,118,
+101, 95,117,110,119,114, 97,112, 0,115,110, 97,112, 95,109,111,100,101, 0,115,110, 97,112, 95,102,108, 97,103, 0,115,110, 97,
+112, 95,116, 97,114,103,101,116, 0,112,114,111,112,111,114,116,105,111,110, 97,108, 0,112,114,111,112, 95,109,111,100,101, 0,
+112,114,111,112,111,114,116,105,111,110, 97,108, 95,111, 98,106,101, 99,116,115, 0,112, 97,100, 91, 53, 93, 0, 97,117,116,111,
+ 95,110,111,114,109, 97,108,105,122,101, 0,109,117,108,116,105,112, 97,105,110,116, 0,117,115,101, 95,117,118, 95,115, 99,117,
+108,112,116, 0,117,118, 95,115, 99,117,108,112,116, 95,115,101,116,116,105,110,103,115, 0,117,118, 95,115, 99,117,108,112,116,
+ 95,116,111,111,108, 0,117,118, 95,114,101,108, 97,120, 95,109,101,116,104,111,100, 0,115, 99,117,108,112,116, 95,112, 97,105,
+110,116, 95,115,101,116,116,105,110,103,115, 0,115, 99,117,108,112,116, 95,112, 97,105,110,116, 95,117,110,105,102,105,101,100,
+ 95,115,105,122,101, 0,115, 99,117,108,112,116, 95,112, 97,105,110,116, 95,117,110,105,102,105,101,100, 95,117,110,112,114,111,
+106,101, 99,116,101,100, 95,114, 97,100,105,117,115, 0,115, 99,117,108,112,116, 95,112, 97,105,110,116, 95,117,110,105,102,105,
+101,100, 95, 97,108,112,104, 97, 0,117,110,105,102,105,101,100, 95,112, 97,105,110,116, 95,115,101,116,116,105,110,103,115, 0,
+116,111,116,111, 98,106, 0,116,111,116,108, 97,109,112, 0,116,111,116,111, 98,106,115,101,108, 0,116,111,116, 99,117,114,118,
+101, 0,116,111,116,109,101,115,104, 0,116,111,116, 97,114,109, 97,116,117,114,101, 0,115, 99, 97,108,101, 95,108,101,110,103,
+116,104, 0,115,121,115,116,101,109, 0,115,121,115,116,101,109, 95,114,111,116, 97,116,105,111,110, 0,103,114, 97,118,105,116,
+121, 91, 51, 93, 0,113,117,105, 99,107, 95, 99, 97, 99,104,101, 95,115,116,101,112, 0, 42,119,111,114,108,100, 0, 42,115,101,
+116, 0, 98, 97,115,101, 0, 42, 98, 97,115, 97, 99,116, 0, 42,111, 98,101,100,105,116, 0, 99,117,114,115,111,114, 91, 51, 93,
+ 0,116,119, 99,101,110,116, 91, 51, 93, 0,116,119,109,105,110, 91, 51, 93, 0,116,119,109, 97,120, 91, 51, 93, 0,108, 97,121,
+ 97, 99,116, 0,108, 97,121, 95,117,112,100, 97,116,101,100, 0, 42,101,100, 0, 42,116,111,111,108,115,101,116,116,105,110,103,
+115, 0, 42,115,116, 97,116,115, 0, 97,117,100,105,111, 0,116,114, 97,110,115,102,111,114,109, 95,115,112, 97, 99,101,115, 0,
+ 42,115,111,117,110,100, 95,115, 99,101,110,101, 0, 42,115,111,117,110,100, 95,115, 99,101,110,101, 95,104, 97,110,100,108,101,
+ 0, 42,115,111,117,110,100, 95,115, 99,114,117, 98, 95,104, 97,110,100,108,101, 0, 42,115,112,101, 97,107,101,114, 95,104, 97,
+110,100,108,101,115, 0, 42,102,112,115, 95,105,110,102,111, 0, 42,116,104,101, 68, 97,103, 0,100, 97,103,105,115,118, 97,108,
+105,100, 0,100, 97,103,102,108, 97,103,115, 0, 97, 99,116,105,118,101, 95,107,101,121,105,110,103,115,101,116, 0,107,101,121,
+105,110,103,115,101,116,115, 0,103,109, 0,117,110,105,116, 0,112,104,121,115,105, 99,115, 95,115,101,116,116,105,110,103,115,
+ 0, 42, 99,108,105,112, 0, 99,117,115,116,111,109,100, 97,116, 97, 95,109, 97,115,107, 95,109,111,100, 97,108, 0, 99,117,115,
+101,114, 0, 98,108,101,110,100, 0,118,105,101,119, 0,119,105,110,109, 97,116, 91, 52, 93, 91, 52, 93, 0,118,105,101,119,109,
+ 97,116, 91, 52, 93, 91, 52, 93, 0,118,105,101,119,105,110,118, 91, 52, 93, 91, 52, 93, 0,112,101,114,115,109, 97,116, 91, 52,
+ 93, 91, 52, 93, 0,112,101,114,115,105,110,118, 91, 52, 93, 91, 52, 93, 0,118,105,101,119,109, 97,116,111, 98, 91, 52, 93, 91,
+ 52, 93, 0,112,101,114,115,109, 97,116,111, 98, 91, 52, 93, 91, 52, 93, 0, 99,108,105,112, 91, 54, 93, 91, 52, 93, 0, 99,108,
+105,112, 95,108,111, 99, 97,108, 91, 54, 93, 91, 52, 93, 0, 42, 99,108,105,112, 98, 98, 0, 42,108,111, 99, 97,108,118,100, 0,
+ 42,114,105, 0, 42,114,101,110,100,101,114, 95,101,110,103,105,110,101, 0, 42,100,101,112,116,104,115, 0, 42,115,109,115, 0,
+ 42,115,109,111,111,116,104, 95,116,105,109,101,114, 0,116,119,109, 97,116, 91, 52, 93, 91, 52, 93, 0,118,105,101,119,113,117,
+ 97,116, 91, 52, 93, 0,122,102, 97, 99, 0, 99, 97,109,100,120, 0, 99, 97,109,100,121, 0,112,105,120,115,105,122,101, 0, 99,
+ 97,109,122,111,111,109, 0,105,115, 95,112,101,114,115,112, 0,112,101,114,115,112, 0,118,105,101,119,108,111, 99,107, 0,116,
+119,100,114, 97,119,102,108, 97,103, 0,114,102,108, 97,103, 0,108,118,105,101,119,113,117, 97,116, 91, 52, 93, 0,108,112,101,
+114,115,112, 0,108,118,105,101,119, 0,103,114,105,100,118,105,101,119, 0,116,119, 97,110,103,108,101, 91, 51, 93, 0,114,111,
+116, 95, 97,110,103,108,101, 0,114,111,116, 95, 97,120,105,115, 91, 51, 93, 0,114,101,103,105,111,110, 98, 97,115,101, 0,115,
+112, 97, 99,101,116,121,112,101, 0, 98,108,111, 99,107,115, 99, 97,108,101, 0, 98,108,111, 99,107,104, 97,110,100,108,101,114,
+ 91, 56, 93, 0, 98,117,110,100,108,101, 95,115,105,122,101, 0, 98,117,110,100,108,101, 95,100,114, 97,119,116,121,112,101, 0,
+108, 97,121, 95,117,115,101,100, 0, 42,111, 98, 95, 99,101,110,116,114,101, 0, 98,103,112,105, 99, 98, 97,115,101, 0, 42, 98,
+103,112,105, 99, 0,111, 98, 95, 99,101,110,116,114,101, 95, 98,111,110,101, 91, 54, 52, 93, 0,100,114, 97,119,116,121,112,101,
+ 0,111, 98, 95, 99,101,110,116,114,101, 95, 99,117,114,115,111,114, 0,115, 99,101,110,101,108,111, 99,107, 0, 97,114,111,117,
+110,100, 0,103,114,105,100, 0,110,101, 97,114, 0,102, 97,114, 0,109,111,100,101,115,101,108,101, 99,116, 0,103,114,105,100,
+108,105,110,101,115, 0,103,114,105,100,115,117, 98,100,105,118, 0,103,114,105,100,102,108, 97,103, 0,116,119,116,121,112,101,
+ 0,116,119,109,111,100,101, 0,116,119,102,108, 97,103, 0,112, 97,100, 50, 91, 50, 93, 0, 97,102,116,101,114,100,114, 97,119,
+ 95,116,114, 97,110,115,112, 0, 97,102,116,101,114,100,114, 97,119, 95,120,114, 97,121, 0, 97,102,116,101,114,100,114, 97,119,
+ 95,120,114, 97,121,116,114, 97,110,115,112, 0,122, 98,117,102, 0,120,114, 97,121, 0,112, 97,100, 51, 91, 50, 93, 0, 42,112,
+114,111,112,101,114,116,105,101,115, 95,115,116,111,114, 97,103,101, 0,118,101,114,116, 0,104,111,114, 0,109, 97,115,107, 0,
+109,105,110, 91, 50, 93, 0,109, 97,120, 91, 50, 93, 0,109,105,110,122,111,111,109, 0,109, 97,120,122,111,111,109, 0,115, 99,
+114,111,108,108, 0,115, 99,114,111,108,108, 95,117,105, 0,107,101,101,112,116,111,116, 0,107,101,101,112,122,111,111,109, 0,
+107,101,101,112,111,102,115, 0, 97,108,105,103,110, 0,119,105,110,120, 0,119,105,110,121, 0,111,108,100,119,105,110,120, 0,
+111,108,100,119,105,110,121, 0, 42,116, 97, 98, 95,111,102,102,115,101,116, 0,116, 97, 98, 95,110,117,109, 0,116, 97, 98, 95,
+ 99,117,114, 0,114,112,116, 95,109, 97,115,107, 0,118, 50,100, 0,109, 97,105,110, 98, 0,109, 97,105,110, 98,111, 0,109, 97,
+105,110, 98,117,115,101,114, 0,114,101, 95, 97,108,105,103,110, 0,112,114,101,118,105,101,119, 0,116,101,120,116,117,114,101,
+ 95, 99,111,110,116,101,120,116, 0,112, 97,116,104,102,108, 97,103, 0,100, 97,116, 97,105, 99,111,110, 0, 42,112,105,110,105,
+100, 0, 42,116,101,120,117,115,101,114, 0,116,114,101,101, 0, 42,116,114,101,101,115,116,111,114,101, 0,115,101, 97,114, 99,
+104, 95,115,116,114,105,110,103, 91, 51, 50, 93, 0,115,101, 97,114, 99,104, 95,116,115,101, 0,111,117,116,108,105,110,101,118,
+105,115, 0,115,116,111,114,101,102,108, 97,103, 0,115,101, 97,114, 99,104, 95,102,108, 97,103,115, 0, 42, 97,100,115, 0,103,
+104,111,115,116, 67,117,114,118,101,115, 0, 97,117,116,111,115,110, 97,112, 0, 99,117,114,115,111,114, 86, 97,108, 0, 42, 97,
+114,114, 97,121, 0, 99, 97, 99,104,101,115, 0, 99, 97, 99,104,101, 95,100,105,115,112,108, 97,121, 0,114,101,110,100,101,114,
+ 95,115,105,122,101, 0, 99,104, 97,110,115,104,111,119,110, 0,122,101, 98,114, 97, 0,122,111,111,109, 0,116,105,116,108,101,
+ 91, 51, 50, 93, 0,100,105,114, 91, 49, 48, 53, 54, 93, 0,102,105,108,101, 91, 50, 53, 54, 93, 0,114,101,110, 97,109,101,102,
+105,108,101, 91, 50, 53, 54, 93, 0,114,101,110, 97,109,101,101,100,105,116, 91, 50, 53, 54, 93, 0,102,105,108,116,101,114, 95,
+103,108,111, 98, 91, 54, 52, 93, 0, 97, 99,116,105,118,101, 95,102,105,108,101, 0,115,101,108, 95,102,105,114,115,116, 0,115,
+101,108, 95,108, 97,115,116, 0,115,111,114,116, 0,100,105,115,112,108, 97,121, 0,102, 95,102,112, 0,102,112, 95,115,116,114,
+ 91, 56, 93, 0,115, 99,114,111,108,108, 95,111,102,102,115,101,116, 0, 42,112, 97,114, 97,109,115, 0, 42,102,105,108,101,115,
+ 0, 42,102,111,108,100,101,114,115, 95,112,114,101,118, 0, 42,102,111,108,100,101,114,115, 95,110,101,120,116, 0, 42,111,112,
+ 0, 42,115,109,111,111,116,104,115, 99,114,111,108,108, 95,116,105,109,101,114, 0, 42,108, 97,121,111,117,116, 0,114,101, 99,
+101,110,116,110,114, 0, 98,111,111,107,109, 97,114,107,110,114, 0,115,121,115,116,101,109,110,114, 0, 42, 99,117,109, 97,112,
+ 0,115, 99,111,112,101,115, 0,115, 97,109,112,108,101, 95,108,105,110,101, 95,104,105,115,116, 0, 99,117,114,115,111,114, 91,
+ 50, 93, 0, 99,101,110,116,120, 0, 99,101,110,116,121, 0, 99,117,114,116,105,108,101, 0,108,111, 99,107, 0,112,105,110, 0,
+100,116, 95,117,118, 0,115,116,105, 99,107,121, 0,100,116, 95,117,118,115,116,114,101,116, 99,104, 0, 42,116,101,120,116, 0,
+116,111,112, 0,118,105,101,119,108,105,110,101,115, 0,109,101,110,117,110,114, 0,108,104,101,105,103,104,116, 0, 99,119,105,
+100,116,104, 0,108,105,110,101,110,114,115, 95,116,111,116, 0,108,101,102,116, 0,115,104,111,119,108,105,110,101,110,114,115,
+ 0,116, 97, 98,110,117,109, 98,101,114, 0,115,104,111,119,115,121,110,116, 97,120, 0,108,105,110,101, 95,104,108,105,103,104,
+116, 0,111,118,101,114,119,114,105,116,101, 0,108,105,118,101, 95,101,100,105,116, 0,112,105,120, 95,112,101,114, 95,108,105,
+110,101, 0,116,120,116,115, 99,114,111,108,108, 0,116,120,116, 98, 97,114, 0,119,111,114,100,119,114, 97,112, 0,100,111,112,
+108,117,103,105,110,115, 0,102,105,110,100,115,116,114, 91, 50, 53, 54, 93, 0,114,101,112,108, 97, 99,101,115,116,114, 91, 50,
+ 53, 54, 93, 0,109, 97,114,103,105,110, 95, 99,111,108,117,109,110, 0, 42,100,114, 97,119, 99, 97, 99,104,101, 0, 42,112,121,
+ 95,100,114, 97,119, 0, 42,112,121, 95,101,118,101,110,116, 0, 42,112,121, 95, 98,117,116,116,111,110, 0, 42,112,121, 95, 98,
+114,111,119,115,101,114, 99, 97,108,108, 98, 97, 99,107, 0, 42,112,121, 95,103,108,111, 98, 97,108,100,105, 99,116, 0,108, 97,
+115,116,115,112, 97, 99,101, 0,115, 99,114,105,112,116,110, 97,109,101, 91, 49, 48, 50, 52, 93, 0,115, 99,114,105,112,116, 97,
+114,103, 91, 50, 53, 54, 93, 0, 42,115, 99,114,105,112,116, 0, 42, 98,117,116, 95,114,101,102,115, 0, 42,105,100, 0, 97,115,
+112,101, 99,116, 0,112, 97,100,102, 0,109,120, 0,109,121, 0, 42,101,100,105,116,116,114,101,101, 0,116,114,101,101,116,121,
+112,101, 0,116,101,120,102,114,111,109, 0,115,104, 97,100,101,114,102,114,111,109, 0,108,105,110,107,100,114, 97,103, 0,108,
+101,110, 95, 97,108,108,111, 99, 0, 99,117,114,115,111,114, 0,115, 99,114,111,108,108, 98, 97, 99,107, 0,104,105,115,116,111,
+114,121, 0,112,114,111,109,112,116, 91, 50, 53, 54, 93, 0,108, 97,110,103,117, 97,103,101, 91, 51, 50, 93, 0,115,101,108, 95,
+115,116, 97,114,116, 0,115,101,108, 95,101,110,100, 0,102,105,108,116,101,114, 91, 54, 52, 93, 0,120,108,111, 99,107,111,102,
+ 0,121,108,111, 99,107,111,102, 0,117,115,101,114, 0,112, 97,116,104, 95,108,101,110,103,116,104, 0,108,111, 99, 91, 50, 93,
+ 0,115,116, 97, 98,109, 97,116, 91, 52, 93, 91, 52, 93, 0,117,110,105,115,116, 97, 98,109, 97,116, 91, 52, 93, 91, 52, 93, 0,
+112,111,115,116,112,114,111, 99, 95,102,108, 97,103, 0, 42,100,114, 97,119, 95, 99,111,110,116,101,120,116, 0,100,111,112,101,
+ 95,115,111,114,116, 0,100,111,112,101, 95,102,108, 97,103, 0,102,105,108,101,110, 97,109,101, 91, 49, 48, 50, 52, 93, 0, 98,
+108,102, 95,105,100, 0,117,105,102,111,110,116, 95,105,100, 0,114, 95,116,111, 95,108, 0,112,111,105,110,116,115, 0,107,101,
+114,110,105,110,103, 0,105,116, 97,108,105, 99, 0, 98,111,108,100, 0,115,104, 97,100,111,119, 0,115,104, 97,100,120, 0,115,
+104, 97,100,121, 0,115,104, 97,100,111,119, 97,108,112,104, 97, 0,115,104, 97,100,111,119, 99,111,108,111,114, 0,112, 97,110,
+101,108,116,105,116,108,101, 0,103,114,111,117,112,108, 97, 98,101,108, 0,119,105,100,103,101,116,108, 97, 98,101,108, 0,119,
+105,100,103,101,116, 0,112, 97,110,101,108,122,111,111,109, 0,109,105,110,108, 97, 98,101,108, 99,104, 97,114,115, 0,109,105,
+110,119,105,100,103,101,116, 99,104, 97,114,115, 0, 99,111,108,117,109,110,115,112, 97, 99,101, 0,116,101,109,112,108, 97,116,
+101,115,112, 97, 99,101, 0, 98,111,120,115,112, 97, 99,101, 0, 98,117,116,116,111,110,115,112, 97, 99,101,120, 0, 98,117,116,
+116,111,110,115,112, 97, 99,101,121, 0,112, 97,110,101,108,115,112, 97, 99,101, 0,112, 97,110,101,108,111,117,116,101,114, 0,
+111,117,116,108,105,110,101, 91, 52, 93, 0,105,110,110,101,114, 91, 52, 93, 0,105,110,110,101,114, 95,115,101,108, 91, 52, 93,
+ 0,105,116,101,109, 91, 52, 93, 0,116,101,120,116, 91, 52, 93, 0,116,101,120,116, 95,115,101,108, 91, 52, 93, 0,115,104, 97,
+100,101,100, 0,115,104, 97,100,101,116,111,112, 0,115,104, 97,100,101,100,111,119,110, 0, 97,108,112,104, 97, 95, 99,104,101,
+ 99,107, 0,105,110,110,101,114, 95, 97,110,105,109, 91, 52, 93, 0,105,110,110,101,114, 95, 97,110,105,109, 95,115,101,108, 91,
+ 52, 93, 0,105,110,110,101,114, 95,107,101,121, 91, 52, 93, 0,105,110,110,101,114, 95,107,101,121, 95,115,101,108, 91, 52, 93,
+ 0,105,110,110,101,114, 95,100,114,105,118,101,110, 91, 52, 93, 0,105,110,110,101,114, 95,100,114,105,118,101,110, 95,115,101,
+108, 91, 52, 93, 0,104,101, 97,100,101,114, 91, 52, 93, 0,115,104,111,119, 95,104,101, 97,100,101,114, 0,119, 99,111,108, 95,
+114,101,103,117,108, 97,114, 0,119, 99,111,108, 95,116,111,111,108, 0,119, 99,111,108, 95,116,101,120,116, 0,119, 99,111,108,
+ 95,114, 97,100,105,111, 0,119, 99,111,108, 95,111,112,116,105,111,110, 0,119, 99,111,108, 95,116,111,103,103,108,101, 0,119,
+ 99,111,108, 95,110,117,109, 0,119, 99,111,108, 95,110,117,109,115,108,105,100,101,114, 0,119, 99,111,108, 95,109,101,110,117,
+ 0,119, 99,111,108, 95,112,117,108,108,100,111,119,110, 0,119, 99,111,108, 95,109,101,110,117, 95, 98, 97, 99,107, 0,119, 99,
+111,108, 95,109,101,110,117, 95,105,116,101,109, 0,119, 99,111,108, 95,116,111,111,108,116,105,112, 0,119, 99,111,108, 95, 98,
+111,120, 0,119, 99,111,108, 95,115, 99,114,111,108,108, 0,119, 99,111,108, 95,112,114,111,103,114,101,115,115, 0,119, 99,111,
+108, 95,108,105,115,116, 95,105,116,101,109, 0,119, 99,111,108, 95,115,116, 97,116,101, 0,112, 97,110,101,108, 0,105, 99,111,
+110,102,105,108,101, 91, 50, 53, 54, 93, 0,105, 99,111,110, 95, 97,108,112,104, 97, 0, 98, 97, 99,107, 91, 52, 93, 0,116,105,
+116,108,101, 91, 52, 93, 0,116,101,120,116, 95,104,105, 91, 52, 93, 0,104,101, 97,100,101,114, 95,116,105,116,108,101, 91, 52,
+ 93, 0,104,101, 97,100,101,114, 95,116,101,120,116, 91, 52, 93, 0,104,101, 97,100,101,114, 95,116,101,120,116, 95,104,105, 91,
+ 52, 93, 0, 98,117,116,116,111,110, 91, 52, 93, 0, 98,117,116,116,111,110, 95,116,105,116,108,101, 91, 52, 93, 0, 98,117,116,
+116,111,110, 95,116,101,120,116, 91, 52, 93, 0, 98,117,116,116,111,110, 95,116,101,120,116, 95,104,105, 91, 52, 93, 0,108,105,
+115,116, 91, 52, 93, 0,108,105,115,116, 95,116,105,116,108,101, 91, 52, 93, 0,108,105,115,116, 95,116,101,120,116, 91, 52, 93,
+ 0,108,105,115,116, 95,116,101,120,116, 95,104,105, 91, 52, 93, 0,112, 97,110,101,108, 91, 52, 93, 0,112, 97,110,101,108, 95,
+116,105,116,108,101, 91, 52, 93, 0,112, 97,110,101,108, 95,116,101,120,116, 91, 52, 93, 0,112, 97,110,101,108, 95,116,101,120,
+116, 95,104,105, 91, 52, 93, 0,115,104, 97,100,101, 49, 91, 52, 93, 0,115,104, 97,100,101, 50, 91, 52, 93, 0,104,105,108,105,
+116,101, 91, 52, 93, 0,103,114,105,100, 91, 52, 93, 0,119,105,114,101, 91, 52, 93, 0,115,101,108,101, 99,116, 91, 52, 93, 0,
+108, 97,109,112, 91, 52, 93, 0,115,112,101, 97,107,101,114, 91, 52, 93, 0,101,109,112,116,121, 91, 52, 93, 0, 99, 97,109,101,
+114, 97, 91, 52, 93, 0,112, 97,100, 91, 56, 93, 0, 97, 99,116,105,118,101, 91, 52, 93, 0,103,114,111,117,112, 91, 52, 93, 0,
+103,114,111,117,112, 95, 97, 99,116,105,118,101, 91, 52, 93, 0,116,114, 97,110,115,102,111,114,109, 91, 52, 93, 0,118,101,114,
+116,101,120, 91, 52, 93, 0,118,101,114,116,101,120, 95,115,101,108,101, 99,116, 91, 52, 93, 0,101,100,103,101, 91, 52, 93, 0,
+101,100,103,101, 95,115,101,108,101, 99,116, 91, 52, 93, 0,101,100,103,101, 95,115,101, 97,109, 91, 52, 93, 0,101,100,103,101,
+ 95,115,104, 97,114,112, 91, 52, 93, 0,101,100,103,101, 95,102, 97, 99,101,115,101,108, 91, 52, 93, 0,101,100,103,101, 95, 99,
+114,101, 97,115,101, 91, 52, 93, 0,102, 97, 99,101, 91, 52, 93, 0,102, 97, 99,101, 95,115,101,108,101, 99,116, 91, 52, 93, 0,
+102, 97, 99,101, 95,100,111,116, 91, 52, 93, 0,101,120,116,114, 97, 95,101,100,103,101, 95,108,101,110, 91, 52, 93, 0,101,120,
+116,114, 97, 95,102, 97, 99,101, 95, 97,110,103,108,101, 91, 52, 93, 0,101,120,116,114, 97, 95,102, 97, 99,101, 95, 97,114,101,
+ 97, 91, 52, 93, 0,112, 97,100, 51, 91, 52, 93, 0,110,111,114,109, 97,108, 91, 52, 93, 0,118,101,114,116,101,120, 95,110,111,
+114,109, 97,108, 91, 52, 93, 0, 98,111,110,101, 95,115,111,108,105,100, 91, 52, 93, 0, 98,111,110,101, 95,112,111,115,101, 91,
+ 52, 93, 0,115,116,114,105,112, 91, 52, 93, 0,115,116,114,105,112, 95,115,101,108,101, 99,116, 91, 52, 93, 0, 99,102,114, 97,
+109,101, 91, 52, 93, 0,110,117,114, 98, 95,117,108,105,110,101, 91, 52, 93, 0,110,117,114, 98, 95,118,108,105,110,101, 91, 52,
+ 93, 0, 97, 99,116, 95,115,112,108,105,110,101, 91, 52, 93, 0,110,117,114, 98, 95,115,101,108, 95,117,108,105,110,101, 91, 52,
+ 93, 0,110,117,114, 98, 95,115,101,108, 95,118,108,105,110,101, 91, 52, 93, 0,108, 97,115,116,115,101,108, 95,112,111,105,110,
+116, 91, 52, 93, 0,104, 97,110,100,108,101, 95,102,114,101,101, 91, 52, 93, 0,104, 97,110,100,108,101, 95, 97,117,116,111, 91,
+ 52, 93, 0,104, 97,110,100,108,101, 95,118,101, 99,116, 91, 52, 93, 0,104, 97,110,100,108,101, 95, 97,108,105,103,110, 91, 52,
+ 93, 0,104, 97,110,100,108,101, 95, 97,117,116,111, 95, 99,108, 97,109,112,101,100, 91, 52, 93, 0,104, 97,110,100,108,101, 95,
+115,101,108, 95,102,114,101,101, 91, 52, 93, 0,104, 97,110,100,108,101, 95,115,101,108, 95, 97,117,116,111, 91, 52, 93, 0,104,
+ 97,110,100,108,101, 95,115,101,108, 95,118,101, 99,116, 91, 52, 93, 0,104, 97,110,100,108,101, 95,115,101,108, 95, 97,108,105,
+103,110, 91, 52, 93, 0,104, 97,110,100,108,101, 95,115,101,108, 95, 97,117,116,111, 95, 99,108, 97,109,112,101,100, 91, 52, 93,
+ 0,100,115, 95, 99,104, 97,110,110,101,108, 91, 52, 93, 0,100,115, 95,115,117, 98, 99,104, 97,110,110,101,108, 91, 52, 93, 0,
+ 99,111,110,115,111,108,101, 95,111,117,116,112,117,116, 91, 52, 93, 0, 99,111,110,115,111,108,101, 95,105,110,112,117,116, 91,
+ 52, 93, 0, 99,111,110,115,111,108,101, 95,105,110,102,111, 91, 52, 93, 0, 99,111,110,115,111,108,101, 95,101,114,114,111,114,
+ 91, 52, 93, 0, 99,111,110,115,111,108,101, 95, 99,117,114,115,111,114, 91, 52, 93, 0,118,101,114,116,101,120, 95,115,105,122,
+101, 0,111,117,116,108,105,110,101, 95,119,105,100,116,104, 0,102, 97, 99,101,100,111,116, 95,115,105,122,101, 0,110,111,111,
+100,108,101, 95, 99,117,114,118,105,110,103, 0,115,121,110,116, 97,120,108, 91, 52, 93, 0,115,121,110,116, 97,120,110, 91, 52,
+ 93, 0,115,121,110,116, 97,120, 98, 91, 52, 93, 0,115,121,110,116, 97,120,118, 91, 52, 93, 0,115,121,110,116, 97,120, 99, 91,
+ 52, 93, 0,109,111,118,105,101, 91, 52, 93, 0,109,111,118,105,101, 99,108,105,112, 91, 52, 93, 0,105,109, 97,103,101, 91, 52,
+ 93, 0,115, 99,101,110,101, 91, 52, 93, 0, 97,117,100,105,111, 91, 52, 93, 0,101,102,102,101, 99,116, 91, 52, 93, 0,104,112,
+ 97,100, 48, 91, 52, 93, 0,116,114, 97,110,115,105,116,105,111,110, 91, 52, 93, 0,109,101,116, 97, 91, 52, 93, 0,101,100,105,
+116,109,101,115,104, 95, 97, 99,116,105,118,101, 91, 52, 93, 0,104, 97,110,100,108,101, 95,118,101,114,116,101,120, 91, 52, 93,
+ 0,104, 97,110,100,108,101, 95,118,101,114,116,101,120, 95,115,101,108,101, 99,116, 91, 52, 93, 0,104, 97,110,100,108,101, 95,
+118,101,114,116,101,120, 95,115,105,122,101, 0,109, 97,114,107,101,114, 95,111,117,116,108,105,110,101, 91, 52, 93, 0,109, 97,
+114,107,101,114, 91, 52, 93, 0, 97, 99,116, 95,109, 97,114,107,101,114, 91, 52, 93, 0,115,101,108, 95,109, 97,114,107,101,114,
+ 91, 52, 93, 0,100,105,115, 95,109, 97,114,107,101,114, 91, 52, 93, 0,108,111, 99,107, 95,109, 97,114,107,101,114, 91, 52, 93,
+ 0, 98,117,110,100,108,101, 95,115,111,108,105,100, 91, 52, 93, 0,112, 97,116,104, 95, 98,101,102,111,114,101, 91, 52, 93, 0,
+112, 97,116,104, 95, 97,102,116,101,114, 91, 52, 93, 0, 99, 97,109,101,114, 97, 95,112, 97,116,104, 91, 52, 93, 0,104,112, 97,
+100, 91, 55, 93, 0,112,114,101,118,105,101,119, 95, 98, 97, 99,107, 91, 52, 93, 0,112,114,101,118,105,101,119, 95,115,116,105,
+116, 99,104, 95,102, 97, 99,101, 91, 52, 93, 0,112,114,101,118,105,101,119, 95,115,116,105,116, 99,104, 95,101,100,103,101, 91,
+ 52, 93, 0,112,114,101,118,105,101,119, 95,115,116,105,116, 99,104, 95,118,101,114,116, 91, 52, 93, 0,112,114,101,118,105,101,
+119, 95,115,116,105,116, 99,104, 95,115,116,105,116, 99,104, 97, 98,108,101, 91, 52, 93, 0,112,114,101,118,105,101,119, 95,115,
+116,105,116, 99,104, 95,117,110,115,116,105,116, 99,104, 97, 98,108,101, 91, 52, 93, 0,112,114,101,118,105,101,119, 95,115,116,
+105,116, 99,104, 95, 97, 99,116,105,118,101, 91, 52, 93, 0,109, 97,116, 99,104, 91, 52, 93, 0,115,101,108,101, 99,116,101,100,
+ 95,104,105,103,104,108,105,103,104,116, 91, 52, 93, 0,115,107,105,110, 95,114,111,111,116, 91, 52, 93, 0,115,111,108,105,100,
+ 91, 52, 93, 0,116,117,105, 0,116, 98,117,116,115, 0,116,118, 51,100, 0,116,102,105,108,101, 0,116,105,112,111, 0,116,105,
+110,102,111, 0,116, 97, 99,116, 0,116,110,108, 97, 0,116,115,101,113, 0,116,105,109, 97, 0,116,101,120,116, 0,116,111,111,
+112,115, 0,116,116,105,109,101, 0,116,110,111,100,101, 0,116,108,111,103,105, 99, 0,116,117,115,101,114,112,114,101,102, 0,
+116, 99,111,110,115,111,108,101, 0,116, 99,108,105,112, 0,116, 97,114,109, 91, 50, 48, 93, 0, 97, 99,116,105,118,101, 95,116,
+104,101,109,101, 95, 97,114,101, 97, 0,109,111,100,117,108,101, 91, 54, 52, 93, 0,115,112,101, 99, 91, 52, 93, 0,100,117,112,
+102,108, 97,103, 0,115, 97,118,101,116,105,109,101, 0,116,101,109,112,100,105,114, 91, 55, 54, 56, 93, 0,102,111,110,116,100,
+105,114, 91, 55, 54, 56, 93, 0,114,101,110,100,101,114,100,105,114, 91, 49, 48, 50, 52, 93, 0,116,101,120,116,117,100,105,114,
+ 91, 55, 54, 56, 93, 0,112,121,116,104,111,110,100,105,114, 91, 55, 54, 56, 93, 0,115,111,117,110,100,100,105,114, 91, 55, 54,
+ 56, 93, 0,105,109, 97,103,101, 95,101,100,105,116,111,114, 91, 49, 48, 50, 52, 93, 0, 97,110,105,109, 95,112,108, 97,121,101,
+114, 91, 49, 48, 50, 52, 93, 0, 97,110,105,109, 95,112,108, 97,121,101,114, 95,112,114,101,115,101,116, 0,118, 50,100, 95,109,
+105,110, 95,103,114,105,100,115,105,122,101, 0,116,105,109,101, 99,111,100,101, 95,115,116,121,108,101, 0,118,101,114,115,105,
+111,110,115, 0,100, 98,108, 95, 99,108,105, 99,107, 95,116,105,109,101, 0,103, 97,109,101,102,108, 97,103,115, 0,119,104,101,
+101,108,108,105,110,101,115, 99,114,111,108,108, 0,117,105,102,108, 97,103, 0,108, 97,110,103,117, 97,103,101, 0,117,115,101,
+114,112,114,101,102, 0,118,105,101,119,122,111,111,109, 0,109,105,120, 98,117,102,115,105,122,101, 0, 97,117,100,105,111,100,
+101,118,105, 99,101, 0, 97,117,100,105,111,114, 97,116,101, 0, 97,117,100,105,111,102,111,114,109, 97,116, 0, 97,117,100,105,
+111, 99,104, 97,110,110,101,108,115, 0,100,112,105, 0,101,110, 99,111,100,105,110,103, 0,116,114, 97,110,115,111,112,116,115,
+ 0,109,101,110,117,116,104,114,101,115,104,111,108,100, 49, 0,109,101,110,117,116,104,114,101,115,104,111,108,100, 50, 0,116,
+104,101,109,101,115, 0,117,105,102,111,110,116,115, 0,117,105,115,116,121,108,101,115, 0,107,101,121,109, 97,112,115, 0,117,
+115,101,114, 95,107,101,121,109, 97,112,115, 0, 97,100,100,111,110,115, 0,107,101,121, 99,111,110,102,105,103,115,116,114, 91,
+ 54, 52, 93, 0,117,110,100,111,115,116,101,112,115, 0,117,110,100,111,109,101,109,111,114,121, 0,103,112, 95,109, 97,110,104,
+ 97,116,116,101,110,100,105,115,116, 0,103,112, 95,101,117, 99,108,105,100,101, 97,110,100,105,115,116, 0,103,112, 95,101,114,
+ 97,115,101,114, 0,103,112, 95,115,101,116,116,105,110,103,115, 0,116, 98, 95,108,101,102,116,109,111,117,115,101, 0,116, 98,
+ 95,114,105,103,104,116,109,111,117,115,101, 0,108,105,103,104,116, 91, 51, 93, 0,116,119, 95,104,111,116,115,112,111,116, 0,
+116,119, 95,102,108, 97,103, 0,116,119, 95,104, 97,110,100,108,101,115,105,122,101, 0,116,119, 95,115,105,122,101, 0,116,101,
+120,116,105,109,101,111,117,116, 0,116,101,120, 99,111,108,108,101, 99,116,114, 97,116,101, 0,119,109,100,114, 97,119,109,101,
+116,104,111,100, 0,100,114, 97,103,116,104,114,101,115,104,111,108,100, 0,109,101,109, 99, 97, 99,104,101,108,105,109,105,116,
+ 0,112,114,101,102,101,116, 99,104,102,114, 97,109,101,115, 0,102,114, 97,109,101,115,101,114,118,101,114,112,111,114,116, 0,
+112, 97,100, 95,114,111,116, 95, 97,110,103,108,101, 0,111, 98, 99,101,110,116,101,114, 95,100,105, 97, 0,114,118,105,115,105,
+122,101, 0,114,118,105, 98,114,105,103,104,116, 0,114,101, 99,101,110,116, 95,102,105,108,101,115, 0,115,109,111,111,116,104,
+ 95,118,105,101,119,116,120, 0,103,108,114,101,115,108,105,109,105,116, 0, 99,117,114,115,115,105,122,101, 0, 99,111,108,111,
+114, 95,112,105, 99,107,101,114, 95,116,121,112,101, 0,105,112,111, 95,110,101,119, 0,107,101,121,104, 97,110,100,108,101,115,
+ 95,110,101,119, 0,115, 99,114, 99, 97,115,116,102,112,115, 0,115, 99,114, 99, 97,115,116,119, 97,105,116, 0,119,105,100,103,
+101,116, 95,117,110,105,116, 0, 97,110,105,115,111,116,114,111,112,105, 99, 95,102,105,108,116,101,114, 0,117,115,101, 95, 49,
+ 54, 98,105,116, 95,116,101,120,116,117,114,101,115, 0,112, 97,100, 56, 0,110,100,111,102, 95,115,101,110,115,105,116,105,118,
+105,116,121, 0,110,100,111,102, 95,102,108, 97,103, 0,103,108, 97,108,112,104, 97, 99,108,105,112, 0,116,101,120,116, 95,114,
+101,110,100,101,114, 0,112, 97,100, 57, 0, 99,111, 98, 97, 95,119,101,105,103,104,116, 0,115, 99,117,108,112,116, 95,112, 97,
+105,110,116, 95,111,118,101,114,108, 97,121, 95, 99,111,108, 91, 51, 93, 0,116,119,101, 97,107, 95,116,104,114,101,115,104,111,
+108,100, 0, 97,117,116,104,111,114, 91, 56, 48, 93, 0, 99,111,109,112,117,116,101, 95,100,101,118,105, 99,101, 95,116,121,112,
+101, 0, 99,111,109,112,117,116,101, 95,100,101,118,105, 99,101, 95,105,100, 0,102, 99,117, 95,105,110, 97, 99,116,105,118,101,
+ 95, 97,108,112,104, 97, 0,118,101,114,116, 98, 97,115,101, 0,101,100,103,101, 98, 97,115,101, 0, 97,114,101, 97, 98, 97,115,
+101, 0, 42,110,101,119,115, 99,101,110,101, 0,114,101,100,114, 97,119,115, 95,102,108, 97,103, 0,102,117,108,108, 0,116,101,
+109,112, 0,119,105,110,105,100, 0,100,111, 95,100,114, 97,119, 0,100,111, 95,114,101,102,114,101,115,104, 0,100,111, 95,100,
+114, 97,119, 95,103,101,115,116,117,114,101, 0,100,111, 95,100,114, 97,119, 95,112, 97,105,110,116, 99,117,114,115,111,114, 0,
+100,111, 95,100,114, 97,119, 95,100,114, 97,103, 0,115,119, 97,112, 0,109, 97,105,110,119,105,110, 0,115,117, 98,119,105,110,
+ 97, 99,116,105,118,101, 0, 42, 97,110,105,109,116,105,109,101,114, 0, 42, 99,111,110,116,101,120,116, 0,104, 97,110,100,108,
+101,114, 91, 56, 93, 0, 42,110,101,119,118, 0,118,101, 99, 0, 42,118, 49, 0, 42,118, 50, 0, 42,116,121,112,101, 0,112, 97,
+110,101,108,110, 97,109,101, 91, 54, 52, 93, 0,116, 97, 98,110, 97,109,101, 91, 54, 52, 93, 0,100,114, 97,119,110, 97,109,101,
+ 91, 54, 52, 93, 0,111,102,115,120, 0,111,102,115,121, 0,115,105,122,101,120, 0,115,105,122,101,121, 0,108, 97, 98,101,108,
+111,102,115, 0,114,117,110,116,105,109,101, 95,102,108, 97,103, 0, 99,111,110,116,114,111,108, 0,115,110, 97,112, 0,115,111,
+114,116,111,114,100,101,114, 0, 42,112, 97,110,101,108,116, 97, 98, 0, 42, 97, 99,116,105,118,101,100, 97,116, 97, 0,108,105,
+115,116, 95,115, 99,114,111,108,108, 0,108,105,115,116, 95,115,105,122,101, 0,108,105,115,116, 95,108, 97,115,116, 95,108,101,
+110, 0,108,105,115,116, 95,103,114,105,112, 95,115,105,122,101, 0,108,105,115,116, 95,115,101, 97,114, 99,104, 91, 54, 52, 93,
+ 0, 42,118, 51, 0, 42,118, 52, 0, 42,102,117,108,108, 0, 98,117,116,115,112, 97, 99,101,116,121,112,101, 0,104,101, 97,100,
+101,114,116,121,112,101, 0,115,112, 97, 99,101,100, 97,116, 97, 0,104, 97,110,100,108,101,114,115, 0, 97, 99,116,105,111,110,
+122,111,110,101,115, 0,119,105,110,114, 99,116, 0,100,114, 97,119,114, 99,116, 0,115,119,105,110,105,100, 0,114,101,103,105,
+111,110,116,121,112,101, 0, 97,108,105,103,110,109,101,110,116, 0,100,111, 95,100,114, 97,119, 95,111,118,101,114,108, 97,121,
+ 0,117,105, 98,108,111, 99,107,115, 0,112, 97,110,101,108,115, 0, 42,104,101, 97,100,101,114,115,116,114, 0, 42,114,101,103,
+105,111,110,100, 97,116, 97, 0,115,117, 98,118,115,116,114, 91, 52, 93, 0,115,117, 98,118,101,114,115,105,111,110, 0,112, 97,
+100,115, 0,109,105,110,118,101,114,115,105,111,110, 0,109,105,110,115,117, 98,118,101,114,115,105,111,110, 0,119,105,110,112,
+111,115, 0, 42, 99,117,114,115, 99,114,101,101,110, 0, 42, 99,117,114,115, 99,101,110,101, 0,102,105,108,101,102,108, 97,103,
+115, 0,103,108,111, 98, 97,108,102, 0,114,101,118,105,115,105,111,110, 0,110, 97,109,101, 91, 50, 53, 54, 93, 0,111,114,105,
+103, 95,119,105,100,116,104, 0,111,114,105,103, 95,104,101,105,103,104,116, 0, 98,111,116,116,111,109, 0,114,105,103,104,116,
+ 0,120,111,102,115, 0,121,111,102,115, 0,108,105,102,116, 91, 51, 93, 0,103, 97,109,109, 97, 91, 51, 93, 0,103, 97,105,110,
+ 91, 51, 93, 0,100,105,114, 91, 55, 54, 56, 93, 0,116, 99, 0, 98,117,105,108,100, 95,115,105,122,101, 95,102,108, 97,103,115,
+ 0, 98,117,105,108,100, 95,116, 99, 95,102,108, 97,103,115, 0,100,111,110,101, 0,115,116, 97,114,116,115,116,105,108,108, 0,
+101,110,100,115,116,105,108,108, 0, 42,115,116,114,105,112,100, 97,116, 97, 0, 42, 99,114,111,112, 0, 42,116,114, 97,110,115,
+102,111,114,109, 0, 42, 99,111,108,111,114, 95, 98, 97,108, 97,110, 99,101, 0, 42,116,109,112, 0,115,116, 97,114,116,111,102,
+115, 0,101,110,100,111,102,115, 0,109, 97, 99,104,105,110,101, 0,115,116, 97,114,116,100,105,115,112, 0,101,110,100,100,105,
+115,112, 0,115, 97,116, 0,109,117,108, 0,104, 97,110,100,115,105,122,101, 0, 97,110,105,109, 95,112,114,101,115,101,101,107,
+ 0,115,116,114,101, 97,109,105,110,100,101,120, 0,109,117,108,116,105, 99, 97,109, 95,115,111,117,114, 99,101, 0, 99,108,105,
+112, 95,102,108, 97,103, 0, 42,115,116,114,105,112, 0, 42,115, 99,101,110,101, 95, 99, 97,109,101,114, 97, 0,101,102,102,101,
+ 99,116, 95,102, 97,100,101,114, 0,115,112,101,101,100, 95,102, 97,100,101,114, 0, 42,115,101,113, 49, 0, 42,115,101,113, 50,
+ 0, 42,115,101,113, 51, 0,115,101,113, 98, 97,115,101, 0, 42,115,111,117,110,100, 0, 42,115, 99,101,110,101, 95,115,111,117,
+110,100, 0,112,105,116, 99,104, 0,112, 97,110, 0,115,116,114,111, 98,101, 0, 42,101,102,102,101, 99,116,100, 97,116, 97, 0,
+ 97,110,105,109, 95,115,116, 97,114,116,111,102,115, 0, 97,110,105,109, 95,101,110,100,111,102,115, 0, 98,108,101,110,100, 95,
+109,111,100,101, 0, 98,108,101,110,100, 95,111,112, 97, 99,105,116,121, 0, 42,111,108,100, 98, 97,115,101,112, 0, 42,112, 97,
+114,115,101,113, 0, 42,115,101,113, 98, 97,115,101,112, 0,109,101,116, 97,115,116, 97, 99,107, 0, 42, 97, 99,116, 95,115,101,
+113, 0, 97, 99,116, 95,105,109, 97,103,101,100,105,114, 91, 49, 48, 50, 52, 93, 0, 97, 99,116, 95,115,111,117,110,100,100,105,
+114, 91, 49, 48, 50, 52, 93, 0,111,118,101,114, 95,111,102,115, 0,111,118,101,114, 95, 99,102,114, 97, 0,111,118,101,114, 95,
+102,108, 97,103, 0,111,118,101,114, 95, 98,111,114,100,101,114, 0,101,100,103,101, 87,105,100,116,104, 0,102,111,114,119, 97,
+114,100, 0,119,105,112,101,116,121,112,101, 0,102, 77,105,110,105, 0,102, 67,108, 97,109,112, 0,102, 66,111,111,115,116, 0,
+100, 68,105,115,116, 0,100, 81,117, 97,108,105,116,121, 0, 98, 78,111, 67,111,109,112, 0, 83, 99, 97,108,101,120, 73,110,105,
+ 0, 83, 99, 97,108,101,121, 73,110,105, 0,120, 73,110,105, 0,121, 73,110,105, 0,114,111,116, 73,110,105, 0,105,110,116,101,
+114,112,111,108, 97,116,105,111,110, 0,117,110,105,102,111,114,109, 95,115, 99, 97,108,101, 0, 42,102,114, 97,109,101, 77, 97,
+112, 0,103,108,111, 98, 97,108, 83,112,101,101,100, 0,108, 97,115,116, 86, 97,108,105,100, 70,114, 97,109,101, 0, 98,117,116,
+116,121,112,101, 0,117,115,101,114,106,105,116, 0,115,116, 97, 0,116,111,116,112, 97,114,116, 0,110,111,114,109,102, 97, 99,
+ 0,111, 98,102, 97, 99, 0,114, 97,110,100,102, 97, 99, 0,116,101,120,102, 97, 99, 0,114, 97,110,100,108,105,102,101, 0,102,
+111,114, 99,101, 91, 51, 93, 0,118,101, 99,116,115,105,122,101, 0,109, 97,120,108,101,110, 0,100,101,102,118,101, 99, 91, 51,
+ 93, 0,109,117,108,116, 91, 52, 93, 0,108,105,102,101, 91, 52, 93, 0, 99,104,105,108,100, 91, 52, 93, 0,109, 97,116, 91, 52,
+ 93, 0,116,101,120,109, 97,112, 0, 99,117,114,109,117,108,116, 0,115,116, 97,116,105, 99,115,116,101,112, 0,111,109, 97,116,
+ 0,116,105,109,101,116,101,120, 0,115,112,101,101,100,116,101,120, 0,102,108, 97,103, 50,110,101,103, 0,118,101,114,116,103,
+114,111,117,112, 95,118, 0,118,103,114,111,117,112,110, 97,109,101, 91, 54, 52, 93, 0,118,103,114,111,117,112,110, 97,109,101,
+ 95,118, 91, 54, 52, 93, 0, 42,107,101,121,115, 0,109,105,110,102, 97, 99, 0,110,114, 0,117,115,101,100, 0,117,115,101,100,
+101,108,101,109, 0, 42,112,111,105,110, 0,114,101,115,101,116,100,105,115,116, 0,108, 97,115,116,118, 97,108, 0, 42,109, 97,
+ 0,107,101,121, 0,113,117, 97,108, 0,113,117, 97,108, 50, 0,116, 97,114,103,101,116, 78, 97,109,101, 91, 54, 52, 93, 0,116,
+111,103,103,108,101, 78, 97,109,101, 91, 54, 52, 93, 0,118, 97,108,117,101, 91, 54, 52, 93, 0,109, 97,120,118, 97,108,117,101,
+ 91, 54, 52, 93, 0,100,101,108, 97,121, 0,100,117,114, 97,116,105,111,110, 0,109, 97,116,101,114,105, 97,108, 78, 97,109,101,
+ 91, 54, 52, 93, 0,100, 97,109,112,116,105,109,101,114, 0,112,114,111,112,110, 97,109,101, 91, 54, 52, 93, 0,109, 97,116,110,
+ 97,109,101, 91, 54, 52, 93, 0, 97,120,105,115,102,108, 97,103, 0,112,111,115,101, 99,104, 97,110,110,101,108, 91, 54, 52, 93,
+ 0, 99,111,110,115,116,114, 97,105,110,116, 91, 54, 52, 93, 0, 42,102,114,111,109, 79, 98,106,101, 99,116, 0,115,117, 98,106,
+101, 99,116, 91, 54, 52, 93, 0, 98,111,100,121, 91, 54, 52, 93, 0,111,116,121,112,101, 0,112,117,108,115,101, 0,102,114,101,
+113, 0,116,111,116,108,105,110,107,115, 0, 42, 42,108,105,110,107,115, 0,116, 97,112, 0,106,111,121,105,110,100,101,120, 0,
+ 97,120,105,115, 95,115,105,110,103,108,101, 0, 97,120,105,115,102, 0, 98,117,116,116,111,110, 0,104, 97,116, 0,104, 97,116,
+102, 0,112,114,101, 99,105,115,105,111,110, 0,115,116,114, 91, 49, 50, 56, 93, 0, 42,109,121,110,101,119, 0,105,110,112,117,
+116,115, 0,116,111,116,115,108,105,110,107,115, 0, 42, 42,115,108,105,110,107,115, 0,118, 97,108,111, 0,115,116, 97,116,101,
+ 95,109, 97,115,107, 0, 42, 97, 99,116, 0,102,114, 97,109,101, 80,114,111,112, 91, 54, 52, 93, 0, 98,108,101,110,100,105,110,
+ 0,112,114,105,111,114,105,116,121, 0,101,110,100, 95,114,101,115,101,116, 0,115,116,114,105,100,101, 97,120,105,115, 0,115,
+116,114,105,100,101,108,101,110,103,116,104, 0,108, 97,121,101,114, 95,119,101,105,103,104,116, 0,109,105,110, 95,103, 97,105,
+110, 0,109, 97,120, 95,103, 97,105,110, 0,114,101,102,101,114,101,110, 99,101, 95,100,105,115,116, 97,110, 99,101, 0,109, 97,
+120, 95,100,105,115,116, 97,110, 99,101, 0,114,111,108,108,111,102,102, 95,102, 97, 99,116,111,114, 0, 99,111,110,101, 95,105,
+110,110,101,114, 95, 97,110,103,108,101, 0, 99,111,110,101, 95,111,117,116,101,114, 95, 97,110,103,108,101, 0, 99,111,110,101,
+ 95,111,117,116,101,114, 95,103, 97,105,110, 0,115,110,100,110,114, 0,115,111,117,110,100, 51, 68, 0,112, 97,100, 54, 91, 49,
+ 93, 0, 42,109,101, 0,108,105,110, 86,101,108,111, 99,105,116,121, 91, 51, 93, 0, 97,110,103, 86,101,108,111, 99,105,116,121,
+ 91, 51, 93, 0,108,111, 99, 97,108,102,108, 97,103, 0,100,121,110, 95,111,112,101,114, 97,116,105,111,110, 0,102,111,114, 99,
+101,108,111, 99, 91, 51, 93, 0,102,111,114, 99,101,114,111,116, 91, 51, 93, 0,112, 97,100, 49, 91, 51, 93, 0,108,105,110,101,
+ 97,114,118,101,108,111, 99,105,116,121, 91, 51, 93, 0, 97,110,103,117,108, 97,114,118,101,108,111, 99,105,116,121, 91, 51, 93,
+ 0, 42,114,101,102,101,114,101,110, 99,101, 0,109,105,110, 0,109, 97,120, 0,114,111,116,100, 97,109,112, 0,109,105,110,108,
+111, 99, 91, 51, 93, 0,109, 97,120,108,111, 99, 91, 51, 93, 0,109,105,110,114,111,116, 91, 51, 93, 0,109, 97,120,114,111,116,
+ 91, 51, 93, 0,109, 97,116,112,114,111,112, 91, 54, 52, 93, 0, 98,117,116,115,116, 97, 0, 98,117,116,101,110,100, 0,100,105,
+115,116,114,105, 98,117,116,105,111,110, 0,105,110,116, 95, 97,114,103, 95, 49, 0,105,110,116, 95, 97,114,103, 95, 50, 0,102,
+108,111, 97,116, 95, 97,114,103, 95, 49, 0,102,108,111, 97,116, 95, 97,114,103, 95, 50, 0,116,111, 80,114,111,112, 78, 97,109,
+101, 91, 54, 52, 93, 0, 42,116,111, 79, 98,106,101, 99,116, 0, 98,111,100,121, 84,121,112,101, 0,102,105,108,101,110, 97,109,
+101, 91, 54, 52, 93, 0,108,111, 97,100, 97,110,105,110, 97,109,101, 91, 54, 52, 93, 0,105,110,116, 95, 97,114,103, 0,102,108,
+111, 97,116, 95, 97,114,103, 0,105,110,102,108,117,101,110, 99,101, 0, 42,115,117, 98,116, 97,114,103,101,116, 0,102, 97, 99,
+105,110,103, 97,120,105,115, 0,118,101,108,111, 99,105,116,121, 0, 97, 99, 99,101,108,101,114, 97,116,105,111,110, 0,116,117,
+114,110,115,112,101,101,100, 0,117,112,100, 97,116,101, 84,105,109,101, 0, 42,110, 97,118,109,101,115,104, 0,103,111, 0, 42,
+104, 97,110,100,108,101, 0, 42,110,101,119,112, 97, 99,107,101,100,102,105,108,101, 0, 97,116,116,101,110,117, 97,116,105,111,
+110, 0,100,105,115,116, 97,110, 99,101, 0, 42, 99, 97, 99,104,101, 0, 42,119, 97,118,101,102,111,114,109, 0, 42,112,108, 97,
+121, 98, 97, 99,107, 95,104, 97,110,100,108,101, 0, 42,108, 97,109,112,114,101,110, 0,103,111, 98,106,101, 99,116, 0,100,117,
+112,108,105, 95,111,102,115, 91, 51, 93, 0, 42,112,114,111,112, 0, 99,104,105,108,100, 98, 97,115,101, 0,114,111,108,108, 0,
+104,101, 97,100, 91, 51, 93, 0,116, 97,105,108, 91, 51, 93, 0, 98,111,110,101, 95,109, 97,116, 91, 51, 93, 91, 51, 93, 0, 97,
+114,109, 95,104,101, 97,100, 91, 51, 93, 0, 97,114,109, 95,116, 97,105,108, 91, 51, 93, 0, 97,114,109, 95,109, 97,116, 91, 52,
+ 93, 91, 52, 93, 0, 97,114,109, 95,114,111,108,108, 0,120,119,105,100,116,104, 0,122,119,105,100,116,104, 0,101, 97,115,101,
+ 49, 0,101, 97,115,101, 50, 0,114, 97,100, 95,104,101, 97,100, 0,114, 97,100, 95,116, 97,105,108, 0,112, 97,100, 91, 49, 93,
+ 0, 98,111,110,101, 98, 97,115,101, 0, 99,104, 97,105,110, 98, 97,115,101, 0, 42,101,100, 98,111, 0, 42, 97, 99,116, 95, 98,
+111,110,101, 0, 42, 97, 99,116, 95,101,100, 98,111,110,101, 0, 42,115,107,101,116, 99,104, 0,103,101,118,101,114,116,100,101,
+102,111,114,109,101,114, 0,108, 97,121,101,114, 95,117,115,101,100, 0,108, 97,121,101,114, 95,112,114,111,116,101, 99,116,101,
+100, 0,103,104,111,115,116,101,112, 0,103,104,111,115,116,115,105,122,101, 0,103,104,111,115,116,116,121,112,101, 0,112, 97,
+116,104,115,105,122,101, 0,103,104,111,115,116,115,102, 0,103,104,111,115,116,101,102, 0,112, 97,116,104,115,102, 0,112, 97,
+116,104,101,102, 0,112, 97,116,104, 98, 99, 0,112, 97,116,104, 97, 99, 0, 42,112,111,105,110,116,115, 0,115,116, 97,114,116,
+ 95,102,114, 97,109,101, 0,101,110,100, 95,102,114, 97,109,101, 0,103,104,111,115,116, 95,115,102, 0,103,104,111,115,116, 95,
+101,102, 0,103,104,111,115,116, 95, 98, 99, 0,103,104,111,115,116, 95, 97, 99, 0,103,104,111,115,116, 95,116,121,112,101, 0,
+103,104,111,115,116, 95,115,116,101,112, 0,103,104,111,115,116, 95,102,108, 97,103, 0,112, 97,116,104, 95,116,121,112,101, 0,
+112, 97,116,104, 95,115,116,101,112, 0,112, 97,116,104, 95,118,105,101,119,102,108, 97,103, 0,112, 97,116,104, 95, 98, 97,107,
+101,102,108, 97,103, 0,112, 97,116,104, 95,115,102, 0,112, 97,116,104, 95,101,102, 0,112, 97,116,104, 95, 98, 99, 0,112, 97,
+116,104, 95, 97, 99, 0,105,107,102,108, 97,103, 0, 97,103,114,112, 95,105,110,100,101,120, 0, 99,111,110,115,116,102,108, 97,
+103, 0,115,101,108,101, 99,116,102,108, 97,103, 0,112, 97,100, 48, 91, 54, 93, 0, 42, 98,111,110,101, 0, 42, 99,104,105,108,
+100, 0,105,107,116,114,101,101, 0,115,105,107,116,114,101,101, 0, 42, 99,117,115,116,111,109, 0, 42, 99,117,115,116,111,109,
+ 95,116,120, 0,101,117,108, 91, 51, 93, 0, 99,104, 97,110, 95,109, 97,116, 91, 52, 93, 91, 52, 93, 0,112,111,115,101, 95,109,
+ 97,116, 91, 52, 93, 91, 52, 93, 0,112,111,115,101, 95,104,101, 97,100, 91, 51, 93, 0,112,111,115,101, 95,116, 97,105,108, 91,
+ 51, 93, 0,108,105,109,105,116,109,105,110, 91, 51, 93, 0,108,105,109,105,116,109, 97,120, 91, 51, 93, 0,115,116,105,102,102,
+110,101,115,115, 91, 51, 93, 0,105,107,115,116,114,101,116, 99,104, 0,105,107,114,111,116,119,101,105,103,104,116, 0,105,107,
+108,105,110,119,101,105,103,104,116, 0, 42,116,101,109,112, 0, 99,104, 97,110, 98, 97,115,101, 0, 42, 99,104, 97,110,104, 97,
+115,104, 0,112,114,111,120,121, 95,108, 97,121,101,114, 0,115,116,114,105,100,101, 95,111,102,102,115,101,116, 91, 51, 93, 0,
+ 99,121, 99,108,105, 99, 95,111,102,102,115,101,116, 91, 51, 93, 0, 97,103,114,111,117,112,115, 0, 97, 99,116,105,118,101, 95,
+103,114,111,117,112, 0,105,107,115,111,108,118,101,114, 0, 42,105,107,100, 97,116, 97, 0, 42,105,107,112, 97,114, 97,109, 0,
+112,114,111,120,121, 95, 97, 99,116, 95, 98,111,110,101, 91, 54, 52, 93, 0,110,117,109,105,116,101,114, 0,110,117,109,115,116,
+101,112, 0,109,105,110,115,116,101,112, 0,109, 97,120,115,116,101,112, 0,115,111,108,118,101,114, 0,102,101,101,100, 98, 97,
+ 99,107, 0,109, 97,120,118,101,108, 0,100, 97,109,112,109, 97,120, 0,100, 97,109,112,101,112,115, 0, 99,104, 97,110,110,101,
+108,115, 0, 99,117,115,116,111,109, 67,111,108, 0, 99,115, 0, 99,117,114,118,101,115, 0,103,114,111,117,112,115, 0, 97, 99,
+116,105,118,101, 95,109, 97,114,107,101,114, 0,105,100,114,111,111,116, 0, 42,115,111,117,114, 99,101, 0, 42,102,105,108,116,
+101,114, 95,103,114,112, 0,115,101, 97,114, 99,104,115,116,114, 91, 54, 52, 93, 0,102,105,108,116,101,114,102,108, 97,103, 0,
+114,101,110, 97,109,101, 73,110,100,101,120, 0, 97,100,115, 0,116,105,109,101,115,108,105,100,101, 0, 42,103,114,112, 0,110,
+ 97,109,101, 91, 51, 48, 93, 0,111,119,110,115,112, 97, 99,101, 0,116, 97,114,115,112, 97, 99,101, 0,101,110,102,111,114, 99,
+101, 0,104,101, 97,100,116, 97,105,108, 0,108,105,110, 95,101,114,114,111,114, 0,114,111,116, 95,101,114,114,111,114, 0, 42,
+116, 97,114, 0,109, 97,116,114,105,120, 91, 52, 93, 91, 52, 93, 0,115,112, 97, 99,101, 0,114,111,116, 79,114,100,101,114, 0,
+116, 97,114,110,117,109, 0,116, 97,114,103,101,116,115, 0,105,116,101,114, 97,116,105,111,110,115, 0,114,111,111,116, 98,111,
+110,101, 0,109, 97,120, 95,114,111,111,116, 98,111,110,101, 0, 42,112,111,108,101,116, 97,114, 0,112,111,108,101,115,117, 98,
+116, 97,114,103,101,116, 91, 54, 52, 93, 0,112,111,108,101, 97,110,103,108,101, 0,111,114,105,101,110,116,119,101,105,103,104,
+116, 0,103,114, 97, 98,116, 97,114,103,101,116, 91, 51, 93, 0,110,117,109,112,111,105,110,116,115, 0, 99,104, 97,105,110,108,
+101,110, 0,120,122, 83, 99, 97,108,101, 77,111,100,101, 0,114,101,115,101,114,118,101,100, 49, 0,114,101,115,101,114,118,101,
+100, 50, 0,109,105,110,109, 97,120,102,108, 97,103, 0,115,116,117, 99,107, 0, 99, 97, 99,104,101, 91, 51, 93, 0,108,111, 99,
+107,102,108, 97,103, 0,102,111,108,108,111,119,102,108, 97,103, 0,118,111,108,109,111,100,101, 0,112,108, 97,110,101, 0,111,
+114,103,108,101,110,103,116,104, 0, 98,117,108,103,101, 0,112,105,118, 88, 0,112,105,118, 89, 0,112,105,118, 90, 0, 97,120,
+ 88, 0, 97,120, 89, 0, 97,120, 90, 0,109,105,110, 76,105,109,105,116, 91, 54, 93, 0,109, 97,120, 76,105,109,105,116, 91, 54,
+ 93, 0,101,120,116,114, 97, 70,122, 0,105,110,118,109, 97,116, 91, 52, 93, 91, 52, 93, 0,102,114,111,109, 0,116,111, 0,109,
+ 97,112, 91, 51, 93, 0,101,120,112,111, 0,102,114,111,109, 95,109,105,110, 91, 51, 93, 0,102,114,111,109, 95,109, 97,120, 91,
+ 51, 93, 0,116,111, 95,109,105,110, 91, 51, 93, 0,116,111, 95,109, 97,120, 91, 51, 93, 0,114,111,116, 65,120,105,115, 0,122,
+109,105,110, 0,122,109, 97,120, 0,112, 97,100, 91, 57, 93, 0,116,114, 97, 99,107, 91, 54, 52, 93, 0,111, 98,106,101, 99,116,
+ 91, 54, 52, 93, 0, 42,100,101,112,116,104, 95,111, 98, 0, 99,104, 97,110,110,101,108, 91, 51, 50, 93, 0,110,111, 95,114,111,
+116, 95, 97,120,105,115, 0,115,116,114,105,100,101, 95, 97,120,105,115, 0, 99,117,114,109,111,100, 0, 97, 99,116,115,116, 97,
+114,116, 0, 97, 99,116,101,110,100, 0, 97, 99,116,111,102,102,115, 0,115,116,114,105,100,101,108,101,110, 0, 98,108,101,110,
+100,111,117,116, 0,115,116,114,105,100,101, 99,104, 97,110,110,101,108, 91, 51, 50, 93, 0,111,102,102,115, 95, 98,111,110,101,
+ 91, 51, 50, 93, 0,104, 97,115,105,110,112,117,116, 0,104, 97,115,111,117,116,112,117,116, 0,100, 97,116, 97,116,121,112,101,
+ 0,115,111, 99,107,101,116,116,121,112,101, 0,105,115, 95, 99,111,112,121, 0,101,120,116,101,114,110, 97,108, 0, 42,110,101,
+119, 95,115,111, 99,107, 0, 42,115,116,111,114, 97,103,101, 0,108,105,109,105,116, 0,108,111, 99,120, 0,108,111, 99,121, 0,
+ 42,100,101,102, 97,117,108,116, 95,118, 97,108,117,101, 0,115,116, 97, 99,107, 95,105,110,100,101,120, 0,115,116, 97, 99,107,
+ 95,116,121,112,101, 0,114,101,115,105,122,101,109,111,100,101, 0,111,119,110, 95,105,110,100,101,120, 0,116,111, 95,105,110,
+100,101,120, 0, 42,103,114,111,117,112,115,111, 99,107, 0, 42,108,105,110,107, 0,110,115, 0, 42,114,101, 99,116, 0,120,115,
+105,122,101, 0,121,115,105,122,101, 0, 42,110,101,119, 95,110,111,100,101, 0,108, 97,115,116,121, 0, 99,111,108,111,114, 91,
+ 51, 93, 0,111,117,116,112,117,116,115, 0,109,105,110,105,119,105,100,116,104, 0,111,102,102,115,101,116,120, 0,111,102,102,
+115,101,116,121, 0,117,112,100, 97,116,101, 0,108, 97, 98,101,108, 91, 54, 52, 93, 0, 99,117,115,116,111,109, 49, 0, 99,117,
+115,116,111,109, 50, 0, 99,117,115,116,111,109, 51, 0, 99,117,115,116,111,109, 52, 0,110,101,101,100, 95,101,120,101, 99, 0,
+101,120,101, 99, 0, 42,116,104,114,101, 97,100,100, 97,116, 97, 0,116,111,116,114, 0, 98,117,116,114, 0,112,114,118,114, 0,
+ 42, 98,108,111, 99,107, 0, 42,116,121,112,101,105,110,102,111, 0, 42,102,114,111,109,110,111,100,101, 0, 42,116,111,110,111,
+100,101, 0, 42,102,114,111,109,115,111, 99,107, 0, 42,116,111,115,111, 99,107, 0,110,111,100,101,115, 0,108,105,110,107,115,
+ 0,105,110,105,116, 0, 99,117,114, 95,105,110,100,101,120, 0,110,111,100,101,116,121,112,101, 0,101,100,105,116, 95,113,117,
+ 97,108,105,116,121, 0,114,101,110,100,101,114, 95,113,117, 97,108,105,116,121, 0, 99,104,117,110,107,115,105,122,101, 0, 42,
+101,120,101, 99,100, 97,116, 97, 0, 40, 42,112,114,111,103,114,101,115,115, 41, 40, 41, 0, 40, 42,115,116, 97,116,115, 95,100,
+114, 97,119, 41, 40, 41, 0, 40, 42,116,101,115,116, 95, 98,114,101, 97,107, 41, 40, 41, 0, 42,116, 98,104, 0, 42,112,114,104,
+ 0, 42,115,100,104, 0,118, 97,108,117,101, 91, 51, 93, 0,118, 97,108,117,101, 91, 52, 93, 0,108, 97, 98,101,108, 95,115,105,
+122,101, 0, 99,121, 99,108,105, 99, 0,109,111,118,105,101, 0,103, 97,109,109, 97, 0,103, 97,105,110, 0,108,105,102,116, 0,
+109, 97,115,116,101,114, 0,115,104, 97,100,111,119,115, 0,109,105,100,116,111,110,101,115, 0,104,105,103,104,108,105,103,104,
+116,115, 0,115,116, 97,114,116,109,105,100,116,111,110,101,115, 0,101,110,100,109,105,100,116,111,110,101,115, 0,102,108, 97,
+112,115, 0,114,111,117,110,100,105,110,103, 0, 99, 97,116, 97,100,105,111,112,116,114,105, 99, 0,108,101,110,115,115,104,105,
+102,116, 0,114,111,116, 97,116,105,111,110, 0,112, 97,115,115, 95,105,110,100,101,120, 0,112, 97,115,115, 95,102,108, 97,103,
+ 0,109, 97,120,115,112,101,101,100, 0,109,105,110,115,112,101,101,100, 0, 99,117,114,118,101,100, 0,112,101,114, 99,101,110,
+116,120, 0,112,101,114, 99,101,110,116,121, 0, 98,111,107,101,104, 0,105,109, 97,103,101, 95,105,110, 95,119,105,100,116,104,
+ 0,105,109, 97,103,101, 95,105,110, 95,104,101,105,103,104,116, 0, 99,101,110,116,101,114, 95,120, 0, 99,101,110,116,101,114,
+ 95,121, 0,115,112,105,110, 0,119,114, 97,112, 0,115,105,103,109, 97, 95, 99,111,108,111,114, 0,115,105,103,109, 97, 95,115,
+112, 97, 99,101, 0,104,117,101, 0, 98, 97,115,101, 95,112, 97,116,104, 91, 49, 48, 50, 52, 93, 0,102,111,114,109, 97,116, 0,
+ 97, 99,116,105,118,101, 95,105,110,112,117,116, 0,117,115,101, 95,114,101,110,100,101,114, 95,102,111,114,109, 97,116, 0,117,
+115,101, 95,110,111,100,101, 95,102,111,114,109, 97,116, 0,108, 97,121,101,114, 91, 51, 48, 93, 0,116, 49, 0,116, 50, 0,116,
+ 51, 0,102,115,116,114,101,110,103,116,104, 0,102, 97,108,112,104, 97, 0,107,101,121, 91, 52, 93, 0, 97,108,103,111,114,105,
+116,104,109, 0, 99,104, 97,110,110,101,108, 0,120, 49, 0,120, 50, 0,121, 49, 0,121, 50, 0,102, 97, 99, 95,120, 49, 0,102,
+ 97, 99, 95,120, 50, 0,102, 97, 99, 95,121, 49, 0,102, 97, 99, 95,121, 50, 0, 99,111,108,110, 97,109,101, 91, 54, 52, 93, 0,
+ 98,107,116,121,112,101, 0,112, 97,100, 95, 99, 49, 0,103, 97,109, 99,111, 0,110,111, 95,122, 98,117,102, 0,102,115,116,111,
+112, 0,109, 97,120, 98,108,117,114, 0, 98,116,104,114,101,115,104, 0,112, 97,100, 95,102, 49, 0, 42,100,105, 99,116, 0, 42,
+110,111,100,101, 0, 99,111,108,109,111,100, 0,109,105,120, 0,102, 97,100,101, 0, 97,110,103,108,101, 95,111,102,115, 0,109,
+ 0, 99, 0,106,105,116, 0,112,114,111,106, 0,102,105,116, 0,115,108,111,112,101, 91, 51, 93, 0,112,111,119,101,114, 91, 51,
+ 93, 0,108,105,102,116, 95,108,103,103, 91, 51, 93, 0,103, 97,109,109, 97, 95,105,110,118, 91, 51, 93, 0,108,105,109, 99,104,
+ 97,110, 0,117,110,115,112,105,108,108, 0,108,105,109,115, 99, 97,108,101, 0,117,115,112,105,108,108,114, 0,117,115,112,105,
+108,108,103, 0,117,115,112,105,108,108, 98, 0,116,101,120, 95,109, 97,112,112,105,110,103, 0, 99,111,108,111,114, 95,109, 97,
+112,112,105,110,103, 0,115,117,110, 95,100,105,114,101, 99,116,105,111,110, 91, 51, 93, 0,116,117,114, 98,105,100,105,116,121,
+ 0, 99,111,108,111,114, 95,115,112, 97, 99,101, 0,112,114,111,106,101, 99,116,105,111,110, 0,103,114, 97,100,105,101,110,116,
+ 95,116,121,112,101, 0, 99,111,108,111,114,105,110,103, 0,109,117,115,103,114, 97,118,101, 95,116,121,112,101, 0,119, 97,118,
+101, 95,116,121,112,101, 0,115,104,111,114,116,121, 0,109,105,110,116, 97, 98,108,101, 0,109, 97,120,116, 97, 98,108,101, 0,
+101,120,116, 95,105,110, 91, 50, 93, 0,101,120,116, 95,111,117,116, 91, 50, 93, 0, 42, 99,117,114,118,101, 0, 42,116, 97, 98,
+108,101, 0, 42,112,114,101,109,117,108,116, 97, 98,108,101, 0,112,114,101,115,101,116, 0, 99,104, 97,110,103,101,100, 95,116,
+105,109,101,115,116, 97,109,112, 0, 99,117,114,114, 0, 99,108,105,112,114, 0, 99,109, 91, 52, 93, 0, 98,108, 97, 99,107, 91,
+ 51, 93, 0,119,104,105,116,101, 91, 51, 93, 0, 98,119,109,117,108, 91, 51, 93, 0,115, 97,109,112,108,101, 91, 51, 93, 0,120,
+ 95,114,101,115,111,108,117,116,105,111,110, 0,100, 97,116, 97, 95,114, 91, 50, 53, 54, 93, 0,100, 97,116, 97, 95,103, 91, 50,
+ 53, 54, 93, 0,100, 97,116, 97, 95, 98, 91, 50, 53, 54, 93, 0,100, 97,116, 97, 95,108,117,109, 97, 91, 50, 53, 54, 93, 0,115,
+ 97,109,112,108,101, 95,102,117,108,108, 0,115, 97,109,112,108,101, 95,108,105,110,101,115, 0, 97, 99, 99,117,114, 97, 99,121,
+ 0,119, 97,118,101,102,114,109, 95,109,111,100,101, 0,119, 97,118,101,102,114,109, 95, 97,108,112,104, 97, 0,119, 97,118,101,
+102,114,109, 95,121,102, 97, 99, 0,119, 97,118,101,102,114,109, 95,104,101,105,103,104,116, 0,118,101, 99,115, 99,111,112,101,
+ 95, 97,108,112,104, 97, 0,118,101, 99,115, 99,111,112,101, 95,104,101,105,103,104,116, 0,109,105,110,109, 97,120, 91, 51, 93,
+ 91, 50, 93, 0,104,105,115,116, 0, 42,119, 97,118,101,102,111,114,109, 95, 49, 0, 42,119, 97,118,101,102,111,114,109, 95, 50,
+ 0, 42,119, 97,118,101,102,111,114,109, 95, 51, 0, 42,118,101, 99,115, 99,111,112,101, 0,119, 97,118,101,102,111,114,109, 95,
+116,111,116, 0,111,102,102,115,101,116, 91, 50, 93, 0, 99,108,111,110,101, 0,109,116,101,120, 0, 42,116,111,103,103,108,101,
+ 95, 98,114,117,115,104, 0, 42,105, 99,111,110, 95,105,109, 98,117,102, 0,105, 99,111,110, 95,102,105,108,101,112, 97,116,104,
+ 91, 49, 48, 50, 52, 93, 0,110,111,114,109, 97,108, 95,119,101,105,103,104,116, 0,111, 98, 95,109,111,100,101, 0,106,105,116,
+116,101,114, 0,115,109,111,111,116,104, 95,115,116,114,111,107,101, 95,114, 97,100,105,117,115, 0,115,109,111,111,116,104, 95,
+115,116,114,111,107,101, 95,102, 97, 99,116,111,114, 0,114, 97,116,101, 0,114,103, 98, 91, 51, 93, 0,115, 99,117,108,112,116,
+ 95,112,108, 97,110,101, 0,112,108, 97,110,101, 95,111,102,102,115,101,116, 0,115, 99,117,108,112,116, 95,116,111,111,108, 0,
+118,101,114,116,101,120,112, 97,105,110,116, 95,116,111,111,108, 0,105,109, 97,103,101,112, 97,105,110,116, 95,116,111,111,108,
+ 0,109, 97,115,107, 95,116,111,111,108, 0, 97,117,116,111,115,109,111,111,116,104, 95,102, 97, 99,116,111,114, 0, 99,114,101,
+ 97,115,101, 95,112,105,110, 99,104, 95,102, 97, 99,116,111,114, 0,112,108, 97,110,101, 95,116,114,105,109, 0,116,101,120,116,
+117,114,101, 95,115, 97,109,112,108,101, 95, 98,105, 97,115, 0,116,101,120,116,117,114,101, 95,111,118,101,114,108, 97,121, 95,
+ 97,108,112,104, 97, 0, 97,100,100, 95, 99,111,108, 91, 51, 93, 0,115,117, 98, 95, 99,111,108, 91, 51, 93, 0, 97, 99,116,105,
+118,101, 95,114,110,100, 0, 97, 99,116,105,118,101, 95, 99,108,111,110,101, 0, 97, 99,116,105,118,101, 95,109, 97,115,107, 0,
+ 42,108, 97,121,101,114,115, 0,116,121,112,101,109, 97,112, 91, 51, 55, 93, 0,116,111,116,108, 97,121,101,114, 0,109, 97,120,
+108, 97,121,101,114, 0,116,111,116,115,105,122,101, 0, 42,112,111,111,108, 0, 42,101,120,116,101,114,110, 97,108, 0,114,111,
+116, 91, 52, 93, 0, 97,118,101, 91, 51, 93, 0, 42,103,114,111,117,110,100, 0,119, 97,110,100,101,114, 91, 51, 93, 0,114,101,
+115,116, 95,108,101,110,103,116,104, 0,112, 97,114,116,105, 99,108,101, 95,105,110,100,101,120, 91, 50, 93, 0,100,101,108,101,
+116,101, 95,102,108, 97,103, 0,110,117,109, 0,112, 97,114,101,110,116, 0,112, 97, 91, 52, 93, 0,119, 91, 52, 93, 0,102,117,
+118, 91, 52, 93, 0,102,111,102,102,115,101,116, 0,112,114,101,118, 95,115,116, 97,116,101, 0, 42,104, 97,105,114, 0, 42, 98,
+111,105,100, 0,100,105,101,116,105,109,101, 0,110,117,109, 95,100,109, 99, 97, 99,104,101, 0,104, 97,105,114, 95,105,110,100,
+101,120, 0, 97,108,105,118,101, 0,115,112,114,105,110,103, 95,107, 0,112,108, 97,115,116,105, 99,105,116,121, 95, 99,111,110,
+115,116, 97,110,116, 0,121,105,101,108,100, 95,114, 97,116,105,111, 0,112,108, 97,115,116,105, 99,105,116,121, 95, 98, 97,108,
+ 97,110, 99,101, 0,121,105,101,108,100, 95, 98, 97,108, 97,110, 99,101, 0,118,105,115, 99,111,115,105,116,121, 95,111,109,101,
+103, 97, 0,118,105,115, 99,111,115,105,116,121, 95, 98,101,116, 97, 0,115,116,105,102,102,110,101,115,115, 95,107, 0,115,116,
+105,102,102,110,101,115,115, 95,107,110,101, 97,114, 0,114,101,115,116, 95,100,101,110,115,105,116,121, 0, 98,117,111,121, 97,
+110, 99,121, 0,115,112,114,105,110,103, 95,102,114, 97,109,101,115, 0, 42, 98,111,105,100,115, 0, 42,102,108,117,105,100, 0,
+100,105,115,116,114, 0,112,104,121,115,116,121,112,101, 0, 97,118,101,109,111,100,101, 0,114,101, 97, 99,116,101,118,101,110,
+116, 0,100,114, 97,119, 0,100,114, 97,119, 95, 97,115, 0,100,114, 97,119, 95,115,105,122,101, 0, 99,104,105,108,100,116,121,
+112,101, 0,114,101,110, 95, 97,115, 0,115,117, 98,102,114, 97,109,101,115, 0,100,114, 97,119, 95, 99,111,108, 0,114,101,110,
+ 95,115,116,101,112, 0,104, 97,105,114, 95,115,116,101,112, 0,107,101,121,115, 95,115,116,101,112, 0, 97,100, 97,112,116, 95,
+ 97,110,103,108,101, 0, 97,100, 97,112,116, 95,112,105,120, 0,114,111,116,102,114,111,109, 0,105,110,116,101,103,114, 97,116,
+111,114, 0, 98, 98, 95, 97,108,105,103,110, 0, 98, 98, 95,117,118, 95,115,112,108,105,116, 0, 98, 98, 95, 97,110,105,109, 0,
+ 98, 98, 95,115,112,108,105,116, 95,111,102,102,115,101,116, 0, 98, 98, 95,116,105,108,116, 0, 98, 98, 95,114, 97,110,100, 95,
+116,105,108,116, 0, 98, 98, 95,111,102,102,115,101,116, 91, 50, 93, 0, 98, 98, 95,115,105,122,101, 91, 50, 93, 0, 98, 98, 95,
+118,101,108, 95,104,101, 97,100, 0, 98, 98, 95,118,101,108, 95,116, 97,105,108, 0, 99,111,108,111,114, 95,118,101, 99, 95,109,
+ 97,120, 0,115,105,109,112,108,105,102,121, 95,114,101,102,115,105,122,101, 0,115,105,109,112,108,105,102,121, 95,114, 97,116,
+101, 0,115,105,109,112,108,105,102,121, 95,116,114, 97,110,115,105,116,105,111,110, 0,115,105,109,112,108,105,102,121, 95,118,
+105,101,119,112,111,114,116, 0,116,105,109,101,116,119,101, 97,107, 0, 99,111,117,114, 97,110,116, 95,116, 97,114,103,101,116,
+ 0,106,105,116,102, 97, 99, 0,101,102,102, 95,104, 97,105,114, 0,103,114,105,100, 95,114, 97,110,100, 0,112,115, 95,111,102,
+102,115,101,116, 91, 49, 93, 0,103,114,105,100, 95,114,101,115, 0,101,102,102,101, 99,116,111,114, 95, 97,109,111,117,110,116,
+ 0,116,105,109,101, 95,102,108, 97,103, 0,116,105,109,101, 95,112, 97,100, 91, 51, 93, 0,112, 97,114,116,102, 97, 99, 0,116,
+ 97,110,102, 97, 99, 0,116, 97,110,112,104, 97,115,101, 0,114,101, 97, 99,116,102, 97, 99, 0,111, 98, 95,118,101,108, 91, 51,
+ 93, 0, 97,118,101,102, 97, 99, 0,112,104, 97,115,101,102, 97, 99, 0,114, 97,110,100,114,111,116,102, 97, 99, 0,114, 97,110,
+100,112,104, 97,115,101,102, 97, 99, 0,114, 97,110,100,115,105,122,101, 0, 97, 99, 99, 91, 51, 93, 0,100,114, 97,103,102, 97,
+ 99, 0, 98,114,111,119,110,102, 97, 99, 0,114, 97,110,100,108,101,110,103,116,104, 0, 99,104,105,108,100, 95,110, 98,114, 0,
+114,101,110, 95, 99,104,105,108,100, 95,110, 98,114, 0,112, 97,114,101,110,116,115, 0, 99,104,105,108,100,115,105,122,101, 0,
+ 99,104,105,108,100,114, 97,110,100,115,105,122,101, 0, 99,104,105,108,100,114, 97,100, 0, 99,104,105,108,100,102,108, 97,116,
+ 0, 99,108,117,109,112,112,111,119, 0,107,105,110,107, 95,102,108, 97,116, 0,107,105,110,107, 95, 97,109,112, 95, 99,108,117,
+109,112, 0,114,111,117,103,104, 49, 0,114,111,117,103,104, 49, 95,115,105,122,101, 0,114,111,117,103,104, 50, 0,114,111,117,
+103,104, 50, 95,115,105,122,101, 0,114,111,117,103,104, 50, 95,116,104,114,101,115, 0,114,111,117,103,104, 95,101,110,100, 0,
+114,111,117,103,104, 95,101,110,100, 95,115,104, 97,112,101, 0, 99,108,101,110,103,116,104, 0, 99,108,101,110,103,116,104, 95,
+116,104,114,101,115, 0,112, 97,114,116,105,110,103, 95,102, 97, 99, 0,112, 97,114,116,105,110,103, 95,109,105,110, 0,112, 97,
+114,116,105,110,103, 95,109, 97,120, 0, 98,114, 97,110, 99,104, 95,116,104,114,101,115, 0,100,114, 97,119, 95,108,105,110,101,
+ 91, 50, 93, 0,112, 97,116,104, 95,115,116, 97,114,116, 0,112, 97,116,104, 95,101,110,100, 0,116,114, 97,105,108, 95, 99,111,
+117,110,116, 0,107,101,121,101,100, 95,108,111,111,112,115, 0,100,117,112,108,105,119,101,105,103,104,116,115, 0, 42,101,102,
+102, 95,103,114,111,117,112, 0, 42,100,117,112, 95,111, 98, 0, 42, 98, 98, 95,111, 98, 0, 42,112,100, 50, 0, 42,112, 97,114,
+116, 0, 42,112, 97,114,116,105, 99,108,101,115, 0, 42, 42,112, 97,116,104, 99, 97, 99,104,101, 0, 42, 42, 99,104,105,108,100,
+ 99, 97, 99,104,101, 0,112, 97,116,104, 99, 97, 99,104,101, 98,117,102,115, 0, 99,104,105,108,100, 99, 97, 99,104,101, 98,117,
+102,115, 0, 42, 99,108,109,100, 0, 42,104, 97,105,114, 95,105,110, 95,100,109, 0, 42,104, 97,105,114, 95,111,117,116, 95,100,
+109, 0, 42,116, 97,114,103,101,116, 95,111, 98, 0, 42,108, 97,116,116,105, 99,101, 0,116,114,101,101, 95,102,114, 97,109,101,
+ 0, 98,118,104,116,114,101,101, 95,102,114, 97,109,101, 0, 99,104,105,108,100, 95,115,101,101,100, 0,116,111,116,117,110,101,
+120,105,115,116, 0,116,111,116, 99,104,105,108,100, 0,116,111,116, 99, 97, 99,104,101,100, 0,116,111,116, 99,104,105,108,100,
+ 99, 97, 99,104,101, 0,116, 97,114,103,101,116, 95,112,115,121,115, 0,116,111,116,107,101,121,101,100, 0, 98, 97,107,101,115,
+112, 97, 99,101, 0, 98, 98, 95,117,118,110, 97,109,101, 91, 51, 93, 91, 54, 52, 93, 0,118,103,114,111,117,112, 91, 49, 50, 93,
+ 0,118,103, 95,110,101,103, 0,114,116, 51, 0, 42,114,101,110,100,101,114,100, 97,116, 97, 0, 42,101,102,102,101, 99,116,111,
+114,115, 0, 42,102,108,117,105,100, 95,115,112,114,105,110,103,115, 0,116,111,116, 95,102,108,117,105,100,115,112,114,105,110,
+103,115, 0, 97,108,108,111, 99, 95,102,108,117,105,100,115,112,114,105,110,103,115, 0, 42,116,114,101,101, 0, 42,112,100,100,
+ 0, 42,102,114, 97,110,100, 0,100,116, 95,102,114, 97, 99, 0, 95,112, 97,100, 0, 67,100,105,115, 0, 67,118,105, 0,115,116,
+114,117, 99,116,117,114, 97,108, 0, 98,101,110,100,105,110,103, 0,109, 97,120, 95, 98,101,110,100, 0,109, 97,120, 95,115,116,
+114,117, 99,116, 0,109, 97,120, 95,115,104,101, 97,114, 0, 97,118,103, 95,115,112,114,105,110,103, 95,108,101,110, 0,116,105,
+109,101,115, 99, 97,108,101, 0,101,102,102, 95,102,111,114, 99,101, 95,115, 99, 97,108,101, 0,101,102,102, 95,119,105,110,100,
+ 95,115, 99, 97,108,101, 0,115,105,109, 95,116,105,109,101, 95,111,108,100, 0,118,101,108,111, 99,105,116,121, 95,115,109,111,
+111,116,104, 0, 99,111,108,108,105,100,101,114, 95,102,114,105, 99,116,105,111,110, 0,118,101,108, 95,100, 97,109,112,105,110,
+103, 0,115,116,101,112,115, 80,101,114, 70,114, 97,109,101, 0,112,114,101,114,111,108,108, 0,109, 97,120,115,112,114,105,110,
+103,108,101,110, 0,115,111,108,118,101,114, 95,116,121,112,101, 0,118,103,114,111,117,112, 95, 98,101,110,100, 0,118,103,114,
+111,117,112, 95,109, 97,115,115, 0,118,103,114,111,117,112, 95,115,116,114,117, 99,116, 0,115,104, 97,112,101,107,101,121, 95,
+114,101,115,116, 0,112,114,101,115,101,116,115, 0,114,101,115,101,116, 0, 42, 99,111,108,108,105,115,105,111,110, 95,108,105,
+115,116, 0,101,112,115,105,108,111,110, 0,115,101,108,102, 95,102,114,105, 99,116,105,111,110, 0,115,101,108,102,101,112,115,
+105,108,111,110, 0,114,101,112,101,108, 95,102,111,114, 99,101, 0,100,105,115,116, 97,110, 99,101, 95,114,101,112,101,108, 0,
+115,101,108,102, 95,108,111,111,112, 95, 99,111,117,110,116, 0,108,111,111,112, 95, 99,111,117,110,116, 0,112,114,101,115,115,
+117,114,101, 0,116,104,105, 99,107,110,101,115,115, 0,115,116,114,111,107,101,115, 0,102,114, 97,109,101,110,117,109, 0, 42,
+ 97, 99,116,102,114, 97,109,101, 0,103,115,116,101,112, 0,105,110,102,111, 91, 49, 50, 56, 93, 0,115, 98,117,102,102,101,114,
+ 95,115,105,122,101, 0,115, 98,117,102,102,101,114, 95,115,102,108, 97,103, 0, 42,115, 98,117,102,102,101,114, 0,108,105,115,
+116, 0,112,114,105,110,116,108,101,118,101,108, 0,115,116,111,114,101,108,101,118,101,108, 0, 42,114,101,112,111,114,116,116,
+105,109,101,114, 0, 42,119,105,110,100,114, 97,119, 97, 98,108,101, 0, 42,119,105,110, 97, 99,116,105,118,101, 0,119,105,110,
+100,111,119,115, 0,105,110,105,116,105, 97,108,105,122,101,100, 0,102,105,108,101, 95,115, 97,118,101,100, 0,111,112, 95,117,
+110,100,111, 95,100,101,112,116,104, 0,111,112,101,114, 97,116,111,114,115, 0,113,117,101,117,101, 0,114,101,112,111,114,116,
+115, 0,106,111, 98,115, 0,112, 97,105,110,116, 99,117,114,115,111,114,115, 0,100,114, 97,103,115, 0,107,101,121, 99,111,110,
+102,105,103,115, 0, 42,100,101,102, 97,117,108,116, 99,111,110,102, 0, 42, 97,100,100,111,110, 99,111,110,102, 0, 42,117,115,
+101,114, 99,111,110,102, 0,116,105,109,101,114,115, 0, 42, 97,117,116,111,115, 97,118,101,116,105,109,101,114, 0, 42,103,104,
+111,115,116,119,105,110, 0,103,114, 97, 98, 99,117,114,115,111,114, 0, 42,115, 99,114,101,101,110, 0, 42,110,101,119,115, 99,
+114,101,101,110, 0,115, 99,114,101,101,110,110, 97,109,101, 91, 54, 52, 93, 0,112,111,115,120, 0,112,111,115,121, 0,119,105,
+110,100,111,119,115,116, 97,116,101, 0,109,111,110,105,116,111,114, 0,108, 97,115,116, 99,117,114,115,111,114, 0,109,111,100,
+ 97,108, 99,117,114,115,111,114, 0, 97,100,100,109,111,117,115,101,109,111,118,101, 0, 42,101,118,101,110,116,115,116, 97,116,
+101, 0, 42, 99,117,114,115,119,105,110, 0, 42,116,119,101, 97,107, 0,100,114, 97,119,109,101,116,104,111,100, 0,100,114, 97,
+119,102, 97,105,108, 0, 42,100,114, 97,119,100, 97,116, 97, 0,109,111,100, 97,108,104, 97,110,100,108,101,114,115, 0,115,117,
+ 98,119,105,110,100,111,119,115, 0,103,101,115,116,117,114,101, 0,105,100,110, 97,109,101, 91, 54, 52, 93, 0,112,114,111,112,
+118, 97,108,117,101, 95,115,116,114, 91, 54, 52, 93, 0,112,114,111,112,118, 97,108,117,101, 0,115,104,105,102,116, 0, 99,116,
+114,108, 0, 97,108,116, 0,111,115,107,101,121, 0,107,101,121,109,111,100,105,102,105,101,114, 0,109, 97,112,116,121,112,101,
+ 0, 42,112,116,114, 0, 42,114,101,109,111,118,101, 95,105,116,101,109, 0, 42, 97,100,100, 95,105,116,101,109, 0,105,116,101,
+109,115, 0,100,105,102,102, 95,105,116,101,109,115, 0,115,112, 97, 99,101,105,100, 0,114,101,103,105,111,110,105,100, 0,107,
+109,105, 95,105,100, 0, 40, 42,112,111,108,108, 41, 40, 41, 0, 42,109,111,100, 97,108, 95,105,116,101,109,115, 0, 98, 97,115,
+101,110, 97,109,101, 91, 54, 52, 93, 0, 97, 99,116,107,101,121,109, 97,112, 0, 42, 99,117,115,116,111,109,100, 97,116, 97, 0,
+ 42,112,121, 95,105,110,115,116, 97,110, 99,101, 0, 42,114,101,112,111,114,116,115, 0,109, 97, 99,114,111, 0, 42,111,112,109,
+ 0, 42,101,100, 97,116, 97, 0, 42, 99,111,101,102,102,105, 99,105,101,110,116,115, 0, 97,114,114, 97,121,115,105,122,101, 0,
+112,111,108,121, 95,111,114,100,101,114, 0, 97,109,112,108,105,116,117,100,101, 0,112,104, 97,115,101, 95,109,117,108,116,105,
+112,108,105,101,114, 0,112,104, 97,115,101, 95,111,102,102,115,101,116, 0,118, 97,108,117,101, 95,111,102,102,115,101,116, 0,
+109,105,100,118, 97,108, 0, 98,101,102,111,114,101, 95,109,111,100,101, 0, 97,102,116,101,114, 95,109,111,100,101, 0, 98,101,
+102,111,114,101, 95, 99,121, 99,108,101,115, 0, 97,102,116,101,114, 95, 99,121, 99,108,101,115, 0,114,101, 99,116, 0,112,104,
+ 97,115,101, 0,109,111,100,105,102,105, 99, 97,116,105,111,110, 0,115,116,101,112, 95,115,105,122,101, 0, 42,114,110, 97, 95,
+112, 97,116,104, 0,112, 99,104, 97,110, 95,110, 97,109,101, 91, 51, 50, 93, 0,116,114, 97,110,115, 67,104, 97,110, 0,105,100,
+116,121,112,101, 0,116, 97,114,103,101,116,115, 91, 56, 93, 0,110,117,109, 95,116, 97,114,103,101,116,115, 0,118, 97,114,105,
+ 97, 98,108,101,115, 0,101,120,112,114,101,115,115,105,111,110, 91, 50, 53, 54, 93, 0, 42,101,120,112,114, 95, 99,111,109,112,
+ 0,118,101, 99, 91, 50, 93, 0, 42,102,112,116, 0, 97,114,114, 97,121, 95,105,110,100,101,120, 0, 99,111,108,111,114, 95,109,
+111,100,101, 0,102,114,111,109, 91, 49, 50, 56, 93, 0,116,111, 91, 49, 50, 56, 93, 0,109, 97,112,112,105,110,103,115, 0,115,
+116,114,105,112,115, 0, 42,114,101,109, 97,112, 0,102, 99,117,114,118,101,115, 0,115,116,114,105,112, 95,116,105,109,101, 0,
+ 98,108,101,110,100,109,111,100,101, 0,101,120,116,101,110,100,109,111,100,101, 0, 42,115,112,101, 97,107,101,114, 95,104, 97,
+110,100,108,101, 0,103,114,111,117,112, 91, 54, 52, 93, 0,103,114,111,117,112,109,111,100,101, 0,107,101,121,105,110,103,102,
+108, 97,103, 0,112, 97,116,104,115, 0,100,101,115, 99,114,105,112,116,105,111,110, 91, 50, 52, 48, 93, 0,116,121,112,101,105,
+110,102,111, 91, 54, 52, 93, 0, 97, 99,116,105,118,101, 95,112, 97,116,104, 0, 42,116,109,112, 97, 99,116, 0,110,108, 97, 95,
+116,114, 97, 99,107,115, 0, 42, 97, 99,116,115,116,114,105,112, 0,100,114,105,118,101,114,115, 0,111,118,101,114,114,105,100,
+101,115, 0, 97, 99,116, 95, 98,108,101,110,100,109,111,100,101, 0, 97, 99,116, 95,101,120,116,101,110,100,109,111,100,101, 0,
+ 97, 99,116, 95,105,110,102,108,117,101,110, 99,101, 0,114,117,108,101, 0,111,112,116,105,111,110,115, 0,102,101, 97,114, 95,
+102, 97, 99,116,111,114, 0,115,105,103,110, 97,108, 95,105,100, 0,108,111,111,107, 95, 97,104,101, 97,100, 0,111,108,111, 99,
+ 91, 51, 93, 0,113,117,101,117,101, 95,115,105,122,101, 0,119, 97,110,100,101,114, 0,102,108,101,101, 95,100,105,115,116, 97,
+110, 99,101, 0,104,101, 97,108,116,104, 0,115,116, 97,116,101, 95,105,100, 0,114,117,108,101,115, 0, 99,111,110,100,105,116,
+105,111,110,115, 0, 97, 99,116,105,111,110,115, 0,114,117,108,101,115,101,116, 95,116,121,112,101, 0,114,117,108,101, 95,102,
+117,122,122,105,110,101,115,115, 0,108, 97,115,116, 95,115,116, 97,116,101, 95,105,100, 0,108, 97,110,100,105,110,103, 95,115,
+109,111,111,116,104,110,101,115,115, 0, 98, 97,110,107,105,110,103, 0, 97,103,103,114,101,115,115,105,111,110, 0, 97,105,114,
+ 95,109,105,110, 95,115,112,101,101,100, 0, 97,105,114, 95,109, 97,120, 95,115,112,101,101,100, 0, 97,105,114, 95,109, 97,120,
+ 95, 97, 99, 99, 0, 97,105,114, 95,109, 97,120, 95, 97,118,101, 0, 97,105,114, 95,112,101,114,115,111,110, 97,108, 95,115,112,
+ 97, 99,101, 0,108, 97,110,100, 95,106,117,109,112, 95,115,112,101,101,100, 0,108, 97,110,100, 95,109, 97,120, 95,115,112,101,
+101,100, 0,108, 97,110,100, 95,109, 97,120, 95, 97, 99, 99, 0,108, 97,110,100, 95,109, 97,120, 95, 97,118,101, 0,108, 97,110,
+100, 95,112,101,114,115,111,110, 97,108, 95,115,112, 97, 99,101, 0,108, 97,110,100, 95,115,116,105, 99,107, 95,102,111,114, 99,
+101, 0,115,116, 97,116,101,115, 0, 42,115,109,100, 0, 42,102,108,117,105,100, 95,103,114,111,117,112, 0, 42, 99,111,108,108,
+ 95,103,114,111,117,112, 0, 42,119,116, 0, 42,116,101,120, 95,119,116, 0, 42,116,101,120, 95,115,104, 97,100,111,119, 0, 42,
+115,104, 97,100,111,119, 0,112, 48, 91, 51, 93, 0,112, 49, 91, 51, 93, 0,100,120, 0,111,109,101,103, 97, 0,116,101,109,112,
+ 65,109, 98, 0, 98,101,116, 97, 0,114,101,115, 91, 51, 93, 0, 97,109,112,108,105,102,121, 0,109, 97,120,114,101,115, 0,118,
+105,101,119,115,101,116,116,105,110,103,115, 0,110,111,105,115,101, 0,100,105,115,115, 95,112,101,114, 99,101,110,116, 0,100,
+105,115,115, 95,115,112,101,101,100, 0,114,101,115, 95,119,116, 91, 51, 93, 0,100,120, 95,119,116, 0,118, 51,100,110,117,109,
+ 0, 99, 97, 99,104,101, 95, 99,111,109,112, 0, 99, 97, 99,104,101, 95,104,105,103,104, 95, 99,111,109,112, 0, 42,112,111,105,
+110,116, 95, 99, 97, 99,104,101, 91, 50, 93, 0,112,116, 99, 97, 99,104,101,115, 91, 50, 93, 0, 98,111,114,100,101,114, 95, 99,
+111,108,108,105,115,105,111,110,115, 0,116,105,109,101, 95,115, 99, 97,108,101, 0,118,111,114,116,105, 99,105,116,121, 0,118,
+101,108,111, 99,105,116,121, 91, 50, 93, 0,118,101,108, 95,109,117,108,116,105, 0,118,103,114,112, 95,104,101, 97,116, 95,115,
+ 99, 97,108,101, 91, 50, 93, 0,118,103,114,111,117,112, 95,102,108,111,119, 0,118,103,114,111,117,112, 95,100,101,110,115,105,
+116,121, 0,118,103,114,111,117,112, 95,104,101, 97,116, 0, 42,112,111,105,110,116,115, 95,111,108,100, 0, 42,118,101,108, 0,
+ 42,116,114,105,100,105,118,115, 0,109, 97,116, 95,111,108,100, 91, 52, 93, 91, 52, 93, 0,110,117,109,116,114,105,115, 0,118,
+111,108,117,109,101, 95,109, 97,120, 0,118,111,108,117,109,101, 95,109,105,110, 0,100,105,115,116, 97,110, 99,101, 95,109, 97,
+120, 0,100,105,115,116, 97,110, 99,101, 95,114,101,102,101,114,101,110, 99,101, 0, 99,111,110,101, 95, 97,110,103,108,101, 95,
+111,117,116,101,114, 0, 99,111,110,101, 95, 97,110,103,108,101, 95,105,110,110,101,114, 0, 99,111,110,101, 95,118,111,108,117,
+109,101, 95,111,117,116,101,114, 0,114,101,110,100,101,114, 95,102,108, 97,103, 0, 98,117,105,108,100, 95,115,105,122,101, 95,
+102,108, 97,103, 0, 98,117,105,108,100, 95,116, 99, 95,102,108, 97,103, 0,108, 97,115,116,115,105,122,101, 91, 50, 93, 0,116,
+114, 97, 99,107,105,110,103, 0, 42,116,114, 97, 99,107,105,110,103, 95, 99,111,110,116,101,120,116, 0,112,114,111,120,121, 0,
+116,114, 97, 99,107, 95,112,114,101,118,105,101,119, 95,104,101,105,103,104,116, 0, 42,116,114, 97, 99,107, 95,112,114,101,118,
+105,101,119, 0,116,114, 97, 99,107, 95,112,111,115, 91, 50, 93, 0,116,114, 97, 99,107, 95,100,105,115, 97, 98,108,101,100, 0,
+ 42,109, 97,114,107,101,114, 0,115,108,105,100,101, 95,115, 99, 97,108,101, 91, 50, 93, 0,101,114,114,111,114, 0, 42,105,110,
+116,114,105,110,115,105, 99,115, 0,115,101,110,115,111,114, 95,119,105,100,116,104, 0,112,105,120,101,108, 95, 97,115,112,101,
+ 99,116, 0,102,111, 99, 97,108, 0,117,110,105,116,115, 0,112,114,105,110, 99,105,112, 97,108, 91, 50, 93, 0,107, 49, 0,107,
+ 50, 0,107, 51, 0,112,111,115, 91, 50, 93, 0,112, 97,116, 95,109,105,110, 91, 50, 93, 0,112, 97,116, 95,109, 97,120, 91, 50,
+ 93, 0,115,101, 97,114, 99,104, 95,109,105,110, 91, 50, 93, 0,115,101, 97,114, 99,104, 95,109, 97,120, 91, 50, 93, 0,109, 97,
+114,107,101,114,115,110,114, 0,108, 97,115,116, 95,109, 97,114,107,101,114, 0, 42,109, 97,114,107,101,114,115, 0, 98,117,110,
+100,108,101, 95,112,111,115, 91, 51, 93, 0,112, 97,116, 95,102,108, 97,103, 0,115,101, 97,114, 99,104, 95,102,108, 97,103, 0,
+102,114, 97,109,101,115, 95,108,105,109,105,116, 0,112, 97,116,116,101,114,110, 95,109, 97,116, 99,104, 0,116,114, 97, 99,107,
+101,114, 0,112,121,114, 97,109,105,100, 95,108,101,118,101,108,115, 0,109,105,110,105,109,117,109, 95, 99,111,114,114,101,108,
+ 97,116,105,111,110, 0,100,101,102, 97,117,108,116, 95,116,114, 97, 99,107,101,114, 0,100,101,102, 97,117,108,116, 95,112,121,
+114, 97,109,105,100, 95,108,101,118,101,108,115, 0,100,101,102, 97,117,108,116, 95,109,105,110,105,109,117,109, 95, 99,111,114,
+114,101,108, 97,116,105,111,110, 0,100,101,102, 97,117,108,116, 95,112, 97,116,116,101,114,110, 95,115,105,122,101, 0,100,101,
+102, 97,117,108,116, 95,115,101, 97,114, 99,104, 95,115,105,122,101, 0,100,101,102, 97,117,108,116, 95,102,114, 97,109,101,115,
+ 95,108,105,109,105,116, 0,100,101,102, 97,117,108,116, 95,109, 97,114,103,105,110, 0,100,101,102, 97,117,108,116, 95,112, 97,
+116,116,101,114,110, 95,109, 97,116, 99,104, 0,100,101,102, 97,117,108,116, 95,102,108, 97,103, 0,109,111,116,105,111,110, 95,
+102,108, 97,103, 0,107,101,121,102,114, 97,109,101, 49, 0,107,101,121,102,114, 97,109,101, 50, 0,114,101,102,105,110,101, 95,
+ 99, 97,109,101,114, 97, 95,105,110,116,114,105,110,115,105, 99,115, 0, 99,108,101, 97,110, 95,102,114, 97,109,101,115, 0, 99,
+108,101, 97,110, 95, 97, 99,116,105,111,110, 0, 99,108,101, 97,110, 95,101,114,114,111,114, 0,111, 98,106,101, 99,116, 95,100,
+105,115,116, 97,110, 99,101, 0,116,111,116, 95,116,114, 97, 99,107, 0, 97, 99,116, 95,116,114, 97, 99,107, 0,109, 97,120,115,
+ 99, 97,108,101, 0, 42,114,111,116, 95,116,114, 97, 99,107, 0,108,111, 99,105,110,102, 0,115, 99, 97,108,101,105,110,102, 0,
+114,111,116,105,110,102, 0, 42,115, 99, 97,108,101,105, 98,117,102, 0,108, 97,115,116, 95, 99, 97,109,101,114, 97, 0, 99, 97,
+109,110,114, 0, 42, 99, 97,109,101,114, 97,115, 0,116,114, 97, 99,107,115, 0,114,101, 99,111,110,115,116,114,117, 99,116,105,
+111,110, 0,109,101,115,115, 97,103,101, 91, 50, 53, 54, 93, 0,116,111,116, 95,115,101,103,109,101,110,116, 0, 42,115,101,103,
+109,101,110,116,115, 0,109, 97,120, 95,115,101,103,109,101,110,116, 0,116,111,116, 97,108, 95,102,114, 97,109,101,115, 0,116,
+111,116, 95, 99,104, 97,110,110,101,108, 0,115,111,114,116, 95,109,101,116,104,111,100, 0,115,111,114,116, 95,105,110,118,101,
+114,115,101, 0,115,101,116,116,105,110,103,115, 0, 99, 97,109,101,114, 97, 0,115,116, 97, 98,105,108,105,122, 97,116,105,111,
+110, 0, 42, 97, 99,116, 95,116,114, 97, 99,107, 0,111, 98,106,101, 99,116,115, 0,111, 98,106,101, 99,116,110,114, 0,116,111,
+116, 95,111, 98,106,101, 99,116, 0,100,111,112,101,115,104,101,101,116, 0, 42, 98,114,117,115,104, 95,103,114,111,117,112, 0,
+ 99,117,114,114,101,110,116, 95,102,114, 97,109,101, 0,100,105,115,112, 95,116,121,112,101, 0,105,109, 97,103,101, 95,102,105,
+108,101,102,111,114,109, 97,116, 0,101,102,102,101, 99,116, 95,117,105, 0,112,114,101,118,105,101,119, 95,105,100, 0,105,110,
+105,116, 95, 99,111,108,111,114, 95,116,121,112,101, 0,112, 97,100, 95,115, 0,105,109, 97,103,101, 95,114,101,115,111,108,117,
+116,105,111,110, 0,115,117, 98,115,116,101,112,115, 0,105,110,105,116, 95, 99,111,108,111,114, 91, 52, 93, 0, 42,105,110,105,
+116, 95,116,101,120,116,117,114,101, 0,105,110,105,116, 95,108, 97,121,101,114,110, 97,109,101, 91, 54, 52, 93, 0,100,114,121,
+ 95,115,112,101,101,100, 0, 99,111,108,111,114, 95,100,114,121, 95,116,104,114,101,115,104,111,108,100, 0,100,101,112,116,104,
+ 95, 99,108, 97,109,112, 0,100,105,115,112, 95,102, 97, 99,116,111,114, 0,115,112,114,101, 97,100, 95,115,112,101,101,100, 0,
+ 99,111,108,111,114, 95,115,112,114,101, 97,100, 95,115,112,101,101,100, 0,115,104,114,105,110,107, 95,115,112,101,101,100, 0,
+100,114,105,112, 95,118,101,108, 0,100,114,105,112, 95, 97, 99, 99, 0,105,110,102,108,117,101,110, 99,101, 95,115, 99, 97,108,
+101, 0,114, 97,100,105,117,115, 95,115, 99, 97,108,101, 0,119, 97,118,101, 95,100, 97,109,112,105,110,103, 0,119, 97,118,101,
+ 95,115,112,101,101,100, 0,119, 97,118,101, 95,116,105,109,101,115, 99, 97,108,101, 0,119, 97,118,101, 95,115,112,114,105,110,
+103, 0,105,109, 97,103,101, 95,111,117,116,112,117,116, 95,112, 97,116,104, 91, 49, 48, 50, 52, 93, 0,111,117,116,112,117,116,
+ 95,110, 97,109,101, 91, 54, 52, 93, 0,111,117,116,112,117,116, 95,110, 97,109,101, 50, 91, 54, 52, 93, 0, 42,112,109,100, 0,
+115,117,114,102, 97, 99,101,115, 0, 97, 99,116,105,118,101, 95,115,117,114, 0,101,114,114,111,114, 91, 54, 52, 93, 0, 99,111,
+108,108,105,115,105,111,110, 0,119,101,116,110,101,115,115, 0,112, 97,114,116,105, 99,108,101, 95,114, 97,100,105,117,115, 0,
+112, 97,114,116,105, 99,108,101, 95,115,109,111,111,116,104, 0,112, 97,105,110,116, 95,100,105,115,116, 97,110, 99,101, 0, 42,
+112, 97,105,110,116, 95,114, 97,109,112, 0, 42,118,101,108, 95,114, 97,109,112, 0,112,114,111,120,105,109,105,116,121, 95,102,
+ 97,108,108,111,102,102, 0,114, 97,121, 95,100,105,114, 0,119, 97,118,101, 95,102, 97, 99,116,111,114, 0,119, 97,118,101, 95,
+ 99,108, 97,109,112, 0,109, 97,120, 95,118,101,108,111, 99,105,116,121, 0,115,109,117,100,103,101, 95,115,116,114,101,110,103,
+116,104, 0, 0, 84, 89, 80, 69, 26, 2, 0, 0, 99,104, 97,114, 0,117, 99,104, 97,114, 0,115,104,111,114,116, 0,117,115,104,
+111,114,116, 0,105,110,116, 0,108,111,110,103, 0,117,108,111,110,103, 0,102,108,111, 97,116, 0,100,111,117, 98,108,101, 0,
+105,110,116, 54, 52, 95,116, 0,117,105,110,116, 54, 52, 95,116, 0,118,111,105,100, 0, 76,105,110,107, 0, 76,105,110,107, 68,
+ 97,116, 97, 0, 76,105,115,116, 66, 97,115,101, 0,118,101, 99, 50,115, 0,118,101, 99, 50,102, 0,118,101, 99, 51,102, 0,114,
+ 99,116,105, 0,114, 99,116,102, 0, 73, 68, 80,114,111,112,101,114,116,121, 68, 97,116, 97, 0, 73, 68, 80,114,111,112,101,114,
+116,121, 0, 73, 68, 0, 76,105, 98,114, 97,114,121, 0, 70,105,108,101, 68, 97,116, 97, 0, 80,114,101,118,105,101,119, 73,109,
+ 97,103,101, 0, 73,112,111, 68,114,105,118,101,114, 0, 79, 98,106,101, 99,116, 0, 73,112,111, 67,117,114,118,101, 0, 66, 80,
+111,105,110,116, 0, 66,101,122, 84,114,105,112,108,101, 0, 73,112,111, 0, 75,101,121, 66,108,111, 99,107, 0, 75,101,121, 0,
+ 65,110,105,109, 68, 97,116, 97, 0, 84,101,120,116, 76,105,110,101, 0, 84,101,120,116, 77, 97,114,107,101,114, 0, 84,101,120,
+116, 0, 80, 97, 99,107,101,100, 70,105,108,101, 0, 67, 97,109,101,114, 97, 0, 73,109, 97,103,101, 85,115,101,114, 0, 83, 99,
+101,110,101, 0, 73,109, 97,103,101, 0, 71, 80, 85, 84,101,120,116,117,114,101, 0, 97,110,105,109, 0, 82,101,110,100,101,114,
+ 82,101,115,117,108,116, 0, 77, 84,101,120, 0, 84,101,120, 0, 67, 66, 68, 97,116, 97, 0, 67,111,108,111,114, 66, 97,110,100,
+ 0, 69,110,118, 77, 97,112, 0, 73,109, 66,117,102, 0, 80,111,105,110,116, 68,101,110,115,105,116,121, 0, 67,117,114,118,101,
+ 77, 97,112,112,105,110,103, 0, 86,111,120,101,108, 68, 97,116, 97, 0, 79, 99,101, 97,110, 84,101,120, 0, 98, 78,111,100,101,
+ 84,114,101,101, 0, 84,101,120, 77, 97,112,112,105,110,103, 0, 67,111,108,111,114, 77, 97,112,112,105,110,103, 0, 76, 97,109,
+112, 0, 86,111,108,117,109,101, 83,101,116,116,105,110,103,115, 0, 71, 97,109,101, 83,101,116,116,105,110,103,115, 0, 77, 97,
+116,101,114,105, 97,108, 0, 71,114,111,117,112, 0, 86, 70,111,110,116, 0, 86, 70,111,110,116, 68, 97,116, 97, 0, 77,101,116,
+ 97, 69,108,101,109, 0, 66,111,117,110,100, 66,111,120, 0, 77,101,116, 97, 66, 97,108,108, 0, 78,117,114, 98, 0, 67,104, 97,
+114, 73,110,102,111, 0, 84,101,120,116, 66,111,120, 0, 69,100,105,116, 78,117,114, 98, 0, 71, 72, 97,115,104, 0, 67,117,114,
+118,101, 0, 80, 97,116,104, 0, 83,101,108, 66,111,120, 0, 69,100,105,116, 70,111,110,116, 0, 77,101,115,104, 0, 77, 83,101,
+108,101, 99,116, 0, 77, 80,111,108,121, 0, 77, 84,101,120, 80,111,108,121, 0, 77, 76,111,111,112, 0, 77, 76,111,111,112, 85,
+ 86, 0, 77, 76,111,111,112, 67,111,108, 0, 77, 70, 97, 99,101, 0, 77, 84, 70, 97, 99,101, 0, 84, 70, 97, 99,101, 0, 77, 86,
+101,114,116, 0, 77, 69,100,103,101, 0, 77, 68,101,102,111,114,109, 86,101,114,116, 0, 77, 67,111,108, 0, 77, 83,116,105, 99,
+107,121, 0, 66, 77, 69,100,105,116, 77,101,115,104, 0, 67,117,115,116,111,109, 68, 97,116, 97, 0, 77,117,108,116,105,114,101,
+115, 0, 77, 68,101,102,111,114,109, 87,101,105,103,104,116, 0, 77, 70,108,111, 97,116, 80,114,111,112,101,114,116,121, 0, 77,
+ 73,110,116, 80,114,111,112,101,114,116,121, 0, 77, 83,116,114,105,110,103, 80,114,111,112,101,114,116,121, 0, 79,114,105,103,
+ 83,112, 97, 99,101, 70, 97, 99,101, 0, 79,114,105,103, 83,112, 97, 99,101, 76,111,111,112, 0, 77, 68,105,115,112,115, 0, 77,
+117,108,116,105,114,101,115, 67,111,108, 0, 77,117,108,116,105,114,101,115, 67,111,108, 70, 97, 99,101, 0, 77,117,108,116,105,
+114,101,115, 70, 97, 99,101, 0, 77,117,108,116,105,114,101,115, 69,100,103,101, 0, 77,117,108,116,105,114,101,115, 76,101,118,
+101,108, 0, 77, 82,101, 99, 97,115,116, 0, 71,114,105,100, 80, 97,105,110,116, 77, 97,115,107, 0, 77, 86,101,114,116, 83,107,
+105,110, 0, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 77, 97,112,112,105,110,103, 73,110,102,111, 77,111,100,105,102,
+105,101,114, 68, 97,116, 97, 0, 83,117, 98,115,117,114,102, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 76, 97,116,116,
+105, 99,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 67,117,114,118,101, 77,111,100,105,102,105,101,114, 68, 97,116,
+ 97, 0, 66,117,105,108,100, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 77, 97,115,107, 77,111,100,105,102,105,101,114,
+ 68, 97,116, 97, 0, 65,114,114, 97,121, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 77,105,114,114,111,114, 77,111,100,
+105,102,105,101,114, 68, 97,116, 97, 0, 69,100,103,101, 83,112,108,105,116, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0,
+ 66,101,118,101,108, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 66, 77,101,115,104, 77,111,100,105,102,105,101,114, 68,
+ 97,116, 97, 0, 83,109,111,107,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 83,109,111,107,101, 68,111,109, 97,105,
+110, 83,101,116,116,105,110,103,115, 0, 83,109,111,107,101, 70,108,111,119, 83,101,116,116,105,110,103,115, 0, 83,109,111,107,
+101, 67,111,108,108, 83,101,116,116,105,110,103,115, 0, 68,105,115,112,108, 97, 99,101, 77,111,100,105,102,105,101,114, 68, 97,
+116, 97, 0, 85, 86, 80,114,111,106,101, 99,116, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 68,101, 99,105,109, 97,116,
+101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 83,109,111,111,116,104, 77,111,100,105,102,105,101,114, 68, 97,116, 97,
+ 0, 67, 97,115,116, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 87, 97,118,101, 77,111,100,105,102,105,101,114, 68, 97,
+116, 97, 0, 65,114,109, 97,116,117,114,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 72,111,111,107, 77,111,100,105,
+102,105,101,114, 68, 97,116, 97, 0, 83,111,102,116, 98,111,100,121, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 67,108,
+111,116,104, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 67,108,111,116,104, 0, 67,108,111,116,104, 83,105,109, 83,101,
+116,116,105,110,103,115, 0, 67,108,111,116,104, 67,111,108,108, 83,101,116,116,105,110,103,115, 0, 80,111,105,110,116, 67, 97,
+ 99,104,101, 0, 67,111,108,108,105,115,105,111,110, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 66, 86, 72, 84,114,101,
+101, 0, 83,117,114,102, 97, 99,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 68,101,114,105,118,101,100, 77,101,115,
+104, 0, 66, 86, 72, 84,114,101,101, 70,114,111,109, 77,101,115,104, 0, 66,111,111,108,101, 97,110, 77,111,100,105,102,105,101,
+114, 68, 97,116, 97, 0, 77, 68,101,102, 73,110,102,108,117,101,110, 99,101, 0, 77, 68,101,102, 67,101,108,108, 0, 77,101,115,
+104, 68,101,102,111,114,109, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 80, 97,114,116,105, 99,108,101, 83,121,115,116,
+101,109, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 80, 97,114,116,105, 99,108,101, 83,121,115,116,101,109, 0, 80, 97,
+114,116,105, 99,108,101, 73,110,115,116, 97,110, 99,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 69,120,112,108,111,
+100,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 77,117,108,116,105,114,101,115, 77,111,100,105,102,105,101,114, 68,
+ 97,116, 97, 0, 70,108,117,105,100,115,105,109, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 70,108,117,105,100,115,105,
+109, 83,101,116,116,105,110,103,115, 0, 83,104,114,105,110,107,119,114, 97,112, 77,111,100,105,102,105,101,114, 68, 97,116, 97,
+ 0, 83,105,109,112,108,101, 68,101,102,111,114,109, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 83,104, 97,112,101, 75,
+101,121, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 83,111,108,105,100,105,102,121, 77,111,100,105,102,105,101,114, 68,
+ 97,116, 97, 0, 83, 99,114,101,119, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 79, 99,101, 97,110, 77,111,100,105,102,
+105,101,114, 68, 97,116, 97, 0, 79, 99,101, 97,110, 0, 79, 99,101, 97,110, 67, 97, 99,104,101, 0, 87, 97,114,112, 77,111,100,
+105,102,105,101,114, 68, 97,116, 97, 0, 87,101,105,103,104,116, 86, 71, 69,100,105,116, 77,111,100,105,102,105,101,114, 68, 97,
+116, 97, 0, 87,101,105,103,104,116, 86, 71, 77,105,120, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 87,101,105,103,104,
+116, 86, 71, 80,114,111,120,105,109,105,116,121, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 68,121,110, 97,109,105, 99,
+ 80, 97,105,110,116, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 68,121,110, 97,109,105, 99, 80, 97,105,110,116, 67, 97,
+110,118, 97,115, 83,101,116,116,105,110,103,115, 0, 68,121,110, 97,109,105, 99, 80, 97,105,110,116, 66,114,117,115,104, 83,101,
+116,116,105,110,103,115, 0, 82,101,109,101,115,104, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 83,107,105,110, 77,111,
+100,105,102,105,101,114, 68, 97,116, 97, 0, 69,100,105,116, 76, 97,116,116, 0, 76, 97,116,116,105, 99,101, 0, 98, 68,101,102,
+111,114,109, 71,114,111,117,112, 0, 83, 99,117,108,112,116, 83,101,115,115,105,111,110, 0, 98, 65, 99,116,105,111,110, 0, 98,
+ 80,111,115,101, 0, 98, 71, 80,100, 97,116, 97, 0, 98, 65,110,105,109, 86,105,122, 83,101,116,116,105,110,103,115, 0, 98, 77,
+111,116,105,111,110, 80, 97,116,104, 0, 66,117,108,108,101,116, 83,111,102,116, 66,111,100,121, 0, 80, 97,114,116, 68,101,102,
+108,101, 99,116, 0, 83,111,102,116, 66,111,100,121, 0, 79, 98, 72,111,111,107, 0, 68,117,112,108,105, 79, 98,106,101, 99,116,
+ 0, 82, 78, 71, 0, 69,102,102,101, 99,116,111,114, 87,101,105,103,104,116,115, 0, 80, 84, 67, 97, 99,104,101, 69,120,116,114,
+ 97, 0, 80, 84, 67, 97, 99,104,101, 77,101,109, 0, 80, 84, 67, 97, 99,104,101, 69,100,105,116, 0, 83, 66, 86,101,114,116,101,
+120, 0, 66,111,100,121, 80,111,105,110,116, 0, 66,111,100,121, 83,112,114,105,110,103, 0, 83, 66, 83, 99,114, 97,116, 99,104,
+ 0, 70,108,117,105,100, 86,101,114,116,101,120, 86,101,108,111, 99,105,116,121, 0, 87,111,114,108,100, 0, 66, 97,115,101, 0,
+ 65,118,105, 67,111,100,101, 99, 68, 97,116, 97, 0, 81,117,105, 99,107,116,105,109,101, 67,111,100,101, 99, 68, 97,116, 97, 0,
+ 81,117,105, 99,107,116,105,109,101, 67,111,100,101, 99, 83,101,116,116,105,110,103,115, 0, 70, 70, 77,112,101,103, 67,111,100,
+101, 99, 68, 97,116, 97, 0, 65,117,100,105,111, 68, 97,116, 97, 0, 83, 99,101,110,101, 82,101,110,100,101,114, 76, 97,121,101,
+114, 0, 73,109, 97,103,101, 70,111,114,109, 97,116, 68, 97,116, 97, 0, 82,101,110,100,101,114, 68, 97,116, 97, 0, 82,101,110,
+100,101,114, 80,114,111,102,105,108,101, 0, 71, 97,109,101, 68,111,109,101, 0, 71, 97,109,101, 70,114, 97,109,105,110,103, 0,
+ 82,101, 99, 97,115,116, 68, 97,116, 97, 0, 71, 97,109,101, 68, 97,116, 97, 0, 84,105,109,101, 77, 97,114,107,101,114, 0, 80,
+ 97,105,110,116, 0, 66,114,117,115,104, 0, 73,109, 97,103,101, 80, 97,105,110,116, 83,101,116,116,105,110,103,115, 0, 80, 97,
+114,116,105, 99,108,101, 66,114,117,115,104, 68, 97,116, 97, 0, 80, 97,114,116,105, 99,108,101, 69,100,105,116, 83,101,116,116,
+105,110,103,115, 0, 83, 99,117,108,112,116, 0, 85,118, 83, 99,117,108,112,116, 0, 86, 80, 97,105,110,116, 0, 84,114, 97,110,
+115,102,111,114,109, 79,114,105,101,110,116, 97,116,105,111,110, 0, 85,110,105,102,105,101,100, 80, 97,105,110,116, 83,101,116,
+116,105,110,103,115, 0, 84,111,111,108, 83,101,116,116,105,110,103,115, 0, 98, 83,116, 97,116,115, 0, 85,110,105,116, 83,101,
+116,116,105,110,103,115, 0, 80,104,121,115,105, 99,115, 83,101,116,116,105,110,103,115, 0, 69,100,105,116,105,110,103, 0, 83,
+ 99,101,110,101, 83,116, 97,116,115, 0, 68, 97,103, 70,111,114,101,115,116, 0, 77,111,118,105,101, 67,108,105,112, 0, 66, 71,
+112,105, 99, 0, 77,111,118,105,101, 67,108,105,112, 85,115,101,114, 0, 82,101,103,105,111,110, 86,105,101,119, 51, 68, 0, 82,
+101,110,100,101,114, 73,110,102,111, 0, 82,101,110,100,101,114, 69,110,103,105,110,101, 0, 86,105,101,119, 68,101,112,116,104,
+115, 0, 83,109,111,111,116,104, 86,105,101,119, 83,116,111,114,101, 0,119,109, 84,105,109,101,114, 0, 86,105,101,119, 51, 68,
+ 0, 83,112, 97, 99,101, 76,105,110,107, 0, 86,105,101,119, 50, 68, 0, 83,112, 97, 99,101, 73,110,102,111, 0, 83,112, 97, 99,
+101, 66,117,116,115, 0, 83,112, 97, 99,101, 79,111,112,115, 0, 84,114,101,101, 83,116,111,114,101, 0, 84,114,101,101, 83,116,
+111,114,101, 69,108,101,109, 0, 83,112, 97, 99,101, 73,112,111, 0, 98, 68,111,112,101, 83,104,101,101,116, 0, 83,112, 97, 99,
+101, 78,108, 97, 0, 83,112, 97, 99,101, 84,105,109,101, 67, 97, 99,104,101, 0, 83,112, 97, 99,101, 84,105,109,101, 0, 83,112,
+ 97, 99,101, 83,101,113, 0, 70,105,108,101, 83,101,108,101, 99,116, 80, 97,114, 97,109,115, 0, 83,112, 97, 99,101, 70,105,108,
+101, 0, 70,105,108,101, 76,105,115,116, 0,119,109, 79,112,101,114, 97,116,111,114, 0, 70,105,108,101, 76, 97,121,111,117,116,
+ 0, 83,112, 97, 99,101, 73,109, 97,103,101, 0, 83, 99,111,112,101,115, 0, 72,105,115,116,111,103,114, 97,109, 0, 83,112, 97,
+ 99,101, 84,101,120,116, 0, 83, 99,114,105,112,116, 0, 83,112, 97, 99,101, 83, 99,114,105,112,116, 0, 83,112, 97, 99,101, 78,
+111,100,101, 0, 83,112, 97, 99,101, 76,111,103,105, 99, 0, 67,111,110,115,111,108,101, 76,105,110,101, 0, 83,112, 97, 99,101,
+ 67,111,110,115,111,108,101, 0, 83,112, 97, 99,101, 85,115,101,114, 80,114,101,102, 0, 83,112, 97, 99,101, 67,108,105,112, 0,
+ 77,111,118,105,101, 67,108,105,112, 83, 99,111,112,101,115, 0,117,105, 70,111,110,116, 0,117,105, 70,111,110,116, 83,116,121,
+108,101, 0,117,105, 83,116,121,108,101, 0,117,105, 87,105,100,103,101,116, 67,111,108,111,114,115, 0,117,105, 87,105,100,103,
+101,116, 83,116, 97,116,101, 67,111,108,111,114,115, 0,117,105, 80, 97,110,101,108, 67,111,108,111,114,115, 0, 84,104,101,109,
+101, 85, 73, 0, 84,104,101,109,101, 83,112, 97, 99,101, 0, 84,104,101,109,101, 87,105,114,101, 67,111,108,111,114, 0, 98, 84,
+104,101,109,101, 0, 98, 65,100,100,111,110, 0, 83,111,108,105,100, 76,105,103,104,116, 0, 85,115,101,114, 68,101,102, 0, 98,
+ 83, 99,114,101,101,110, 0, 83, 99,114, 86,101,114,116, 0, 83, 99,114, 69,100,103,101, 0, 80, 97,110,101,108, 0, 80, 97,110,
+101,108, 84,121,112,101, 0,117,105, 76, 97,121,111,117,116, 0, 83, 99,114, 65,114,101, 97, 0, 83,112, 97, 99,101, 84,121,112,
+101, 0, 65, 82,101,103,105,111,110, 0, 65, 82,101,103,105,111,110, 84,121,112,101, 0, 70,105,108,101, 71,108,111, 98, 97,108,
+ 0, 83,116,114,105,112, 69,108,101,109, 0, 83,116,114,105,112, 67,114,111,112, 0, 83,116,114,105,112, 84,114, 97,110,115,102,
+111,114,109, 0, 83,116,114,105,112, 67,111,108,111,114, 66, 97,108, 97,110, 99,101, 0, 83,116,114,105,112, 80,114,111,120,121,
+ 0, 83,116,114,105,112, 0, 83,101,113,117,101,110, 99,101, 0, 98, 83,111,117,110,100, 0, 77,101,116, 97, 83,116, 97, 99,107,
+ 0, 87,105,112,101, 86, 97,114,115, 0, 71,108,111,119, 86, 97,114,115, 0, 84,114, 97,110,115,102,111,114,109, 86, 97,114,115,
+ 0, 83,111,108,105,100, 67,111,108,111,114, 86, 97,114,115, 0, 83,112,101,101,100, 67,111,110,116,114,111,108, 86, 97,114,115,
+ 0, 69,102,102,101, 99,116, 0, 66,117,105,108,100, 69,102,102, 0, 80, 97,114,116, 69,102,102, 0, 80, 97,114,116,105, 99,108,
+101, 0, 87, 97,118,101, 69,102,102, 0, 98, 80,114,111,112,101,114,116,121, 0, 98, 78,101, 97,114, 83,101,110,115,111,114, 0,
+ 98, 77,111,117,115,101, 83,101,110,115,111,114, 0, 98, 84,111,117, 99,104, 83,101,110,115,111,114, 0, 98, 75,101,121, 98,111,
+ 97,114,100, 83,101,110,115,111,114, 0, 98, 80,114,111,112,101,114,116,121, 83,101,110,115,111,114, 0, 98, 65, 99,116,117, 97,
+116,111,114, 83,101,110,115,111,114, 0, 98, 68,101,108, 97,121, 83,101,110,115,111,114, 0, 98, 67,111,108,108,105,115,105,111,
+110, 83,101,110,115,111,114, 0, 98, 82, 97,100, 97,114, 83,101,110,115,111,114, 0, 98, 82, 97,110,100,111,109, 83,101,110,115,
+111,114, 0, 98, 82, 97,121, 83,101,110,115,111,114, 0, 98, 65,114,109, 97,116,117,114,101, 83,101,110,115,111,114, 0, 98, 77,
+101,115,115, 97,103,101, 83,101,110,115,111,114, 0, 98, 83,101,110,115,111,114, 0, 98, 67,111,110,116,114,111,108,108,101,114,
+ 0, 98, 74,111,121,115,116,105, 99,107, 83,101,110,115,111,114, 0, 98, 69,120,112,114,101,115,115,105,111,110, 67,111,110,116,
+ 0, 98, 80,121,116,104,111,110, 67,111,110,116, 0, 98, 65, 99,116,117, 97,116,111,114, 0, 98, 65,100,100, 79, 98,106,101, 99,
+116, 65, 99,116,117, 97,116,111,114, 0, 98, 65, 99,116,105,111,110, 65, 99,116,117, 97,116,111,114, 0, 83,111,117,110,100, 51,
+ 68, 0, 98, 83,111,117,110,100, 65, 99,116,117, 97,116,111,114, 0, 98, 69,100,105,116, 79, 98,106,101, 99,116, 65, 99,116,117,
+ 97,116,111,114, 0, 98, 83, 99,101,110,101, 65, 99,116,117, 97,116,111,114, 0, 98, 80,114,111,112,101,114,116,121, 65, 99,116,
+117, 97,116,111,114, 0, 98, 79, 98,106,101, 99,116, 65, 99,116,117, 97,116,111,114, 0, 98, 73,112,111, 65, 99,116,117, 97,116,
+111,114, 0, 98, 67, 97,109,101,114, 97, 65, 99,116,117, 97,116,111,114, 0, 98, 67,111,110,115,116,114, 97,105,110,116, 65, 99,
+116,117, 97,116,111,114, 0, 98, 71,114,111,117,112, 65, 99,116,117, 97,116,111,114, 0, 98, 82, 97,110,100,111,109, 65, 99,116,
+117, 97,116,111,114, 0, 98, 77,101,115,115, 97,103,101, 65, 99,116,117, 97,116,111,114, 0, 98, 71, 97,109,101, 65, 99,116,117,
+ 97,116,111,114, 0, 98, 86,105,115,105, 98,105,108,105,116,121, 65, 99,116,117, 97,116,111,114, 0, 98, 84,119,111, 68, 70,105,
+108,116,101,114, 65, 99,116,117, 97,116,111,114, 0, 98, 80, 97,114,101,110,116, 65, 99,116,117, 97,116,111,114, 0, 98, 83,116,
+ 97,116,101, 65, 99,116,117, 97,116,111,114, 0, 98, 65,114,109, 97,116,117,114,101, 65, 99,116,117, 97,116,111,114, 0, 98, 83,
+116,101,101,114,105,110,103, 65, 99,116,117, 97,116,111,114, 0, 71,114,111,117,112, 79, 98,106,101, 99,116, 0, 66,111,110,101,
+ 0, 98, 65,114,109, 97,116,117,114,101, 0, 98, 77,111,116,105,111,110, 80, 97,116,104, 86,101,114,116, 0, 98, 80,111,115,101,
+ 67,104, 97,110,110,101,108, 0, 98, 73, 75, 80, 97,114, 97,109, 0, 98, 73,116, 97,115, 99, 0, 98, 65, 99,116,105,111,110, 71,
+114,111,117,112, 0, 83,112, 97, 99,101, 65, 99,116,105,111,110, 0, 98, 65, 99,116,105,111,110, 67,104, 97,110,110,101,108, 0,
+ 98, 67,111,110,115,116,114, 97,105,110,116, 67,104, 97,110,110,101,108, 0, 98, 67,111,110,115,116,114, 97,105,110,116, 0, 98,
+ 67,111,110,115,116,114, 97,105,110,116, 84, 97,114,103,101,116, 0, 98, 80,121,116,104,111,110, 67,111,110,115,116,114, 97,105,
+110,116, 0, 98, 75,105,110,101,109, 97,116,105, 99, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 83,112,108,105,110,101, 73,
+ 75, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 84,114, 97, 99,107, 84,111, 67,111,110,115,116,114, 97,105,110,116, 0, 98,
+ 82,111,116, 97,116,101, 76,105,107,101, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 76,111, 99, 97,116,101, 76,105,107,101,
+ 67,111,110,115,116,114, 97,105,110,116, 0, 98, 83,105,122,101, 76,105,107,101, 67,111,110,115,116,114, 97,105,110,116, 0, 98,
+ 83, 97,109,101, 86,111,108,117,109,101, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 84,114, 97,110,115, 76,105,107,101, 67,
+111,110,115,116,114, 97,105,110,116, 0, 98, 77,105,110, 77, 97,120, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 65, 99,116,
+105,111,110, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 76,111, 99,107, 84,114, 97, 99,107, 67,111,110,115,116,114, 97,105,
+110,116, 0, 98, 68, 97,109,112, 84,114, 97, 99,107, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 70,111,108,108,111,119, 80,
+ 97,116,104, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 83,116,114,101,116, 99,104, 84,111, 67,111,110,115,116,114, 97,105,
+110,116, 0, 98, 82,105,103,105,100, 66,111,100,121, 74,111,105,110,116, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 67,108,
+ 97,109,112, 84,111, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 67,104,105,108,100, 79,102, 67,111,110,115,116,114, 97,105,
+110,116, 0, 98, 84,114, 97,110,115,102,111,114,109, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 80,105,118,111,116, 67,111,
+110,115,116,114, 97,105,110,116, 0, 98, 76,111, 99, 76,105,109,105,116, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 82,111,
+116, 76,105,109,105,116, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 83,105,122,101, 76,105,109,105,116, 67,111,110,115,116,
+114, 97,105,110,116, 0, 98, 68,105,115,116, 76,105,109,105,116, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 83,104,114,105,
+110,107,119,114, 97,112, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 70,111,108,108,111,119, 84,114, 97, 99,107, 67,111,110,
+115,116,114, 97,105,110,116, 0, 98, 67, 97,109,101,114, 97, 83,111,108,118,101,114, 67,111,110,115,116,114, 97,105,110,116, 0,
+ 98, 79, 98,106,101, 99,116, 83,111,108,118,101,114, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 65, 99,116,105,111,110, 77,
+111,100,105,102,105,101,114, 0, 98, 65, 99,116,105,111,110, 83,116,114,105,112, 0, 98, 78,111,100,101, 83,116, 97, 99,107, 0,
+ 98, 78,111,100,101, 83,111, 99,107,101,116, 0, 98, 78,111,100,101, 76,105,110,107, 0, 98, 78,111,100,101, 80,114,101,118,105,
+101,119, 0, 98, 78,111,100,101, 0,117,105, 66,108,111, 99,107, 0, 98, 78,111,100,101, 84,121,112,101, 0, 98, 78,111,100,101,
+ 84,114,101,101, 69,120,101, 99, 0, 98, 78,111,100,101, 83,111, 99,107,101,116, 86, 97,108,117,101, 73,110,116, 0, 98, 78,111,
+100,101, 83,111, 99,107,101,116, 86, 97,108,117,101, 70,108,111, 97,116, 0, 98, 78,111,100,101, 83,111, 99,107,101,116, 86, 97,
+108,117,101, 66,111,111,108,101, 97,110, 0, 98, 78,111,100,101, 83,111, 99,107,101,116, 86, 97,108,117,101, 86,101, 99,116,111,
+114, 0, 98, 78,111,100,101, 83,111, 99,107,101,116, 86, 97,108,117,101, 82, 71, 66, 65, 0, 78,111,100,101, 70,114, 97,109,101,
+ 0, 78,111,100,101, 73,109, 97,103,101, 65,110,105,109, 0, 67,111,108,111,114, 67,111,114,114,101, 99,116,105,111,110, 68, 97,
+116, 97, 0, 78,111,100,101, 67,111,108,111,114, 67,111,114,114,101, 99,116,105,111,110, 0, 78,111,100,101, 66,111,107,101,104,
+ 73,109, 97,103,101, 0, 78,111,100,101, 66,111,120, 77, 97,115,107, 0, 78,111,100,101, 69,108,108,105,112,115,101, 77, 97,115,
+107, 0, 78,111,100,101, 73,109, 97,103,101, 76, 97,121,101,114, 0, 78,111,100,101, 66,108,117,114, 68, 97,116, 97, 0, 78,111,
+100,101, 68, 66,108,117,114, 68, 97,116, 97, 0, 78,111,100,101, 66,105,108, 97,116,101,114, 97,108, 66,108,117,114, 68, 97,116,
+ 97, 0, 78,111,100,101, 72,117,101, 83, 97,116, 0, 78,111,100,101, 73,109, 97,103,101, 70,105,108,101, 0, 78,111,100,101, 73,
+109, 97,103,101, 77,117,108,116,105, 70,105,108,101, 0, 78,111,100,101, 73,109, 97,103,101, 77,117,108,116,105, 70,105,108,101,
+ 83,111, 99,107,101,116, 0, 78,111,100,101, 67,104,114,111,109, 97, 0, 78,111,100,101, 84,119,111, 88, 89,115, 0, 78,111,100,
+101, 84,119,111, 70,108,111, 97,116,115, 0, 78,111,100,101, 71,101,111,109,101,116,114,121, 0, 78,111,100,101, 86,101,114,116,
+101,120, 67,111,108, 0, 78,111,100,101, 68,101,102,111, 99,117,115, 0, 78,111,100,101, 83, 99,114,105,112,116, 68,105, 99,116,
+ 0, 78,111,100,101, 71,108, 97,114,101, 0, 78,111,100,101, 84,111,110,101,109, 97,112, 0, 78,111,100,101, 76,101,110,115, 68,
+105,115,116, 0, 78,111,100,101, 67,111,108,111,114, 66, 97,108, 97,110, 99,101, 0, 78,111,100,101, 67,111,108,111,114,115,112,
+105,108,108, 0, 78,111,100,101, 84,101,120, 66, 97,115,101, 0, 78,111,100,101, 84,101,120, 83,107,121, 0, 78,111,100,101, 84,
+101,120, 73,109, 97,103,101, 0, 78,111,100,101, 84,101,120, 67,104,101, 99,107,101,114, 0, 78,111,100,101, 84,101,120, 69,110,
+118,105,114,111,110,109,101,110,116, 0, 78,111,100,101, 84,101,120, 71,114, 97,100,105,101,110,116, 0, 78,111,100,101, 84,101,
+120, 78,111,105,115,101, 0, 78,111,100,101, 84,101,120, 86,111,114,111,110,111,105, 0, 78,111,100,101, 84,101,120, 77,117,115,
+103,114, 97,118,101, 0, 78,111,100,101, 84,101,120, 87, 97,118,101, 0, 78,111,100,101, 84,101,120, 77, 97,103,105, 99, 0, 78,
+111,100,101, 83,104, 97,100,101,114, 65,116,116,114,105, 98,117,116,101, 0, 84,101,120, 78,111,100,101, 79,117,116,112,117,116,
+ 0, 67,117,114,118,101, 77, 97,112, 80,111,105,110,116, 0, 67,117,114,118,101, 77, 97,112, 0, 66,114,117,115,104, 67,108,111,
+110,101, 0, 67,117,115,116,111,109, 68, 97,116, 97, 76, 97,121,101,114, 0, 67,117,115,116,111,109, 68, 97,116, 97, 69,120,116,
+101,114,110, 97,108, 0, 72, 97,105,114, 75,101,121, 0, 80, 97,114,116,105, 99,108,101, 75,101,121, 0, 66,111,105,100, 80, 97,
+114,116,105, 99,108,101, 0, 66,111,105,100, 68, 97,116, 97, 0, 80, 97,114,116,105, 99,108,101, 83,112,114,105,110,103, 0, 67,
+104,105,108,100, 80, 97,114,116,105, 99,108,101, 0, 80, 97,114,116,105, 99,108,101, 84, 97,114,103,101,116, 0, 80, 97,114,116,
+105, 99,108,101, 68,117,112,108,105, 87,101,105,103,104,116, 0, 80, 97,114,116,105, 99,108,101, 68, 97,116, 97, 0, 83, 80, 72,
+ 70,108,117,105,100, 83,101,116,116,105,110,103,115, 0, 80, 97,114,116,105, 99,108,101, 83,101,116,116,105,110,103,115, 0, 66,
+111,105,100, 83,101,116,116,105,110,103,115, 0, 80, 97,114,116,105, 99,108,101, 67, 97, 99,104,101, 75,101,121, 0, 75, 68, 84,
+114,101,101, 0, 80, 97,114,116,105, 99,108,101, 68,114, 97,119, 68, 97,116, 97, 0, 76,105,110,107, 78,111,100,101, 0, 98, 71,
+ 80, 68,115,112,111,105,110,116, 0, 98, 71, 80, 68,115,116,114,111,107,101, 0, 98, 71, 80, 68,102,114, 97,109,101, 0, 98, 71,
+ 80, 68,108, 97,121,101,114, 0, 82,101,112,111,114,116, 76,105,115,116, 0,119,109, 87,105,110,100,111,119, 77, 97,110, 97,103,
+101,114, 0,119,109, 87,105,110,100,111,119, 0,119,109, 75,101,121, 67,111,110,102,105,103, 0,119,109, 69,118,101,110,116, 0,
+119,109, 83,117, 98, 87,105,110,100,111,119, 0,119,109, 71,101,115,116,117,114,101, 0,119,109, 75,101,121, 77, 97,112, 73,116,
+101,109, 0, 80,111,105,110,116,101,114, 82, 78, 65, 0,119,109, 75,101,121, 77, 97,112, 68,105,102,102, 73,116,101,109, 0,119,
+109, 75,101,121, 77, 97,112, 0,119,109, 79,112,101,114, 97,116,111,114, 84,121,112,101, 0, 70, 77,111,100,105,102,105,101,114,
+ 0, 70, 77,111,100, 95, 71,101,110,101,114, 97,116,111,114, 0, 70, 77,111,100, 95, 70,117,110, 99,116,105,111,110, 71,101,110,
+101,114, 97,116,111,114, 0, 70, 67, 77, 95, 69,110,118,101,108,111,112,101, 68, 97,116, 97, 0, 70, 77,111,100, 95, 69,110,118,
+101,108,111,112,101, 0, 70, 77,111,100, 95, 67,121, 99,108,101,115, 0, 70, 77,111,100, 95, 80,121,116,104,111,110, 0, 70, 77,
+111,100, 95, 76,105,109,105,116,115, 0, 70, 77,111,100, 95, 78,111,105,115,101, 0, 70, 77,111,100, 95, 83,116,101,112,112,101,
+100, 0, 68,114,105,118,101,114, 84, 97,114,103,101,116, 0, 68,114,105,118,101,114, 86, 97,114, 0, 67,104, 97,110,110,101,108,
+ 68,114,105,118,101,114, 0, 70, 80,111,105,110,116, 0, 70, 67,117,114,118,101, 0, 65,110,105,109, 77, 97,112, 80, 97,105,114,
+ 0, 65,110,105,109, 77, 97,112,112,101,114, 0, 78,108, 97, 83,116,114,105,112, 0, 78,108, 97, 84,114, 97, 99,107, 0, 75, 83,
+ 95, 80, 97,116,104, 0, 75,101,121,105,110,103, 83,101,116, 0, 65,110,105,109, 79,118,101,114,114,105,100,101, 0, 73,100, 65,
+100,116, 84,101,109,112,108, 97,116,101, 0, 66,111,105,100, 82,117,108,101, 0, 66,111,105,100, 82,117,108,101, 71,111, 97,108,
+ 65,118,111,105,100, 0, 66,111,105,100, 82,117,108,101, 65,118,111,105,100, 67,111,108,108,105,115,105,111,110, 0, 66,111,105,
+100, 82,117,108,101, 70,111,108,108,111,119, 76,101, 97,100,101,114, 0, 66,111,105,100, 82,117,108,101, 65,118,101,114, 97,103,
+101, 83,112,101,101,100, 0, 66,111,105,100, 82,117,108,101, 70,105,103,104,116, 0, 66,111,105,100, 83,116, 97,116,101, 0, 70,
+ 76, 85, 73, 68, 95, 51, 68, 0, 87, 84, 85, 82, 66, 85, 76, 69, 78, 67, 69, 0, 83,112,101, 97,107,101,114, 0, 77,111,118,105,
+101, 67,108,105,112, 80,114,111,120,121, 0, 77,111,118,105,101, 67,108,105,112, 67, 97, 99,104,101, 0, 77,111,118,105,101, 84,
+114, 97, 99,107,105,110,103, 0, 77,111,118,105,101, 84,114, 97, 99,107,105,110,103, 84,114, 97, 99,107, 0, 77,111,118,105,101,
+ 84,114, 97, 99,107,105,110,103, 77, 97,114,107,101,114, 0, 77,111,118,105,101, 82,101, 99,111,110,115,116,114,117, 99,116,101,
+100, 67, 97,109,101,114, 97, 0, 77,111,118,105,101, 84,114, 97, 99,107,105,110,103, 67, 97,109,101,114, 97, 0, 77,111,118,105,
+101, 84,114, 97, 99,107,105,110,103, 83,101,116,116,105,110,103,115, 0, 77,111,118,105,101, 84,114, 97, 99,107,105,110,103, 83,
+116, 97, 98,105,108,105,122, 97,116,105,111,110, 0, 77,111,118,105,101, 84,114, 97, 99,107,105,110,103, 82,101, 99,111,110,115,
+116,114,117, 99,116,105,111,110, 0, 77,111,118,105,101, 84,114, 97, 99,107,105,110,103, 79, 98,106,101, 99,116, 0, 77,111,118,
+105,101, 84,114, 97, 99,107,105,110,103, 83,116, 97,116,115, 0, 77,111,118,105,101, 84,114, 97, 99,107,105,110,103, 68,111,112,
+101,115,104,101,101,116, 67,104, 97,110,110,101,108, 0, 77,111,118,105,101, 84,114, 97, 99,107,105,110,103, 68,111,112,101,115,
+104,101,101,116, 0, 68,121,110, 97,109,105, 99, 80, 97,105,110,116, 83,117,114,102, 97, 99,101, 0, 80, 97,105,110,116, 83,117,
+114,102, 97, 99,101, 68, 97,116, 97, 0, 0, 0, 84, 76, 69, 78, 1, 0, 1, 0, 2, 0, 2, 0, 4, 0, 4, 0, 4, 0, 4, 0,
+ 8, 0, 8, 0, 8, 0, 0, 0, 16, 0, 24, 0, 16, 0, 4, 0, 8, 0, 12, 0, 16, 0, 16, 0, 32, 0,128, 0,120, 0,144, 8,
+ 0, 0, 40, 0,144, 0,128, 5,112, 0, 36, 0, 56, 0,160, 0,192, 0,224, 0, 96, 0, 40, 0, 48, 0,224, 0, 16, 0,200, 0,
+ 40, 0,232, 11, 48, 5, 0, 0, 0, 0, 0, 0, 56, 1,160, 1, 24, 0, 8, 3,200, 0, 0, 0,104, 0, 64, 1, 56, 4, 80, 0,
+ 32, 1,144, 0, 56, 3, 16, 2, 88, 0, 16, 0,128, 3,152, 0,136, 4, 0, 0,104, 0,104, 0, 0, 1, 80, 0, 8, 0, 16, 0,
+ 32, 0, 0, 0, 16, 2, 0, 0, 0, 0, 0, 0, 16, 5, 8, 0, 12, 0, 16, 0, 8, 0, 12, 0, 4, 0, 20, 0, 48, 0, 64, 0,
+ 20, 0, 12, 0, 16, 0, 4, 0, 8, 0, 0, 0,184, 0,160, 1, 8, 0, 4, 0, 4, 0, 0, 1, 32, 0, 8, 0, 24, 0, 16, 0,
+ 64, 0, 24, 0, 12, 0, 64, 0, 4, 0, 16, 0, 16, 0,112, 0,200, 0,136, 0,192, 0,192, 0,128, 0,192, 0,192, 0,128, 0,
+120, 0,200, 0,120, 0,144, 0, 16, 1, 56, 0,200, 0, 24, 1, 40, 1,120, 0,184, 0,200, 0, 64, 1,200, 0, 88, 1,112, 0,
+168, 0, 0, 0,152, 0, 48, 0, 40, 5,192, 0, 0, 0,152, 0, 0, 0, 0, 0,128, 0, 8, 0, 8, 0,112, 1,144, 0,152, 2,
+136, 0,192, 0,120, 0,128, 0,224, 4,208, 0,200, 0,112, 0,208, 0,144, 0, 16, 5, 0, 0, 0, 0, 48, 1,104, 1,160, 1,
+104, 1,136, 0,104, 0,112, 0,128, 0,120, 0, 16, 0, 96, 1, 88, 0, 0, 0,200, 0,216, 0,152, 0, 48, 0, 24, 0,120, 0,
+152, 0,216, 1, 0, 1,184, 0, 0, 0, 72, 0, 32, 0,176, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 12, 0, 24, 2, 40, 0,
+184, 0,152, 0, 64, 0, 72, 0, 32, 0,128, 0, 24, 0, 56, 9, 64, 0, 24, 0, 16, 0, 56, 0,184, 0, 96, 0, 32, 0, 96, 6,
+ 56, 0, 16, 0,168, 0,104, 0, 32, 0, 64, 0,120, 0, 24, 0,248, 1, 32, 0, 8, 0, 24, 0, 80, 8, 0, 0, 0, 0,224, 8,
+104, 0, 8, 0,112, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96, 1, 56, 0,144, 0, 64, 0,248, 0, 24, 1, 16, 0, 16, 0,
+240, 0,112, 0,216, 0, 24, 0,208, 0,240, 0,160, 7,104, 0, 0, 0,168, 0, 0, 0, 40, 33,128, 16, 24, 16,160, 2,168, 5,
+ 64, 0, 48, 1, 72, 0, 40, 0,136, 1,104, 0, 56, 1, 56, 0, 24, 4, 32, 0,232, 0, 32, 0, 32, 0, 8, 0, 80, 3,232, 1,
+ 16, 0, 48, 37, 80, 0, 56, 0,112, 32, 8, 1, 32, 0, 40, 0, 88, 1, 0, 0, 0, 0,160, 0, 0, 0, 40, 1, 0, 0, 48, 4,
+ 8, 1, 16, 0, 8, 0, 44, 0, 16, 4, 72, 3, 72, 1,208, 4, 32, 0, 12, 0, 24, 0, 32, 0, 16, 0, 24, 0, 24, 0, 32, 0,
+136, 1, 0, 0, 64, 0, 96, 0, 80, 0, 8, 0, 80, 0,136, 0,200, 0, 72, 0, 8, 0,136, 0, 76, 0, 72, 0,204, 0,136, 0,
+136, 0,128, 0,136, 0, 92, 0,128, 0, 80, 0,112, 0, 16, 0,168, 0, 32, 0, 72, 0,120, 0, 24, 0,144, 0,112, 0,148, 0,
+ 32, 0,128, 0, 88, 0, 88, 0,208, 0,140, 0, 4, 0, 24, 0, 16, 0, 8, 0,160, 0, 48, 0, 40, 0, 72, 1, 0, 1, 16, 0,
+ 32, 2, 4, 0, 40, 0,120, 0, 72, 1,120, 0, 56, 0,120, 0,160, 0,112, 0,184, 0, 24, 0, 88, 0, 80, 0, 80, 0, 80, 0,
+ 8, 0, 72, 0,104, 0,104, 0, 80, 0, 80, 0, 24, 0, 88, 0,104, 0, 16, 0,144, 0,128, 0, 88, 0, 28, 0, 28, 0, 28, 0,
+ 88, 0, 24, 0,160, 0, 16, 0,152, 0, 72, 0,168, 0, 48, 0,208, 0, 56, 0, 16, 0,112, 1, 0, 0, 0, 0, 0, 0, 16, 0,
+ 16, 0, 4, 0, 24, 0, 16, 0, 4, 0, 16, 0, 24, 0,104, 0, 20, 0, 24, 0, 24, 0, 8, 0, 40, 0, 28, 0, 12, 0, 12, 0,
+ 32, 4, 40, 4, 64, 4, 44, 0, 24, 0, 8, 0,128, 0, 64, 0, 32, 0, 16, 0, 32, 0, 32, 0, 8, 0, 96, 0, 20, 0,200, 3,
+216, 3,208, 3,200, 3,208, 3,208, 3,200, 3,208, 3,208, 3,208, 3,208, 3, 64, 0, 64, 0, 12, 0, 56, 0, 24, 0,104, 0,
+ 0, 4, 24, 0, 56, 0, 56, 0, 20, 0, 16, 0, 64, 0, 40, 0, 32, 0,192, 0, 60, 0, 16, 3,104, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 16, 0, 32, 0, 40, 0,192, 0, 40, 0, 88, 1, 0, 1,168, 0, 0, 0, 0, 0, 0, 0,184, 0, 0, 0, 32, 0,136, 0,
+ 0, 0,120, 0, 24, 0, 24, 0, 16, 0, 24, 0, 8, 0, 16, 0, 24, 0, 20, 0, 20, 0, 56, 0, 24, 2, 40, 1, 16, 0,104, 0,
+ 0, 1, 40, 0,208, 0,104, 0,112, 0,216, 1, 32, 0,128, 0, 56, 0, 80, 0, 64, 0,104, 0, 72, 0, 64, 0,128, 0, 0, 0,
+ 0, 0,184, 0, 8, 3, 0, 0, 24, 1,192, 0, 16, 0, 72, 0, 48, 0, 64, 0, 56, 0, 24, 0,128, 0, 0, 1, 48, 0, 32, 0,
+ 16, 6, 0, 0, 83, 84, 82, 67,217, 1, 0, 0, 12, 0, 2, 0, 12, 0, 0, 0, 12, 0, 1, 0, 13, 0, 3, 0, 13, 0, 0, 0,
+ 13, 0, 1, 0, 11, 0, 2, 0, 14, 0, 2, 0, 11, 0, 3, 0, 11, 0, 4, 0, 15, 0, 2, 0, 2, 0, 5, 0, 2, 0, 6, 0,
+ 16, 0, 2, 0, 7, 0, 5, 0, 7, 0, 6, 0, 17, 0, 3, 0, 7, 0, 5, 0, 7, 0, 6, 0, 7, 0, 7, 0, 18, 0, 4, 0,
+ 4, 0, 8, 0, 4, 0, 9, 0, 4, 0, 10, 0, 4, 0, 11, 0, 19, 0, 4, 0, 7, 0, 8, 0, 7, 0, 9, 0, 7, 0, 10, 0,
+ 7, 0, 11, 0, 20, 0, 4, 0, 11, 0, 12, 0, 14, 0, 13, 0, 4, 0, 14, 0, 4, 0, 15, 0, 21, 0, 10, 0, 21, 0, 0, 0,
+ 21, 0, 1, 0, 0, 0, 16, 0, 0, 0, 17, 0, 2, 0, 18, 0, 0, 0, 19, 0, 4, 0, 20, 0, 20, 0, 21, 0, 4, 0, 22, 0,
+ 4, 0, 23, 0, 22, 0, 11, 0, 11, 0, 0, 0, 11, 0, 1, 0, 22, 0, 24, 0, 23, 0, 25, 0, 0, 0, 26, 0, 2, 0, 27, 0,
+ 2, 0, 28, 0, 2, 0, 18, 0, 4, 0, 29, 0, 4, 0, 30, 0, 21, 0, 31, 0, 23, 0, 6, 0, 22, 0, 32, 0, 22, 0, 33, 0,
+ 24, 0, 34, 0, 0, 0, 35, 0, 0, 0, 36, 0, 23, 0, 37, 0, 25, 0, 5, 0, 4, 0, 38, 0, 4, 0, 39, 0, 2, 0, 40, 0,
+ 2, 0, 41, 0, 4, 0, 42, 0, 26, 0, 6, 0, 27, 0, 43, 0, 2, 0, 44, 0, 2, 0, 45, 0, 2, 0, 16, 0, 2, 0, 18, 0,
+ 0, 0, 46, 0, 28, 0, 21, 0, 28, 0, 0, 0, 28, 0, 1, 0, 29, 0, 47, 0, 30, 0, 48, 0, 19, 0, 49, 0, 19, 0, 50, 0,
+ 2, 0, 44, 0, 2, 0, 45, 0, 2, 0, 51, 0, 2, 0, 52, 0, 2, 0, 53, 0, 2, 0, 54, 0, 2, 0, 18, 0, 2, 0, 55, 0,
+ 7, 0, 10, 0, 7, 0, 11, 0, 4, 0, 56, 0, 7, 0, 57, 0, 7, 0, 58, 0, 7, 0, 59, 0, 26, 0, 60, 0, 31, 0, 7, 0,
+ 22, 0, 32, 0, 14, 0, 61, 0, 19, 0, 62, 0, 2, 0, 44, 0, 2, 0, 63, 0, 2, 0, 64, 0, 2, 0, 27, 0, 32, 0, 16, 0,
+ 32, 0, 0, 0, 32, 0, 1, 0, 7, 0, 65, 0, 7, 0, 59, 0, 2, 0, 16, 0, 2, 0, 66, 0, 2, 0, 67, 0, 2, 0, 18, 0,
+ 4, 0, 68, 0, 4, 0, 69, 0, 11, 0, 2, 0, 7, 0, 70, 0, 0, 0, 19, 0, 0, 0, 71, 0, 7, 0, 72, 0, 7, 0, 73, 0,
+ 33, 0, 15, 0, 22, 0, 32, 0, 34, 0, 74, 0, 32, 0, 75, 0, 0, 0, 76, 0, 4, 0, 77, 0, 4, 0, 27, 0, 14, 0, 78, 0,
+ 31, 0, 79, 0, 22, 0, 80, 0, 2, 0, 16, 0, 2, 0, 81, 0, 2, 0, 82, 0, 2, 0, 18, 0, 7, 0, 83, 0, 4, 0, 84, 0,
+ 35, 0, 6, 0, 35, 0, 0, 0, 35, 0, 1, 0, 0, 0, 85, 0, 0, 0, 86, 0, 4, 0, 22, 0, 4, 0, 87, 0, 36, 0, 10, 0,
+ 36, 0, 0, 0, 36, 0, 1, 0, 4, 0, 88, 0, 4, 0, 89, 0, 4, 0, 90, 0, 4, 0, 66, 0, 4, 0, 13, 0, 4, 0, 91, 0,
+ 0, 0, 92, 0, 0, 0, 93, 0, 37, 0, 15, 0, 22, 0, 32, 0, 0, 0, 94, 0, 4, 0, 91, 0, 4, 0, 95, 0, 14, 0, 96, 0,
+ 35, 0, 97, 0, 35, 0, 98, 0, 4, 0, 99, 0, 4, 0,100, 0, 14, 0,101, 0, 0, 0,102, 0, 4, 0,103, 0, 4, 0,104, 0,
+ 11, 0,105, 0, 8, 0,106, 0, 38, 0, 3, 0, 4, 0,107, 0, 4, 0,108, 0, 11, 0, 2, 0, 39, 0, 20, 0, 22, 0, 32, 0,
+ 34, 0, 74, 0, 0, 0, 16, 0, 0, 0,109, 0, 2, 0, 18, 0, 7, 0,110, 0, 7, 0,111, 0, 7, 0,112, 0, 7, 0,113, 0,
+ 7, 0,114, 0, 7, 0,115, 0, 7, 0,116, 0, 7, 0,117, 0, 7, 0,118, 0, 7, 0,119, 0, 7, 0,120, 0, 31, 0, 79, 0,
+ 27, 0,121, 0, 0, 0,122, 0, 0, 0,123, 0, 40, 0, 14, 0, 41, 0,124, 0, 4, 0,125, 0, 4, 0,126, 0, 4, 0,127, 0,
+ 4, 0,128, 0, 0, 0,129, 0, 0, 0,130, 0, 0, 0,131, 0, 0, 0, 27, 0, 2, 0,132, 0, 2, 0,133, 0, 2, 0,134, 0,
+ 2, 0, 18, 0, 4, 0, 30, 0, 42, 0, 33, 0, 22, 0, 32, 0, 0, 0, 35, 0, 14, 0,135, 0, 43, 0,136, 0, 44, 0,137, 0,
+ 45, 0,138, 0, 45, 0,139, 0, 2, 0,140, 0, 2, 0,141, 0, 2, 0,131, 0, 2, 0, 18, 0, 2, 0,142, 0, 2, 0, 16, 0,
+ 4, 0,143, 0, 2, 0,144, 0, 2, 0,145, 0, 2, 0,146, 0, 2, 0,147, 0, 2, 0,148, 0, 2, 0,149, 0, 4, 0,150, 0,
+ 4, 0,151, 0, 38, 0,152, 0, 25, 0,153, 0, 7, 0,154, 0, 4, 0,155, 0, 2, 0,156, 0, 2, 0,157, 0, 2, 0,158, 0,
+ 0, 0,159, 0, 0, 0,160, 0, 7, 0,161, 0, 7, 0,162, 0, 46, 0, 65, 0, 2, 0,163, 0, 2, 0,164, 0, 2, 0,165, 0,
+ 2, 0,166, 0, 27, 0,167, 0, 47, 0,168, 0, 0, 0,169, 0, 0, 0,170, 0, 0, 0,171, 0, 0, 0,172, 0, 0, 0,173, 0,
+ 7, 0,174, 0, 7, 0,175, 0, 7, 0,176, 0, 2, 0,177, 0, 2, 0,178, 0, 2, 0,179, 0, 2, 0,180, 0, 2, 0,181, 0,
+ 2, 0,182, 0, 0, 0,183, 0, 0, 0,123, 0, 7, 0,184, 0, 7, 0,185, 0, 7, 0,186, 0, 7, 0,187, 0, 7, 0,188, 0,
+ 7, 0, 55, 0, 7, 0,189, 0, 7, 0,190, 0, 7, 0,191, 0, 7, 0,192, 0, 7, 0,193, 0, 7, 0,194, 0, 7, 0,195, 0,
+ 7, 0,196, 0, 7, 0,197, 0, 7, 0,198, 0, 7, 0,199, 0, 7, 0,200, 0, 7, 0,201, 0, 7, 0,202, 0, 7, 0,203, 0,
+ 7, 0,204, 0, 7, 0,205, 0, 7, 0,206, 0, 7, 0,207, 0, 7, 0,208, 0, 7, 0,209, 0, 7, 0,210, 0, 7, 0,211, 0,
+ 7, 0,212, 0, 7, 0,213, 0, 7, 0,214, 0, 7, 0,215, 0, 7, 0,216, 0, 7, 0,217, 0, 7, 0,218, 0, 7, 0,219, 0,
+ 7, 0,220, 0, 7, 0,221, 0, 7, 0,222, 0, 7, 0,223, 0, 7, 0,224, 0, 7, 0,225, 0, 48, 0, 6, 0, 7, 0,184, 0,
+ 7, 0,185, 0, 7, 0,186, 0, 7, 0,226, 0, 7, 0, 65, 0, 4, 0, 62, 0, 49, 0, 5, 0, 2, 0, 18, 0, 2, 0,227, 0,
+ 2, 0, 62, 0, 2, 0,228, 0, 48, 0,229, 0, 50, 0, 17, 0, 27, 0,167, 0, 42, 0,230, 0, 51, 0,231, 0, 7, 0,232, 0,
+ 7, 0,233, 0, 2, 0, 16, 0, 2, 0,234, 0, 7, 0,111, 0, 7, 0,112, 0, 7, 0,235, 0, 4, 0,236, 0, 2, 0,237, 0,
+ 2, 0,238, 0, 4, 0,131, 0, 4, 0,143, 0, 2, 0,239, 0, 2, 0,240, 0, 52, 0, 25, 0, 2, 0, 18, 0, 2, 0,241, 0,
+ 7, 0,242, 0, 7, 0,243, 0, 2, 0,142, 0, 2, 0,244, 0, 4, 0,245, 0, 4, 0,246, 0, 27, 0,167, 0, 4, 0,247, 0,
+ 2, 0,248, 0, 2, 0,249, 0, 11, 0,250, 0, 7, 0,251, 0, 7, 0,252, 0, 2, 0,253, 0, 2, 0,254, 0, 2, 0,255, 0,
+ 2, 0, 0, 1, 7, 0, 1, 1, 7, 0, 2, 1, 7, 0, 3, 1, 7, 0, 4, 1, 49, 0, 5, 1, 53, 0, 6, 1, 54, 0, 13, 0,
+ 4, 0, 7, 1, 4, 0, 8, 1, 2, 0, 9, 1, 2, 0, 18, 0, 2, 0, 10, 1, 2, 0, 11, 1, 27, 0,167, 0, 7, 0, 12, 1,
+ 4, 0, 13, 1, 0, 0, 14, 1, 7, 0, 15, 1, 4, 0, 16, 1, 4, 0,131, 0, 55, 0, 4, 0, 27, 0,167, 0, 0, 0, 17, 1,
+ 4, 0, 18, 1, 4, 0, 27, 0, 47, 0, 63, 0, 22, 0, 32, 0, 34, 0, 74, 0, 7, 0, 19, 1, 7, 0, 20, 1, 7, 0, 21, 1,
+ 7, 0, 22, 1, 7, 0, 23, 1, 7, 0, 24, 1, 7, 0, 25, 1, 7, 0, 26, 1, 7, 0, 27, 1, 7, 0, 30, 0, 7, 0, 28, 1,
+ 7, 0, 29, 1, 7, 0, 30, 1, 7, 0, 31, 1, 7, 0, 32, 1, 7, 0, 33, 1, 7, 0, 34, 1, 7, 0, 35, 1, 7, 0, 36, 1,
+ 7, 0, 37, 1, 7, 0, 38, 1, 7, 0, 39, 1, 2, 0, 40, 1, 2, 0, 41, 1, 2, 0, 42, 1, 2, 0, 43, 1, 2, 0, 44, 1,
+ 2, 0, 45, 1, 2, 0, 46, 1, 2, 0, 18, 0, 2, 0, 16, 0, 2, 0,234, 0, 7, 0, 47, 1, 7, 0, 48, 1, 7, 0, 49, 1,
+ 7, 0, 50, 1, 4, 0, 51, 1, 4, 0, 52, 1, 2, 0, 53, 1, 2, 0, 54, 1, 2, 0, 10, 1, 2, 0,129, 0, 4, 0, 22, 0,
+ 4, 0,126, 0, 4, 0,127, 0, 4, 0,128, 0, 7, 0, 55, 1, 7, 0, 56, 1, 7, 0, 66, 0, 40, 0, 57, 1, 56, 0, 58, 1,
+ 31, 0, 79, 0, 42, 0,230, 0, 49, 0, 5, 1, 50, 0, 59, 1, 25, 0,153, 0, 52, 0, 60, 1, 54, 0, 61, 1, 55, 0, 62, 1,
+ 0, 0, 63, 1, 0, 0,123, 0, 57, 0, 13, 0, 7, 0, 64, 1, 7, 0, 65, 1, 7, 0,175, 0, 4, 0, 18, 0, 0, 0,170, 0,
+ 0, 0,171, 0, 0, 0,172, 0, 0, 0,173, 0, 4, 0, 27, 0, 7, 0, 66, 1, 7, 0, 67, 1, 7, 0, 68, 1, 27, 0, 43, 0,
+ 58, 0, 9, 0, 49, 0, 69, 1, 7, 0, 21, 1, 7, 0, 22, 1, 7, 0, 23, 1, 4, 0, 18, 0, 7, 0, 70, 1, 7, 0, 71, 1,
+ 4, 0, 72, 1, 4, 0, 73, 1, 59, 0, 76, 0, 22, 0, 32, 0, 34, 0, 74, 0, 2, 0, 16, 0, 2, 0, 18, 0, 4, 0, 74, 1,
+ 2, 0,178, 0, 2, 0, 75, 1, 7, 0,184, 0, 7, 0,185, 0, 7, 0,186, 0, 7, 0,187, 0, 7, 0, 76, 1, 7, 0, 77, 1,
+ 7, 0, 78, 1, 7, 0, 79, 1, 7, 0, 80, 1, 7, 0, 81, 1, 7, 0, 82, 1, 7, 0, 83, 1, 7, 0, 84, 1, 7, 0, 85, 1,
+ 7, 0, 86, 1, 53, 0, 87, 1, 2, 0,241, 0, 2, 0, 30, 0, 7, 0,111, 0, 7, 0,112, 0, 7, 0, 88, 1, 7, 0, 89, 1,
+ 7, 0, 90, 1, 7, 0, 91, 1, 7, 0, 92, 1, 7, 0, 93, 1, 2, 0, 94, 1, 2, 0, 95, 1, 2, 0, 96, 1, 2, 0, 97, 1,
+ 0, 0, 98, 1, 0, 0, 99, 1, 2, 0,100, 1, 2, 0,101, 1, 2, 0,102, 1, 2, 0,103, 1, 2, 0,104, 1, 7, 0,105, 1,
+ 7, 0,106, 1, 7, 0,107, 1, 7, 0,108, 1, 2, 0,109, 1, 2, 0,110, 1, 2, 0,111, 1, 2, 0,112, 1, 2, 0,113, 1,
+ 2, 0,114, 1, 7, 0,115, 1, 7, 0,116, 1, 7, 0,117, 1, 7, 0,118, 1, 7, 0,119, 1, 7, 0,120, 1, 7, 0,121, 1,
+ 7, 0,122, 1, 7, 0,123, 1, 7, 0,124, 1, 7, 0,125, 1, 7, 0,126, 1, 7, 0,127, 1, 2, 0,128, 1, 0, 0,129, 1,
+ 31, 0, 79, 0, 46, 0,130, 1, 2, 0,131, 1, 2, 0, 63, 1, 0, 0,132, 1, 25, 0,153, 0, 56, 0, 58, 1, 60, 0, 18, 0,
7, 0,133, 1, 7, 0,134, 1, 7, 0,135, 1, 7, 0,136, 1, 7, 0,137, 1, 7, 0,138, 1, 7, 0,139, 1, 7, 0,140, 1,
- 2, 0,141, 1, 0, 0,142, 1, 31, 0, 79, 0, 46, 0,143, 1, 2, 0,144, 1, 2, 0, 76, 1, 0, 0,145, 1, 25, 0,153, 0,
- 57, 0, 70, 1, 61, 0, 18, 0, 7, 0,146, 1, 7, 0,147, 1, 7, 0,148, 1, 7, 0,149, 1, 7, 0,150, 1, 7, 0,151, 1,
- 7, 0,152, 1, 7, 0,153, 1, 7, 0,154, 1, 7, 0,155, 1, 2, 0,156, 1, 2, 0,157, 1, 2, 0,158, 1, 2, 0,159, 1,
- 7, 0,160, 1, 7, 0,161, 1, 7, 0,162, 1, 7, 0,163, 1, 62, 0, 4, 0, 4, 0, 18, 0, 4, 0,164, 1, 4, 0,165, 1,
- 4, 0, 66, 0, 63, 0,126, 0, 22, 0, 32, 0, 34, 0, 74, 0, 2, 0,166, 1, 2, 0, 18, 0, 7, 0,184, 0, 7, 0,185, 0,
- 7, 0,186, 0, 7, 0,167, 1, 7, 0,168, 1, 7, 0,169, 1, 7, 0,170, 1, 7, 0,171, 1, 7, 0,172, 1, 7, 0,173, 1,
- 7, 0,174, 1, 7, 0,175, 1, 7, 0,176, 1, 7, 0,177, 1, 7, 0,178, 1, 7, 0,179, 1, 7, 0,180, 1, 7, 0,181, 1,
- 7, 0,182, 1, 7, 0,183, 1, 7, 0,184, 1, 7, 0,185, 1, 7, 0,186, 1, 61, 0,187, 1, 62, 0,188, 1, 7, 0,189, 1,
- 7, 0,190, 1, 7, 0,191, 1, 7, 0,192, 1, 7, 0,193, 1, 7, 0,194, 1, 7, 0,195, 1, 2, 0,196, 1, 2, 0,197, 1,
- 2, 0,198, 1, 0, 0,199, 1, 0, 0,200, 1, 7, 0,201, 1, 7, 0,202, 1, 2, 0,203, 1, 2, 0,204, 1, 7, 0,205, 1,
- 7, 0,206, 1, 7, 0,207, 1, 7, 0,208, 1, 2, 0,209, 1, 2, 0,210, 1, 4, 0, 87, 1, 4, 0,211, 1, 2, 0,212, 1,
- 2, 0,213, 1, 2, 0,214, 1, 2, 0,215, 1, 7, 0,216, 1, 7, 0,217, 1, 7, 0,218, 1, 7, 0,219, 1, 7, 0,220, 1,
- 7, 0,221, 1, 7, 0,222, 1, 7, 0,223, 1, 7, 0,224, 1, 7, 0,225, 1, 0, 0,226, 1, 7, 0,227, 1, 7, 0,228, 1,
- 7, 0,229, 1, 4, 0,230, 1, 0, 0,231, 1, 0, 0,124, 1, 0, 0,232, 1, 0, 0, 76, 1, 2, 0,233, 1, 2, 0,234, 1,
- 2, 0,144, 1, 2, 0,235, 1, 2, 0,236, 1, 2, 0,237, 1, 7, 0,238, 1, 7, 0,239, 1, 7, 0,240, 1, 7, 0,241, 1,
- 7, 0,242, 1, 2, 0,163, 0, 2, 0,164, 0, 50, 0,243, 1, 50, 0,244, 1, 0, 0,245, 1, 0, 0,246, 1, 0, 0,247, 1,
- 0, 0,248, 1, 2, 0,249, 1, 2, 0,250, 1, 7, 0,251, 1, 7, 0,252, 1, 46, 0,143, 1, 57, 0, 70, 1, 31, 0, 79, 0,
- 64, 0,253, 1, 25, 0,153, 0, 7, 0,254, 1, 7, 0,255, 1, 7, 0, 0, 2, 7, 0, 1, 2, 7, 0, 2, 2, 2, 0, 3, 2,
- 2, 0, 30, 0, 7, 0, 4, 2, 7, 0, 5, 2, 7, 0, 6, 2, 7, 0, 7, 2, 7, 0, 8, 2, 7, 0, 9, 2, 7, 0, 10, 2,
- 7, 0, 11, 2, 7, 0, 12, 2, 2, 0, 13, 2, 2, 0, 14, 2, 4, 0, 15, 2, 2, 0, 16, 2, 2, 0, 17, 2, 14, 0, 18, 2,
- 65, 0, 4, 0, 22, 0, 32, 0, 0, 0, 35, 0, 66, 0, 2, 0, 38, 0,152, 0, 67, 0, 20, 0, 67, 0, 0, 0, 67, 0, 1, 0,
- 68, 0, 19, 2, 2, 0, 16, 0, 2, 0, 18, 0, 2, 0, 20, 2, 2, 0, 21, 2, 7, 0, 5, 0, 7, 0, 6, 0, 7, 0, 7, 0,
- 7, 0, 22, 2, 7, 0, 23, 2, 7, 0, 24, 2, 7, 0, 25, 2, 7, 0, 26, 2, 7, 0, 27, 2, 7, 0, 28, 2, 7, 0, 22, 0,
- 7, 0, 29, 2, 7, 0, 30, 2, 69, 0, 20, 0, 22, 0, 32, 0, 34, 0, 74, 0, 68, 0, 19, 2, 14, 0, 31, 2, 14, 0, 32, 2,
- 14, 0, 33, 2, 31, 0, 79, 0, 63, 0, 34, 2, 0, 0, 18, 0, 0, 0, 35, 2, 2, 0, 36, 2, 2, 0,177, 0, 2, 0, 27, 0,
- 7, 0, 77, 1, 7, 0,175, 0, 7, 0, 78, 1, 7, 0, 37, 2, 7, 0, 38, 2, 7, 0, 39, 2, 67, 0, 40, 2, 30, 0, 11, 0,
- 7, 0, 41, 2, 7, 0, 42, 2, 7, 0, 43, 2, 7, 0,255, 0, 2, 0, 53, 0, 0, 0, 44, 2, 0, 0, 45, 2, 0, 0, 46, 2,
- 0, 0, 47, 2, 0, 0, 48, 2, 0, 0, 49, 2, 29, 0, 7, 0, 7, 0, 50, 2, 7, 0, 42, 2, 7, 0, 43, 2, 2, 0, 46, 2,
- 2, 0, 49, 2, 7, 0,255, 0, 7, 0, 27, 0, 70, 0, 21, 0, 70, 0, 0, 0, 70, 0, 1, 0, 2, 0, 16, 0, 2, 0, 51, 2,
- 2, 0, 49, 2, 2, 0, 18, 0, 2, 0, 52, 2, 2, 0, 53, 2, 2, 0, 54, 2, 2, 0, 55, 2, 2, 0, 56, 2, 2, 0, 57, 2,
- 2, 0, 58, 2, 2, 0, 59, 2, 7, 0, 60, 2, 7, 0, 61, 2, 29, 0, 47, 0, 30, 0, 48, 0, 2, 0, 62, 2, 2, 0, 63, 2,
- 4, 0, 64, 2, 71, 0, 5, 0, 2, 0, 65, 2, 2, 0, 51, 2, 0, 0, 18, 0, 0, 0, 27, 0, 2, 0, 30, 0, 72, 0, 4, 0,
- 7, 0, 5, 0, 7, 0, 6, 0, 7, 0, 66, 2, 7, 0, 67, 2, 73, 0, 4, 0, 14, 0, 68, 2, 74, 0, 69, 2, 4, 0, 70, 2,
- 0, 0, 93, 0, 75, 0, 70, 0, 22, 0, 32, 0, 34, 0, 74, 0, 68, 0, 19, 2, 14, 0, 71, 2, 14, 0, 32, 2, 73, 0, 72, 2,
- 27, 0, 73, 2, 27, 0, 74, 2, 27, 0, 75, 2, 31, 0, 79, 0, 76, 0, 76, 2, 33, 0, 77, 2, 63, 0, 34, 2, 14, 0, 78, 2,
- 7, 0, 77, 1, 7, 0,175, 0, 7, 0, 78, 1, 2, 0, 16, 0, 2, 0,177, 0, 2, 0, 79, 2, 2, 0, 80, 2, 7, 0, 81, 2,
- 7, 0, 82, 2, 4, 0, 83, 2, 2, 0, 27, 0, 2, 0, 36, 2, 2, 0, 18, 0, 2, 0, 84, 2, 7, 0, 85, 2, 7, 0, 86, 2,
- 7, 0, 87, 2, 2, 0, 54, 2, 2, 0, 55, 2, 2, 0, 88, 2, 2, 0, 89, 2, 4, 0, 90, 2, 11, 0, 91, 2, 2, 0, 22, 0,
- 2, 0, 96, 0, 2, 0, 65, 0, 2, 0, 92, 2, 7, 0, 93, 2, 7, 0, 94, 2, 7, 0, 95, 2, 7, 0, 96, 2, 7, 0, 97, 2,
- 7, 0, 98, 2, 7, 0, 99, 2, 7, 0,100, 2, 7, 0,101, 2, 7, 0,102, 2, 0, 0,103, 2, 77, 0,104, 2, 78, 0,105, 2,
- 0, 0,106, 2, 65, 0,107, 2, 65, 0,108, 2, 65, 0,109, 2, 65, 0,110, 2, 4, 0,111, 2, 7, 0, 83, 0, 4, 0,112, 2,
- 4, 0,113, 2, 72, 0,114, 2, 4, 0,115, 2, 4, 0,116, 2, 71, 0,117, 2, 71, 0,118, 2, 7, 0,119, 2, 7, 0,120, 2,
- 79, 0, 47, 0, 22, 0, 32, 0, 34, 0, 74, 0, 68, 0, 19, 2, 31, 0, 79, 0, 33, 0, 77, 2, 63, 0, 34, 2, 80, 0,121, 2,
- 81, 0,122, 2, 82, 0,123, 2, 83, 0,124, 2, 84, 0,125, 2, 85, 0,126, 2, 86, 0,127, 2, 87, 0,128, 2, 88, 0,129, 2,
- 89, 0,130, 2, 90, 0,131, 2, 91, 0,132, 2, 92, 0,133, 2, 93, 0,134, 2, 79, 0,135, 2, 94, 0,136, 2, 95, 0,137, 2,
- 95, 0,138, 2, 95, 0,139, 2, 95, 0,140, 2, 95, 0,141, 2, 4, 0, 52, 0, 4, 0,142, 2, 4, 0,143, 2, 4, 0,144, 2,
- 4, 0,145, 2, 4, 0,146, 2, 4, 0,147, 2, 7, 0, 77, 1, 7, 0,175, 0, 7, 0, 78, 1, 2, 0,177, 0, 2, 0, 79, 2,
- 2, 0,148, 2, 2, 0, 18, 0, 2, 0,149, 2, 2, 0,150, 2, 0, 0,151, 2, 0, 0,152, 2, 2, 0, 36, 2, 96, 0,153, 2,
- 88, 0, 8, 0, 11, 0,154, 2, 7, 0,155, 2, 4, 0,156, 2, 0, 0, 18, 0, 0, 0,157, 2, 2, 0, 87, 1, 2, 0,158, 2,
- 2, 0,159, 2, 86, 0, 7, 0, 4, 0,160, 2, 4, 0,161, 2, 4, 0,162, 2, 4, 0,163, 2, 2, 0, 51, 2, 0, 0,164, 2,
- 0, 0, 18, 0, 90, 0, 5, 0, 4, 0,160, 2, 4, 0,161, 2, 0, 0,165, 2, 0, 0,166, 2, 2, 0, 18, 0, 97, 0, 2, 0,
- 4, 0,167, 2, 7, 0, 43, 2, 91, 0, 3, 0, 97, 0,168, 2, 4, 0,169, 2, 4, 0, 18, 0, 89, 0, 4, 0, 7, 0,170, 2,
- 2, 0,171, 2, 0, 0, 18, 0, 0, 0,166, 2, 92, 0, 4, 0, 0, 0,239, 0, 0, 0,184, 0, 0, 0,185, 0, 0, 0,186, 0,
- 81, 0, 5, 0, 4, 0,172, 2, 4, 0,146, 2, 2, 0, 51, 2, 0, 0, 18, 0, 0, 0, 27, 0, 83, 0, 2, 0, 4, 0,173, 2,
- 4, 0,174, 2, 82, 0, 6, 0, 42, 0,154, 2, 0, 0, 18, 0, 0, 0,157, 2, 2, 0, 87, 1, 2, 0,158, 2, 2, 0,159, 2,
- 84, 0, 2, 0, 7, 0,175, 2, 4, 0, 18, 0, 85, 0, 4, 0, 0, 0,184, 0, 0, 0,185, 0, 0, 0,186, 0, 0, 0,239, 0,
- 93, 0, 1, 0, 7, 0,176, 2, 80, 0, 2, 0, 4, 0, 17, 2, 4, 0, 16, 0, 87, 0, 7, 0, 7, 0,155, 2, 42, 0,154, 2,
- 0, 0, 18, 0, 0, 0,157, 2, 2, 0, 87, 1, 2, 0,158, 2, 2, 0,159, 2, 98, 0, 1, 0, 7, 0,177, 2, 99, 0, 1, 0,
- 4, 0,178, 2,100, 0, 1, 0, 0, 0,179, 2,101, 0, 1, 0, 7, 0,155, 2,102, 0, 1, 0, 7, 0,175, 2,103, 0, 4, 0,
- 4, 0,180, 2, 4, 0,181, 2, 7, 0,182, 2, 4, 0,183, 2,104, 0, 4, 0, 7, 0,239, 0, 7, 0,184, 0, 7, 0,185, 0,
- 7, 0,186, 0,105, 0, 1, 0,104, 0,156, 2,106, 0, 5, 0, 4, 0,184, 2, 4, 0,185, 2, 0, 0, 18, 0, 0, 0, 51, 2,
- 0, 0,186, 2,107, 0, 2, 0, 4, 0,187, 2, 4, 0,185, 2,108, 0, 10, 0,108, 0, 0, 0,108, 0, 1, 0,106, 0,188, 2,
-105, 0,189, 2,107, 0,190, 2, 4, 0, 52, 0, 4, 0,143, 2, 4, 0,142, 2, 4, 0, 27, 0, 89, 0,191, 2, 96, 0, 14, 0,
- 14, 0,192, 2, 89, 0,191, 2, 0, 0,193, 2, 0, 0,194, 2, 0, 0,195, 2, 0, 0,196, 2, 0, 0,197, 2, 0, 0,198, 2,
- 0, 0,199, 2, 0, 0, 18, 0, 95, 0,137, 2, 95, 0,139, 2, 2, 0,200, 2, 0, 0,201, 2,109, 0, 1, 0, 4, 0,178, 2,
-110, 0, 3, 0, 7, 0, 2, 0, 4, 0,181, 2, 4, 0, 27, 0,111, 0, 9, 0,111, 0, 0, 0,111, 0, 1, 0, 4, 0, 16, 0,
- 4, 0, 87, 1, 4, 0,202, 2, 4, 0, 27, 0, 0, 0, 19, 0, 41, 0,124, 0, 0, 0,203, 2,112, 0, 6, 0,111, 0,204, 2,
- 47, 0,205, 2, 27, 0,206, 2, 0, 0,207, 2, 4, 0,208, 2, 4, 0,209, 2,113, 0, 7, 0,111, 0,204, 2, 2, 0,210, 2,
- 2, 0,192, 2, 2, 0,211, 2, 2, 0, 91, 0, 11, 0,212, 2, 11, 0,213, 2,114, 0, 5, 0,111, 0,204, 2, 27, 0,167, 0,
- 0, 0, 19, 0, 7, 0,214, 2, 0, 0, 93, 0,115, 0, 5, 0,111, 0,204, 2, 27, 0,167, 0, 0, 0, 19, 0, 2, 0,215, 2,
- 0, 0,216, 2,116, 0, 5, 0,111, 0,204, 2, 7, 0, 89, 0, 7, 0,217, 2, 4, 0,218, 2, 4, 0,219, 2,117, 0, 5, 0,
-111, 0,204, 2, 27, 0,220, 2, 0, 0, 71, 0, 4, 0, 87, 1, 4, 0, 18, 0,118, 0, 13, 0,111, 0,204, 2, 27, 0,221, 2,
- 27, 0,222, 2, 27, 0,223, 2, 27, 0,224, 2, 7, 0,225, 2, 7, 0,226, 2, 7, 0,217, 2, 7, 0,227, 2, 4, 0,228, 2,
- 4, 0,229, 2, 4, 0, 91, 0, 4, 0,230, 2,119, 0, 5, 0,111, 0,204, 2, 2, 0,231, 2, 2, 0, 18, 0, 7, 0,232, 2,
- 27, 0,233, 2,120, 0, 3, 0,111, 0,204, 2, 7, 0,234, 2, 4, 0, 91, 0,121, 0, 10, 0,111, 0,204, 2, 7, 0,235, 2,
- 4, 0,236, 2, 4, 0, 27, 0, 2, 0, 91, 0, 2, 0,237, 2, 2, 0,238, 2, 2, 0,239, 2, 7, 0,240, 2, 0, 0,241, 2,
-122, 0, 3, 0,111, 0,204, 2, 7, 0, 27, 0, 4, 0, 16, 0,123, 0, 6, 0,111, 0,204, 2,124, 0,242, 2,125, 0,243, 2,
-126, 0,244, 2, 7, 0,245, 2, 4, 0, 16, 0,127, 0, 11, 0,111, 0,204, 2, 47, 0,205, 2, 27, 0,206, 2, 0, 0,207, 2,
- 4, 0,208, 2, 4, 0,209, 2, 7, 0,214, 2, 4, 0,246, 2, 0, 0,241, 2, 7, 0,247, 2, 4, 0, 27, 0,128, 0, 12, 0,
-111, 0,204, 2, 27, 0,248, 2, 42, 0,249, 2, 4, 0, 91, 0, 4, 0,250, 2, 7, 0,251, 2, 7, 0,252, 2, 7, 0,253, 2,
- 7, 0,254, 2, 0, 0,207, 2, 4, 0,208, 2, 4, 0, 27, 0,129, 0, 3, 0,111, 0,204, 2, 7, 0,255, 2, 4, 0, 0, 3,
-130, 0, 5, 0,111, 0,204, 2, 7, 0, 1, 3, 0, 0,241, 2, 2, 0, 18, 0, 2, 0, 2, 3,131, 0, 8, 0,111, 0,204, 2,
- 27, 0,167, 0, 7, 0, 1, 3, 7, 0,255, 0, 7, 0,107, 0, 0, 0,241, 2, 2, 0, 18, 0, 2, 0, 16, 0,132, 0, 21, 0,
-111, 0,204, 2, 47, 0,205, 2, 27, 0,206, 2, 0, 0,207, 2, 4, 0,208, 2, 4, 0,209, 2, 27, 0, 3, 3, 0, 0,241, 2,
- 2, 0, 18, 0, 2, 0, 27, 0, 7, 0, 4, 3, 7, 0, 5, 3, 7, 0, 6, 3, 7, 0, 85, 2, 7, 0, 7, 3, 7, 0, 8, 3,
- 7, 0, 9, 3, 7, 0, 10, 3, 7, 0, 11, 3, 7, 0, 12, 3, 7, 0, 66, 0,133, 0, 7, 0,111, 0,204, 2, 2, 0, 13, 3,
- 2, 0, 14, 3, 4, 0, 30, 0, 27, 0,167, 0, 7, 0, 15, 3, 0, 0,241, 2,134, 0, 10, 0,111, 0,204, 2, 27, 0,167, 0,
- 0, 0, 16, 3, 7, 0, 17, 3, 7, 0, 18, 3, 7, 0, 10, 3, 4, 0, 19, 3, 4, 0, 20, 3, 7, 0, 21, 3, 0, 0, 19, 0,
-135, 0, 1, 0,111, 0,204, 2,136, 0, 7, 0,111, 0,204, 2, 41, 0,124, 0,137, 0, 22, 3,138, 0, 23, 3,139, 0, 24, 3,
-140, 0, 25, 3, 14, 0, 26, 3,141, 0, 13, 0,111, 0,204, 2, 89, 0, 27, 3, 89, 0, 28, 3, 89, 0, 29, 3, 89, 0, 30, 3,
- 89, 0, 31, 3, 89, 0, 32, 3, 86, 0, 33, 3, 4, 0, 34, 3, 4, 0, 35, 3, 7, 0, 36, 3, 7, 0, 37, 3,142, 0, 38, 3,
-143, 0, 7, 0,111, 0,204, 2, 89, 0, 27, 3, 89, 0, 39, 3,144, 0, 40, 3,145, 0, 38, 3, 4, 0, 41, 3, 4, 0, 34, 3,
-146, 0, 4, 0,111, 0,204, 2, 27, 0,167, 0, 4, 0, 42, 3, 4, 0, 27, 0,147, 0, 2, 0, 4, 0, 43, 3, 7, 0, 43, 2,
-148, 0, 2, 0, 4, 0,127, 0, 4, 0, 44, 3,149, 0, 24, 0,111, 0,204, 2, 27, 0,167, 0, 0, 0,241, 2, 2, 0, 45, 3,
- 2, 0, 18, 0, 2, 0, 87, 1, 2, 0, 27, 0,147, 0, 46, 3, 4, 0, 47, 3, 7, 0, 48, 3, 4, 0, 52, 0, 4, 0, 49, 3,
-148, 0, 50, 3,147, 0, 51, 3, 4, 0, 52, 3, 4, 0, 53, 3, 4, 0, 54, 3, 4, 0, 44, 3, 7, 0, 55, 3, 7, 0, 56, 3,
- 7, 0, 57, 3, 7, 0, 58, 3, 7, 0, 59, 3, 11, 0, 60, 3,150, 0, 8, 0,111, 0,204, 2,151, 0, 61, 3,144, 0, 40, 3,
- 4, 0, 62, 3, 4, 0, 63, 3, 4, 0, 64, 3, 2, 0, 18, 0, 2, 0, 55, 0,152, 0, 8, 0,111, 0,204, 2, 27, 0, 43, 0,
- 2, 0, 3, 1, 2, 0, 18, 0, 2, 0,231, 2, 2, 0, 55, 0, 7, 0, 65, 3, 7, 0, 66, 3,153, 0, 6, 0,111, 0,204, 2,
- 4, 0, 67, 3, 2, 0, 18, 0, 2, 0, 68, 3, 7, 0, 69, 3, 0, 0,169, 0,154, 0, 8, 0,111, 0,204, 2, 0, 0, 70, 3,
- 0, 0, 71, 3, 0, 0,198, 2, 0, 0, 72, 3, 0, 0, 73, 3, 0, 0, 91, 0, 0, 0,186, 2,155, 0, 3, 0,111, 0,204, 2,
-156, 0, 74, 3,140, 0, 25, 3,157, 0, 10, 0,111, 0,204, 2, 27, 0, 75, 3, 27, 0, 76, 3, 0, 0, 77, 3, 7, 0, 78, 3,
- 2, 0, 79, 3, 2, 0, 80, 3, 0, 0, 81, 3, 0, 0, 82, 3, 0, 0,216, 2,158, 0, 9, 0,111, 0,204, 2, 27, 0, 83, 3,
- 0, 0, 77, 3, 7, 0, 84, 3, 7, 0, 85, 3, 0, 0, 87, 1, 0, 0,231, 2, 0, 0, 86, 3, 0, 0, 27, 0,159, 0, 1, 0,
-111, 0,204, 2,160, 0, 11, 0,111, 0,204, 2, 0, 0,241, 2, 7, 0,127, 0, 7, 0, 87, 3, 7, 0, 88, 3, 7, 0, 89, 3,
- 7, 0, 90, 3, 7, 0, 91, 3, 4, 0, 18, 0, 2, 0, 92, 3, 2, 0, 93, 3,161, 0, 9, 0,111, 0,204, 2, 27, 0, 94, 3,
- 4, 0, 95, 3, 4, 0, 96, 3, 4, 0, 97, 3, 7, 0, 98, 3, 7, 0, 99, 3, 2, 0,231, 2, 2, 0, 18, 0,162, 0, 29, 0,
-111, 0,204, 2,163, 0,100, 3,164, 0,101, 3, 4, 0,102, 3, 4, 0,103, 3, 7, 0,104, 3, 7, 0, 9, 3, 7, 0,105, 3,
- 7, 0,250, 0, 7, 0,106, 3, 7, 0,107, 3, 7, 0,108, 3, 7, 0,109, 3, 7, 0,110, 3, 7, 0,245, 2, 4, 0,111, 3,
- 4, 0,112, 3, 0, 0,113, 3, 0, 0,114, 3, 0, 0,115, 3, 0, 0,116, 3, 0, 0, 18, 0, 0, 0,117, 3, 2, 0,118, 3,
- 2, 0,119, 3, 4, 0,219, 2, 7, 0,107, 0, 7, 0,120, 3, 4, 0, 27, 0,165, 0, 15, 0,111, 0,204, 2, 47, 0,205, 2,
- 27, 0,206, 2, 0, 0,207, 2, 4, 0,208, 2, 4, 0,209, 2, 27, 0,121, 3, 27, 0,122, 3, 54, 0,100, 1, 0, 0,241, 2,
- 7, 0,214, 2, 7, 0,123, 3, 0, 0, 18, 0, 0, 0,253, 0, 0, 0,216, 2,166, 0, 16, 0,111, 0,204, 2, 0, 0,241, 2,
- 2, 0,124, 3, 2, 0,253, 0, 7, 0,125, 3, 54, 0,126, 3, 7, 0,127, 3, 7, 0,128, 3, 7, 0,129, 3, 0, 0,130, 3,
- 4, 0,131, 3, 47, 0,132, 3, 27, 0,133, 3, 4, 0,134, 3, 0, 0,135, 3, 4, 0,136, 3,167, 0, 16, 0,111, 0,204, 2,
- 0, 0,137, 3, 0, 0,138, 3, 7, 0,139, 3, 7, 0,140, 3, 0, 0,141, 3, 0, 0,142, 3, 0, 0,143, 3, 7, 0,129, 3,
- 0, 0,130, 3, 4, 0,131, 3, 47, 0,132, 3, 27, 0,133, 3, 4, 0,134, 3, 0, 0,135, 3, 4, 0,136, 3,168, 0, 16, 0,
-111, 0,204, 2, 0, 0,241, 2, 4, 0,144, 3, 4, 0,145, 3, 27, 0,146, 3, 7, 0,129, 3, 0, 0,130, 3, 4, 0,131, 3,
- 47, 0,132, 3, 27, 0,133, 3, 4, 0,134, 3, 0, 0,135, 3, 7, 0,147, 3, 7, 0,148, 3, 2, 0,253, 0, 2, 0,149, 3,
-169, 0, 5, 0,111, 0,204, 2,170, 0,150, 3,171, 0,151, 3, 4, 0, 16, 0, 4, 0, 27, 0,172, 0, 8, 0,111, 0,204, 2,
- 7, 0,152, 3, 7, 0,153, 3, 7, 0,154, 3, 0, 0,250, 0, 0, 0, 18, 0, 0, 0, 87, 1, 0, 0, 27, 0,173, 0, 3, 0,
-174, 0,155, 3, 4, 0, 70, 2, 0, 0, 93, 0,174, 0, 29, 0, 22, 0, 32, 0, 34, 0, 74, 0, 2, 0, 52, 2, 2, 0, 53, 2,
- 2, 0,156, 3, 2, 0, 18, 0, 2, 0,157, 3, 2, 0,158, 3, 2, 0,159, 3, 2, 0, 30, 0, 0, 0,160, 3, 0, 0,161, 3,
- 0, 0,162, 3, 0, 0,250, 1, 4, 0, 27, 0, 7, 0,163, 3, 7, 0,164, 3, 7, 0,165, 3, 7, 0,166, 3, 7, 0,167, 3,
- 7, 0,168, 3, 29, 0,169, 3, 31, 0, 79, 0, 33, 0, 77, 2, 91, 0,132, 2, 0, 0, 71, 0, 7, 0,170, 3, 7, 0,171, 3,
-173, 0,172, 3,175, 0, 5, 0,175, 0, 0, 0,175, 0, 1, 0, 0, 0, 19, 0, 0, 0, 18, 0, 0, 0,123, 0, 68, 0, 3, 0,
- 7, 0,173, 3, 4, 0, 18, 0, 4, 0, 27, 0, 27, 0,128, 0, 22, 0, 32, 0, 34, 0, 74, 0,176, 0,174, 3, 2, 0, 16, 0,
- 2, 0,175, 3, 4, 0,176, 3, 4, 0,177, 3, 4, 0,178, 3, 0, 0,179, 3, 27, 0, 37, 0, 27, 0,180, 3, 27, 0,181, 3,
- 27, 0,182, 3, 27, 0,183, 3, 31, 0, 79, 0, 68, 0, 19, 2,177, 0,184, 3,177, 0,185, 3,178, 0,186, 3, 11, 0, 2, 0,
-179, 0,187, 3,180, 0,188, 3,181, 0,189, 3, 14, 0,190, 3, 14, 0,191, 3, 14, 0, 32, 2, 14, 0,192, 3, 14, 0,193, 3,
- 4, 0, 87, 1, 4, 0,194, 3, 63, 0, 34, 2, 0, 0,195, 3, 4, 0, 36, 2, 4, 0,196, 3, 7, 0, 77, 1, 7, 0,197, 3,
- 7, 0,198, 3, 7, 0,175, 0, 7, 0,199, 3, 7, 0,200, 3, 7, 0, 78, 1, 7, 0,201, 3, 7, 0, 22, 2, 7, 0,202, 3,
- 7, 0,203, 3, 7, 0,204, 3, 7, 0,205, 3, 7, 0,206, 3, 7, 0,207, 3, 7, 0, 17, 3, 7, 0,208, 3, 7, 0,244, 0,
- 7, 0,209, 3, 4, 0,210, 3, 4, 0,211, 3, 2, 0, 18, 0, 2, 0,212, 3, 2, 0,213, 3, 2, 0,214, 3, 2, 0,215, 3,
- 2, 0,216, 3, 2, 0,217, 3, 2, 0,218, 3, 2, 0,219, 3, 0, 0,220, 3, 0, 0,221, 3, 4, 0,222, 3, 4, 0,223, 3,
- 4, 0,224, 3, 4, 0,225, 3, 7, 0,226, 3, 7, 0, 83, 0, 7, 0,227, 3, 7, 0,228, 3, 7, 0,229, 3, 7, 0,230, 3,
- 7, 0,231, 3, 7, 0,219, 0, 7, 0,232, 3, 7, 0,233, 3, 7, 0,234, 3, 7, 0,235, 3, 7, 0,236, 3, 2, 0,237, 3,
- 0, 0,238, 3, 0, 0,239, 3, 0, 0,240, 3, 0, 0,241, 3, 0, 0,109, 0, 0, 0,242, 3, 7, 0,243, 3, 7, 0,244, 3,
- 14, 0,245, 3, 14, 0,246, 3, 14, 0,247, 3, 14, 0,248, 3, 7, 0,249, 3, 2, 0, 17, 2, 2, 0,250, 3, 7, 0,156, 2,
- 4, 0,251, 3, 4, 0,252, 3,182, 0,253, 3, 2, 0,254, 3, 2, 0,251, 0, 7, 0,255, 3, 14, 0, 0, 4, 14, 0, 1, 4,
- 14, 0, 2, 4, 14, 0, 3, 4,183, 0, 73, 1,184, 0, 4, 4, 64, 0, 5, 4, 0, 0, 6, 4, 0, 0, 7, 4, 2, 0, 70, 2,
- 7, 0,148, 2,156, 0, 8, 4,144, 0, 9, 4,144, 0, 10, 4, 10, 0, 11, 4, 10, 0, 12, 4, 4, 0, 13, 4, 4, 0, 14, 4,
- 14, 0, 15, 4, 14, 0, 16, 4, 14, 0, 17, 4, 7, 0, 18, 4,185, 0, 14, 0,185, 0, 0, 0,185, 0, 1, 0, 27, 0, 37, 0,
- 7, 0, 17, 3, 7, 0, 79, 1, 7, 0, 18, 3, 7, 0, 10, 3, 0, 0, 19, 0, 4, 0, 19, 3, 4, 0, 20, 3, 4, 0, 19, 4,
- 2, 0, 16, 0, 2, 0, 20, 4, 7, 0, 21, 3,186, 0, 12, 0,186, 0, 0, 0,186, 0, 1, 0, 27, 0, 43, 0, 4, 0, 21, 4,
- 4, 0, 17, 2, 7, 0, 79, 1, 7, 0, 22, 4, 7, 0, 23, 4, 7, 0,175, 2, 2, 0, 16, 0, 0, 0, 24, 4, 0, 0, 25, 4,
-183, 0, 40, 0, 4, 0, 18, 0, 2, 0, 26, 4, 2, 0, 27, 4, 2, 0, 10, 3, 2, 0, 28, 4, 2, 0, 29, 4, 2, 0, 30, 4,
- 2, 0, 31, 4, 2, 0, 32, 4, 7, 0, 33, 4, 7, 0, 34, 4, 7, 0, 35, 4, 7, 0, 36, 4, 7, 0, 37, 4, 7, 0, 38, 4,
- 7, 0, 39, 4, 7, 0, 40, 4, 7, 0, 41, 4, 7, 0, 42, 4, 7, 0, 43, 4, 7, 0, 44, 4, 7, 0, 45, 4, 7, 0, 46, 4,
- 7, 0, 47, 4, 7, 0, 48, 4, 7, 0, 49, 4, 7, 0, 50, 4, 7, 0, 51, 4, 7, 0, 52, 4, 7, 0, 53, 4, 7, 0, 54, 4,
- 7, 0, 55, 4, 7, 0, 56, 4, 7, 0, 57, 4, 7, 0, 58, 4, 7, 0, 59, 4, 47, 0,168, 0,187, 0, 60, 4, 7, 0, 61, 4,
- 4, 0,219, 2,188, 0, 5, 0, 64, 0,253, 1, 7, 0, 62, 4, 7, 0, 63, 4, 2, 0, 18, 0, 2, 0, 64, 4,189, 0, 5, 0,
-189, 0, 0, 0,189, 0, 1, 0, 4, 0, 16, 0, 4, 0, 65, 4, 11, 0, 2, 0,190, 0, 9, 0,190, 0, 0, 0,190, 0, 1, 0,
- 4, 0, 66, 4, 4, 0, 67, 4, 4, 0, 68, 4, 4, 0, 18, 0, 11, 0, 69, 4, 11, 0, 70, 4, 14, 0, 71, 4,140, 0, 23, 0,
-140, 0, 0, 0,140, 0, 1, 0, 4, 0, 18, 0, 4, 0, 72, 4, 4, 0, 73, 4, 4, 0, 74, 4, 4, 0, 75, 4, 4, 0, 76, 4,
- 4, 0, 77, 4, 4, 0, 78, 4, 4, 0, 27, 0, 4, 0, 67, 4, 4, 0, 17, 2, 2, 0, 79, 4, 2, 0, 55, 0, 0, 0, 19, 0,
- 0, 0, 80, 4, 0, 0, 81, 4, 0, 0, 82, 4, 0, 0, 83, 4, 14, 0, 84, 4,191, 0, 85, 4, 11, 0, 86, 4,192, 0, 1, 0,
- 7, 0, 50, 2,182, 0, 30, 0, 4, 0, 18, 0, 7, 0, 87, 4, 7, 0, 88, 4, 7, 0, 89, 4, 4, 0, 90, 4, 4, 0, 91, 4,
- 4, 0, 92, 4, 4, 0, 93, 4, 7, 0, 94, 4, 7, 0, 95, 4, 7, 0, 96, 4, 7, 0, 97, 4, 7, 0, 98, 4, 7, 0, 99, 4,
- 7, 0,100, 4, 7, 0,101, 4, 7, 0,102, 4, 7, 0,103, 4, 7, 0,104, 4, 7, 0,105, 4, 7, 0,106, 4, 7, 0,107, 4,
- 7, 0,108, 4, 7, 0,109, 4, 7, 0,110, 4, 7, 0,111, 4, 4, 0,112, 4, 4, 0,113, 4, 7, 0,114, 4, 7, 0,232, 3,
-184, 0, 54, 0, 4, 0, 67, 4, 4, 0,115, 4,193, 0,116, 4,194, 0,117, 4, 0, 0, 27, 0, 0, 0,118, 4, 2, 0,119, 4,
- 7, 0,120, 4, 0, 0,121, 4, 7, 0,122, 4, 7, 0,123, 4, 7, 0,124, 4, 7, 0,125, 4, 7, 0,126, 4, 7, 0,127, 4,
- 7, 0,128, 4, 7, 0,129, 4, 7, 0,130, 4, 2, 0,131, 4, 0, 0,132, 4, 2, 0,133, 4, 7, 0,134, 4, 7, 0,135, 4,
- 0, 0,136, 4, 4, 0,128, 0, 4, 0,137, 4, 4, 0,138, 4, 2, 0,139, 4, 2, 0,140, 4,192, 0,141, 4, 4, 0,142, 4,
- 4, 0, 81, 0, 7, 0,143, 4, 7, 0,144, 4, 7, 0,145, 4, 7, 0,146, 4, 2, 0,147, 4, 2, 0,148, 4, 2, 0,149, 4,
- 2, 0,150, 4, 2, 0,151, 4, 2, 0,152, 4, 2, 0,153, 4, 2, 0,154, 4,195, 0,155, 4, 7, 0,156, 4, 7, 0,157, 4,
-140, 0,158, 4, 14, 0, 26, 3,188, 0,159, 4, 7, 0,160, 4, 7, 0,161, 4, 7, 0,162, 4, 4, 0,163, 4,196, 0, 1, 0,
- 7, 0,164, 4,156, 0, 52, 0,155, 0,165, 4, 2, 0, 16, 0, 2, 0,166, 4, 2, 0,167, 4, 2, 0,168, 4, 7, 0,169, 4,
- 2, 0,170, 4, 2, 0,171, 4, 7, 0,172, 4, 2, 0,173, 4, 2, 0,174, 4, 7, 0,175, 4, 7, 0,176, 4, 7, 0,177, 4,
- 4, 0,178, 4, 4, 0,179, 4, 4, 0,180, 4, 4, 0, 27, 0, 7, 0,181, 4, 4, 0,182, 4, 7, 0,183, 4, 7, 0,184, 4,
- 7, 0,185, 4, 79, 0,186, 4, 79, 0,187, 4, 0, 0,188, 4, 7, 0,189, 4, 7, 0,190, 4, 31, 0, 79, 0, 2, 0,191, 4,
- 0, 0,192, 4, 0, 0,193, 4, 7, 0,194, 4, 4, 0,195, 4, 7, 0,196, 4, 7, 0,197, 4, 4, 0,198, 4, 4, 0, 18, 0,
- 7, 0,199, 4, 7, 0,200, 4, 7, 0,201, 4,196, 0,202, 4, 4, 0, 52, 0, 7, 0,203, 4, 7, 0,204, 4, 7, 0,205, 4,
- 7, 0,206, 4, 7, 0,207, 4, 7, 0,208, 4, 7, 0,209, 4, 4, 0,210, 4, 7, 0,211, 4,197, 0, 78, 0, 22, 0, 32, 0,
- 34, 0, 74, 0, 2, 0,178, 0, 2, 0, 88, 1, 2, 0,124, 1, 2, 0,212, 4, 7, 0,213, 4, 7, 0,214, 4, 7, 0,215, 4,
- 7, 0,216, 4, 7, 0,217, 4, 7, 0,218, 4, 7, 0,173, 1, 7, 0,175, 1, 7, 0,174, 1, 7, 0, 30, 0, 4, 0,219, 4,
- 7, 0,220, 4, 7, 0,221, 4, 7, 0,222, 4, 7, 0,223, 4, 7, 0,224, 4, 7, 0,225, 4, 7, 0,226, 4, 2, 0,227, 4,
- 2, 0, 87, 1, 2, 0,228, 4, 2, 0,229, 4, 2, 0,230, 4, 2, 0,231, 4, 2, 0,232, 4, 2, 0,233, 4, 7, 0,234, 4,
- 7, 0,235, 4, 7, 0,236, 4, 7, 0,237, 4, 7, 0,238, 4, 7, 0,239, 4, 7, 0,240, 4, 7, 0,241, 4, 7, 0,242, 4,
- 7, 0,243, 4, 7, 0,244, 4, 7, 0,245, 4, 2, 0,246, 4, 2, 0,247, 4, 2, 0,248, 4, 2, 0,249, 4, 7, 0,250, 4,
- 7, 0,251, 4, 7, 0,252, 4, 7, 0,253, 4, 2, 0,254, 4, 2, 0,255, 4, 2, 0, 0, 5, 2, 0, 1, 5, 7, 0, 2, 5,
- 7, 0, 3, 5, 7, 0, 4, 5, 7, 0, 5, 5, 7, 0, 6, 5, 7, 0, 7, 5, 7, 0, 8, 5, 2, 0, 9, 5, 2, 0, 10, 5,
- 2, 0, 11, 5, 2, 0, 12, 5, 2, 0, 13, 5, 2, 0, 18, 0, 7, 0, 14, 5, 7, 0, 15, 5, 31, 0, 79, 0, 46, 0,143, 1,
- 2, 0,144, 1, 2, 0, 76, 1, 2, 0,186, 2, 25, 0,153, 0, 57, 0, 70, 1,198, 0, 8, 0,198, 0, 0, 0,198, 0, 1, 0,
- 4, 0,210, 3, 4, 0, 16, 5, 4, 0, 18, 0, 2, 0, 17, 5, 2, 0, 18, 5, 27, 0,167, 0,199, 0, 13, 0, 11, 0, 19, 5,
- 11, 0, 20, 5, 4, 0, 21, 5, 4, 0, 22, 5, 4, 0, 23, 5, 4, 0, 24, 5, 4, 0, 25, 5, 4, 0, 26, 5, 4, 0, 27, 5,
- 4, 0, 28, 5, 4, 0, 29, 5, 4, 0, 27, 0, 0, 0, 30, 5,200, 0, 5, 0, 11, 0, 31, 5, 11, 0, 32, 5, 4, 0, 33, 5,
- 4, 0, 30, 0, 0, 0, 34, 5,201, 0, 17, 0, 4, 0, 35, 5, 4, 0, 36, 5, 4, 0, 37, 5, 4, 0, 38, 5, 4, 0, 39, 5,
- 4, 0, 40, 5, 4, 0, 41, 5, 4, 0, 42, 5, 4, 0, 43, 5, 4, 0, 44, 5, 4, 0, 45, 5, 4, 0, 46, 5, 2, 0, 47, 5,
- 2, 0, 48, 5, 4, 0, 49, 5, 4, 0, 50, 5, 4, 0, 66, 0,202, 0, 17, 0, 4, 0, 16, 0, 4, 0, 37, 5, 4, 0, 51, 5,
- 4, 0, 52, 5, 4, 0, 53, 5, 4, 0, 54, 5, 4, 0, 55, 5, 4, 0, 56, 5, 7, 0, 57, 5, 4, 0, 58, 5, 4, 0, 91, 0,
- 4, 0, 59, 5, 4, 0, 60, 5, 4, 0, 61, 5, 4, 0, 62, 5, 4, 0, 63, 5, 21, 0, 31, 0,203, 0, 9, 0, 4, 0, 64, 5,
- 7, 0, 65, 5, 7, 0, 66, 5, 7, 0, 67, 5, 4, 0, 68, 5, 2, 0, 18, 0, 2, 0, 27, 0, 7, 0, 89, 4, 7, 0, 30, 0,
-204, 0, 13, 0,204, 0, 0, 0,204, 0, 1, 0, 0, 0, 19, 0, 63, 0, 69, 5, 64, 0, 70, 5, 4, 0,210, 3, 4, 0, 71, 5,
- 4, 0, 72, 5, 4, 0, 73, 5, 4, 0, 74, 5, 4, 0, 75, 5, 4, 0, 76, 5, 4, 0, 27, 0,205, 0, 13, 0, 0, 0, 77, 5,
- 0, 0,250, 0, 0, 0, 78, 5, 0, 0, 18, 0, 0, 0, 79, 5, 0, 0, 80, 5, 0, 0, 81, 5, 0, 0, 82, 5, 2, 0, 83, 5,
- 2, 0, 84, 5, 7, 0, 85, 5, 0, 0, 86, 5, 0, 0,123, 0,206, 0,106, 0,205, 0, 87, 5,199, 0, 88, 5,200, 0, 89, 5,
-201, 0, 90, 5,202, 0, 91, 5, 4, 0, 41, 3, 4, 0,128, 0, 4, 0,137, 4, 7, 0, 92, 5, 4, 0, 93, 5, 4, 0, 94, 5,
- 4, 0, 95, 5, 4, 0, 96, 5, 2, 0, 18, 0, 2, 0, 97, 5, 7, 0, 98, 5, 7, 0, 99, 5, 7, 0,100, 5, 7, 0,101, 5,
- 7, 0,102, 5, 2, 0,103, 5, 2, 0,104, 5, 2, 0,105, 5, 2, 0,106, 5, 2, 0,250, 0, 2, 0,107, 5, 4, 0,108, 5,
- 2, 0,109, 5, 2, 0,110, 5, 2, 0,110, 1, 2, 0,107, 0, 2, 0,111, 5, 2, 0,112, 5, 2, 0,113, 5, 2, 0,114, 5,
- 2, 0,115, 5, 2, 0, 78, 5, 2, 0, 77, 5, 2, 0,116, 5, 2, 0, 79, 5, 2, 0,117, 5, 4, 0,118, 5, 4, 0, 87, 1,
- 4, 0,119, 5, 2, 0,120, 5, 2, 0, 66, 0, 2, 0,121, 5, 2, 0,122, 5, 2, 0,123, 5, 2, 0,124, 5, 2, 0,125, 5,
- 2, 0,126, 5, 19, 0,127, 5, 19, 0,128, 5, 18, 0,129, 5, 14, 0,130, 5, 2, 0,131, 5, 2, 0,132, 5, 7, 0,133, 5,
- 7, 0,134, 5, 7, 0,135, 5, 7, 0,136, 5, 4, 0,137, 5, 7, 0,138, 5, 7, 0,139, 5, 7, 0,140, 5, 7, 0,141, 5,
- 2, 0,142, 5, 2, 0,143, 5, 2, 0,144, 5, 2, 0,145, 5, 2, 0,146, 5, 2, 0,147, 5, 7, 0,148, 5, 7, 0,149, 5,
- 7, 0,150, 5, 0, 0,151, 5, 4, 0,152, 5, 2, 0,153, 5, 2, 0,250, 1, 0, 0,154, 5, 7, 0,155, 5, 7, 0,156, 5,
- 0, 0,157, 5, 0, 0,158, 5, 0, 0,159, 5, 0, 0,160, 5, 4, 0,161, 5, 2, 0,162, 5, 2, 0,163, 5, 7, 0,164, 5,
- 7, 0,165, 5, 2, 0,166, 5, 2, 0,167, 5, 7, 0,168, 5, 2, 0,169, 5, 2, 0,170, 5, 4, 0,171, 5, 2, 0,172, 5,
- 2, 0,173, 5, 2, 0,174, 5, 2, 0,175, 5, 7, 0,176, 5, 7, 0, 30, 0, 37, 0,177, 5, 0, 0,178, 5,207, 0, 9, 0,
-207, 0, 0, 0,207, 0, 1, 0, 0, 0,179, 5, 2, 0,180, 5, 2, 0,181, 5, 2, 0,182, 5, 2, 0, 66, 0, 7, 0,183, 5,
- 7, 0, 30, 0,208, 0, 7, 0, 2, 0,236, 2, 2, 0, 87, 1, 2, 0, 99, 3, 2, 0,184, 5, 7, 0,185, 5, 7, 0, 30, 0,
- 37, 0,186, 5,209, 0, 5, 0, 7, 0,187, 5, 0, 0, 16, 0, 0, 0, 66, 0, 0, 0, 30, 0, 0, 0,250, 1,210, 0, 15, 0,
- 7, 0,188, 5, 7, 0,189, 5, 7, 0,190, 5, 7, 0,191, 5, 7, 0,192, 5, 7, 0,193, 5, 7, 0,194, 5, 7, 0,195, 5,
- 7, 0,196, 5, 7, 0,197, 5, 4, 0,198, 5, 7, 0,199, 5, 7, 0,200, 5, 2, 0, 66, 0, 2, 0, 30, 0,211, 0, 32, 0,
-209, 0,201, 5, 2, 0,202, 5, 2, 0,104, 5, 2, 0,105, 5, 2, 0,106, 5, 2, 0,250, 0, 2, 0,107, 5, 2, 0,203, 5,
- 2, 0,204, 5, 2, 0,205, 5, 2, 0,206, 5,208, 0,207, 5, 2, 0,208, 5, 2, 0,109, 5, 7, 0,209, 5,210, 0,210, 5,
- 7, 0,225, 4, 7, 0,226, 4, 4, 0, 18, 0, 2, 0, 87, 1, 2, 0,211, 5, 2, 0,228, 4, 2, 0,229, 4, 2, 0,212, 5,
- 2, 0, 27, 0, 2, 0,230, 4, 2, 0,231, 4, 2, 0,232, 4, 2, 0,233, 4, 2, 0,213, 5, 2, 0, 66, 0, 7, 0,214, 5,
-212, 0, 6, 0,212, 0, 0, 0,212, 0, 1, 0, 4, 0, 66, 4, 0, 0, 19, 0, 4, 0, 18, 0, 27, 0,215, 5,213, 0, 6, 0,
-214, 0,151, 3, 11, 0,216, 5, 0, 0,217, 5, 4, 0, 91, 0, 4, 0,218, 5, 4, 0, 27, 0,215, 0, 8, 0,213, 0,219, 5,
- 2, 0, 18, 0, 2, 0, 27, 0, 2, 0,220, 5, 2, 0,221, 5, 2, 0,222, 5, 4, 0, 66, 0, 11, 0,223, 5,216, 0, 6, 0,
- 2, 0,107, 0, 2, 0, 72, 4, 2, 0,224, 5, 2, 0,230, 2, 4, 0, 18, 0, 7, 0,214, 2,217, 0, 14, 0, 2, 0, 18, 0,
- 2, 0,225, 5, 2, 0,226, 5, 2, 0,227, 5,216, 0,228, 5, 11, 0,223, 5, 7, 0,229, 5, 7, 0, 55, 0, 4, 0,230, 5,
- 4, 0,231, 5, 4, 0,232, 5, 4, 0,233, 5, 41, 0,124, 0, 27, 0,167, 0,218, 0, 14, 0,213, 0,219, 5, 4, 0, 91, 0,
- 4, 0,234, 5, 7, 0,235, 5, 7, 0,236, 5, 7, 0,237, 5, 4, 0,238, 5, 4, 0,239, 5, 7, 0,240, 5, 7, 0,241, 5,
- 4, 0,242, 5, 7, 0,243, 5, 7, 0,244, 5, 4, 0, 27, 0,219, 0, 1, 0,213, 0,219, 5,220, 0, 7, 0,213, 0,219, 5,
- 2, 0, 18, 0, 2, 0, 27, 0, 4, 0,240, 0, 4, 0,245, 5, 91, 0,246, 5, 11, 0,223, 5,221, 0, 5, 0,221, 0, 0, 0,
-221, 0, 1, 0, 0, 0, 19, 0, 7, 0,247, 5, 4, 0, 27, 0,222, 0, 6, 0, 4, 0,107, 0, 7, 0,248, 5, 7, 0,181, 1,
- 7, 0, 43, 2, 4, 0, 18, 0, 4, 0, 27, 0,223, 0, 85, 0,220, 0,249, 5,220, 0,250, 5,218, 0,174, 3,219, 0,251, 5,
- 7, 0,252, 5, 2, 0,253, 5, 2, 0,250, 1, 7, 0,254, 5, 7, 0,255, 5, 2, 0, 72, 4, 2, 0, 0, 6, 7, 0, 1, 6,
- 7, 0, 2, 6, 7, 0, 3, 6, 2, 0, 4, 6, 2, 0,230, 5, 2, 0, 5, 6, 2, 0, 6, 6, 2, 0, 7, 6, 2, 0, 8, 6,
- 7, 0, 9, 6, 7, 0, 10, 6, 7, 0, 11, 6, 2, 0, 12, 6, 2, 0, 13, 6, 2, 0, 14, 6, 2, 0, 15, 6, 2, 0, 16, 6,
- 2, 0, 17, 6, 2, 0, 18, 6, 2, 0, 19, 6,215, 0, 20, 6,217, 0, 21, 6, 7, 0, 22, 6, 7, 0, 23, 6, 7, 0, 24, 6,
- 2, 0, 25, 6, 2, 0, 26, 6, 0, 0, 27, 6, 0, 0, 28, 6, 2, 0, 29, 6, 7, 0, 30, 6, 7, 0, 31, 6, 7, 0, 32, 6,
- 7, 0, 33, 6, 7, 0, 34, 6, 7, 0, 35, 6, 7, 0, 36, 6, 7, 0, 37, 6, 7, 0, 38, 6, 7, 0, 39, 6, 2, 0, 40, 6,
- 0, 0, 41, 6, 0, 0, 42, 6, 0, 0, 43, 6, 0, 0, 44, 6, 27, 0, 45, 6, 0, 0, 46, 6, 0, 0, 47, 6, 0, 0, 48, 6,
- 0, 0, 49, 6, 0, 0, 50, 6, 0, 0, 51, 6, 0, 0, 52, 6, 0, 0, 53, 6, 0, 0, 54, 6, 0, 0, 55, 6, 2, 0, 56, 6,
- 2, 0, 57, 6, 2, 0, 58, 6, 2, 0, 59, 6, 0, 0, 60, 6, 0, 0, 61, 6, 0, 0, 62, 6, 0, 0, 63, 6, 4, 0, 64, 6,
- 4, 0, 65, 6, 4, 0, 66, 6, 4, 0, 67, 6, 2, 0, 68, 6, 2, 0, 66, 0, 4, 0, 69, 6, 7, 0, 70, 6, 7, 0, 71, 6,
-222, 0, 72, 6,224, 0, 8, 0, 4, 0, 73, 6, 4, 0, 74, 6, 4, 0, 75, 6, 4, 0, 76, 6, 4, 0, 77, 6, 4, 0, 78, 6,
- 4, 0, 52, 0, 4, 0,143, 2,225, 0, 4, 0, 7, 0, 79, 6, 0, 0, 80, 6, 0, 0, 81, 6, 2, 0, 18, 0,226, 0, 4, 0,
- 7, 0, 82, 6, 4, 0, 18, 0, 4, 0, 83, 6, 4, 0, 55, 0, 41, 0, 46, 0, 22, 0, 32, 0, 34, 0, 74, 0, 27, 0,215, 5,
-197, 0, 84, 6, 41, 0, 85, 6, 14, 0, 86, 6,198, 0, 87, 6, 27, 0, 88, 6, 7, 0, 89, 6, 7, 0, 90, 6, 7, 0, 91, 6,
- 7, 0, 92, 6, 4, 0,210, 3, 4, 0, 93, 6, 4, 0, 94, 6, 2, 0, 18, 0, 2, 0, 76, 1, 57, 0, 70, 1,227, 0, 95, 6,
-223, 0, 96, 6,228, 0, 97, 6,206, 0,184, 0,203, 0, 98, 6, 14, 0,101, 0, 14, 0, 99, 6, 11, 0,100, 6, 11, 0,101, 6,
- 11, 0,102, 6, 11, 0,103, 6, 11, 0,104, 6,229, 0,105, 6, 2, 0,106, 6, 2, 0,107, 6, 2, 0,251, 0, 2, 0,211, 3,
- 4, 0,221, 3, 4, 0,108, 6, 14, 0,109, 6,209, 0,201, 5,211, 0,110, 6,225, 0,111, 6,179, 0,187, 3,226, 0,112, 6,
-230, 0,113, 6, 10, 0, 12, 4, 10, 0,114, 6,231, 0, 14, 0,231, 0, 0, 0,231, 0, 1, 0, 42, 0,242, 0, 40, 0, 69, 1,
-230, 0,113, 6,232, 0,115, 6, 7, 0,100, 2, 7, 0,101, 2, 7, 0,107, 0, 7, 0,116, 6, 2, 0,117, 6, 2, 0, 18, 0,
- 2, 0,142, 0, 2, 0, 27, 0,233, 0, 39, 0, 7, 0,118, 6, 7, 0,119, 6, 7, 0,120, 6, 7, 0,121, 6, 7, 0,122, 6,
- 7, 0,123, 6, 7, 0,124, 6, 7, 0,125, 6, 7, 0,126, 6, 68, 0,127, 6,179, 0,187, 3,233, 0,128, 6,234, 0,129, 6,
-235, 0,130, 6,236, 0,131, 6,237, 0,132, 6,238, 0,133, 6, 7, 0,134, 6, 7, 0,135, 6, 7, 0, 94, 1, 7, 0,136, 6,
- 7, 0,137, 6, 7, 0,138, 6, 7, 0,139, 6, 7, 0,174, 0, 7, 0,140, 6, 0, 0,141, 6, 0, 0,142, 6, 0, 0,117, 6,
- 0, 0,143, 6, 2, 0,144, 6, 2, 0,145, 6, 7, 0,146, 6, 2, 0,147, 6, 2, 0,148, 6, 7, 0,149, 6, 7, 0,150, 6,
- 7, 0,151, 6, 7, 0,152, 6,239, 0, 51, 0,240, 0, 0, 0,240, 0, 1, 0, 14, 0,153, 6, 4, 0,154, 6, 7, 0,155, 6,
- 2, 0,156, 6, 7, 0,135, 6, 7, 0, 94, 1, 7, 0,157, 6, 2, 0,158, 6, 0, 0,216, 2, 4, 0,159, 6, 2, 0,142, 6,
- 2, 0,117, 6, 27, 0,215, 5, 27, 0,160, 6, 14, 0,161, 6,231, 0,162, 6,239, 0,128, 6, 0, 0,163, 6, 4, 0,210, 3,
- 4, 0, 93, 6, 2, 0,164, 6, 2, 0,165, 6, 2, 0,166, 6, 2, 0,167, 6, 2, 0, 18, 0, 2, 0, 35, 2, 7, 0,113, 0,
- 7, 0,168, 6, 7, 0,169, 6, 7, 0,170, 6, 7, 0,174, 0, 7, 0, 89, 6, 2, 0,171, 6, 2, 0,172, 6, 2, 0,173, 6,
- 0, 0,174, 6, 0, 0,175, 6, 0, 0,176, 6, 0, 0,177, 6, 0, 0,178, 6, 14, 0,179, 6, 14, 0,180, 6, 14, 0,181, 6,
- 2, 0,182, 6, 2, 0,157, 2, 2, 0,183, 6, 0, 0,184, 6, 11, 0,185, 6,179, 0,187, 3,241, 0, 24, 0, 19, 0,240, 0,
- 19, 0, 62, 0, 18, 0,186, 6, 18, 0,187, 6, 18, 0,188, 6, 7, 0,189, 6, 7, 0,190, 6, 7, 0,191, 6, 7, 0,192, 6,
- 2, 0,193, 6, 2, 0,194, 6, 2, 0,195, 6, 2, 0,196, 6, 2, 0,197, 6, 2, 0, 18, 0, 2, 0,198, 6, 2, 0,199, 6,
- 2, 0,200, 6, 2, 0,201, 6, 2, 0,202, 6, 2, 0,167, 6, 7, 0,203, 6, 4, 0,204, 6, 4, 0,205, 6,240, 0, 6, 0,
-240, 0, 0, 0,240, 0, 1, 0, 14, 0,153, 6, 4, 0,154, 6, 7, 0,155, 6, 2, 0,156, 6,242, 0, 8, 0,240, 0, 0, 0,
-240, 0, 1, 0, 14, 0,153, 6, 4, 0,154, 6, 7, 0,155, 6, 2, 0,156, 6, 0, 0,206, 6, 0, 0,123, 0,243, 0, 14, 0,
-240, 0, 0, 0,240, 0, 1, 0, 14, 0,153, 6, 4, 0,154, 6, 7, 0,155, 6, 2, 0,156, 6,241, 0,207, 6,244, 0,208, 6,
- 14, 0,209, 6, 2, 0, 87, 1, 2, 0,210, 6, 4, 0, 18, 0, 7, 0,211, 6, 4, 0,167, 6,245, 0, 21, 0,240, 0, 0, 0,
-240, 0, 1, 0, 14, 0,153, 6, 4, 0,154, 6, 7, 0,155, 6, 2, 0,156, 6,241, 0,207, 6, 2, 0,212, 6, 2, 0,213, 6,
- 2, 0,214, 6, 2, 0,215, 6, 2, 0,198, 6, 2, 0,216, 6, 2, 0,217, 6, 0, 0, 18, 0, 0, 0, 27, 0, 11, 0, 76, 2,
- 4, 0,218, 6, 4, 0,219, 6, 22, 0,220, 6, 11, 0,221, 6,246, 0, 18, 0,240, 0, 0, 0,240, 0, 1, 0, 14, 0,153, 6,
- 4, 0,154, 6, 7, 0,155, 6, 2, 0,156, 6,241, 0,207, 6, 7, 0,100, 2, 7, 0,101, 2, 2, 0,212, 6, 2, 0,222, 6,
- 2, 0,223, 6, 2, 0,224, 6, 4, 0, 18, 0, 7, 0,225, 6, 4, 0,117, 6, 4, 0, 27, 0,179, 0,187, 3,247, 0, 16, 0,
- 0, 0,226, 6, 0, 0,227, 6, 0, 0,228, 6, 0, 0,229, 6, 0, 0,230, 6, 0, 0,231, 6, 4, 0,232, 6, 4, 0,233, 6,
- 4, 0,234, 6, 2, 0, 16, 0, 2, 0, 18, 0, 2, 0,235, 6, 2, 0,236, 6, 2, 0,193, 1, 2, 0,237, 6, 0, 0,238, 6,
-248, 0, 16, 0,240, 0, 0, 0,240, 0, 1, 0, 14, 0,153, 6, 4, 0,154, 6, 4, 0,239, 6,247, 0,240, 6,249, 0,241, 6,
- 14, 0,242, 6, 14, 0,243, 6,250, 0,244, 6,238, 0,245, 6,251, 0,246, 6, 2, 0,247, 6, 2, 0,248, 6, 2, 0,249, 6,
- 2, 0, 30, 0,252, 0, 15, 0,240, 0, 0, 0,240, 0, 1, 0, 14, 0,153, 6, 4, 0,154, 6, 7, 0,155, 6, 2, 0,156, 6,
-241, 0,207, 6, 14, 0,250, 6,253, 0,251, 6, 0, 0,252, 6,254, 0,253, 6, 2, 0, 18, 0, 2, 0,254, 6, 2, 0,255, 6,
- 2, 0, 0, 7,255, 0, 25, 0,240, 0, 0, 0,240, 0, 1, 0, 14, 0,153, 6, 4, 0,154, 6, 4, 0, 18, 0, 42, 0,249, 2,
- 40, 0, 69, 1, 54, 0, 1, 7, 0, 1, 2, 7, 1, 1, 3, 7,179, 0,187, 3, 7, 0, 4, 7, 7, 0,100, 2, 7, 0,101, 2,
- 7, 0,225, 6, 7, 0, 5, 7, 7, 0, 6, 7, 2, 0, 7, 7, 2, 0, 27, 0, 2, 0, 8, 7, 2, 0, 9, 7, 0, 0, 10, 7,
- 0, 0, 11, 7, 0, 0, 12, 7, 0, 0,167, 6, 2, 1, 11, 0,240, 0, 0, 0,240, 0, 1, 0, 14, 0,153, 6, 4, 0,154, 6,
- 7, 0,155, 6, 2, 0,156, 6, 2, 0,210, 6, 2, 0, 18, 0, 4, 0, 27, 0,244, 0,208, 6,241, 0,207, 6, 3, 1, 31, 0,
-240, 0, 0, 0,240, 0, 1, 0, 14, 0,153, 6, 4, 0,154, 6, 7, 0,155, 6, 2, 0,156, 6, 37, 0, 13, 7, 4, 0, 14, 7,
- 4, 0, 15, 7, 2, 0, 91, 0, 2, 0, 16, 7, 2, 0, 17, 7, 0, 0, 18, 7, 0, 0, 19, 7, 4, 0, 20, 7, 4, 0, 21, 7,
- 4, 0, 22, 7, 2, 0, 23, 7, 2, 0, 24, 7, 2, 0, 25, 7, 2, 0, 26, 7, 7, 0, 27, 7, 18, 0, 28, 7, 18, 0, 29, 7,
- 4, 0, 30, 7, 4, 0, 31, 7, 0, 0, 32, 7, 0, 0, 33, 7, 2, 0, 34, 7, 0, 0,216, 2, 11, 0, 35, 7, 4, 1, 10, 0,
- 22, 0, 32, 0, 11, 0, 36, 7, 11, 0, 37, 7, 11, 0, 38, 7, 11, 0, 39, 7, 11, 0, 40, 7, 4, 0, 91, 0, 4, 0, 41, 7,
- 0, 0, 42, 7, 0, 0, 43, 7, 5, 1, 10, 0,240, 0, 0, 0,240, 0, 1, 0, 14, 0,153, 6, 4, 0,154, 6, 7, 0,155, 6,
- 4, 1, 44, 7, 2, 0, 91, 0, 2, 0, 16, 7, 4, 0, 66, 0, 11, 0, 45, 7, 6, 1, 3, 0, 6, 1, 0, 0, 6, 1, 1, 0,
- 7, 0, 46, 7, 7, 1, 9, 0,240, 0, 0, 0,240, 0, 1, 0, 14, 0,153, 6, 4, 0,154, 6, 7, 0,155, 6,241, 0,207, 6,
- 14, 0, 47, 7, 4, 0, 48, 7, 4, 0, 18, 0, 8, 1, 27, 0,240, 0, 0, 0,240, 0, 1, 0, 14, 0,153, 6, 4, 0,154, 6,
- 7, 0,155, 6, 2, 0,156, 6,241, 0,207, 6, 22, 0, 49, 7, 22, 0, 80, 0, 2, 0, 18, 0, 2, 0, 66, 0, 7, 0, 50, 7,
- 7, 0,100, 2, 7, 0,101, 2, 7, 0,225, 6, 7, 0, 51, 7, 7, 0, 52, 7, 7, 0, 53, 7, 57, 0, 70, 1, 57, 0, 54, 7,
- 4, 0, 55, 7, 2, 0, 56, 7, 2, 0, 57, 7, 2, 0,251, 0, 2, 0, 86, 1, 14, 0, 58, 7,179, 0,187, 3, 9, 1, 10, 0,
-240, 0, 0, 0,240, 0, 1, 0, 14, 0,153, 6, 4, 0,154, 6, 7, 0,155, 6, 2, 0,156, 6, 2, 0, 18, 0, 2, 0,219, 3,
- 4, 0, 27, 0,179, 0,187, 3, 10, 1, 7, 0, 10, 1, 0, 0, 10, 1, 1, 0, 4, 0, 59, 7, 4, 0, 22, 0, 0, 0, 85, 0,
- 4, 0, 60, 7, 4, 0, 16, 0, 11, 1, 14, 0,240, 0, 0, 0,240, 0, 1, 0, 14, 0,153, 6, 4, 0,154, 6, 7, 0,155, 6,
- 2, 0,156, 6, 4, 0, 17, 7, 4, 0, 27, 0, 14, 0, 61, 7, 14, 0, 62, 7, 0, 0, 63, 7, 0, 0, 64, 7, 4, 0, 65, 7,
- 4, 0, 66, 7, 12, 1, 6, 0,240, 0, 0, 0,240, 0, 1, 0, 14, 0,153, 6, 4, 0,154, 6, 4, 0, 27, 0, 0, 0, 67, 7,
- 13, 1, 28, 0,240, 0, 0, 0,240, 0, 1, 0, 14, 0,153, 6, 4, 0,154, 6, 7, 0,100, 2, 7, 0,101, 2, 7, 0, 68, 7,
- 7, 0, 69, 7, 7, 0,225, 6,232, 0, 70, 7,230, 0,113, 6, 14, 1, 2, 7, 4, 0, 18, 0, 2, 0, 87, 1, 2, 0,117, 6,
- 4, 0, 71, 7, 7, 0, 72, 7, 7, 0,153, 3, 7, 0, 99, 3, 4, 0, 27, 0, 7, 0, 73, 7, 7, 0, 74, 7, 4, 0, 75, 7,
- 4, 0, 30, 0, 11, 0, 76, 7, 2, 0, 77, 7, 2, 0, 78, 7, 4, 0,250, 1, 15, 1, 7, 0, 15, 1, 0, 0, 15, 1, 1, 0,
- 0, 0, 79, 7, 2, 0, 80, 7, 2, 0, 81, 7, 2, 0, 82, 7, 2, 0, 27, 0, 16, 1, 12, 0, 2, 0, 81, 7, 2, 0, 83, 7,
- 2, 0, 84, 7, 0, 0,216, 2, 2, 0, 85, 7, 2, 0, 86, 7, 2, 0, 87, 7, 2, 0, 88, 7, 2, 0, 89, 7, 2, 0,198, 6,
- 7, 0, 90, 7, 7, 0, 91, 7, 17, 1, 18, 0, 17, 1, 0, 0, 17, 1, 1, 0, 0, 0, 19, 0, 16, 1, 92, 7, 16, 1, 93, 7,
- 16, 1, 94, 7, 16, 1, 95, 7, 7, 0, 96, 7, 2, 0, 97, 7, 2, 0, 98, 7, 2, 0, 99, 7, 2, 0,100, 7, 2, 0,101, 7,
- 2, 0,102, 7, 2, 0,103, 7, 2, 0,104, 7, 2, 0,105, 7, 2, 0, 27, 0, 18, 1, 10, 0, 0, 0,106, 7, 0, 0,107, 7,
- 0, 0,108, 7, 0, 0,109, 7, 0, 0,110, 7, 0, 0,111, 7, 2, 0,112, 7, 2, 0,113, 7, 2, 0,114, 7, 2, 0,115, 7,
- 19, 1, 8, 0, 0, 0,116, 7, 0, 0,117, 7, 0, 0,118, 7, 0, 0,119, 7, 0, 0,120, 7, 0, 0,121, 7, 7, 0,116, 6,
- 7, 0, 27, 0, 20, 1, 3, 0, 0, 0,122, 7, 2, 0,123, 7, 2, 0, 27, 0, 21, 1, 22, 0, 18, 1,124, 7, 18, 1,125, 7,
- 18, 1,126, 7, 18, 1,127, 7, 18, 1,128, 7, 18, 1,129, 7, 18, 1,130, 7, 18, 1,131, 7, 18, 1,132, 7, 18, 1,133, 7,
- 18, 1,134, 7, 18, 1,135, 7, 18, 1,136, 7, 18, 1,137, 7, 18, 1,138, 7, 18, 1,139, 7, 18, 1,140, 7, 19, 1,141, 7,
- 20, 1,142, 7, 0, 0,143, 7, 7, 0,144, 7, 7, 0, 27, 0, 22, 1,122, 0, 0, 0,145, 7, 0, 0,146, 7, 0, 0,110, 7,
- 0, 0,147, 7, 0, 0,122, 7, 0, 0,148, 7, 0, 0,149, 7, 0, 0,150, 7, 0, 0,151, 7, 0, 0,152, 7, 0, 0,153, 7,
- 0, 0,154, 7, 0, 0,155, 7, 0, 0,156, 7, 0, 0,157, 7, 0, 0,158, 7, 0, 0,159, 7, 0, 0,160, 7, 0, 0,161, 7,
- 0, 0,162, 7, 0, 0,163, 7, 0, 0,164, 7, 0, 0,165, 7, 0, 0,166, 7, 0, 0,167, 7, 0, 0,168, 7, 0, 0,169, 7,
- 0, 0,170, 7, 0, 0,171, 7, 0, 0,172, 7, 0, 0,173, 7, 0, 0,174, 7, 0, 0,175, 7, 0, 0,176, 7, 0, 0,177, 7,
- 0, 0,178, 7, 0, 0,179, 7, 0, 0,180, 7, 0, 0,181, 7, 0, 0,182, 7, 0, 0,183, 7, 0, 0,184, 7, 0, 0,185, 7,
- 0, 0,186, 7, 0, 0,187, 7, 0, 0,188, 7, 0, 0,189, 7, 0, 0,190, 7, 0, 0,191, 7, 0, 0,192, 7, 0, 0,193, 7,
- 0, 0,194, 7, 0, 0,195, 7, 0, 0,196, 7, 0, 0,197, 7, 0, 0,198, 7, 0, 0,199, 7, 0, 0,200, 7, 0, 0,201, 7,
- 0, 0,202, 7, 0, 0,203, 7, 0, 0,204, 7, 0, 0,205, 7, 0, 0,206, 7, 0, 0,207, 7, 0, 0,208, 7, 0, 0,209, 7,
- 0, 0,210, 7, 0, 0,211, 7, 0, 0,212, 7, 0, 0,213, 7, 0, 0,214, 7, 0, 0,215, 7, 0, 0,216, 7, 0, 0,217, 7,
- 0, 0,218, 7, 0, 0,219, 7, 0, 0,220, 7, 0, 0,221, 7, 0, 0,222, 7, 0, 0,223, 7, 0, 0,224, 7, 0, 0,225, 7,
- 0, 0,226, 7, 0, 0,227, 7, 0, 0,228, 7, 0, 0,229, 7, 0, 0,230, 7, 0, 0,231, 7, 0, 0,232, 7, 0, 0,233, 7,
- 0, 0,234, 7, 0, 0,235, 7, 0, 0,236, 7, 0, 0,237, 7, 0, 0,238, 7, 0, 0,239, 7, 0, 0,240, 7, 0, 0,241, 7,
- 0, 0,242, 7, 0, 0,243, 7, 0, 0,244, 7, 0, 0,245, 7, 0, 0,246, 7, 0, 0,247, 7, 0, 0,248, 7, 0, 0,249, 7,
- 0, 0,250, 7, 0, 0,251, 7, 0, 0,252, 7, 0, 0,253, 7, 0, 0,254, 7, 0, 0,255, 7, 0, 0, 0, 8, 0, 0, 1, 8,
- 0, 0, 2, 8, 0, 0, 3, 8, 0, 0, 4, 8, 0, 0, 5, 8, 0, 0, 6, 8, 0, 0, 7, 8, 0, 0, 8, 8, 23, 1, 5, 0,
- 0, 0, 9, 8, 0, 0,168, 7, 0, 0,174, 7, 2, 0, 18, 0, 2, 0, 27, 0, 24, 1, 24, 0, 24, 1, 0, 0, 24, 1, 1, 0,
- 0, 0,179, 5, 21, 1, 10, 8, 22, 1, 11, 8, 22, 1, 12, 8, 22, 1, 13, 8, 22, 1, 14, 8, 22, 1, 15, 8, 22, 1, 16, 8,
- 22, 1, 17, 8, 22, 1, 18, 8, 22, 1, 19, 8, 22, 1, 20, 8, 22, 1, 21, 8, 22, 1, 22, 8, 22, 1, 23, 8, 22, 1, 24, 8,
- 22, 1, 25, 8, 22, 1, 26, 8, 22, 1, 27, 8, 23, 1, 28, 8, 4, 0, 29, 8, 4, 0, 27, 0, 25, 1, 3, 0, 25, 1, 0, 0,
- 25, 1, 1, 0, 0, 0, 30, 8, 26, 1, 5, 0, 4, 0, 18, 0, 4, 0, 27, 0, 7, 0,156, 2, 7, 0, 31, 8, 7, 0, 50, 2,
- 27, 1, 95, 0, 4, 0, 18, 0, 4, 0, 32, 8, 4, 0, 33, 8, 0, 0, 34, 8, 0, 0, 35, 8, 0, 0, 36, 8, 0, 0, 37, 8,
- 0, 0, 38, 8, 0, 0, 39, 8, 0, 0, 40, 8, 0, 0, 41, 8, 0, 0, 42, 8, 0, 0, 43, 8, 4, 0, 44, 8, 2, 0, 45, 8,
- 2, 0, 46, 8, 2, 0, 47, 8, 2, 0, 48, 8, 4, 0, 49, 8, 4, 0, 50, 8, 4, 0, 51, 8, 4, 0, 52, 8, 2, 0, 53, 8,
- 2, 0, 54, 8, 4, 0, 55, 8, 4, 0, 56, 8, 4, 0, 57, 8, 4, 0, 58, 8, 4, 0, 59, 8, 4, 0, 61, 7, 4, 0, 60, 8,
- 2, 0, 61, 8, 2, 0, 62, 8, 2, 0, 63, 8, 2, 0, 64, 8, 14, 0, 65, 8, 14, 0, 66, 8, 14, 0, 67, 8, 14, 0, 68, 8,
- 14, 0, 69, 8, 14, 0, 70, 8, 0, 0, 71, 8, 2, 0, 72, 8, 2, 0, 73, 8, 2, 0, 74, 8, 2, 0, 75, 8, 2, 0, 76, 8,
- 2, 0, 77, 8, 2, 0, 78, 8, 2, 0, 79, 8, 26, 1, 80, 8, 2, 0, 81, 8, 2, 0, 82, 8, 2, 0, 83, 8, 2, 0, 84, 8,
- 2, 0, 85, 8, 2, 0, 86, 8, 2, 0, 87, 8, 2, 0, 88, 8, 4, 0, 89, 8, 4, 0, 90, 8, 2, 0, 91, 8, 2, 0, 92, 8,
- 2, 0, 93, 8, 2, 0, 94, 8, 2, 0, 95, 8, 2, 0, 96, 8, 2, 0, 97, 8, 2, 0, 98, 8, 2, 0, 99, 8, 2, 0,100, 8,
- 2, 0,101, 8, 2, 0,102, 8, 2, 0,103, 8, 2, 0,104, 8, 2, 0,105, 8, 2, 0,106, 8, 2, 0,107, 8, 2, 0,108, 8,
- 7, 0,109, 8, 4, 0,110, 8, 7, 0,111, 8, 2, 0, 25, 6, 2, 0, 26, 6, 2, 0,112, 8, 2, 0,113, 8, 50, 0,114, 8,
- 7, 0,115, 8, 2, 0,116, 8, 2, 0,250, 1, 0, 0,117, 8, 4, 0,118, 8, 4, 0,119, 8, 7, 0,120, 8, 7, 0, 27, 0,
- 28, 1, 24, 0, 22, 0, 32, 0, 14, 0,121, 8, 14, 0,122, 8, 14, 0,123, 8, 14, 0,153, 6, 41, 0,124, 0, 41, 0,124, 8,
- 4, 0,125, 8, 4, 0, 66, 0, 2, 0,126, 8, 2, 0,127, 8, 2, 0,128, 8, 2, 0,129, 8, 2, 0,130, 8, 2, 0,131, 8,
- 2, 0,132, 8, 2, 0,133, 8, 2, 0,134, 8, 2, 0,135, 8, 2, 0,136, 8, 2, 0, 27, 0,238, 0,137, 8, 11, 0,138, 8,
- 2, 0,139, 8, 29, 1, 5, 0, 29, 1, 0, 0, 29, 1, 1, 0, 29, 1,140, 8, 15, 0,141, 8, 4, 0, 18, 0, 30, 1, 7, 0,
- 30, 1, 0, 0, 30, 1, 1, 0, 29, 1,142, 8, 29, 1,143, 8, 2, 0,128, 5, 2, 0, 18, 0, 4, 0, 27, 0, 31, 1, 25, 0,
- 31, 1, 0, 0, 31, 1, 1, 0, 32, 1,144, 8, 33, 1,246, 6, 0, 0,145, 8, 0, 0,146, 8, 0, 0,147, 8, 2, 0,148, 8,
- 2, 0,149, 8, 2, 0,150, 8, 2, 0,151, 8, 2, 0,152, 8, 2, 0, 27, 0, 2, 0, 18, 0, 2, 0,153, 8, 2, 0,154, 8,
- 2, 0,155, 8, 4, 0,156, 8, 31, 1,157, 8, 11, 0,158, 8, 4, 0,159, 8, 4, 0,160, 8, 4, 0,161, 8, 4, 0,162, 8,
- 0, 0,163, 8, 34, 1, 22, 0, 34, 1, 0, 0, 34, 1, 1, 0, 29, 1,142, 8, 29, 1,143, 8, 29, 1,164, 8, 29, 1,165, 8,
- 28, 1,166, 8, 18, 0, 50, 0, 0, 0,154, 6, 0, 0,167, 8, 2, 0,199, 6, 2, 0,200, 6, 2, 0,168, 8, 2, 0, 27, 0,
- 2, 0,130, 8, 2, 0, 60, 7, 2, 0, 18, 0, 35, 1,144, 8, 14, 0,169, 8, 14, 0,153, 6, 14, 0,170, 8, 14, 0,171, 8,
- 36, 1, 24, 0, 36, 1, 0, 0, 36, 1, 1, 0,241, 0,207, 6, 18, 0,172, 8, 18, 0,173, 8, 2, 0,199, 6, 2, 0,200, 6,
- 2, 0,174, 8, 2, 0,175, 8, 2, 0,176, 8, 2, 0, 18, 0, 7, 0, 96, 2, 2, 0,150, 8, 2, 0,151, 8, 2, 0,129, 8,
- 2, 0,177, 8, 2, 0,134, 8, 2, 0, 86, 1, 37, 1,144, 8, 14, 0,178, 8, 14, 0,179, 8, 14, 0,170, 8, 0, 0,180, 8,
- 11, 0,181, 8, 38, 1, 14, 0, 0, 0,182, 8, 2, 0,183, 8, 2, 0,184, 8, 2, 0,185, 8, 2, 0,186, 8, 2, 0,117, 5,
- 2, 0,187, 8, 28, 1,188, 8, 41, 0,189, 8, 4, 0,190, 8, 4, 0,191, 8, 4, 0,192, 8, 4, 0, 27, 0, 0, 0, 79, 7,
- 39, 1, 3, 0, 0, 0,193, 8, 4, 0,194, 8, 4, 0,195, 8, 40, 1, 4, 0, 4, 0, 14, 7, 4, 0,196, 8, 4, 0, 20, 7,
- 4, 0,197, 8, 41, 1, 2, 0, 4, 0,198, 8, 4, 0,199, 8, 42, 1, 5, 0, 7, 0,200, 8, 7, 0,201, 8, 7, 0,202, 8,
- 4, 0, 18, 0, 4, 0, 27, 0, 43, 1, 7, 0, 0, 0,203, 8, 0, 0,228, 6, 44, 0,137, 0, 2, 0,204, 8, 2, 0, 79, 5,
- 2, 0,205, 8, 2, 0,206, 8, 44, 1, 12, 0, 44, 1, 0, 0, 44, 1, 1, 0, 4, 0, 28, 0, 4, 0,207, 8, 4, 0,208, 8,
- 4, 0,209, 8, 39, 1,210, 8, 0, 0,203, 8, 43, 1,181, 3, 40, 1,211, 8, 41, 1,212, 8, 42, 1,213, 8, 45, 1, 12, 0,
- 0, 0, 35, 0, 11, 0,226, 0, 0, 0,227, 0, 4, 0,230, 0, 4, 0,238, 0, 11, 0,231, 0, 7, 0,233, 0, 7, 0,234, 0,
- 11, 0,214, 8, 11, 0,215, 8, 11, 0,235, 0, 11, 0,237, 0, 46, 1, 50, 0, 46, 1, 0, 0, 46, 1, 1, 0, 11, 0,216, 8,
- 11, 0, 25, 0, 0, 0, 19, 0, 4, 0, 18, 0, 4, 0, 16, 0, 4, 0, 22, 0, 4, 0, 89, 0, 4, 0,217, 8, 4, 0,218, 8,
- 4, 0,208, 8, 4, 0,209, 8, 4, 0,219, 8, 4, 0,250, 0, 4, 0,220, 8, 4, 0,221, 8, 7, 0,222, 8, 7, 0,223, 8,
- 7, 0,224, 8, 2, 0,225, 8, 2, 0,226, 8, 4, 0,227, 8, 4, 0,228, 8, 44, 1,229, 8, 31, 0, 79, 0, 41, 0,124, 0,
- 27, 0,230, 8, 44, 0,137, 0,230, 0,113, 6, 7, 0,231, 8, 7, 0,232, 8, 45, 1, 71, 1, 46, 1,233, 8, 46, 1,234, 8,
- 46, 1,235, 8, 14, 0,236, 8, 47, 1,237, 8, 11, 0,238, 8, 7, 0, 89, 4, 7, 0,239, 8, 7, 0,240, 8, 7, 0,241, 8,
- 11, 0,242, 8, 4, 0,243, 8, 4, 0,244, 8, 4, 0,245, 8, 7, 0,246, 8, 4, 0,128, 0, 4, 0, 27, 0, 48, 1, 4, 0,
- 48, 1, 0, 0, 48, 1, 1, 0, 14, 0,247, 8, 46, 1,248, 8,227, 0, 11, 0, 14, 0,249, 8, 14, 0,236, 8, 14, 0,250, 8,
- 46, 1,251, 8, 0, 0,252, 8, 0, 0,253, 8, 4, 0,254, 8, 4, 0,255, 8, 4, 0, 0, 9, 4, 0, 27, 0, 19, 0, 1, 9,
- 49, 1, 4, 0, 7, 0, 2, 9, 7, 0, 99, 3, 2, 0, 3, 9, 2, 0, 4, 9, 50, 1, 6, 0, 7, 0, 5, 9, 7, 0, 6, 9,
- 7, 0, 7, 9, 7, 0, 8, 9, 4, 0, 9, 9, 4, 0, 10, 9, 51, 1, 8, 0, 7, 0, 11, 9, 7, 0, 12, 9, 7, 0, 13, 9,
- 7, 0, 14, 9, 7, 0, 15, 9, 4, 0,255, 2, 4, 0, 16, 9, 4, 0, 17, 9, 52, 1, 2, 0, 7, 0,187, 5, 7, 0, 27, 0,
- 53, 1, 5, 0, 7, 0, 18, 9, 7, 0, 19, 9, 4, 0, 91, 0, 4, 0,217, 2, 4, 0, 20, 9, 54, 1, 6, 0, 54, 1, 0, 0,
- 54, 1, 1, 0, 2, 0, 16, 0, 2, 0, 18, 0, 2, 0, 21, 9, 2, 0, 55, 0, 55, 1, 8, 0, 55, 1, 0, 0, 55, 1, 1, 0,
- 2, 0, 16, 0, 2, 0, 18, 0, 2, 0, 21, 9, 2, 0, 55, 0, 7, 0, 22, 0, 7, 0,128, 0, 56, 1, 45, 0, 56, 1, 0, 0,
- 56, 1, 1, 0, 2, 0, 16, 0, 2, 0, 18, 0, 2, 0, 21, 9, 2, 0,246, 0, 2, 0,131, 4, 2, 0, 22, 9, 7, 0, 23, 9,
- 7, 0, 90, 0, 7, 0, 12, 3, 4, 0, 24, 9, 4, 0, 81, 0, 4, 0,219, 2, 7, 0, 25, 9, 7, 0, 26, 9, 7, 0, 27, 9,
- 7, 0, 28, 9, 7, 0, 29, 9, 7, 0, 30, 9, 7, 0, 9, 3, 7, 0, 68, 1, 7, 0, 31, 9, 7, 0, 32, 9, 7, 0, 27, 0,
- 7, 0, 33, 9, 7, 0, 34, 9, 7, 0, 35, 9, 2, 0, 36, 9, 2, 0, 37, 9, 2, 0, 38, 9, 2, 0, 39, 9, 2, 0, 40, 9,
- 2, 0, 41, 9, 2, 0, 42, 9, 2, 0, 43, 9, 2, 0, 35, 2, 2, 0, 44, 9, 2, 0, 32, 2, 2, 0, 45, 9, 0, 0, 46, 9,
- 0, 0, 47, 9, 7, 0,244, 0, 57, 1, 48, 9, 64, 0,253, 1, 58, 1, 16, 0, 58, 1, 0, 0, 58, 1, 1, 0, 2, 0, 16, 0,
- 2, 0, 18, 0, 2, 0, 21, 9, 2, 0,246, 0, 7, 0, 4, 3, 7, 0, 5, 3, 7, 0, 6, 3, 7, 0, 85, 2, 7, 0, 7, 3,
- 7, 0, 8, 3, 7, 0, 49, 9, 7, 0, 9, 3, 7, 0, 11, 3, 7, 0, 12, 3,254, 0, 5, 0, 2, 0, 16, 0, 2, 0, 50, 9,
- 2, 0, 18, 0, 2, 0, 51, 9, 22, 0, 49, 7,253, 0, 3, 0, 4, 0, 68, 0, 4, 0, 52, 9,254, 0, 2, 0, 59, 1, 7, 0,
- 59, 1, 0, 0, 59, 1, 1, 0, 0, 0, 19, 0, 2, 0, 16, 0, 2, 0, 18, 0, 4, 0, 21, 0, 11, 0, 53, 9, 60, 1, 5, 0,
- 0, 0, 19, 0, 7, 0, 94, 1, 7, 0, 54, 9, 4, 0, 55, 9, 4, 0, 27, 0, 61, 1, 4, 0, 2, 0, 16, 0, 2, 0, 18, 0,
- 2, 0, 66, 0, 2, 0, 30, 0, 62, 1, 4, 0, 0, 0, 19, 0, 63, 0, 56, 9, 7, 0, 94, 1, 7, 0, 27, 0, 63, 1, 6, 0,
- 2, 0, 57, 9, 2, 0, 58, 9, 2, 0, 16, 0, 2, 0, 59, 9, 0, 0, 60, 9, 0, 0, 61, 9, 64, 1, 5, 0, 4, 0, 16, 0,
- 4, 0, 27, 0, 0, 0, 19, 0, 0, 0, 62, 9, 0, 0, 63, 9, 65, 1, 3, 0, 4, 0, 16, 0, 4, 0, 27, 0, 0, 0, 19, 0,
- 66, 1, 4, 0, 2, 0, 64, 9, 2, 0, 65, 9, 2, 0, 18, 0, 2, 0, 27, 0, 67, 1, 6, 0, 0, 0, 19, 0, 0, 0, 66, 9,
- 2, 0, 67, 9, 2, 0, 9, 3, 2, 0, 87, 1, 2, 0, 30, 0, 68, 1, 5, 0, 0, 0, 19, 0, 7, 0, 99, 3, 7, 0,222, 4,
- 2, 0, 18, 0, 2, 0,231, 2, 69, 1, 3, 0, 0, 0, 19, 0, 4, 0,219, 2, 4, 0, 64, 9, 70, 1, 7, 0, 0, 0, 19, 0,
- 7, 0,222, 4, 0, 0, 68, 9, 0, 0, 69, 9, 2, 0, 87, 1, 2, 0, 66, 0, 4, 0, 70, 9, 71, 1, 4, 0, 0, 0, 71, 9,
- 0, 0, 72, 9, 4, 0, 16, 0, 7, 0,235, 2, 72, 1, 3, 0, 27, 0, 73, 9, 0, 0, 74, 9, 0, 0, 75, 9, 73, 1, 18, 0,
- 73, 1, 0, 0, 73, 1, 1, 0, 2, 0, 16, 0, 2, 0, 76, 9, 2, 0, 18, 0, 2, 0, 77, 9, 2, 0, 78, 9, 2, 0, 79, 9,
- 2, 0, 66, 0, 2, 0, 30, 0, 0, 0, 19, 0, 11, 0, 2, 0, 74, 1, 80, 9, 27, 0, 43, 0, 2, 0,224, 5, 2, 0,181, 2,
- 2, 0, 81, 9, 2, 0, 27, 0, 75, 1, 11, 0, 0, 0, 19, 0, 0, 0, 16, 0, 0, 0, 82, 9, 2, 0, 18, 0, 2, 0,231, 2,
- 2, 0, 83, 9, 4, 0, 84, 9, 4, 0, 85, 9, 4, 0, 86, 9, 4, 0, 87, 9, 4, 0, 88, 9, 76, 1, 1, 0, 0, 0, 89, 9,
- 77, 1, 4, 0, 37, 0, 13, 7, 0, 0, 30, 8, 4, 0, 87, 1, 4, 0, 18, 0, 74, 1, 18, 0, 74, 1, 0, 0, 74, 1, 1, 0,
- 74, 1, 90, 9, 2, 0, 16, 0, 2, 0, 18, 0, 2, 0, 91, 9, 2, 0, 79, 9, 2, 0, 76, 9, 2, 0, 92, 9, 2, 0, 30, 0,
- 2, 0,250, 1, 0, 0, 19, 0, 11, 0, 2, 0, 78, 1, 80, 9, 73, 1, 93, 9, 2, 0, 14, 0, 2, 0, 94, 9, 4, 0, 95, 9,
- 79, 1, 3, 0, 4, 0,245, 2, 4, 0, 27, 0, 27, 0, 43, 0, 80, 1, 15, 0,177, 0, 96, 9, 2, 0, 16, 0, 2, 0, 18, 0,
- 7, 0, 23, 9, 7, 0, 90, 0, 0, 0, 19, 0, 0, 0, 97, 9, 2, 0, 98, 9, 2, 0, 99, 9, 2, 0,133, 0, 2, 0,100, 9,
- 2, 0,101, 9, 2, 0, 27, 0, 7, 0,102, 9, 7, 0,103, 9, 81, 1, 8, 0, 7, 0,104, 9, 7, 0,105, 9, 7, 0,106, 9,
- 7, 0,107, 9, 7, 0,108, 9, 7, 0,109, 9, 7, 0,110, 9, 7, 0,111, 9, 82, 1, 13, 0, 2, 0, 18, 0, 2, 0,112, 9,
- 4, 0, 66, 0, 4, 0, 30, 0, 2, 0,184, 6, 7, 0, 89, 4, 7, 0,239, 8, 47, 1,237, 8, 81, 1,113, 9, 2, 0, 16, 0,
- 2, 0,122, 5, 2, 0,221, 3, 2, 0,114, 9, 83, 1, 11, 0, 4, 0,245, 2, 2, 0, 16, 0, 2, 0, 18, 0, 27, 0, 43, 0,
- 79, 0,115, 9, 0, 0, 19, 0, 7, 0,116, 9, 7, 0,117, 9, 7, 0,227, 3, 2, 0,118, 9, 2, 0,119, 9, 84, 1, 5, 0,
- 2, 0, 16, 0, 2, 0, 66, 0, 4, 0, 27, 0, 41, 0,124, 0, 27, 0,215, 5, 85, 1, 5, 0, 4, 0, 27, 0, 4, 0, 16, 0,
- 0, 0, 19, 0, 0, 0, 62, 9, 27, 0, 43, 0, 86, 1, 13, 0, 2, 0, 18, 0, 2, 0, 16, 0, 2, 0, 76, 9, 2, 0,228, 3,
- 7, 0,120, 9, 7, 0,121, 9, 7, 0, 86, 1, 7, 0,122, 9, 7, 0,197, 3, 7, 0,201, 3, 7, 0,123, 9, 7, 0,124, 9,
- 27, 0,125, 9, 87, 1, 10, 0, 2, 0, 18, 0, 2, 0, 16, 0, 7, 0, 23, 9, 7, 0, 90, 0, 0, 0, 19, 0, 0, 0, 97, 9,
- 2, 0, 66, 0, 2, 0, 30, 0, 2, 0,250, 1, 2, 0,122, 5, 88, 1, 8, 0, 27, 0, 43, 0, 7, 0, 6, 3, 7, 0,126, 9,
- 7, 0,127, 9, 7, 0,228, 3, 2, 0, 66, 0, 2, 0,231, 2, 7, 0, 30, 0, 89, 1, 12, 0, 2, 0, 16, 0, 2, 0, 87, 1,
- 2, 0, 18, 0, 2, 0, 9, 3, 2, 0,245, 2, 2, 0,128, 9, 4, 0, 27, 0, 7, 0,129, 9, 7, 0,130, 9, 7, 0,131, 9,
- 7, 0,132, 9, 0, 0,133, 9, 90, 1, 9, 0, 2, 0, 18, 0, 2, 0, 16, 0, 4, 0, 23, 9, 4, 0, 90, 0, 0, 0, 19, 0,
- 2, 0, 86, 1, 2, 0, 62, 0, 2, 0,134, 9, 2, 0,135, 9, 91, 1, 7, 0, 4, 0,219, 2, 4, 0,136, 9, 4, 0,137, 9,
- 4, 0,138, 9, 7, 0,139, 9, 7, 0,140, 9, 0, 0, 68, 9, 92, 1, 7, 0, 0, 0,141, 9, 27, 0,142, 9, 0, 0, 74, 9,
- 2, 0,143, 9, 2, 0, 66, 0, 4, 0, 30, 0, 0, 0, 75, 9, 93, 1, 6, 0, 2, 0, 18, 0, 2, 0, 16, 0, 4, 0, 23, 9,
- 4, 0, 90, 0, 0, 0,144, 9, 0, 0,145, 9, 94, 1, 1, 0, 4, 0, 18, 0, 95, 1, 6, 0, 0, 0, 93, 0, 2, 0, 16, 0,
- 2, 0, 18, 0, 4, 0,146, 9, 7, 0,147, 9, 37, 0, 13, 7, 96, 1, 4, 0, 0, 0,186, 2, 2, 0, 18, 0, 4, 0, 16, 0,
- 27, 0, 43, 0, 97, 1, 2, 0, 4, 0, 16, 0, 4, 0,188, 6, 98, 1, 8, 0, 0, 0, 71, 9, 0, 0, 72, 9, 4, 0, 16, 0,
- 7, 0, 43, 2, 7, 0,148, 9, 7, 0, 27, 0, 27, 0, 75, 3, 27, 0,149, 9, 99, 1, 11, 0, 0, 0, 61, 6, 0, 0, 18, 0,
- 2, 0,150, 9, 4, 0, 16, 0, 7, 0, 94, 1, 7, 0,151, 9, 7, 0,152, 9, 7, 0,153, 9, 4, 0,154, 9, 27, 0, 75, 3,
- 27, 0,155, 9, 78, 1, 10, 0, 78, 1, 0, 0, 78, 1, 1, 0, 78, 1, 90, 9, 2, 0, 16, 0, 2, 0, 18, 0, 2, 0, 76, 9,
- 2, 0,156, 9, 0, 0, 19, 0, 11, 0, 2, 0, 27, 0, 43, 0, 47, 1, 17, 0, 22, 0, 32, 0, 0, 0, 35, 0, 38, 0,152, 0,
- 11, 0,226, 0, 38, 0,157, 9, 31, 0, 79, 0, 7, 0, 89, 4, 7, 0,158, 9, 7, 0,239, 8, 7, 0,104, 9, 7, 0,105, 9,
- 7, 0,159, 9, 4, 0, 91, 0, 4, 0, 27, 0, 11, 0,160, 9, 11, 0,161, 9, 11, 0,162, 9,100, 1, 6, 0,100, 1, 0, 0,
-100, 1, 1, 0, 27, 0, 43, 0, 11, 0,163, 9, 2, 0,251, 0, 0, 0,216, 2, 64, 0, 4, 0, 22, 0, 32, 0, 14, 0,164, 9,
- 4, 0,133, 0, 7, 0,165, 9,101, 1, 28, 0,101, 1, 0, 0,101, 1, 1, 0, 21, 0,166, 9,101, 1, 37, 0, 14, 0,167, 9,
- 0, 0, 19, 0, 7, 0,168, 9, 7, 0,169, 9, 7, 0,170, 9, 7, 0,171, 9, 4, 0, 18, 0, 7, 0,172, 9, 7, 0,173, 9,
- 7, 0,174, 9, 7, 0,175, 9, 7, 0, 94, 1, 7, 0, 43, 2, 7, 0,176, 9, 7, 0,217, 2, 7, 0,177, 9, 7, 0,178, 9,
- 7, 0,179, 9, 7, 0,180, 9, 7, 0,181, 9, 7, 0,175, 0, 4, 0,133, 0, 2, 0, 5, 6, 2, 0,182, 9,102, 1, 27, 0,
- 22, 0, 32, 0, 34, 0, 74, 0, 14, 0,183, 9, 14, 0,184, 9, 14, 0,185, 9,101, 1,186, 9, 11, 0,187, 9, 11, 0,188, 9,
- 4, 0, 18, 0, 4, 0,164, 6, 4, 0,189, 9, 4, 0, 27, 0, 2, 0, 13, 3, 2, 0,218, 6, 4, 0,190, 9, 4, 0,133, 0,
- 4, 0,191, 9, 2, 0,192, 9, 2, 0,193, 9, 2, 0,194, 9, 2, 0,195, 9, 4, 0,196, 9, 4, 0,197, 9, 4, 0,198, 9,
- 4, 0,199, 9, 4, 0,200, 9, 4, 0,201, 9,103, 1, 2, 0, 7, 0,170, 2, 4, 0, 18, 0,181, 0, 5, 0,103, 1,202, 9,
- 4, 0,217, 2, 4, 0,203, 9, 4, 0,204, 9, 4, 0, 18, 0,180, 0, 16, 0, 4, 0,205, 9, 4, 0,206, 9, 4, 0,207, 9,
- 4, 0,208, 9, 2, 0,209, 9, 2, 0,210, 9, 2, 0,211, 9, 2, 0,251, 0, 2, 0,212, 9, 2, 0,213, 9, 2, 0,214, 9,
- 2, 0,215, 9, 4, 0,216, 9, 4, 0,217, 9, 4, 0,218, 9, 4, 0,219, 9,104, 1, 40, 0,104, 1, 0, 0,104, 1, 1, 0,
- 21, 0,166, 9, 14, 0, 0, 4, 0, 0, 19, 0, 2, 0, 18, 0, 2, 0,220, 9, 2, 0,214, 3, 2, 0,221, 9, 0, 0,222, 9,
- 0, 0,223, 9, 0, 0,224, 9,101, 1,225, 9,104, 1, 37, 0,104, 1,226, 9, 14, 0,227, 9, 14, 0,228, 9,181, 0,189, 3,
- 27, 0,229, 9,104, 1,230, 9, 7, 0, 77, 1, 7, 0,175, 0, 7, 0,231, 9, 7, 0, 22, 2, 7, 0,203, 3, 7, 0,205, 3,
- 2, 0,237, 3, 2, 0, 27, 0, 7, 0,232, 9, 7, 0,233, 9, 7, 0,208, 3, 7, 0,234, 9, 7, 0,235, 9, 7, 0,236, 9,
- 7, 0,237, 9, 7, 0,238, 9, 7, 0,239, 9, 7, 0,240, 9, 7, 0,241, 9, 11, 0,242, 9,178, 0, 16, 0, 14, 0,243, 9,
- 74, 0,244, 9, 2, 0, 18, 0, 2, 0, 27, 0, 4, 0,245, 9, 4, 0, 66, 0, 7, 0, 83, 0, 7, 0,246, 9, 7, 0,247, 9,
- 14, 0,248, 9, 4, 0,249, 9, 4, 0,250, 9, 11, 0,251, 9, 11, 0,252, 9,180, 0,188, 3, 0, 0,253, 9,105, 1, 1, 0,
- 4, 0,250, 9,106, 1, 12, 0, 4, 0,250, 9, 7, 0, 88, 9, 2, 0,254, 9, 2, 0,255, 9, 7, 0, 0, 10, 7, 0, 1, 10,
- 2, 0, 2, 10, 2, 0, 18, 0, 7, 0, 3, 10, 7, 0, 4, 10, 7, 0, 5, 10, 7, 0, 6, 10,107, 1, 7, 0,107, 1, 0, 0,
-107, 1, 1, 0, 14, 0, 7, 10, 4, 0, 18, 0, 4, 0, 8, 10, 0, 0, 19, 0, 23, 1, 9, 10,177, 0, 9, 0, 22, 0, 32, 0,
- 14, 0, 10, 10, 14, 0,243, 9, 14, 0, 11, 10, 14, 0,101, 0, 4, 0, 18, 0, 4, 0, 12, 10, 4, 0, 13, 10, 4, 0, 27, 0,
-244, 0, 8, 0, 22, 0, 14, 10, 14, 0,243, 9, 64, 0, 15, 10, 0, 0, 16, 10, 4, 0, 17, 10, 4, 0, 18, 0, 4, 0, 18, 10,
- 4, 0, 27, 0,108, 1, 13, 0,240, 0, 0, 0,240, 0, 1, 0, 14, 0,153, 6, 4, 0,154, 6, 7, 0,155, 6, 2, 0,156, 6,
-241, 0,207, 6,177, 0,184, 3,244, 0, 19, 10, 0, 0, 87, 1, 0, 0,210, 6, 2, 0, 18, 0, 7, 0, 20, 10,109, 1, 8, 0,
-109, 1, 0, 0,109, 1, 1, 0,107, 1, 21, 10, 31, 0, 79, 0, 14, 0,190, 3, 4, 0, 18, 0, 0, 0, 19, 0, 4, 0,127, 8,
-110, 1, 5, 0,110, 1, 0, 0,110, 1, 1, 0, 31, 0, 79, 0, 2, 0, 18, 0, 0, 0, 22, 10,111, 1, 14, 0,111, 1, 0, 0,
-111, 1, 1, 0, 11, 0, 2, 0, 2, 0, 16, 0, 2, 0, 18, 0, 0, 0, 23, 10, 0, 0, 24, 10, 0, 0, 19, 0, 2, 0, 27, 0,
- 7, 0, 25, 10, 7, 0, 26, 10, 31, 0, 79, 0, 7, 0, 27, 10, 7, 0, 28, 10,112, 1, 9, 0,112, 1, 0, 0,112, 1, 1, 0,
- 27, 0, 29, 10, 0, 0, 16, 3, 7, 0, 30, 10, 2, 0, 31, 10, 2, 0, 18, 0, 2, 0, 16, 0, 2, 0, 32, 10,113, 1, 7, 0,
- 37, 0, 13, 7, 21, 0,166, 9, 4, 0, 18, 0, 4, 0, 33, 10, 14, 0, 34, 10, 27, 0, 29, 10, 0, 0, 16, 3,114, 1, 15, 0,
- 27, 0, 29, 10, 2, 0, 35, 10, 2, 0, 18, 0, 2, 0, 36, 10, 2, 0, 37, 10, 0, 0, 16, 3, 27, 0, 38, 10, 0, 0, 39, 10,
- 7, 0, 40, 10, 7, 0, 43, 2, 7, 0, 41, 10, 7, 0, 42, 10, 2, 0, 16, 0, 2, 0, 87, 1, 7, 0, 94, 1,115, 1, 6, 0,
- 27, 0, 29, 10, 7, 0,202, 9, 2, 0, 43, 10, 2, 0, 44, 10, 2, 0, 18, 0, 2, 0, 45, 10,116, 1, 6, 0, 27, 0, 29, 10,
- 4, 0, 46, 10, 4, 0, 47, 10, 4, 0, 91, 0, 4, 0, 27, 0, 0, 0, 16, 3,117, 1, 4, 0, 27, 0, 29, 10, 4, 0, 18, 0,
- 4, 0, 46, 10, 0, 0, 16, 3,118, 1, 4, 0, 27, 0, 29, 10, 4, 0, 18, 0, 4, 0, 46, 10, 0, 0, 16, 3,119, 1, 4, 0,
- 27, 0, 29, 10, 4, 0, 18, 0, 4, 0, 46, 10, 0, 0, 16, 3,120, 1, 2, 0, 4, 0, 18, 0, 7, 0, 89, 4,121, 1, 2, 0,
- 27, 0, 29, 10, 0, 0, 16, 3,122, 1, 10, 0, 27, 0, 29, 10, 4, 0, 48, 10, 7, 0,127, 0, 4, 0, 18, 0, 2, 0, 11, 7,
- 2, 0, 49, 10, 2, 0, 66, 0, 2, 0, 30, 0, 7, 0, 50, 10, 0, 0, 16, 3,123, 1, 10, 0, 27, 0, 29, 10, 2, 0, 16, 0,
- 2, 0,139, 4, 4, 0, 89, 0, 4, 0, 90, 0, 7, 0,126, 9, 7, 0,127, 9, 4, 0, 27, 0,177, 0, 96, 9, 0, 0, 16, 3,
-124, 1, 4, 0, 27, 0, 29, 10, 4, 0,215, 3, 4, 0, 51, 10, 0, 0, 16, 3,125, 1, 4, 0, 27, 0, 29, 10, 4, 0,215, 3,
- 4, 0, 27, 0, 0, 0, 16, 3,126, 1, 6, 0, 27, 0, 29, 10, 7, 0,127, 0, 7, 0, 87, 3, 4, 0, 52, 10, 2, 0,215, 3,
- 2, 0,216, 3,127, 1, 6, 0, 27, 0, 29, 10, 4, 0, 53, 10, 4, 0, 54, 10, 7, 0, 55, 10, 7, 0, 56, 10, 0, 0, 16, 3,
-128, 1, 16, 0, 27, 0, 29, 10, 27, 0,226, 9, 4, 0, 16, 0, 7, 0, 57, 10, 7, 0, 58, 10, 7, 0, 59, 10, 7, 0, 60, 10,
- 7, 0, 61, 10, 7, 0, 62, 10, 7, 0, 63, 10, 7, 0, 64, 10, 7, 0, 65, 10, 2, 0, 18, 0, 2, 0, 27, 0, 2, 0, 66, 0,
- 2, 0, 30, 0,129, 1, 3, 0, 27, 0, 29, 10, 4, 0, 18, 0, 4, 0, 35, 2,130, 1, 5, 0, 27, 0, 29, 10, 4, 0, 18, 0,
- 4, 0, 27, 0, 7, 0, 66, 10, 0, 0, 16, 3,131, 1, 10, 0, 27, 0, 29, 10, 0, 0, 16, 3, 2, 0, 67, 10, 2, 0, 68, 10,
- 0, 0, 69, 10, 0, 0, 70, 10, 7, 0, 71, 10, 7, 0, 72, 10, 7, 0, 73, 10, 7, 0, 74, 10,132, 1, 5, 0, 27, 0, 29, 10,
- 0, 0, 16, 3, 7, 0,225, 2, 2, 0, 75, 10, 2, 0, 18, 0,133, 1, 8, 0, 7, 0, 8, 0, 7, 0, 9, 0, 7, 0, 10, 0,
- 7, 0, 11, 0, 7, 0, 76, 10, 7, 0, 77, 10, 2, 0, 18, 0, 2, 0, 35, 2,134, 1, 8, 0, 7, 0, 8, 0, 7, 0, 9, 0,
- 7, 0, 10, 0, 7, 0, 11, 0, 7, 0, 76, 10, 7, 0, 77, 10, 2, 0, 18, 0, 2, 0, 35, 2,135, 1, 8, 0, 7, 0, 8, 0,
- 7, 0, 9, 0, 7, 0, 10, 0, 7, 0, 11, 0, 7, 0, 76, 10, 7, 0, 77, 10, 2, 0, 18, 0, 2, 0, 35, 2,136, 1, 7, 0,
- 27, 0, 29, 10, 0, 0, 16, 3, 7, 0, 94, 1, 7, 0,103, 1, 2, 0, 18, 0, 2, 0, 87, 1, 4, 0, 27, 0,137, 1, 5, 0,
- 27, 0, 75, 3, 7, 0, 94, 1, 2, 0, 79, 3, 0, 0, 81, 3, 0, 0, 78, 10,138, 1, 7, 0,230, 0,113, 6, 0, 0, 79, 10,
- 4, 0, 18, 0, 4, 0, 27, 0, 0, 0, 80, 10, 27, 0,215, 5, 27, 0, 81, 10,139, 1, 3, 0,230, 0,113, 6, 4, 0, 18, 0,
- 4, 0, 27, 0,140, 1, 6, 0,230, 0,113, 6, 4, 0, 18, 0, 4, 0, 27, 0, 0, 0, 80, 10, 7, 0, 66, 10, 27, 0,215, 5,
-141, 1, 10, 0,141, 1, 0, 0,141, 1, 1, 0, 2, 0, 16, 0, 2, 0, 18, 0, 0, 0, 82, 10, 7, 0, 31, 1, 7, 0, 32, 1,
- 2, 0, 7, 10, 2, 0, 83, 10, 27, 0, 43, 0,142, 1, 22, 0,142, 1, 0, 0,142, 1, 1, 0, 2, 0, 18, 0, 2, 0, 87, 1,
- 2, 0, 84, 10, 2, 0, 85, 10, 31, 0, 79, 0,177, 0, 96, 9, 27, 0,167, 0, 7, 0, 89, 0, 7, 0, 90, 0, 7, 0, 86, 10,
- 7, 0, 87, 10, 7, 0, 88, 10, 7, 0, 89, 10, 7, 0, 2, 3, 7, 0,153, 3, 7, 0, 98, 9, 7, 0, 90, 10, 0, 0, 91, 10,
- 0, 0, 92, 10, 14, 0,193, 3,143, 1, 11, 0, 7, 0, 50, 2, 7, 0,126, 9, 7, 0,127, 9, 11, 0, 2, 0, 2, 0, 93, 10,
- 2, 0, 94, 10, 2, 0, 95, 10, 2, 0, 96, 10, 2, 0, 97, 10, 2, 0, 98, 10, 2, 0,186, 2,144, 1, 21, 0,144, 1, 0, 0,
-144, 1, 1, 0,144, 1, 99, 10, 0, 0, 19, 0, 11, 0,100, 10, 2, 0, 16, 0, 2, 0, 18, 0, 2, 0,101, 10, 2, 0, 66, 0,
- 7, 0,102, 10, 7, 0,103, 10, 11, 0,104, 10, 2, 0,105, 10, 2, 0,106, 10, 4, 0,107, 10, 11, 0,160, 9, 4, 0,108, 10,
- 4, 0,109, 10,144, 1,110, 10,145, 1,111, 10,143, 1,112, 10,146, 1, 4, 0, 0, 0,113, 10, 2, 0,114, 10, 2, 0,115, 10,
- 4, 0, 27, 0,147, 1, 41, 0,147, 1, 0, 0,147, 1, 1, 0,147, 1,116, 10, 0, 0, 19, 0, 4, 0, 18, 0, 2, 0, 16, 0,
- 2, 0, 30, 0, 2, 0,207, 8, 2, 0,181, 2, 2, 0,117, 10, 2, 0, 16, 7, 2, 0,105, 10, 2, 0, 50, 9, 7, 0,118, 10,
- 14, 0, 91, 9, 14, 0,119, 10,147, 1, 37, 0, 22, 0, 49, 7, 11, 0,100, 10, 7, 0,102, 10, 7, 0,103, 10, 7, 0, 85, 2,
- 7, 0, 6, 3, 7, 0,120, 10, 7, 0,121, 10, 7, 0,122, 10, 4, 0,123, 10, 0, 0,124, 10, 2, 0,125, 10, 2, 0,126, 10,
- 7, 0,127, 10, 7, 0,128, 10, 2, 0,129, 10, 2, 0,130, 10, 11, 0,131, 10, 19, 0,132, 10, 19, 0,133, 10, 19, 0,134, 10,
-146, 1,153, 0,148, 1,135, 10,149, 1,136, 10,145, 1, 8, 0,145, 1, 0, 0,145, 1, 1, 0,147, 1,137, 10,147, 1,138, 10,
-144, 1,139, 10,144, 1,140, 10, 4, 0, 18, 0, 4, 0, 27, 0, 57, 0, 23, 0, 22, 0, 32, 0, 34, 0, 74, 0,179, 0,187, 3,
- 14, 0,141, 10, 14, 0,142, 10, 4, 0, 16, 0, 4, 0,143, 10, 4, 0,144, 10, 4, 0, 18, 0, 4, 0,123, 10, 4, 0,145, 10,
- 2, 0,146, 10, 2, 0,147, 10, 4, 0,148, 10, 14, 0, 91, 9, 14, 0,119, 10,150, 1,149, 10, 11, 0,150, 10, 11, 0,151, 10,
- 4, 0,152, 10, 11, 0,153, 10, 11, 0,154, 10, 11, 0,155, 10,151, 1, 4, 0, 4, 0, 17, 0, 4, 0,235, 2, 4, 0,126, 9,
- 4, 0,127, 9,152, 1, 4, 0, 4, 0, 17, 0, 7, 0,235, 2, 7, 0,126, 9, 7, 0,127, 9,153, 1, 2, 0, 0, 0,235, 2,
- 0, 0, 86, 1,154, 1, 4, 0, 4, 0, 17, 0, 7, 0,156, 10, 7, 0,126, 9, 7, 0,127, 9,155, 1, 1, 0, 7, 0,157, 10,
-156, 1, 2, 0, 2, 0, 18, 0, 2, 0,158, 10,157, 1, 6, 0, 4, 0,126, 0, 4, 0,128, 0, 4, 0, 50, 9, 0, 0,159, 10,
- 0, 0,160, 10, 2, 0, 27, 0,158, 1, 6, 0, 7, 0, 35, 1, 7, 0, 34, 1, 7, 0,161, 10, 7, 0,162, 10, 7, 0,163, 10,
- 4, 0, 27, 0,159, 1, 6, 0,158, 1,164, 10,158, 1,165, 10,158, 1,166, 10,158, 1,167, 10, 7, 0,168, 10, 7, 0,169, 10,
-160, 1, 5, 0, 7, 0, 99, 3, 4, 0,170, 10, 7, 0,171, 10, 7, 0,172, 10, 7, 0,173, 10,161, 1, 6, 0, 7, 0, 5, 0,
- 7, 0, 6, 0, 7, 0,174, 10, 7, 0, 6, 3, 7, 0, 85, 2, 4, 0, 27, 0,162, 1, 6, 0, 7, 0, 5, 0, 7, 0, 6, 0,
- 7, 0,174, 10, 7, 0, 6, 3, 7, 0, 85, 2, 4, 0, 27, 0,163, 1, 2, 0, 4, 0,175, 10, 4, 0,176, 10,164, 1, 16, 0,
- 2, 0,150, 8, 2, 0,151, 8, 2, 0, 76, 5, 2, 0,177, 10, 2, 0,178, 10, 2, 0, 67, 0, 2, 0, 50, 7, 2, 0,179, 10,
- 7, 0, 1, 3, 7, 0,180, 10, 7, 0,181, 10, 2, 0,110, 1, 0, 0,182, 10, 0, 0,161, 10, 4, 0,183, 10, 4, 0,184, 10,
-165, 1, 9, 0, 7, 0,185, 10, 7, 0,186, 10, 7, 0,159, 9, 7, 0, 99, 3, 7, 0,187, 10, 7, 0,225, 6, 2, 0, 97, 3,
- 0, 0,188, 10, 0, 0, 27, 0,166, 1, 4, 0, 7, 0,189, 10, 7, 0,190, 10, 2, 0, 97, 3, 2, 0, 27, 0,167, 1, 3, 0,
- 7, 0,191, 10, 7, 0,222, 8, 7, 0, 14, 0,168, 1, 4, 0, 0, 0, 35, 0,205, 0, 87, 5, 4, 0,128, 0, 4, 0,137, 4,
-169, 1, 6, 0, 0, 0,192, 10,205, 0,193, 10, 4, 0,128, 0, 4, 0,137, 4, 4, 0,194, 10, 4, 0, 27, 0,170, 1, 7, 0,
- 2, 0,195, 10, 2, 0,196, 10, 4, 0, 66, 0, 0, 0, 82, 4,205, 0,193, 10, 0, 0,197, 10, 0, 0,178, 6,171, 1, 9, 0,
- 7, 0,198, 10, 7, 0,199, 10, 7, 0,200, 10, 7, 0, 96, 2, 7, 0,201, 10, 7, 0,202, 10, 7, 0,203, 10, 2, 0,204, 10,
- 2, 0,205, 10,172, 1, 8, 0, 2, 0,206, 10, 2, 0,207, 10, 2, 0,208, 10, 2, 0,209, 10, 7, 0,210, 10, 7, 0,211, 10,
- 7, 0,212, 10, 7, 0,213, 10,173, 1, 2, 0, 7, 0, 5, 0, 7, 0, 6, 0,174, 1, 2, 0, 0, 0,169, 0, 0, 0,214, 10,
-175, 1, 1, 0, 0, 0, 19, 0,176, 1, 12, 0, 0, 0,215, 10, 0, 0,216, 10, 0, 0,216, 6, 0, 0,217, 10, 2, 0, 76, 5,
- 2, 0,218, 10, 7, 0,219, 10, 7, 0,220, 10, 7, 0,221, 10, 7, 0,153, 3, 7, 0,174, 10, 7, 0,222, 10,177, 1, 2, 0,
- 11, 0,223, 10, 11, 0,224, 10,178, 1, 13, 0, 0, 0, 79, 5, 0, 0, 16, 0, 0, 0, 97, 3, 0, 0, 99, 3, 0, 0,216, 10,
- 0, 0,107, 0, 0, 0,186, 2, 7, 0,225, 10, 7, 0,226, 10, 7, 0,152, 3, 7, 0,227, 10, 7, 0,228, 10, 7, 0,222, 10,
-179, 1, 8, 0, 7, 0, 57, 9, 7, 0,127, 0, 7, 0,161, 10, 7, 0,177, 2, 7, 0,229, 10, 7, 0,239, 0, 7, 0,230, 10,
- 4, 0, 16, 0,180, 1, 4, 0, 2, 0,231, 10, 2, 0,232, 10, 2, 0,233, 10, 2, 0, 27, 0,181, 1, 8, 0, 7, 0,234, 10,
- 7, 0,225, 2, 7, 0,235, 10, 7, 0,200, 8, 7, 0,201, 8, 7, 0,202, 8, 7, 0,236, 10, 7, 0,237, 10,182, 1, 6, 0,
- 2, 0,238, 10, 2, 0,239, 10, 7, 0,240, 10, 7, 0,241, 10, 7, 0,242, 10, 7, 0,243, 10,183, 1, 2, 0, 58, 0,244, 10,
- 59, 0,245, 10,184, 1, 3, 0,183, 1, 86, 6, 7, 0,246, 10, 7, 0,247, 10,185, 1, 3, 0,183, 1, 86, 6, 4, 0,248, 10,
- 4, 0, 27, 0,186, 1, 1, 0,183, 1, 86, 6,187, 1, 3, 0,183, 1, 86, 6, 4, 0,248, 10, 4, 0,249, 10,188, 1, 3, 0,
-183, 1, 86, 6, 4, 0,250, 10, 4, 0, 27, 0,189, 1, 1, 0,183, 1, 86, 6,190, 1, 3, 0,183, 1, 86, 6, 4, 0,251, 10,
- 4, 0, 27, 0,191, 1, 3, 0,183, 1, 86, 6, 4, 0,252, 10, 4, 0, 27, 0,192, 1, 3, 0,183, 1, 86, 6, 4, 0,253, 10,
- 4, 0, 27, 0,193, 1, 3, 0,183, 1, 86, 6, 4, 0,250, 0, 4, 0, 27, 0,194, 1, 1, 0, 0, 0, 19, 0,195, 1, 1, 0,
- 0, 0, 19, 0,196, 1, 4, 0, 7, 0, 5, 0, 7, 0, 6, 0, 2, 0, 18, 0, 2, 0,254, 10,197, 1, 10, 0, 2, 0, 67, 4,
- 2, 0, 18, 0, 7, 0,222, 4, 7, 0,255, 10, 7, 0, 0, 11, 7, 0, 1, 11, 7, 0, 2, 11,196, 1, 3, 11,196, 1, 4, 11,
-196, 1, 5, 11, 54, 0, 11, 0, 4, 0, 18, 0, 4, 0, 62, 0, 4, 0, 6, 11, 4, 0, 7, 11, 19, 0, 8, 11, 19, 0, 9, 11,
-197, 1, 10, 11, 7, 0, 11, 11, 7, 0, 12, 11, 7, 0, 13, 11, 7, 0, 14, 11, 1, 1, 10, 0, 4, 0, 7, 10, 4, 0, 15, 11,
- 7, 0, 16, 11, 7, 0, 17, 11, 7, 0, 18, 11, 7, 0, 19, 11, 7, 0, 9, 0, 7, 0, 11, 0, 4, 0, 87, 1, 4, 0, 6, 3,
- 0, 1, 18, 0, 4, 0,131, 0, 4, 0, 20, 11, 4, 0, 21, 11, 7, 0, 22, 11, 4, 0, 23, 11, 7, 0, 24, 11, 7, 0, 25, 11,
- 4, 0, 26, 11, 7, 0, 27, 11, 4, 0, 28, 11, 7, 0, 29, 11, 1, 1, 30, 11, 7, 0, 31, 11, 7, 0, 32, 11, 7, 0, 33, 11,
- 7, 0, 34, 11, 4, 0, 35, 11, 4, 0, 27, 0,198, 1, 4, 0, 42, 0,249, 2, 7, 0, 36, 11, 7, 0,181, 1, 7, 0, 27, 0,
-214, 0, 36, 0, 22, 0, 32, 0,198, 1, 37, 11, 54, 0, 3, 11, 46, 0, 38, 11,214, 0, 39, 11, 52, 0, 40, 11, 25, 0,153, 0,
- 0, 0, 41, 11, 7, 0, 42, 11, 2, 0,116, 6, 2, 0, 43, 11, 7, 0, 43, 2, 4, 0,107, 0, 4, 0, 18, 0, 7, 0, 44, 11,
- 4, 0, 93, 2, 4, 0, 45, 11, 7, 0, 46, 11, 7, 0, 47, 11, 7, 0, 48, 11, 7, 0,181, 1, 4, 0, 49, 11, 7, 0, 50, 11,
- 0, 0, 51, 11, 0, 0, 52, 11, 0, 0, 53, 11, 0, 0, 54, 11, 7, 0, 55, 11, 7, 0, 56, 11, 7, 0, 57, 11, 7, 0, 6, 3,
- 7, 0, 58, 11, 4, 0, 59, 11, 7, 0,248, 5, 7, 0, 60, 11, 7, 0, 61, 11,199, 1, 10, 0, 4, 0, 16, 0, 4, 0,127, 0,
- 4, 0, 18, 0, 4, 0, 20, 4, 4, 0, 62, 11, 4, 0, 63, 11, 4, 0, 64, 11, 4, 0, 69, 0, 0, 0, 19, 0, 11, 0, 2, 0,
-200, 1, 1, 0, 0, 0, 79, 7, 95, 0, 8, 0,199, 1, 65, 11, 4, 0, 66, 11, 4, 0, 67, 11, 4, 0, 68, 11, 4, 0, 69, 11,
- 4, 0, 30, 0, 11, 0, 70, 11,200, 1, 71, 11,201, 1, 5, 0, 7, 0,170, 2, 7, 0,245, 2, 7, 0, 43, 2, 2, 0,152, 2,
- 2, 0, 27, 0,202, 1, 5, 0, 7, 0,170, 2, 7, 0,164, 4, 7, 0, 72, 11, 7, 0, 73, 11, 7, 0,245, 2,203, 1, 5, 0,
- 27, 0, 74, 11,204, 1, 21, 0, 7, 0, 82, 6, 7, 0, 75, 11, 7, 0, 55, 0,205, 1, 3, 0, 7, 0, 76, 11, 4, 0, 77, 11,
- 4, 0, 78, 11,206, 1, 7, 0, 4, 0, 79, 11, 4, 0, 80, 11, 4, 0, 81, 11, 7, 0, 82, 11, 7, 0, 83, 11, 7, 0, 84, 11,
- 7, 0, 55, 0,207, 1, 8, 0,207, 1, 0, 0,207, 1, 1, 0, 27, 0, 43, 0, 4, 0, 3, 1, 2, 0, 18, 0, 2, 0, 87, 1,
- 7, 0,245, 2, 7, 0, 65, 9,208, 1, 7, 0,208, 1, 0, 0,208, 1, 1, 0, 27, 0, 43, 0, 2, 0,230, 2, 2, 0, 18, 0,
- 2, 0, 17, 2, 2, 0, 55, 0,209, 1, 17, 0,202, 1, 13, 4,202, 1, 85, 11,201, 1, 86, 11,202, 1, 48, 9,203, 1, 87, 11,
- 4, 0, 81, 0, 7, 0,245, 2, 7, 0, 12, 3, 7, 0, 88, 11, 4, 0, 79, 11, 4, 0, 89, 11, 7, 0, 83, 11, 7, 0, 84, 11,
- 7, 0,107, 0, 4, 0, 90, 11, 2, 0, 18, 0, 2, 0, 91, 11,210, 1, 15, 0, 7, 0,255, 0, 7, 0, 92, 11, 7, 0, 76, 11,
- 7, 0, 93, 11, 7, 0, 94, 11, 7, 0, 95, 11, 7, 0, 96, 11, 7, 0, 97, 11, 7, 0, 98, 11, 7, 0, 99, 11, 7, 0,100, 11,
- 7, 0,101, 11, 7, 0,102, 11, 4, 0, 18, 0, 4, 0,103, 11,211, 1,128, 0, 22, 0, 32, 0, 34, 0, 74, 0,212, 1,104, 11,
-210, 1,105, 11,188, 0,159, 4, 4, 0, 18, 0, 4, 0, 55, 0, 2, 0, 16, 0, 2, 0, 67, 10, 2, 0,106, 11, 2, 0,124, 1,
- 2, 0,107, 11, 2, 0,237, 3, 2, 0,108, 11, 2, 0,109, 11, 2, 0,110, 11, 2, 0,111, 11, 2, 0,112, 11, 2, 0,113, 11,
- 2, 0,114, 11, 2, 0,115, 11, 2, 0,116, 11, 2, 0,232, 5, 2, 0,117, 11, 2, 0,118, 11, 2, 0,119, 11, 2, 0,120, 11,
- 2, 0,121, 11, 2, 0, 32, 2, 2, 0, 41, 9, 2, 0, 16, 9, 2, 0,122, 11, 2, 0,123, 11, 2, 0, 30, 4, 2, 0, 31, 4,
- 2, 0,124, 11, 2, 0,125, 11, 2, 0,126, 11, 2, 0,127, 11, 7, 0,128, 11, 7, 0,129, 11, 7, 0,130, 11, 7, 0,131, 11,
- 7, 0,132, 11, 7, 0,133, 11, 7, 0,134, 11, 2, 0,161, 5, 2, 0,135, 11, 7, 0,136, 11, 7, 0,137, 11, 7, 0,138, 11,
- 7, 0, 23, 9, 7, 0, 90, 0, 7, 0, 12, 3, 7, 0, 29, 9, 7, 0,139, 11, 7, 0,140, 11, 7, 0,141, 11, 7, 0,142, 11,
- 7, 0,143, 11, 7, 0,144, 11, 4, 0, 24, 9, 4, 0, 22, 9, 4, 0,145, 11, 4, 0,146, 11, 2, 0,147, 11, 2, 0,148, 11,
- 7, 0, 25, 9, 7, 0, 26, 9, 7, 0, 27, 9, 7, 0,149, 11, 7, 0,150, 11, 7, 0,151, 11, 7, 0,152, 11, 7, 0,153, 11,
- 7, 0,154, 11, 7, 0,155, 11, 7, 0,156, 11, 7, 0,157, 11, 7, 0,227, 3, 7, 0,107, 0, 7, 0,158, 11, 7, 0,159, 11,
- 7, 0,160, 11, 7, 0,161, 11, 7, 0,213, 0, 7, 0,162, 11, 4, 0,163, 11, 4, 0,164, 11, 7, 0,165, 11, 7, 0,166, 11,
- 7, 0,167, 11, 7, 0,168, 11, 7, 0,169, 11, 7, 0,212, 0, 7, 0,170, 11, 7, 0, 57, 4, 7, 0, 55, 4, 7, 0, 56, 4,
- 7, 0,171, 11, 7, 0,172, 11, 7, 0,173, 11, 7, 0,174, 11, 7, 0,175, 11, 7, 0,176, 11, 7, 0,177, 11, 7, 0,178, 11,
- 7, 0,179, 11, 7, 0,180, 11, 7, 0,181, 11, 7, 0,182, 11, 7, 0,183, 11, 7, 0,184, 11, 7, 0,185, 11, 7, 0,186, 11,
- 7, 0,187, 11, 7, 0,188, 11, 4, 0,189, 11, 4, 0,190, 11, 46, 0,143, 1, 64, 0, 5, 4, 14, 0,191, 11, 64, 0,192, 11,
- 27, 0,193, 11, 27, 0,194, 11, 31, 0, 79, 0,183, 0, 73, 1,183, 0,195, 11,151, 0, 52, 0,151, 0, 0, 0,151, 0, 1, 0,
-211, 1,196, 11,209, 1,197, 11,206, 1,226, 9,191, 0, 85, 4, 11, 0, 86, 4,213, 1,198, 11,213, 1,199, 11, 14, 0,200, 11,
- 14, 0,201, 11,136, 0,202, 11,144, 0,203, 11,144, 0,204, 11, 27, 0,205, 11, 27, 0,206, 11, 27, 0, 37, 0, 14, 0, 34, 10,
- 0, 0, 19, 0, 7, 0,244, 0, 7, 0, 41, 3, 7, 0,207, 11, 7, 0,208, 11, 4, 0,219, 2, 4, 0,209, 11, 4, 0, 18, 0,
- 4, 0, 24, 9, 4, 0,210, 11, 4, 0,211, 11, 4, 0,212, 11, 4, 0,213, 11, 2, 0,251, 0, 2, 0,214, 11, 2, 0,215, 11,
- 2, 0,216, 11, 0, 0,217, 11, 2, 0,218, 11, 2, 0,219, 11, 2, 0,220, 11, 11, 0,221, 11,140, 0,158, 4, 14, 0, 26, 3,
- 14, 0,222, 11,205, 1,223, 11, 4, 0,224, 11, 4, 0,225, 11,214, 1,226, 11,142, 0, 38, 3,215, 1,227, 11, 7, 0,228, 11,
- 7, 0,229, 11, 7, 0,230, 11,138, 0, 38, 0,216, 1,160, 9, 7, 0,128, 4, 7, 0,231, 11, 7, 0,232, 11, 7, 0, 82, 6,
- 7, 0,241, 3, 7, 0,227, 3, 7, 0,233, 11, 7, 0, 95, 2, 7, 0,234, 11, 7, 0,235, 11, 7, 0,236, 11, 7, 0,237, 11,
- 7, 0,238, 11, 7, 0,239, 11, 7, 0,129, 4, 7, 0,240, 11, 7, 0,241, 11, 7, 0,242, 11, 7, 0,130, 4, 7, 0,126, 4,
- 7, 0,127, 4, 7, 0,243, 11, 7, 0,244, 11, 7, 0,245, 11, 4, 0,246, 11, 4, 0, 91, 0, 4, 0,247, 11, 4, 0,248, 11,
- 2, 0,249, 11, 2, 0,250, 11, 2, 0,251, 11, 2, 0,252, 11, 2, 0,253, 11, 2, 0,254, 11, 2, 0,255, 11, 2, 0, 27, 0,
-188, 0,159, 4,139, 0, 11, 0,216, 1, 0, 12, 7, 0, 1, 12, 7, 0, 2, 12, 7, 0,254, 1, 7, 0, 3, 12, 7, 0, 4, 12,
- 7, 0, 5, 12, 4, 0, 91, 0, 2, 0, 6, 12, 2, 0, 7, 12, 64, 0,253, 1,217, 1, 4, 0, 7, 0, 5, 0, 7, 0, 6, 0,
- 7, 0, 7, 0, 7, 0, 8, 12,218, 1, 6, 0,218, 1, 0, 0,218, 1, 1, 0,217, 1,202, 9, 4, 0, 1, 1, 2, 0, 9, 12,
- 2, 0, 18, 0,219, 1, 5, 0,219, 1, 0, 0,219, 1, 1, 0, 14, 0, 10, 12, 4, 0, 11, 12, 4, 0, 18, 0,220, 1, 9, 0,
-220, 1, 0, 0,220, 1, 1, 0, 14, 0,126, 0,219, 1, 12, 12, 4, 0, 18, 0, 2, 0, 9, 12, 2, 0, 13, 12, 7, 0, 92, 0,
- 0, 0, 14, 12,179, 0, 6, 0, 22, 0, 32, 0, 14, 0,130, 5, 4, 0, 18, 0, 2, 0, 15, 12, 2, 0, 16, 12, 11, 0, 17, 12,
-221, 1, 6, 0, 14, 0, 18, 12, 4, 0, 19, 12, 4, 0, 20, 12, 4, 0, 18, 0, 4, 0, 27, 0,238, 0, 21, 12,222, 1, 19, 0,
- 22, 0, 32, 0,223, 1, 22, 12,223, 1, 23, 12, 14, 0, 24, 12, 4, 0, 25, 12, 2, 0, 26, 12, 2, 0, 27, 12, 14, 0, 28, 12,
- 14, 0, 29, 12,221, 1, 30, 12, 14, 0, 31, 12, 14, 0, 32, 12, 14, 0, 33, 12, 14, 0, 34, 12,224, 1, 35, 12,224, 1, 36, 12,
-224, 1, 37, 12, 14, 0, 38, 12,238, 0, 39, 12,223, 1, 32, 0,223, 1, 0, 0,223, 1, 1, 0, 11, 0, 40, 12, 4, 0,128, 8,
- 2, 0, 41, 12, 2, 0, 27, 0, 28, 1, 42, 12, 28, 1, 43, 12, 0, 0, 44, 12, 2, 0, 45, 12, 2, 0, 46, 12, 2, 0,150, 8,
- 2, 0,151, 8, 2, 0, 47, 12, 2, 0, 48, 12, 2, 0, 20, 4, 2, 0, 60, 7, 2, 0, 49, 12, 2, 0, 50, 12, 2, 0, 51, 12,
- 2, 0, 30, 0,225, 1, 52, 12,226, 1, 53, 12,227, 1, 54, 12, 4, 0, 55, 12, 4, 0, 56, 12, 11, 0, 57, 12, 14, 0, 29, 12,
- 14, 0,170, 8, 14, 0, 58, 12, 14, 0, 59, 12, 14, 0, 60, 12,228, 1, 18, 0,228, 1, 0, 0,228, 1, 1, 0, 0, 0, 61, 12,
- 21, 0, 31, 0, 0, 0, 62, 12, 2, 0, 63, 12, 2, 0, 16, 0, 2, 0, 14, 0, 2, 0, 64, 12, 2, 0, 65, 12, 2, 0, 66, 12,
- 2, 0, 67, 12, 2, 0, 68, 12, 2, 0, 18, 0, 2, 0, 69, 12, 2, 0, 32, 0, 2, 0, 27, 0,229, 1, 70, 12,230, 1, 4, 0,
-230, 1, 0, 0,230, 1, 1, 0,228, 1, 71, 12,228, 1, 72, 12,231, 1, 11, 0,231, 1, 0, 0,231, 1, 1, 0, 14, 0, 73, 12,
- 14, 0, 74, 12, 0, 0, 61, 12, 2, 0, 75, 12, 2, 0, 76, 12, 2, 0, 18, 0, 2, 0, 77, 12, 4, 0, 78, 12, 11, 0, 79, 12,
-224, 1, 7, 0,224, 1, 0, 0,224, 1, 1, 0, 0, 0, 61, 12, 0, 0, 80, 12, 14, 0, 68, 8, 4, 0, 81, 12, 4, 0, 18, 0,
-250, 0, 14, 0,250, 0, 0, 0,250, 0, 1, 0, 0, 0, 61, 12, 21, 0, 31, 0,232, 1,144, 8, 11, 0, 82, 12, 11, 0, 83, 12,
-229, 1, 70, 12,221, 1, 84, 12, 14, 0, 85, 12,250, 0, 86, 12, 33, 1,246, 6, 2, 0, 18, 0, 2, 0, 86, 1,233, 1, 12, 0,
-233, 1, 0, 0,233, 1, 1, 0, 11, 0, 2, 0, 11, 0, 87, 12, 0, 0, 19, 0, 2, 0, 16, 0, 2, 0, 18, 0, 7, 0,148, 9,
- 7, 0,128, 0, 7, 0,137, 4, 7, 0, 98, 9, 7, 0, 90, 10,234, 1, 5, 0, 7, 0, 88, 12, 4, 0, 89, 12, 4, 0, 90, 12,
- 4, 0, 87, 1, 4, 0, 18, 0,235, 1, 6, 0, 7, 0, 91, 12, 7, 0, 92, 12, 7, 0, 93, 12, 7, 0, 94, 12, 4, 0, 16, 0,
- 4, 0, 18, 0,236, 1, 5, 0, 7, 0,126, 9, 7, 0,127, 9, 7, 0,245, 2, 2, 0, 46, 2, 2, 0, 47, 2,237, 1, 5, 0,
-236, 1, 2, 0, 4, 0, 52, 0, 7, 0, 95, 12, 7, 0,126, 9, 7, 0,127, 9,238, 1, 4, 0, 2, 0, 96, 12, 2, 0, 97, 12,
- 2, 0, 98, 12, 2, 0, 99, 12,239, 1, 2, 0, 37, 0, 44, 7, 21, 0,166, 9,240, 1, 3, 0, 19, 0,100, 12, 4, 0, 18, 0,
- 4, 0, 27, 0,241, 1, 6, 0, 7, 0,107, 0, 7, 0,214, 2, 7, 0,101, 12, 7, 0, 27, 0, 2, 0,250, 0, 2, 0,102, 12,
-242, 1, 5, 0, 7, 0,103, 12, 7, 0,127, 0, 7, 0,203, 9, 7, 0,204, 9, 4, 0, 18, 0,243, 1, 6, 0, 22, 0, 49, 7,
- 0, 0,104, 12, 0, 0,105, 12, 2, 0,106, 12, 2, 0, 18, 0, 4, 0,107, 12,244, 1, 7, 0,244, 1, 0, 0,244, 1, 1, 0,
- 0, 0, 19, 0,243, 1,108, 12, 2, 0,109, 12, 2, 0, 16, 0, 7, 0, 59, 0,245, 1, 7, 0, 14, 0,110, 12, 0, 0,111, 12,
- 11, 0,112, 12, 7, 0, 59, 0, 7, 0,148, 9, 4, 0, 16, 0, 4, 0, 18, 0,246, 1, 3, 0, 7, 0,113, 12, 4, 0, 18, 0,
- 4, 0, 27, 0,247, 1, 15, 0,247, 1, 0, 0,247, 1, 1, 0,107, 1, 21, 10,245, 1, 60, 0, 14, 0,193, 3, 30, 0, 48, 0,
-246, 1,114, 12, 4, 0, 52, 0, 7, 0, 59, 0, 2, 0, 18, 0, 2, 0, 22, 1, 4, 0,115, 12, 0, 0,104, 12, 4, 0,116, 12,
- 7, 0,118, 10,248, 1, 2, 0, 0, 0,117, 12, 0, 0,118, 12,249, 1, 4, 0,249, 1, 0, 0,249, 1, 1, 0,177, 0, 75, 3,
- 14, 0,119, 12,250, 1, 25, 0,250, 1, 0, 0,250, 1, 1, 0, 14, 0,120, 12,177, 0, 96, 9,249, 1,121, 12, 14, 0,122, 12,
- 14, 0,193, 3, 0, 0, 19, 0, 7, 0,148, 9, 7, 0,123, 12, 7, 0, 89, 0, 7, 0, 90, 0, 7, 0, 86, 10, 7, 0, 87, 10,
- 7, 0, 2, 3, 7, 0,153, 3, 7, 0, 98, 9, 7, 0, 90, 10, 2, 0,124, 12, 2, 0,125, 12, 2, 0, 66, 0, 2, 0, 16, 0,
- 11, 0,126, 12, 4, 0, 18, 0, 4, 0, 30, 0,251, 1, 6, 0,251, 1, 0, 0,251, 1, 1, 0, 14, 0,120, 12, 4, 0, 18, 0,
- 4, 0, 17, 2, 0, 0, 19, 0,252, 1, 11, 0,252, 1, 0, 0,252, 1, 1, 0, 22, 0, 49, 7, 0, 0,127, 12, 4, 0,107, 12,
- 2, 0,128, 12, 2, 0, 27, 0, 0, 0,104, 12, 4, 0,115, 12, 2, 0, 18, 0, 2, 0,129, 12,253, 1, 10, 0,253, 1, 0, 0,
-253, 1, 1, 0, 14, 0,130, 12, 0, 0, 61, 12, 0, 0, 19, 0, 0, 0,131, 12, 0, 0,132, 12, 2, 0, 18, 0, 2, 0,129, 12,
- 4, 0,133, 12,254, 1, 5, 0,254, 1, 0, 0,254, 1, 1, 0, 0, 0,104, 12, 4, 0,115, 12, 7, 0,235, 2, 34, 0, 12, 0,
-177, 0,184, 3,177, 0,134, 12,249, 1,121, 12, 14, 0,135, 12,250, 1,136, 12, 14, 0,137, 12, 14, 0,138, 12, 4, 0, 18, 0,
- 4, 0,251, 0, 2, 0,139, 12, 2, 0,140, 12, 7, 0,141, 12,255, 1, 2, 0, 22, 0, 32, 0, 34, 0, 74, 0, 0, 2, 5, 0,
- 0, 2, 0, 0, 0, 2, 1, 0, 4, 0, 16, 0, 4, 0, 18, 0, 0, 0,179, 5, 1, 2, 6, 0, 0, 2,142, 12, 27, 0, 43, 0,
- 4, 0,143, 12, 7, 0,144, 12, 4, 0,145, 12, 4, 0, 7, 10, 2, 2, 3, 0, 0, 2,142, 12, 4, 0,143, 12, 7, 0,146, 12,
- 3, 2, 8, 0, 0, 2,142, 12, 27, 0, 43, 0, 7, 0, 77, 1, 7, 0,147, 12, 7, 0, 41, 3, 7, 0,159, 9, 4, 0,143, 12,
- 4, 0,148, 12, 4, 2, 5, 0, 0, 2,142, 12, 7, 0,149, 12, 7, 0,181, 2, 7, 0, 8, 3, 7, 0, 55, 0, 5, 2, 3, 0,
- 0, 2,142, 12, 7, 0,159, 9, 7, 0,150, 12,204, 1, 4, 0, 7, 0,151, 12, 7, 0,159, 11, 2, 0,152, 12, 2, 0, 87, 1,
- 6, 2, 14, 0, 6, 2, 0, 0, 6, 2, 1, 0, 14, 0,153, 12, 14, 0,154, 12, 14, 0,155, 12, 0, 0,179, 5, 4, 0, 32, 0,
- 4, 0, 18, 0, 4, 0,156, 12, 7, 0,157, 12, 4, 0,145, 12, 4, 0, 7, 10, 7, 0, 89, 4, 7, 0, 10, 3,212, 1, 23, 0,
- 4, 0,143, 12, 4, 0,158, 12, 7, 0,159, 12, 7, 0, 6, 3, 7, 0,160, 12, 7, 0,239, 8, 7, 0,151, 12, 7, 0,161, 12,
- 7, 0,214, 2, 7, 0, 22, 11, 7, 0,222, 4, 7, 0,162, 12, 7, 0,163, 12, 7, 0,164, 12, 7, 0,165, 12, 7, 0,166, 12,
- 7, 0,167, 12, 7, 0,168, 12, 7, 0,169, 12, 7, 0,170, 12, 7, 0,171, 12, 7, 0,172, 12, 14, 0,173, 12,124, 0, 40, 0,
-123, 0,174, 12, 7, 2,105, 11, 64, 0,175, 12, 64, 0,192, 11, 64, 0,176, 12, 8, 2,177, 12, 43, 0,168, 0, 43, 0,178, 12,
- 43, 0,179, 12, 7, 0,180, 12, 7, 0,181, 12, 7, 0,182, 12, 7, 0,183, 12, 7, 0,184, 12, 7, 0,127, 8, 7, 0,185, 12,
- 7, 0,181, 1, 7, 0,186, 12, 4, 0,187, 12, 4, 0,188, 12, 4, 0,189, 12, 4, 0, 91, 0, 4, 0, 27, 0, 4, 0,190, 12,
- 2, 0,191, 12, 2, 0,192, 12, 4, 0,193, 12, 7, 0,214, 2, 4, 0,194, 12, 7, 0,195, 12, 4, 0,196, 12, 4, 0,197, 12,
- 4, 0,198, 12,140, 0,199, 12, 14, 0,200, 12,188, 0,159, 4, 4, 0,201, 12, 7, 0,202, 12, 7, 0,203, 12, 4, 0, 30, 0,
-125, 0, 12, 0,123, 0,174, 12,151, 0, 61, 3, 7, 0,146, 1, 7, 0,127, 8, 7, 0,204, 12, 7, 0,205, 12, 7, 0,206, 12,
- 2, 0,207, 12, 2, 0,208, 12, 2, 0,209, 12, 2, 0, 16, 0, 4, 0, 91, 0,126, 0, 15, 0,123, 0,174, 12,142, 0, 38, 3,
- 7, 0,202, 9, 7, 0,210, 12, 7, 0,211, 12, 4, 0,212, 12, 7, 0, 79, 1, 7, 0,213, 12, 4, 0, 43, 10, 4, 0, 34, 3,
- 4, 0,214, 12, 7, 0,183, 12, 2, 0, 16, 0, 2, 0, 27, 0, 4, 0, 30, 0, 9, 2, 15, 0, 22, 0, 32, 0, 34, 0, 74, 0,
- 47, 1,237, 8, 7, 0,215, 12, 7, 0,216, 12, 7, 0,217, 12, 7, 0,218, 12, 7, 0,158, 9, 7, 0,219, 12, 7, 0,220, 12,
- 7, 0,221, 12, 7, 0, 89, 4, 7, 0,239, 8, 2, 0, 18, 0, 2, 0,122, 9,232, 0, 3, 0, 4, 0,125, 0, 2, 0,222, 6,
- 2, 0,222, 12, 10, 2, 5, 0, 0, 0,203, 8, 2, 0,204, 8, 2, 0, 79, 5, 2, 0,223, 12, 2, 0,224, 12,230, 0, 16, 0,
- 22, 0, 32, 0, 34, 0, 74, 0, 0, 0, 35, 0, 4, 0,142, 0, 4, 0,143, 0, 4, 0,225, 12, 7, 0,161, 0, 7, 0,162, 0,
- 44, 0,137, 0, 11, 2,160, 9,179, 0,187, 3, 12, 2,226, 12, 11, 0,227, 12, 10, 2,228, 12, 4, 0, 18, 0, 4, 0, 22, 0,
- 14, 1, 10, 0, 4, 0,131, 0, 4, 0,229, 12, 52, 0,230, 12, 7, 0,231, 12, 2, 0,232, 12, 0, 0,186, 2, 4, 0,125, 0,
- 13, 2,180, 3, 14, 2,233, 12, 7, 0,234, 12, 15, 2, 3, 0, 4, 0,125, 0, 7, 0,235, 12, 7, 0, 79, 1, 16, 2, 11, 0,
- 11, 0,236, 12, 7, 0,237, 12, 7, 0,238, 12, 7, 0, 27, 0, 7, 0,239, 12, 2, 0,240, 12, 2, 0, 66, 0, 7, 0,241, 12,
- 7, 0,242, 12, 7, 0,243, 12, 7, 0,244, 12, 14, 2, 3, 0, 7, 0,245, 12, 4, 0,125, 0, 4, 0, 18, 0, 13, 2, 24, 0,
- 13, 2, 0, 0, 13, 2, 1, 0, 0, 0, 19, 0, 7, 0,246, 12, 7, 0,247, 12, 7, 0,248, 12, 7, 0,249, 12, 7, 0, 36, 11,
- 4, 0,250, 12, 4, 0,251, 12, 14, 2,252, 12, 7, 0,253, 12, 7, 0,235, 12, 4, 0, 18, 0, 4, 0,254, 12, 4, 0,255, 12,
- 7, 0,118, 10, 2, 0, 0, 13, 2, 0,232, 3, 2, 0, 1, 13, 2, 0, 2, 13, 2, 0, 3, 13, 2, 0, 30, 0, 7, 0, 4, 13,
- 17, 2, 22, 0, 4, 0, 18, 0, 2, 0, 5, 13, 2, 0, 6, 13, 7, 0, 7, 13, 2, 0, 8, 13, 2, 0, 9, 13, 2, 0, 10, 13,
- 2, 0, 11, 13, 2, 0, 12, 13, 2, 0, 13, 13, 2, 0, 14, 13, 2, 0, 8, 3, 4, 0, 15, 13, 4, 0, 16, 13, 2, 0, 17, 13,
- 2, 0, 30, 0, 7, 0, 94, 1, 4, 0, 18, 13, 4, 0, 19, 13, 7, 0, 20, 13, 7, 0, 21, 13, 4, 0,250, 1, 18, 2, 12, 0,
- 4, 0, 18, 0, 4, 0, 22, 13, 4, 0, 23, 13, 7, 0, 24, 13, 13, 2, 25, 13, 7, 0, 26, 13, 7, 0, 27, 13, 7, 0, 28, 13,
- 4, 0,193, 1, 4, 0,131, 0, 7, 0,153, 3, 52, 0, 29, 13, 19, 2, 5, 0, 4, 0, 18, 0, 7, 0,235, 12, 4, 0, 30, 13,
- 4, 0, 31, 13, 15, 2, 32, 13, 20, 2, 7, 0, 20, 2, 0, 0, 20, 2, 1, 0, 0, 0, 19, 0, 4, 0, 18, 0, 7, 0,153, 3,
- 14, 0, 33, 13, 19, 2, 34, 13, 21, 2, 1, 0, 0, 0, 35, 13, 22, 2, 8, 0, 22, 2, 0, 0, 22, 2, 1, 0, 13, 2,180, 3,
- 4, 0, 27, 0, 4, 0, 36, 13, 4, 0, 37, 13, 4, 0, 38, 13, 4, 0, 39, 13, 23, 2, 6, 0, 4, 0,131, 0, 4, 0, 27, 0,
- 14, 0, 7, 10, 4, 0, 40, 13, 2, 0, 41, 13, 2, 0, 42, 13, 12, 2, 11, 0, 17, 2, 43, 13, 16, 2, 44, 13, 14, 0, 33, 13,
- 19, 2, 34, 13, 18, 2, 45, 13, 13, 2, 46, 13, 14, 0, 47, 13, 4, 0, 48, 13, 4, 0, 49, 13, 21, 2, 97, 6, 23, 2, 50, 13,
- 24, 2, 48, 0, 24, 2, 0, 0, 24, 2, 1, 0,170, 0,150, 3, 25, 2, 2, 0, 64, 0, 51, 13,188, 0,159, 4,140, 0,158, 4,
- 14, 0, 26, 3, 4, 0, 52, 13, 0, 0, 19, 0, 2, 0,193, 10, 2, 0, 16, 0, 2, 0, 53, 13, 2, 0, 54, 13, 2, 0, 55, 13,
- 2, 0, 56, 13, 2, 0, 57, 13, 2, 0, 58, 13, 4, 0, 91, 0, 4, 0,191, 3, 4, 0, 59, 13, 4, 0, 60, 13, 4, 0,203, 9,
- 4, 0,204, 9, 4, 0, 27, 0, 7, 0, 61, 13, 47, 0, 62, 13, 0, 0, 63, 13, 4, 0, 64, 13, 4, 0,193, 12, 7, 0, 65, 13,
- 7, 0, 66, 13, 7, 0, 67, 13, 7, 0, 68, 13, 7, 0, 69, 13, 7, 0, 70, 13, 7, 0, 71, 13, 7, 0, 72, 13, 7, 0, 73, 13,
- 7, 0, 74, 13, 7, 0, 75, 13, 7, 0, 76, 13, 7, 0, 77, 13, 7, 0, 78, 13, 0, 0,207, 2, 0, 0, 79, 13, 0, 0, 80, 13,
- 0, 0, 81, 13,170, 0, 7, 0,169, 0, 82, 13,144, 0, 40, 3, 14, 0, 83, 13, 2, 0, 84, 13, 2, 0, 91, 0, 4, 0, 27, 0,
- 0, 0, 85, 13,171, 0, 24, 0,169, 0, 82, 13,144, 0, 40, 3,151, 0, 61, 3, 63, 0, 29, 2, 4, 0, 91, 0, 4, 0, 86, 13,
- 7, 0,184, 0, 7, 0,185, 0, 7, 0,186, 0, 7, 0,181, 1, 7, 0, 87, 13, 7, 0, 88, 13, 7, 0, 89, 13, 7, 0, 90, 13,
- 50, 0, 91, 13, 50, 0, 92, 13, 2, 0, 93, 13, 2, 0,253, 10, 2, 0, 94, 13, 2, 0, 27, 0, 7, 0, 95, 13, 7, 0, 96, 13,
- 7, 0, 97, 13, 7, 0, 98, 13, 69, 78, 68, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 7, 0,141, 1, 7, 0,142, 1, 2, 0,143, 1, 2, 0,144, 1, 2, 0,145, 1, 2, 0,146, 1, 7, 0,147, 1, 7, 0,148, 1,
+ 7, 0,149, 1, 7, 0,150, 1, 61, 0, 4, 0, 4, 0, 18, 0, 4, 0,151, 1, 4, 0,152, 1, 4, 0, 66, 0, 62, 0,126, 0,
+ 22, 0, 32, 0, 34, 0, 74, 0, 2, 0,153, 1, 2, 0, 18, 0, 7, 0,184, 0, 7, 0,185, 0, 7, 0,186, 0, 7, 0,154, 1,
+ 7, 0,155, 1, 7, 0,156, 1, 7, 0,157, 1, 7, 0,158, 1, 7, 0,159, 1, 7, 0,160, 1, 7, 0,161, 1, 7, 0,162, 1,
+ 7, 0,163, 1, 7, 0,164, 1, 7, 0,165, 1, 7, 0,166, 1, 7, 0,167, 1, 7, 0,168, 1, 7, 0,169, 1, 7, 0,170, 1,
+ 7, 0,171, 1, 7, 0,172, 1, 7, 0,173, 1, 60, 0,174, 1, 61, 0,175, 1, 7, 0,176, 1, 7, 0,177, 1, 7, 0,178, 1,
+ 7, 0,179, 1, 7, 0,180, 1, 7, 0,181, 1, 7, 0,182, 1, 2, 0,183, 1, 2, 0,184, 1, 2, 0,185, 1, 0, 0,186, 1,
+ 0, 0,187, 1, 7, 0,188, 1, 7, 0,189, 1, 2, 0,190, 1, 2, 0,191, 1, 7, 0,192, 1, 7, 0,193, 1, 7, 0,194, 1,
+ 7, 0,195, 1, 2, 0,196, 1, 2, 0,197, 1, 4, 0, 74, 1, 4, 0,198, 1, 2, 0,199, 1, 2, 0,200, 1, 2, 0,201, 1,
+ 2, 0,202, 1, 7, 0,203, 1, 7, 0,204, 1, 7, 0,205, 1, 7, 0,206, 1, 7, 0,207, 1, 7, 0,208, 1, 7, 0,209, 1,
+ 7, 0,210, 1, 7, 0,211, 1, 7, 0,212, 1, 0, 0,213, 1, 7, 0,214, 1, 7, 0,215, 1, 7, 0,216, 1, 4, 0,217, 1,
+ 0, 0,218, 1, 0, 0,111, 1, 0, 0,219, 1, 0, 0, 63, 1, 2, 0,220, 1, 2, 0,221, 1, 2, 0,131, 1, 2, 0,222, 1,
+ 2, 0,223, 1, 2, 0,224, 1, 7, 0,225, 1, 7, 0,226, 1, 7, 0,227, 1, 7, 0,228, 1, 7, 0,229, 1, 2, 0,163, 0,
+ 2, 0,164, 0, 49, 0,230, 1, 49, 0,231, 1, 0, 0,232, 1, 0, 0,233, 1, 0, 0,234, 1, 0, 0,235, 1, 2, 0,236, 1,
+ 2, 0,237, 1, 7, 0,238, 1, 7, 0,239, 1, 46, 0,130, 1, 56, 0, 58, 1, 31, 0, 79, 0, 63, 0,240, 1, 25, 0,153, 0,
+ 7, 0,241, 1, 7, 0,242, 1, 7, 0,243, 1, 7, 0,244, 1, 7, 0,245, 1, 2, 0,246, 1, 2, 0, 30, 0, 7, 0,247, 1,
+ 7, 0,248, 1, 7, 0,249, 1, 7, 0,250, 1, 7, 0,251, 1, 7, 0,252, 1, 7, 0,253, 1, 7, 0,254, 1, 7, 0,255, 1,
+ 2, 0, 0, 2, 2, 0, 1, 2, 4, 0, 2, 2, 2, 0, 3, 2, 2, 0, 4, 2, 14, 0, 5, 2, 64, 0, 4, 0, 22, 0, 32, 0,
+ 0, 0, 35, 0, 65, 0, 2, 0, 38, 0,152, 0, 66, 0, 20, 0, 66, 0, 0, 0, 66, 0, 1, 0, 67, 0, 6, 2, 2, 0, 16, 0,
+ 2, 0, 18, 0, 2, 0, 7, 2, 2, 0, 8, 2, 7, 0, 5, 0, 7, 0, 6, 0, 7, 0, 7, 0, 7, 0, 9, 2, 7, 0, 10, 2,
+ 7, 0, 11, 2, 7, 0, 12, 2, 7, 0, 13, 2, 7, 0, 14, 2, 7, 0, 15, 2, 7, 0, 22, 0, 7, 0, 16, 2, 7, 0, 17, 2,
+ 68, 0, 20, 0, 22, 0, 32, 0, 34, 0, 74, 0, 67, 0, 6, 2, 14, 0, 18, 2, 14, 0, 19, 2, 14, 0, 20, 2, 31, 0, 79, 0,
+ 62, 0, 21, 2, 0, 0, 18, 0, 0, 0, 22, 2, 2, 0, 23, 2, 2, 0,177, 0, 2, 0, 27, 0, 7, 0, 64, 1, 7, 0,175, 0,
+ 7, 0, 65, 1, 7, 0, 24, 2, 7, 0, 25, 2, 7, 0, 26, 2, 66, 0, 27, 2, 30, 0, 11, 0, 7, 0, 28, 2, 7, 0, 29, 2,
+ 7, 0, 30, 2, 7, 0,243, 0, 2, 0, 53, 0, 0, 0, 31, 2, 0, 0, 32, 2, 0, 0, 33, 2, 0, 0, 34, 2, 0, 0, 35, 2,
+ 0, 0, 36, 2, 29, 0, 7, 0, 7, 0, 37, 2, 7, 0, 29, 2, 7, 0, 30, 2, 2, 0, 33, 2, 2, 0, 36, 2, 7, 0,243, 0,
+ 7, 0, 27, 0, 69, 0, 21, 0, 69, 0, 0, 0, 69, 0, 1, 0, 2, 0, 16, 0, 2, 0, 38, 2, 2, 0, 36, 2, 2, 0, 18, 0,
+ 2, 0, 39, 2, 2, 0, 40, 2, 2, 0, 41, 2, 2, 0, 42, 2, 2, 0, 43, 2, 2, 0, 44, 2, 2, 0, 45, 2, 2, 0, 46, 2,
+ 7, 0, 47, 2, 7, 0, 48, 2, 29, 0, 47, 0, 30, 0, 48, 0, 2, 0, 49, 2, 2, 0, 50, 2, 4, 0, 51, 2, 70, 0, 5, 0,
+ 2, 0, 52, 2, 2, 0, 38, 2, 0, 0, 18, 0, 0, 0, 27, 0, 2, 0, 30, 0, 71, 0, 4, 0, 7, 0, 5, 0, 7, 0, 6, 0,
+ 7, 0, 53, 2, 7, 0, 54, 2, 72, 0, 4, 0, 14, 0, 55, 2, 73, 0, 56, 2, 4, 0, 57, 2, 0, 0, 93, 0, 74, 0, 70, 0,
+ 22, 0, 32, 0, 34, 0, 74, 0, 67, 0, 6, 2, 14, 0, 58, 2, 14, 0, 19, 2, 72, 0, 59, 2, 27, 0, 60, 2, 27, 0, 61, 2,
+ 27, 0, 62, 2, 31, 0, 79, 0, 75, 0, 63, 2, 33, 0, 64, 2, 62, 0, 21, 2, 14, 0, 65, 2, 7, 0, 64, 1, 7, 0,175, 0,
+ 7, 0, 65, 1, 2, 0, 16, 0, 2, 0,177, 0, 2, 0, 66, 2, 2, 0, 67, 2, 7, 0, 68, 2, 7, 0, 69, 2, 4, 0, 70, 2,
+ 2, 0, 27, 0, 2, 0, 23, 2, 2, 0, 18, 0, 2, 0, 71, 2, 7, 0, 72, 2, 7, 0, 73, 2, 7, 0, 74, 2, 2, 0, 41, 2,
+ 2, 0, 42, 2, 2, 0, 75, 2, 2, 0, 76, 2, 4, 0, 77, 2, 11, 0, 78, 2, 2, 0, 22, 0, 2, 0, 96, 0, 2, 0, 65, 0,
+ 2, 0, 79, 2, 7, 0, 80, 2, 7, 0, 81, 2, 7, 0, 82, 2, 7, 0, 83, 2, 7, 0, 84, 2, 7, 0, 85, 2, 7, 0, 86, 2,
+ 7, 0, 87, 2, 7, 0, 88, 2, 7, 0, 89, 2, 0, 0, 90, 2, 76, 0, 91, 2, 77, 0, 92, 2, 0, 0, 93, 2, 64, 0, 94, 2,
+ 64, 0, 95, 2, 64, 0, 96, 2, 64, 0, 97, 2, 4, 0, 98, 2, 7, 0, 83, 0, 4, 0, 99, 2, 4, 0,100, 2, 71, 0,101, 2,
+ 4, 0,102, 2, 4, 0,103, 2, 70, 0,104, 2, 70, 0,105, 2, 7, 0,106, 2, 7, 0,107, 2, 78, 0, 47, 0, 22, 0, 32, 0,
+ 34, 0, 74, 0, 67, 0, 6, 2, 31, 0, 79, 0, 33, 0, 64, 2, 62, 0, 21, 2, 79, 0,108, 2, 80, 0,109, 2, 81, 0,110, 2,
+ 82, 0,111, 2, 83, 0,112, 2, 84, 0,113, 2, 85, 0,114, 2, 86, 0,115, 2, 87, 0,116, 2, 88, 0,117, 2, 89, 0,118, 2,
+ 90, 0,119, 2, 91, 0,120, 2, 92, 0,121, 2, 78, 0,122, 2, 93, 0,123, 2, 94, 0,124, 2, 94, 0,125, 2, 94, 0,126, 2,
+ 94, 0,127, 2, 94, 0,128, 2, 4, 0, 52, 0, 4, 0,129, 2, 4, 0,130, 2, 4, 0,131, 2, 4, 0,132, 2, 4, 0,133, 2,
+ 4, 0,134, 2, 7, 0, 64, 1, 7, 0,175, 0, 7, 0, 65, 1, 2, 0,177, 0, 2, 0, 66, 2, 2, 0,135, 2, 2, 0, 18, 0,
+ 2, 0,136, 2, 2, 0,137, 2, 0, 0,138, 2, 0, 0,139, 2, 2, 0, 23, 2, 95, 0,140, 2, 87, 0, 8, 0, 11, 0,141, 2,
+ 7, 0,142, 2, 4, 0,143, 2, 0, 0, 18, 0, 0, 0,144, 2, 2, 0, 74, 1, 2, 0,145, 2, 2, 0,146, 2, 85, 0, 7, 0,
+ 4, 0,147, 2, 4, 0,148, 2, 4, 0,149, 2, 4, 0,150, 2, 2, 0, 38, 2, 0, 0,151, 2, 0, 0, 18, 0, 89, 0, 5, 0,
+ 4, 0,147, 2, 4, 0,148, 2, 0, 0,152, 2, 0, 0,153, 2, 2, 0, 18, 0, 96, 0, 2, 0, 4, 0,154, 2, 7, 0, 30, 2,
+ 90, 0, 3, 0, 96, 0,155, 2, 4, 0,156, 2, 4, 0, 18, 0, 88, 0, 4, 0, 7, 0,157, 2, 2, 0,158, 2, 0, 0, 18, 0,
+ 0, 0,153, 2, 91, 0, 4, 0, 0, 0,226, 0, 0, 0,184, 0, 0, 0,185, 0, 0, 0,186, 0, 80, 0, 5, 0, 4, 0,159, 2,
+ 4, 0,133, 2, 2, 0, 38, 2, 0, 0, 18, 0, 0, 0, 27, 0, 82, 0, 2, 0, 4, 0,160, 2, 4, 0,161, 2, 81, 0, 6, 0,
+ 42, 0,141, 2, 0, 0, 18, 0, 0, 0,144, 2, 2, 0, 74, 1, 2, 0,145, 2, 2, 0,146, 2, 83, 0, 2, 0, 7, 0,162, 2,
+ 4, 0, 18, 0, 84, 0, 4, 0, 0, 0,184, 0, 0, 0,185, 0, 0, 0,186, 0, 0, 0,226, 0, 92, 0, 1, 0, 7, 0,163, 2,
+ 79, 0, 2, 0, 4, 0, 4, 2, 4, 0, 16, 0, 86, 0, 7, 0, 7, 0,142, 2, 42, 0,141, 2, 0, 0, 18, 0, 0, 0,144, 2,
+ 2, 0, 74, 1, 2, 0,145, 2, 2, 0,146, 2, 97, 0, 1, 0, 7, 0,164, 2, 98, 0, 1, 0, 4, 0,165, 2, 99, 0, 1, 0,
+ 0, 0,166, 2,100, 0, 1, 0, 7, 0,142, 2,101, 0, 1, 0, 7, 0,162, 2,102, 0, 4, 0, 4, 0,167, 2, 4, 0,168, 2,
+ 7, 0,169, 2, 4, 0,170, 2,103, 0, 4, 0, 7, 0,226, 0, 7, 0,184, 0, 7, 0,185, 0, 7, 0,186, 0,104, 0, 1, 0,
+103, 0,143, 2,105, 0, 5, 0, 4, 0,171, 2, 4, 0,172, 2, 0, 0, 18, 0, 0, 0, 38, 2, 0, 0,173, 2,106, 0, 2, 0,
+ 4, 0,174, 2, 4, 0,172, 2,107, 0, 10, 0,107, 0, 0, 0,107, 0, 1, 0,105, 0,175, 2,104, 0,176, 2,106, 0,177, 2,
+ 4, 0, 52, 0, 4, 0,130, 2, 4, 0,129, 2, 4, 0, 27, 0, 88, 0,178, 2, 95, 0, 14, 0, 14, 0,179, 2, 88, 0,178, 2,
+ 0, 0,180, 2, 0, 0,181, 2, 0, 0,182, 2, 0, 0,183, 2, 0, 0,184, 2, 0, 0,185, 2, 0, 0,186, 2, 0, 0, 18, 0,
+ 94, 0,124, 2, 94, 0,126, 2, 2, 0,187, 2, 0, 0,188, 2,108, 0, 1, 0, 4, 0,165, 2,109, 0, 3, 0, 7, 0, 2, 0,
+ 4, 0,168, 2, 4, 0, 27, 0,110, 0, 2, 0, 7, 0,189, 2, 4, 0, 18, 0,111, 0, 9, 0,111, 0, 0, 0,111, 0, 1, 0,
+ 4, 0, 16, 0, 4, 0, 74, 1, 4, 0,190, 2, 4, 0, 27, 0, 0, 0, 19, 0, 41, 0,124, 0, 0, 0,191, 2,112, 0, 6, 0,
+111, 0,192, 2, 47, 0,193, 2, 27, 0,194, 2, 0, 0,195, 2, 4, 0,196, 2, 4, 0,197, 2,113, 0, 7, 0,111, 0,192, 2,
+ 2, 0,198, 2, 2, 0,179, 2, 2, 0,199, 2, 2, 0, 91, 0, 11, 0,200, 2, 11, 0,201, 2,114, 0, 5, 0,111, 0,192, 2,
+ 27, 0,167, 0, 0, 0, 19, 0, 7, 0,202, 2, 0, 0, 93, 0,115, 0, 5, 0,111, 0,192, 2, 27, 0,167, 0, 0, 0, 19, 0,
+ 2, 0,203, 2, 0, 0,204, 2,116, 0, 5, 0,111, 0,192, 2, 7, 0, 89, 0, 7, 0,205, 2, 4, 0,206, 2, 4, 0,207, 2,
+117, 0, 5, 0,111, 0,192, 2, 27, 0,208, 2, 0, 0, 71, 0, 4, 0, 74, 1, 4, 0, 18, 0,118, 0, 13, 0,111, 0,192, 2,
+ 27, 0,209, 2, 27, 0,210, 2, 27, 0,211, 2, 27, 0,212, 2, 7, 0,213, 2, 7, 0,214, 2, 7, 0,205, 2, 7, 0,215, 2,
+ 4, 0,216, 2, 4, 0,217, 2, 4, 0, 91, 0, 4, 0,218, 2,119, 0, 5, 0,111, 0,192, 2, 2, 0,219, 2, 2, 0, 18, 0,
+ 7, 0,220, 2, 27, 0,221, 2,120, 0, 3, 0,111, 0,192, 2, 7, 0,222, 2, 4, 0, 91, 0,121, 0, 10, 0,111, 0,192, 2,
+ 7, 0,223, 2, 4, 0,224, 2, 4, 0, 27, 0, 2, 0, 91, 0, 2, 0,225, 2, 2, 0,226, 2, 2, 0,227, 2, 7, 0,228, 2,
+ 0, 0,229, 2,122, 0, 3, 0,111, 0,192, 2, 7, 0, 27, 0, 4, 0, 16, 0,123, 0, 6, 0,111, 0,192, 2,124, 0,230, 2,
+125, 0,231, 2,126, 0,232, 2, 7, 0,233, 2, 4, 0, 16, 0,127, 0, 11, 0,111, 0,192, 2, 47, 0,193, 2, 27, 0,194, 2,
+ 0, 0,195, 2, 4, 0,196, 2, 4, 0,197, 2, 7, 0,202, 2, 4, 0,234, 2, 0, 0,229, 2, 7, 0,235, 2, 4, 0, 27, 0,
+128, 0, 12, 0,111, 0,192, 2, 27, 0,236, 2, 42, 0,237, 2, 4, 0, 91, 0, 4, 0,238, 2, 7, 0,239, 2, 7, 0,240, 2,
+ 7, 0,241, 2, 7, 0,242, 2, 0, 0,195, 2, 4, 0,196, 2, 4, 0, 27, 0,129, 0, 3, 0,111, 0,192, 2, 7, 0,243, 2,
+ 4, 0,244, 2,130, 0, 5, 0,111, 0,192, 2, 7, 0,245, 2, 0, 0,229, 2, 2, 0, 18, 0, 2, 0,246, 2,131, 0, 8, 0,
+111, 0,192, 2, 27, 0,167, 0, 7, 0,245, 2, 7, 0,243, 0, 7, 0,107, 0, 0, 0,229, 2, 2, 0, 18, 0, 2, 0, 16, 0,
+132, 0, 21, 0,111, 0,192, 2, 47, 0,193, 2, 27, 0,194, 2, 0, 0,195, 2, 4, 0,196, 2, 4, 0,197, 2, 27, 0,247, 2,
+ 0, 0,229, 2, 2, 0, 18, 0, 2, 0, 27, 0, 7, 0,248, 2, 7, 0,249, 2, 7, 0,250, 2, 7, 0, 72, 2, 7, 0,251, 2,
+ 7, 0,252, 2, 7, 0,253, 2, 7, 0,254, 2, 7, 0,255, 2, 7, 0, 0, 3, 7, 0, 66, 0,133, 0, 7, 0,111, 0,192, 2,
+ 2, 0, 1, 3, 2, 0, 2, 3, 4, 0, 30, 0, 27, 0,167, 0, 7, 0, 3, 3, 0, 0,229, 2,134, 0, 10, 0,111, 0,192, 2,
+ 27, 0,167, 0, 0, 0, 4, 3, 7, 0, 5, 3, 7, 0, 6, 3, 7, 0,254, 2, 4, 0, 7, 3, 4, 0, 8, 3, 7, 0, 9, 3,
+ 0, 0, 19, 0,135, 0, 1, 0,111, 0,192, 2,136, 0, 7, 0,111, 0,192, 2, 41, 0,124, 0,137, 0, 10, 3,138, 0, 11, 3,
+139, 0, 12, 3,140, 0, 13, 3, 14, 0, 14, 3,141, 0, 13, 0,111, 0,192, 2, 88, 0, 15, 3, 88, 0, 16, 3, 88, 0, 17, 3,
+ 88, 0, 18, 3, 88, 0, 19, 3, 88, 0, 20, 3, 85, 0, 21, 3, 4, 0, 22, 3, 4, 0, 23, 3, 7, 0, 24, 3, 7, 0, 25, 3,
+142, 0, 26, 3,143, 0, 7, 0,111, 0,192, 2, 88, 0, 15, 3, 88, 0, 27, 3,144, 0, 28, 3,145, 0, 26, 3, 4, 0, 29, 3,
+ 4, 0, 22, 3,146, 0, 4, 0,111, 0,192, 2, 27, 0,167, 0, 4, 0, 30, 3, 4, 0, 27, 0,147, 0, 2, 0, 4, 0, 31, 3,
+ 7, 0, 30, 2,148, 0, 2, 0, 4, 0,127, 0, 4, 0, 32, 3,149, 0, 24, 0,111, 0,192, 2, 27, 0,167, 0, 0, 0,229, 2,
+ 2, 0, 33, 3, 2, 0, 18, 0, 2, 0, 74, 1, 2, 0, 27, 0,147, 0, 34, 3, 4, 0, 35, 3, 7, 0, 36, 3, 4, 0, 52, 0,
+ 4, 0, 37, 3,148, 0, 38, 3,147, 0, 39, 3, 4, 0, 40, 3, 4, 0, 41, 3, 4, 0, 42, 3, 4, 0, 32, 3, 7, 0, 43, 3,
+ 7, 0, 44, 3, 7, 0, 45, 3, 7, 0, 46, 3, 7, 0, 47, 3, 11, 0, 48, 3,150, 0, 8, 0,111, 0,192, 2,151, 0, 49, 3,
+144, 0, 28, 3, 4, 0, 50, 3, 4, 0, 51, 3, 4, 0, 52, 3, 2, 0, 18, 0, 2, 0, 55, 0,152, 0, 8, 0,111, 0,192, 2,
+ 27, 0, 43, 0, 2, 0,247, 0, 2, 0, 18, 0, 2, 0,219, 2, 2, 0, 55, 0, 7, 0, 53, 3, 7, 0, 54, 3,153, 0, 6, 0,
+111, 0,192, 2, 4, 0, 55, 3, 2, 0, 18, 0, 2, 0, 56, 3, 7, 0, 57, 3, 0, 0,169, 0,154, 0, 8, 0,111, 0,192, 2,
+ 0, 0, 58, 3, 0, 0, 59, 3, 0, 0,185, 2, 0, 0, 60, 3, 0, 0, 61, 3, 0, 0, 91, 0, 0, 0,173, 2,155, 0, 3, 0,
+111, 0,192, 2,156, 0, 62, 3,140, 0, 13, 3,157, 0, 10, 0,111, 0,192, 2, 27, 0, 63, 3, 27, 0, 64, 3, 0, 0, 65, 3,
+ 7, 0, 66, 3, 2, 0, 67, 3, 2, 0, 68, 3, 0, 0, 69, 3, 0, 0, 70, 3, 0, 0,204, 2,158, 0, 9, 0,111, 0,192, 2,
+ 27, 0, 71, 3, 0, 0, 65, 3, 7, 0, 72, 3, 7, 0, 73, 3, 0, 0, 74, 1, 0, 0,219, 2, 0, 0, 74, 3, 0, 0, 27, 0,
+159, 0, 1, 0,111, 0,192, 2,160, 0, 11, 0,111, 0,192, 2, 0, 0,229, 2, 7, 0,127, 0, 7, 0, 75, 3, 7, 0, 76, 3,
+ 7, 0, 77, 3, 7, 0, 78, 3, 7, 0, 79, 3, 4, 0, 18, 0, 2, 0, 80, 3, 2, 0, 81, 3,161, 0, 9, 0,111, 0,192, 2,
+ 27, 0, 82, 3, 4, 0, 83, 3, 4, 0, 84, 3, 4, 0, 85, 3, 7, 0, 86, 3, 7, 0, 87, 3, 2, 0,219, 2, 2, 0, 18, 0,
+162, 0, 29, 0,111, 0,192, 2,163, 0, 88, 3,164, 0, 89, 3, 4, 0, 90, 3, 4, 0, 91, 3, 7, 0, 92, 3, 7, 0,253, 2,
+ 7, 0, 93, 3, 7, 0,238, 0, 7, 0, 94, 3, 7, 0, 95, 3, 7, 0, 96, 3, 7, 0, 97, 3, 7, 0, 98, 3, 7, 0,233, 2,
+ 4, 0, 99, 3, 4, 0,100, 3, 0, 0,101, 3, 0, 0,102, 3, 0, 0,103, 3, 0, 0,104, 3, 0, 0, 18, 0, 0, 0,105, 3,
+ 2, 0,106, 3, 2, 0,107, 3, 4, 0,207, 2, 7, 0,107, 0, 7, 0,108, 3, 4, 0, 27, 0,165, 0, 15, 0,111, 0,192, 2,
+ 47, 0,193, 2, 27, 0,194, 2, 0, 0,195, 2, 4, 0,196, 2, 4, 0,197, 2, 27, 0,109, 3, 27, 0,110, 3, 53, 0, 87, 1,
+ 0, 0,229, 2, 7, 0,202, 2, 7, 0,111, 3, 0, 0, 18, 0, 0, 0,241, 0, 0, 0,204, 2,166, 0, 16, 0,111, 0,192, 2,
+ 0, 0,229, 2, 2, 0,112, 3, 2, 0,241, 0, 7, 0,113, 3, 53, 0,114, 3, 7, 0,115, 3, 7, 0,116, 3, 7, 0,117, 3,
+ 0, 0,118, 3, 4, 0,119, 3, 47, 0,120, 3, 27, 0,121, 3, 4, 0,122, 3, 0, 0,123, 3, 4, 0,124, 3,167, 0, 16, 0,
+111, 0,192, 2, 0, 0,125, 3, 0, 0,126, 3, 7, 0,127, 3, 7, 0,128, 3, 0, 0,129, 3, 0, 0,130, 3, 0, 0,131, 3,
+ 7, 0,117, 3, 0, 0,118, 3, 4, 0,119, 3, 47, 0,120, 3, 27, 0,121, 3, 4, 0,122, 3, 0, 0,123, 3, 4, 0,124, 3,
+168, 0, 16, 0,111, 0,192, 2, 0, 0,229, 2, 4, 0,132, 3, 4, 0,133, 3, 27, 0,134, 3, 7, 0,117, 3, 0, 0,118, 3,
+ 4, 0,119, 3, 47, 0,120, 3, 27, 0,121, 3, 4, 0,122, 3, 0, 0,123, 3, 7, 0,135, 3, 7, 0,136, 3, 2, 0,241, 0,
+ 2, 0,137, 3,169, 0, 5, 0,111, 0,192, 2,170, 0,138, 3,171, 0,139, 3, 4, 0, 16, 0, 4, 0, 27, 0,172, 0, 8, 0,
+111, 0,192, 2, 7, 0,140, 3, 7, 0,141, 3, 7, 0,142, 3, 0, 0,238, 0, 0, 0, 18, 0, 0, 0, 74, 1, 0, 0, 27, 0,
+173, 0, 5, 0,111, 0,192, 2, 7, 0,143, 3, 0, 0, 18, 0, 0, 0,144, 3, 0, 0,173, 2,174, 0, 3, 0,175, 0,145, 3,
+ 4, 0, 57, 2, 0, 0, 93, 0,175, 0, 29, 0, 22, 0, 32, 0, 34, 0, 74, 0, 2, 0, 39, 2, 2, 0, 40, 2, 2, 0,146, 3,
+ 2, 0, 18, 0, 2, 0,147, 3, 2, 0,148, 3, 2, 0,149, 3, 2, 0, 30, 0, 0, 0,150, 3, 0, 0,151, 3, 0, 0,152, 3,
+ 0, 0,237, 1, 4, 0, 27, 0, 7, 0,153, 3, 7, 0,154, 3, 7, 0,155, 3, 7, 0,156, 3, 7, 0,157, 3, 7, 0,158, 3,
+ 29, 0,159, 3, 31, 0, 79, 0, 33, 0, 64, 2, 90, 0,119, 2, 0, 0, 71, 0, 7, 0,160, 3, 7, 0,161, 3,174, 0,162, 3,
+176, 0, 5, 0,176, 0, 0, 0,176, 0, 1, 0, 0, 0, 19, 0, 0, 0, 18, 0, 0, 0,123, 0, 67, 0, 3, 0, 7, 0,163, 3,
+ 4, 0, 18, 0, 4, 0, 27, 0, 27, 0,132, 0, 22, 0, 32, 0, 34, 0, 74, 0,177, 0,164, 3, 2, 0, 16, 0, 2, 0,165, 3,
+ 4, 0,166, 3, 4, 0,167, 3, 4, 0,168, 3, 0, 0,169, 3, 27, 0, 37, 0, 27, 0,170, 3, 27, 0,171, 3, 27, 0,172, 3,
+ 27, 0,173, 3, 31, 0, 79, 0, 67, 0, 6, 2,178, 0,174, 3,178, 0,175, 3,179, 0,176, 3, 11, 0, 2, 0,180, 0,177, 3,
+181, 0,178, 3,182, 0,179, 3, 14, 0,180, 3, 14, 0,181, 3, 14, 0, 19, 2, 14, 0,182, 3, 14, 0,183, 3, 4, 0, 74, 1,
+ 4, 0,184, 3, 62, 0, 21, 2, 0, 0,185, 3, 4, 0, 23, 2, 4, 0,186, 3, 7, 0, 64, 1, 7, 0,187, 3, 7, 0,188, 3,
+ 7, 0,175, 0, 7, 0,189, 3, 7, 0,190, 3, 7, 0, 65, 1, 7, 0,191, 3, 7, 0, 9, 2, 7, 0,192, 3, 7, 0,193, 3,
+ 7, 0,194, 3, 7, 0,195, 3, 7, 0,196, 3, 7, 0,197, 3, 7, 0, 5, 3, 7, 0,198, 3, 7, 0,232, 0, 7, 0,199, 3,
+ 4, 0,200, 3, 4, 0,201, 3, 2, 0, 18, 0, 2, 0,202, 3, 2, 0,203, 3, 2, 0,204, 3, 2, 0,205, 3, 2, 0,206, 3,
+ 2, 0,207, 3, 2, 0,208, 3, 2, 0,209, 3, 0, 0,210, 3, 0, 0,211, 3, 4, 0,212, 3, 4, 0,213, 3, 4, 0,214, 3,
+ 4, 0,215, 3, 7, 0,216, 3, 7, 0, 83, 0, 7, 0,217, 3, 7, 0,218, 3, 7, 0,219, 3, 7, 0,220, 3, 7, 0,221, 3,
+ 7, 0,219, 0, 7, 0,222, 3, 7, 0,223, 3, 7, 0,224, 3, 7, 0,225, 3, 7, 0,226, 3, 7, 0,227, 3, 7, 0,228, 3,
+ 7, 0,229, 3, 0, 0,230, 3, 2, 0,231, 3, 0, 0,232, 3, 0, 0,233, 3, 0, 0,234, 3, 0, 0,235, 3, 0, 0,109, 0,
+ 0, 0,236, 3, 7, 0,237, 3, 7, 0,238, 3, 14, 0,239, 3, 14, 0,240, 3, 14, 0,241, 3, 14, 0,242, 3, 7, 0,243, 3,
+ 2, 0, 4, 2, 2, 0,244, 3, 7, 0,143, 2, 4, 0,245, 3, 4, 0,246, 3,183, 0,247, 3, 2, 0,248, 3, 2, 0,239, 0,
+ 7, 0,249, 3, 14, 0,250, 3, 14, 0,251, 3, 14, 0,252, 3, 14, 0,253, 3,184, 0, 60, 1,185, 0,254, 3, 63, 0,255, 3,
+ 0, 0, 0, 4, 0, 0, 1, 4, 2, 0, 57, 2, 7, 0,135, 2,156, 0, 2, 4,144, 0, 3, 4,144, 0, 4, 4, 10, 0, 5, 4,
+ 10, 0, 6, 4, 4, 0, 7, 4, 4, 0, 8, 4, 14, 0, 9, 4, 14, 0, 10, 4, 14, 0, 11, 4, 7, 0, 12, 4,186, 0, 14, 0,
+186, 0, 0, 0,186, 0, 1, 0, 27, 0, 37, 0, 7, 0, 5, 3, 7, 0, 66, 1, 7, 0, 6, 3, 7, 0,254, 2, 0, 0, 19, 0,
+ 4, 0, 7, 3, 4, 0, 8, 3, 4, 0, 13, 4, 2, 0, 16, 0, 2, 0, 14, 4, 7, 0, 9, 3,187, 0, 12, 0,187, 0, 0, 0,
+187, 0, 1, 0, 27, 0, 43, 0, 4, 0, 15, 4, 4, 0, 4, 2, 7, 0, 66, 1, 7, 0, 16, 4, 7, 0, 17, 4, 7, 0,162, 2,
+ 2, 0, 16, 0, 0, 0, 18, 4, 0, 0, 19, 4,184, 0, 40, 0, 4, 0, 18, 0, 2, 0, 20, 4, 2, 0, 21, 4, 2, 0,254, 2,
+ 2, 0, 22, 4, 2, 0, 23, 4, 2, 0, 24, 4, 2, 0, 25, 4, 2, 0, 26, 4, 7, 0, 27, 4, 7, 0, 28, 4, 7, 0, 29, 4,
+ 7, 0, 30, 4, 7, 0, 31, 4, 7, 0, 32, 4, 7, 0, 33, 4, 7, 0, 34, 4, 7, 0, 35, 4, 7, 0, 36, 4, 7, 0, 37, 4,
+ 7, 0, 38, 4, 7, 0, 39, 4, 7, 0, 40, 4, 7, 0, 41, 4, 7, 0, 42, 4, 7, 0, 43, 4, 7, 0, 44, 4, 7, 0, 45, 4,
+ 7, 0, 46, 4, 7, 0, 47, 4, 7, 0, 48, 4, 7, 0, 49, 4, 7, 0, 50, 4, 7, 0, 51, 4, 7, 0, 52, 4, 7, 0, 53, 4,
+ 47, 0,168, 0,188, 0, 54, 4, 7, 0, 55, 4, 4, 0,207, 2,189, 0, 5, 0, 63, 0,240, 1, 7, 0, 56, 4, 7, 0, 57, 4,
+ 2, 0, 18, 0, 2, 0, 58, 4,190, 0, 5, 0,190, 0, 0, 0,190, 0, 1, 0, 4, 0, 16, 0, 4, 0, 59, 4, 11, 0, 2, 0,
+191, 0, 9, 0,191, 0, 0, 0,191, 0, 1, 0, 4, 0, 60, 4, 4, 0, 61, 4, 4, 0, 62, 4, 4, 0, 18, 0, 11, 0, 63, 4,
+ 11, 0, 64, 4, 14, 0, 65, 4,140, 0, 23, 0,140, 0, 0, 0,140, 0, 1, 0, 4, 0, 18, 0, 4, 0, 66, 4, 4, 0, 67, 4,
+ 4, 0, 68, 4, 4, 0, 69, 4, 4, 0, 70, 4, 4, 0, 71, 4, 4, 0, 72, 4, 4, 0, 27, 0, 4, 0, 61, 4, 4, 0, 4, 2,
+ 2, 0, 73, 4, 2, 0, 55, 0, 0, 0, 19, 0, 0, 0, 74, 4, 0, 0, 75, 4, 0, 0, 76, 4, 0, 0, 77, 4, 14, 0, 78, 4,
+192, 0, 79, 4, 11, 0, 80, 4,193, 0, 1, 0, 7, 0, 37, 2,183, 0, 30, 0, 4, 0, 18, 0, 7, 0, 81, 4, 7, 0, 82, 4,
+ 7, 0, 83, 4, 4, 0, 84, 4, 4, 0, 85, 4, 4, 0, 86, 4, 4, 0, 87, 4, 7, 0, 88, 4, 7, 0, 89, 4, 7, 0, 90, 4,
+ 7, 0, 91, 4, 7, 0, 92, 4, 7, 0, 93, 4, 7, 0, 94, 4, 7, 0, 95, 4, 7, 0, 96, 4, 7, 0, 97, 4, 7, 0, 98, 4,
+ 7, 0, 99, 4, 7, 0,100, 4, 7, 0,101, 4, 7, 0,102, 4, 7, 0,103, 4, 7, 0,104, 4, 7, 0,105, 4, 4, 0,106, 4,
+ 4, 0,107, 4, 7, 0,108, 4, 7, 0,222, 3,185, 0, 54, 0, 4, 0, 61, 4, 4, 0,109, 4,194, 0,110, 4,195, 0,111, 4,
+ 0, 0, 27, 0, 0, 0,112, 4, 2, 0,113, 4, 7, 0,114, 4, 0, 0,115, 4, 7, 0,116, 4, 7, 0,117, 4, 7, 0,118, 4,
+ 7, 0,119, 4, 7, 0,120, 4, 7, 0,121, 4, 7, 0,122, 4, 7, 0,123, 4, 7, 0,124, 4, 2, 0,125, 4, 0, 0,126, 4,
+ 2, 0,127, 4, 7, 0,128, 4, 7, 0,129, 4, 0, 0,130, 4, 4, 0,128, 0, 4, 0,131, 4, 4, 0,132, 4, 2, 0,133, 4,
+ 2, 0,134, 4,193, 0,135, 4, 4, 0,136, 4, 4, 0, 81, 0, 7, 0,137, 4, 7, 0,138, 4, 7, 0,139, 4, 7, 0,140, 4,
+ 2, 0,141, 4, 2, 0,142, 4, 2, 0,143, 4, 2, 0,144, 4, 2, 0,145, 4, 2, 0,146, 4, 2, 0,147, 4, 2, 0,148, 4,
+196, 0,149, 4, 7, 0,150, 4, 7, 0,151, 4,140, 0,152, 4, 14, 0, 14, 3,189, 0,153, 4, 7, 0,154, 4, 7, 0,155, 4,
+ 7, 0,156, 4, 4, 0,157, 4,197, 0, 1, 0, 7, 0,158, 4,156, 0, 52, 0,155, 0,159, 4, 2, 0, 16, 0, 2, 0,160, 4,
+ 2, 0,161, 4, 2, 0,162, 4, 7, 0,163, 4, 2, 0,164, 4, 2, 0,165, 4, 7, 0,166, 4, 2, 0,167, 4, 2, 0,168, 4,
+ 7, 0,169, 4, 7, 0,170, 4, 7, 0,171, 4, 4, 0,172, 4, 4, 0,173, 4, 4, 0,174, 4, 4, 0, 27, 0, 7, 0,175, 4,
+ 4, 0,176, 4, 7, 0,177, 4, 7, 0,178, 4, 7, 0,179, 4, 78, 0,180, 4, 78, 0,181, 4, 0, 0,182, 4, 7, 0,183, 4,
+ 7, 0,184, 4, 31, 0, 79, 0, 2, 0,185, 4, 0, 0,186, 4, 0, 0,187, 4, 7, 0,188, 4, 4, 0,189, 4, 7, 0,190, 4,
+ 7, 0,191, 4, 4, 0,192, 4, 4, 0, 18, 0, 7, 0,193, 4, 7, 0,194, 4, 7, 0,195, 4,197, 0,196, 4, 4, 0, 52, 0,
+ 7, 0,197, 4, 7, 0,198, 4, 7, 0,199, 4, 7, 0,200, 4, 7, 0,201, 4, 7, 0,202, 4, 7, 0,203, 4, 4, 0,204, 4,
+ 7, 0,205, 4,198, 0, 78, 0, 22, 0, 32, 0, 34, 0, 74, 0, 2, 0,178, 0, 2, 0, 75, 1, 2, 0,111, 1, 2, 0,206, 4,
+ 7, 0,207, 4, 7, 0,208, 4, 7, 0,209, 4, 7, 0,210, 4, 7, 0,211, 4, 7, 0,212, 4, 7, 0,160, 1, 7, 0,162, 1,
+ 7, 0,161, 1, 7, 0, 30, 0, 4, 0,213, 4, 7, 0,214, 4, 7, 0,215, 4, 7, 0,216, 4, 7, 0,217, 4, 7, 0,218, 4,
+ 7, 0,219, 4, 7, 0,220, 4, 2, 0,221, 4, 2, 0, 74, 1, 2, 0,222, 4, 2, 0,223, 4, 2, 0,224, 4, 2, 0,225, 4,
+ 2, 0,226, 4, 2, 0,227, 4, 7, 0,228, 4, 7, 0,229, 4, 7, 0,230, 4, 7, 0,231, 4, 7, 0,232, 4, 7, 0,233, 4,
+ 7, 0,234, 4, 7, 0,235, 4, 7, 0,236, 4, 7, 0,237, 4, 7, 0,238, 4, 7, 0,239, 4, 2, 0,240, 4, 2, 0,241, 4,
+ 2, 0,242, 4, 2, 0,243, 4, 7, 0,244, 4, 7, 0,245, 4, 7, 0,246, 4, 7, 0,247, 4, 2, 0,248, 4, 2, 0,249, 4,
+ 2, 0,250, 4, 2, 0,251, 4, 7, 0,252, 4, 7, 0,253, 4, 7, 0,254, 4, 7, 0,255, 4, 7, 0, 0, 5, 7, 0, 1, 5,
+ 7, 0, 2, 5, 2, 0, 3, 5, 2, 0, 4, 5, 2, 0, 5, 5, 2, 0, 6, 5, 2, 0, 7, 5, 2, 0, 18, 0, 7, 0, 8, 5,
+ 7, 0, 9, 5, 31, 0, 79, 0, 46, 0,130, 1, 2, 0,131, 1, 2, 0, 63, 1, 2, 0,173, 2, 25, 0,153, 0, 56, 0, 58, 1,
+199, 0, 8, 0,199, 0, 0, 0,199, 0, 1, 0, 4, 0,200, 3, 4, 0, 10, 5, 4, 0, 18, 0, 2, 0, 11, 5, 2, 0, 12, 5,
+ 27, 0,167, 0,200, 0, 13, 0, 11, 0, 13, 5, 11, 0, 14, 5, 4, 0, 15, 5, 4, 0, 16, 5, 4, 0, 17, 5, 4, 0, 18, 5,
+ 4, 0, 19, 5, 4, 0, 20, 5, 4, 0, 21, 5, 4, 0, 22, 5, 4, 0, 23, 5, 4, 0, 27, 0, 0, 0, 24, 5,201, 0, 5, 0,
+ 11, 0, 25, 5, 11, 0, 26, 5, 4, 0, 27, 5, 4, 0, 30, 0, 0, 0, 28, 5,202, 0, 17, 0, 4, 0, 29, 5, 4, 0, 30, 5,
+ 4, 0, 31, 5, 4, 0, 32, 5, 4, 0, 33, 5, 4, 0, 34, 5, 4, 0, 35, 5, 4, 0, 36, 5, 4, 0, 37, 5, 4, 0, 38, 5,
+ 4, 0, 39, 5, 4, 0, 40, 5, 2, 0, 41, 5, 2, 0, 42, 5, 4, 0, 43, 5, 4, 0, 44, 5, 4, 0, 66, 0,203, 0, 17, 0,
+ 4, 0, 16, 0, 4, 0, 31, 5, 4, 0, 45, 5, 4, 0, 46, 5, 4, 0, 47, 5, 4, 0, 48, 5, 4, 0, 49, 5, 4, 0, 50, 5,
+ 7, 0, 51, 5, 4, 0, 52, 5, 4, 0, 91, 0, 4, 0, 53, 5, 4, 0, 54, 5, 4, 0, 55, 5, 4, 0, 56, 5, 4, 0, 57, 5,
+ 21, 0, 31, 0,204, 0, 9, 0, 4, 0, 58, 5, 7, 0, 59, 5, 7, 0, 60, 5, 7, 0, 61, 5, 4, 0, 62, 5, 2, 0, 18, 0,
+ 2, 0, 27, 0, 7, 0, 83, 4, 7, 0, 30, 0,205, 0, 13, 0,205, 0, 0, 0,205, 0, 1, 0, 0, 0, 19, 0, 62, 0, 63, 5,
+ 63, 0, 64, 5, 4, 0,200, 3, 4, 0, 65, 5, 4, 0, 66, 5, 4, 0, 67, 5, 4, 0, 68, 5, 4, 0, 69, 5, 4, 0, 70, 5,
+ 4, 0, 27, 0,206, 0, 13, 0, 0, 0, 71, 5, 0, 0,238, 0, 0, 0, 72, 5, 0, 0, 18, 0, 0, 0, 73, 5, 0, 0, 74, 5,
+ 0, 0, 75, 5, 0, 0, 76, 5, 2, 0, 77, 5, 2, 0, 78, 5, 7, 0, 79, 5, 0, 0, 80, 5, 0, 0,123, 0,207, 0,106, 0,
+206, 0, 81, 5,200, 0, 82, 5,201, 0, 83, 5,202, 0, 84, 5,203, 0, 85, 5, 4, 0, 29, 3, 4, 0,128, 0, 4, 0,131, 4,
+ 7, 0, 86, 5, 4, 0, 87, 5, 4, 0, 88, 5, 4, 0, 89, 5, 4, 0, 90, 5, 2, 0, 18, 0, 2, 0, 91, 5, 7, 0, 92, 5,
+ 7, 0, 93, 5, 7, 0, 94, 5, 7, 0, 95, 5, 7, 0, 96, 5, 2, 0, 97, 5, 2, 0, 98, 5, 2, 0, 99, 5, 2, 0,100, 5,
+ 2, 0,238, 0, 2, 0,101, 5, 4, 0,102, 5, 2, 0,103, 5, 2, 0,104, 5, 2, 0, 97, 1, 2, 0,107, 0, 2, 0,105, 5,
+ 2, 0,106, 5, 2, 0,107, 5, 2, 0,108, 5, 2, 0,109, 5, 2, 0, 72, 5, 2, 0, 71, 5, 2, 0,110, 5, 2, 0, 73, 5,
+ 2, 0,111, 5, 4, 0,112, 5, 4, 0, 74, 1, 4, 0,113, 5, 2, 0,114, 5, 2, 0, 66, 0, 2, 0,115, 5, 2, 0,116, 5,
+ 2, 0,117, 5, 2, 0,118, 5, 2, 0,119, 5, 2, 0,120, 5, 19, 0,121, 5, 19, 0,122, 5, 18, 0,123, 5, 14, 0,124, 5,
+ 2, 0,125, 5, 2, 0,126, 5, 7, 0,127, 5, 7, 0,128, 5, 7, 0,129, 5, 7, 0,130, 5, 4, 0,131, 5, 7, 0,132, 5,
+ 7, 0,133, 5, 7, 0,134, 5, 7, 0,135, 5, 2, 0,136, 5, 2, 0,137, 5, 2, 0,138, 5, 2, 0,139, 5, 2, 0,140, 5,
+ 2, 0,141, 5, 7, 0,142, 5, 7, 0,143, 5, 7, 0,144, 5, 0, 0,145, 5, 4, 0,146, 5, 2, 0,147, 5, 2, 0,237, 1,
+ 0, 0,148, 5, 7, 0,149, 5, 7, 0,150, 5, 0, 0,151, 5, 0, 0,152, 5, 0, 0,153, 5, 0, 0,154, 5, 4, 0,155, 5,
+ 2, 0,156, 5, 2, 0,157, 5, 7, 0,158, 5, 7, 0,159, 5, 2, 0,160, 5, 2, 0,161, 5, 7, 0,162, 5, 2, 0,163, 5,
+ 2, 0,164, 5, 4, 0,165, 5, 2, 0,166, 5, 2, 0,167, 5, 2, 0,168, 5, 2, 0,169, 5, 7, 0,170, 5, 7, 0, 30, 0,
+ 37, 0,171, 5, 0, 0,172, 5,208, 0, 9, 0,208, 0, 0, 0,208, 0, 1, 0, 0, 0,173, 5, 2, 0,174, 5, 2, 0,175, 5,
+ 2, 0,176, 5, 2, 0, 66, 0, 7, 0,177, 5, 7, 0, 30, 0,209, 0, 7, 0, 2, 0,224, 2, 2, 0, 74, 1, 2, 0, 87, 3,
+ 2, 0,178, 5, 7, 0,179, 5, 7, 0, 30, 0, 37, 0,180, 5,210, 0, 5, 0, 7, 0,181, 5, 0, 0, 16, 0, 0, 0, 66, 0,
+ 0, 0, 30, 0, 0, 0,237, 1,211, 0, 15, 0, 7, 0,182, 5, 7, 0,183, 5, 7, 0,184, 5, 7, 0,185, 5, 7, 0,186, 5,
+ 7, 0,187, 5, 7, 0,188, 5, 7, 0,189, 5, 7, 0,190, 5, 7, 0,191, 5, 4, 0,192, 5, 7, 0,193, 5, 7, 0,194, 5,
+ 2, 0, 66, 0, 2, 0, 30, 0,212, 0, 36, 0,210, 0,195, 5, 2, 0,196, 5, 2, 0, 98, 5, 2, 0, 99, 5, 2, 0,100, 5,
+ 2, 0,238, 0, 2, 0,101, 5, 2, 0,197, 5, 2, 0,198, 5, 2, 0,199, 5, 2, 0,200, 5,209, 0,201, 5, 2, 0,202, 5,
+ 2, 0,103, 5, 7, 0,203, 5,211, 0,204, 5, 7, 0,219, 4, 7, 0,220, 4, 4, 0, 18, 0, 2, 0, 74, 1, 2, 0,205, 5,
+ 2, 0,222, 4, 2, 0,223, 4, 2, 0,206, 5, 2, 0, 27, 0, 2, 0,224, 4, 2, 0,225, 4, 2, 0,226, 4, 2, 0,227, 4,
+ 2, 0,207, 5, 2, 0, 66, 0, 7, 0,208, 5, 7, 0,209, 5, 7, 0,210, 5, 7, 0,211, 5, 7, 0, 30, 0,213, 0, 6, 0,
+213, 0, 0, 0,213, 0, 1, 0, 4, 0, 60, 4, 0, 0, 19, 0, 4, 0, 18, 0, 27, 0,212, 5,214, 0, 6, 0,215, 0,139, 3,
+ 11, 0,213, 5, 0, 0,214, 5, 4, 0, 91, 0, 4, 0,215, 5, 4, 0, 27, 0,216, 0, 8, 0,214, 0,216, 5, 2, 0, 18, 0,
+ 2, 0, 27, 0, 2, 0,217, 5, 2, 0,218, 5, 2, 0,219, 5, 4, 0, 66, 0, 11, 0,220, 5,217, 0, 6, 0, 2, 0,107, 0,
+ 2, 0, 66, 4, 2, 0,221, 5, 2, 0,218, 2, 4, 0, 18, 0, 7, 0,202, 2,218, 0, 14, 0, 2, 0, 18, 0, 2, 0,222, 5,
+ 2, 0,223, 5, 2, 0,224, 5,217, 0,225, 5, 11, 0,220, 5, 7, 0,226, 5, 7, 0, 55, 0, 4, 0,227, 5, 4, 0,228, 5,
+ 4, 0,229, 5, 4, 0,230, 5, 41, 0,124, 0, 27, 0,167, 0,219, 0, 14, 0,214, 0,216, 5, 4, 0, 91, 0, 4, 0,231, 5,
+ 7, 0,232, 5, 7, 0,233, 5, 7, 0,234, 5, 4, 0,235, 5, 4, 0,236, 5, 7, 0,237, 5, 7, 0,238, 5, 4, 0,239, 5,
+ 7, 0,240, 5, 7, 0,241, 5, 4, 0, 27, 0,220, 0, 1, 0,214, 0,216, 5,221, 0, 7, 0,214, 0,216, 5, 2, 0, 18, 0,
+ 2, 0, 27, 0, 4, 0,227, 0, 4, 0,242, 5, 90, 0,243, 5, 11, 0,220, 5,222, 0, 5, 0,222, 0, 0, 0,222, 0, 1, 0,
+ 0, 0, 19, 0, 7, 0,244, 5, 4, 0, 27, 0,223, 0, 6, 0, 4, 0,107, 0, 7, 0,245, 5, 7, 0,168, 1, 7, 0, 30, 2,
+ 4, 0, 18, 0, 4, 0, 27, 0,224, 0, 85, 0,221, 0,246, 5,221, 0,247, 5,219, 0,164, 3,220, 0,248, 5, 7, 0,249, 5,
+ 2, 0,250, 5, 2, 0,237, 1, 7, 0,251, 5, 7, 0,252, 5, 2, 0, 66, 4, 2, 0,253, 5, 7, 0,254, 5, 7, 0,255, 5,
+ 7, 0, 0, 6, 2, 0, 1, 6, 2, 0,227, 5, 2, 0, 2, 6, 2, 0, 3, 6, 2, 0, 4, 6, 2, 0, 5, 6, 7, 0, 6, 6,
+ 7, 0, 7, 6, 7, 0, 8, 6, 2, 0, 9, 6, 2, 0, 10, 6, 2, 0, 11, 6, 2, 0, 12, 6, 2, 0, 13, 6, 2, 0, 14, 6,
+ 2, 0, 15, 6, 2, 0, 16, 6,216, 0, 17, 6,218, 0, 18, 6, 7, 0, 19, 6, 7, 0, 20, 6, 7, 0, 21, 6, 2, 0, 22, 6,
+ 2, 0, 23, 6, 0, 0, 24, 6, 0, 0, 25, 6, 2, 0, 26, 6, 7, 0, 27, 6, 7, 0, 28, 6, 7, 0, 29, 6, 7, 0, 30, 6,
+ 7, 0, 31, 6, 7, 0, 32, 6, 7, 0, 33, 6, 7, 0, 34, 6, 7, 0, 35, 6, 7, 0, 36, 6, 2, 0, 37, 6, 0, 0, 38, 6,
+ 0, 0, 39, 6, 0, 0, 40, 6, 0, 0, 41, 6, 27, 0, 42, 6, 0, 0, 43, 6, 0, 0, 44, 6, 0, 0, 45, 6, 0, 0, 46, 6,
+ 0, 0, 47, 6, 0, 0, 48, 6, 0, 0, 49, 6, 0, 0, 50, 6, 0, 0, 51, 6, 0, 0, 52, 6, 2, 0, 53, 6, 2, 0, 54, 6,
+ 2, 0, 55, 6, 2, 0, 56, 6, 0, 0, 57, 6, 0, 0, 58, 6, 0, 0, 59, 6, 0, 0, 60, 6, 4, 0, 61, 6, 4, 0, 62, 6,
+ 4, 0, 63, 6, 4, 0, 64, 6, 2, 0, 65, 6, 2, 0, 66, 0, 4, 0, 66, 6, 7, 0, 67, 6, 7, 0, 68, 6,223, 0, 69, 6,
+225, 0, 8, 0, 4, 0, 70, 6, 4, 0, 71, 6, 4, 0, 72, 6, 4, 0, 73, 6, 4, 0, 74, 6, 4, 0, 75, 6, 4, 0, 52, 0,
+ 4, 0,130, 2,226, 0, 4, 0, 7, 0, 76, 6, 0, 0, 77, 6, 0, 0, 78, 6, 2, 0, 18, 0,227, 0, 4, 0, 7, 0, 79, 6,
+ 4, 0, 18, 0, 4, 0, 80, 6, 4, 0, 55, 0, 41, 0, 46, 0, 22, 0, 32, 0, 34, 0, 74, 0, 27, 0,212, 5,198, 0, 81, 6,
+ 41, 0, 82, 6, 14, 0, 83, 6,199, 0, 84, 6, 27, 0, 85, 6, 7, 0, 86, 6, 7, 0, 87, 6, 7, 0, 88, 6, 7, 0, 89, 6,
+ 4, 0,200, 3, 4, 0, 90, 6, 4, 0, 91, 6, 2, 0, 18, 0, 2, 0, 63, 1, 56, 0, 58, 1,228, 0, 92, 6,224, 0, 93, 6,
+229, 0, 94, 6,207, 0,184, 0,204, 0, 95, 6, 14, 0,101, 0, 14, 0, 96, 6, 11, 0, 97, 6, 11, 0, 98, 6, 11, 0, 99, 6,
+ 11, 0,100, 6, 11, 0,101, 6,230, 0,102, 6, 2, 0,103, 6, 2, 0,104, 6, 2, 0,239, 0, 2, 0,201, 3, 4, 0,211, 3,
+ 4, 0,105, 6, 14, 0,106, 6,210, 0,195, 5,212, 0,107, 6,226, 0,108, 6,180, 0,177, 3,227, 0,109, 6,231, 0,110, 6,
+ 10, 0, 6, 4, 10, 0,111, 6,232, 0, 14, 0,232, 0, 0, 0,232, 0, 1, 0, 42, 0,230, 0, 40, 0, 57, 1,231, 0,110, 6,
+233, 0,112, 6, 7, 0, 87, 2, 7, 0, 88, 2, 7, 0,107, 0, 7, 0,113, 6, 2, 0,114, 6, 2, 0, 18, 0, 2, 0,142, 0,
+ 2, 0, 27, 0,234, 0, 39, 0, 7, 0,115, 6, 7, 0,116, 6, 7, 0,117, 6, 7, 0,118, 6, 7, 0,119, 6, 7, 0,120, 6,
+ 7, 0,121, 6, 7, 0,122, 6, 7, 0,123, 6, 67, 0,124, 6,180, 0,177, 3,234, 0,125, 6,235, 0,126, 6,236, 0,127, 6,
+237, 0,128, 6,238, 0,129, 6,239, 0,130, 6, 7, 0,131, 6, 7, 0,132, 6, 7, 0, 81, 1, 7, 0,133, 6, 7, 0,134, 6,
+ 7, 0,135, 6, 7, 0,136, 6, 7, 0,174, 0, 7, 0,137, 6, 0, 0,138, 6, 0, 0,139, 6, 0, 0,114, 6, 0, 0,140, 6,
+ 2, 0,141, 6, 2, 0,142, 6, 7, 0,143, 6, 2, 0,144, 6, 2, 0,145, 6, 7, 0,146, 6, 7, 0,147, 6, 7, 0,148, 6,
+ 7, 0,149, 6,240, 0, 51, 0,241, 0, 0, 0,241, 0, 1, 0, 14, 0,150, 6, 4, 0,151, 6, 7, 0,152, 6, 2, 0,153, 6,
+ 7, 0,132, 6, 7, 0, 81, 1, 7, 0,154, 6, 2, 0,155, 6, 0, 0,204, 2, 4, 0,156, 6, 2, 0,139, 6, 2, 0,114, 6,
+ 27, 0,212, 5, 27, 0,157, 6, 14, 0,158, 6,232, 0,159, 6,240, 0,125, 6, 0, 0,160, 6, 4, 0,200, 3, 4, 0, 90, 6,
+ 2, 0,161, 6, 2, 0,162, 6, 2, 0,163, 6, 2, 0,164, 6, 2, 0, 18, 0, 2, 0, 22, 2, 7, 0,113, 0, 7, 0,165, 6,
+ 7, 0,166, 6, 7, 0,167, 6, 7, 0,174, 0, 7, 0, 86, 6, 2, 0,168, 6, 2, 0,169, 6, 2, 0,170, 6, 0, 0,171, 6,
+ 0, 0,172, 6, 0, 0,173, 6, 0, 0,174, 6, 0, 0,175, 6, 14, 0,176, 6, 14, 0,177, 6, 14, 0,178, 6, 2, 0,179, 6,
+ 2, 0,144, 2, 2, 0,180, 6, 0, 0,181, 6, 11, 0,182, 6,180, 0,177, 3,242, 0, 24, 0, 19, 0,227, 0, 19, 0, 62, 0,
+ 18, 0,183, 6, 18, 0,184, 6, 18, 0,185, 6, 7, 0,186, 6, 7, 0,187, 6, 7, 0,188, 6, 7, 0,189, 6, 2, 0,190, 6,
+ 2, 0,191, 6, 2, 0,192, 6, 2, 0,193, 6, 2, 0,194, 6, 2, 0, 18, 0, 2, 0,195, 6, 2, 0,196, 6, 2, 0,197, 6,
+ 2, 0,198, 6, 2, 0,199, 6, 2, 0,164, 6, 7, 0,200, 6, 4, 0,201, 6, 4, 0,202, 6,241, 0, 6, 0,241, 0, 0, 0,
+241, 0, 1, 0, 14, 0,150, 6, 4, 0,151, 6, 7, 0,152, 6, 2, 0,153, 6,243, 0, 8, 0,241, 0, 0, 0,241, 0, 1, 0,
+ 14, 0,150, 6, 4, 0,151, 6, 7, 0,152, 6, 2, 0,153, 6, 0, 0,203, 6, 0, 0,123, 0,244, 0, 21, 0,241, 0, 0, 0,
+241, 0, 1, 0, 14, 0,150, 6, 4, 0,151, 6, 7, 0,152, 6, 2, 0,153, 6,242, 0,204, 6, 2, 0,205, 6, 2, 0,206, 6,
+ 2, 0,207, 6, 2, 0,208, 6, 2, 0,195, 6, 2, 0,209, 6, 2, 0,210, 6, 0, 0, 18, 0, 0, 0, 27, 0, 11, 0, 63, 2,
+ 4, 0,211, 6, 4, 0,212, 6, 22, 0,213, 6, 11, 0,214, 6,245, 0, 15, 0,241, 0, 0, 0,241, 0, 1, 0, 14, 0,150, 6,
+ 4, 0,151, 6, 7, 0,152, 6, 2, 0,153, 6,242, 0,204, 6, 14, 0,215, 6,246, 0,216, 6, 0, 0,217, 6,247, 0,218, 6,
+ 2, 0, 18, 0, 2, 0,219, 6, 2, 0,220, 6, 2, 0,221, 6,248, 0, 14, 0,241, 0, 0, 0,241, 0, 1, 0, 14, 0,150, 6,
+ 4, 0,151, 6, 7, 0,152, 6, 2, 0,153, 6,242, 0,204, 6,249, 0,222, 6, 14, 0,223, 6, 2, 0, 74, 1, 2, 0,224, 6,
+ 4, 0, 18, 0, 7, 0,225, 6, 4, 0,164, 6,250, 0, 11, 0,241, 0, 0, 0,241, 0, 1, 0, 14, 0,150, 6, 4, 0,151, 6,
+ 7, 0,152, 6, 2, 0,153, 6, 2, 0,224, 6, 2, 0, 18, 0, 4, 0, 27, 0,249, 0,222, 6,242, 0,204, 6,251, 0, 3, 0,
+251, 0, 0, 0,251, 0, 1, 0, 7, 0,226, 6,252, 0, 9, 0,241, 0, 0, 0,241, 0, 1, 0, 14, 0,150, 6, 4, 0,151, 6,
+ 7, 0,152, 6,242, 0,204, 6, 14, 0,227, 6, 4, 0,228, 6, 4, 0, 18, 0,253, 0, 18, 0,241, 0, 0, 0,241, 0, 1, 0,
+ 14, 0,150, 6, 4, 0,151, 6, 7, 0,152, 6, 2, 0,153, 6,242, 0,204, 6, 7, 0, 87, 2, 7, 0, 88, 2, 2, 0,205, 6,
+ 2, 0,229, 6, 2, 0,230, 6, 2, 0,231, 6, 4, 0, 18, 0, 7, 0,232, 6, 4, 0,114, 6, 4, 0, 27, 0,180, 0,177, 3,
+254, 0, 16, 0, 0, 0,233, 6, 0, 0,234, 6, 0, 0,235, 6, 0, 0,236, 6, 0, 0,237, 6, 0, 0,238, 6, 4, 0,239, 6,
+ 4, 0,240, 6, 4, 0,241, 6, 2, 0, 16, 0, 2, 0, 18, 0, 2, 0,242, 6, 2, 0,243, 6, 2, 0,180, 1, 2, 0,244, 6,
+ 0, 0,245, 6,255, 0, 16, 0,241, 0, 0, 0,241, 0, 1, 0, 14, 0,150, 6, 4, 0,151, 6, 4, 0,246, 6,254, 0,247, 6,
+ 0, 1,248, 6, 14, 0,249, 6, 14, 0,250, 6, 1, 1,251, 6,239, 0,252, 6, 2, 1,253, 6, 2, 0,254, 6, 2, 0,255, 6,
+ 2, 0, 0, 7, 2, 0, 30, 0, 3, 1, 25, 0,241, 0, 0, 0,241, 0, 1, 0, 14, 0,150, 6, 4, 0,151, 6, 4, 0, 18, 0,
+ 42, 0,237, 2, 40, 0, 57, 1, 53, 0, 1, 7, 4, 1, 2, 7, 5, 1, 3, 7,180, 0,177, 3, 7, 0, 4, 7, 7, 0, 87, 2,
+ 7, 0, 88, 2, 7, 0,232, 6, 7, 0, 5, 7, 7, 0, 6, 7, 2, 0, 7, 7, 2, 0, 27, 0, 2, 0, 8, 7, 2, 0, 9, 7,
+ 0, 0, 10, 7, 0, 0, 11, 7, 0, 0, 12, 7, 0, 0,164, 6, 6, 1, 31, 0,241, 0, 0, 0,241, 0, 1, 0, 14, 0,150, 6,
+ 4, 0,151, 6, 7, 0,152, 6, 2, 0,153, 6, 37, 0, 13, 7, 4, 0, 14, 7, 4, 0, 15, 7, 2, 0, 91, 0, 2, 0, 16, 7,
+ 2, 0, 17, 7, 0, 0, 18, 7, 0, 0, 19, 7, 4, 0, 20, 7, 4, 0, 21, 7, 4, 0, 22, 7, 2, 0, 23, 7, 2, 0, 24, 7,
+ 2, 0, 25, 7, 2, 0, 26, 7, 7, 0, 27, 7, 18, 0, 28, 7, 18, 0, 29, 7, 4, 0, 30, 7, 4, 0, 31, 7, 0, 0, 32, 7,
+ 0, 0, 33, 7, 2, 0, 34, 7, 0, 0,204, 2, 11, 0, 35, 7, 7, 1, 10, 0, 22, 0, 32, 0, 11, 0, 36, 7, 11, 0, 37, 7,
+ 11, 0, 38, 7, 11, 0, 39, 7, 11, 0, 40, 7, 4, 0, 91, 0, 4, 0, 41, 7, 0, 0, 42, 7, 0, 0, 43, 7, 8, 1, 10, 0,
+241, 0, 0, 0,241, 0, 1, 0, 14, 0,150, 6, 4, 0,151, 6, 7, 0,152, 6, 7, 1, 44, 7, 2, 0, 91, 0, 2, 0, 16, 7,
+ 4, 0, 66, 0, 11, 0, 45, 7, 9, 1, 27, 0,241, 0, 0, 0,241, 0, 1, 0, 14, 0,150, 6, 4, 0,151, 6, 7, 0,152, 6,
+ 2, 0,153, 6,242, 0,204, 6, 22, 0, 46, 7, 22, 0, 80, 0, 2, 0, 18, 0, 2, 0, 66, 0, 7, 0, 47, 7, 7, 0, 87, 2,
+ 7, 0, 88, 2, 7, 0,232, 6, 7, 0, 48, 7, 7, 0, 49, 7, 7, 0, 50, 7, 56, 0, 58, 1, 56, 0, 51, 7, 4, 0, 52, 7,
+ 2, 0, 53, 7, 2, 0, 54, 7, 2, 0,239, 0, 2, 0, 73, 1, 14, 0, 55, 7,180, 0,177, 3, 10, 1, 10, 0,241, 0, 0, 0,
+241, 0, 1, 0, 14, 0,150, 6, 4, 0,151, 6, 7, 0,152, 6, 2, 0,153, 6, 2, 0, 18, 0, 2, 0,209, 3, 4, 0, 27, 0,
+180, 0,177, 3, 11, 1, 7, 0, 11, 1, 0, 0, 11, 1, 1, 0, 4, 0, 56, 7, 4, 0, 22, 0, 0, 0, 85, 0, 4, 0, 57, 7,
+ 4, 0, 16, 0, 12, 1, 14, 0,241, 0, 0, 0,241, 0, 1, 0, 14, 0,150, 6, 4, 0,151, 6, 7, 0,152, 6, 2, 0,153, 6,
+ 4, 0, 17, 7, 4, 0, 27, 0, 14, 0, 58, 7, 14, 0, 59, 7, 0, 0, 60, 7, 0, 0, 61, 7, 4, 0, 62, 7, 4, 0, 63, 7,
+ 13, 1, 6, 0,241, 0, 0, 0,241, 0, 1, 0, 14, 0,150, 6, 4, 0,151, 6, 4, 0, 27, 0, 0, 0, 64, 7, 14, 1, 28, 0,
+241, 0, 0, 0,241, 0, 1, 0, 14, 0,150, 6, 4, 0,151, 6, 7, 0, 87, 2, 7, 0, 88, 2, 7, 0, 65, 7, 7, 0, 66, 7,
+ 7, 0,232, 6,233, 0, 67, 7,231, 0,110, 6, 15, 1, 2, 7, 4, 0, 18, 0, 2, 0, 74, 1, 2, 0,114, 6, 4, 0, 68, 7,
+ 7, 0, 69, 7, 7, 0,141, 3, 7, 0, 87, 3, 4, 0, 27, 0, 7, 0, 70, 7, 7, 0, 71, 7, 4, 0, 72, 7, 4, 0, 30, 0,
+ 11, 0, 73, 7, 2, 0, 74, 7, 2, 0, 75, 7, 4, 0,237, 1, 16, 1, 7, 0, 16, 1, 0, 0, 16, 1, 1, 0, 0, 0, 76, 7,
+ 2, 0, 77, 7, 2, 0, 78, 7, 2, 0, 79, 7, 2, 0, 27, 0, 17, 1, 12, 0, 2, 0, 78, 7, 2, 0, 80, 7, 2, 0, 81, 7,
+ 0, 0,204, 2, 2, 0, 82, 7, 2, 0, 83, 7, 2, 0, 84, 7, 2, 0, 85, 7, 2, 0, 86, 7, 2, 0,195, 6, 7, 0, 87, 7,
+ 7, 0, 88, 7, 18, 1, 18, 0, 18, 1, 0, 0, 18, 1, 1, 0, 0, 0, 19, 0, 17, 1, 89, 7, 17, 1, 90, 7, 17, 1, 91, 7,
+ 17, 1, 92, 7, 7, 0, 93, 7, 2, 0, 94, 7, 2, 0, 95, 7, 2, 0, 96, 7, 2, 0, 97, 7, 2, 0, 98, 7, 2, 0, 99, 7,
+ 2, 0,100, 7, 2, 0,101, 7, 2, 0,102, 7, 2, 0, 27, 0, 19, 1, 10, 0, 0, 0,103, 7, 0, 0,104, 7, 0, 0,105, 7,
+ 0, 0,106, 7, 0, 0,107, 7, 0, 0,108, 7, 2, 0,109, 7, 2, 0,110, 7, 2, 0,111, 7, 2, 0,112, 7, 20, 1, 8, 0,
+ 0, 0,113, 7, 0, 0,114, 7, 0, 0,115, 7, 0, 0,116, 7, 0, 0,117, 7, 0, 0,118, 7, 7, 0,113, 6, 7, 0, 27, 0,
+ 21, 1, 3, 0, 0, 0,119, 7, 2, 0,120, 7, 2, 0, 27, 0, 22, 1, 22, 0, 19, 1,121, 7, 19, 1,122, 7, 19, 1,123, 7,
+ 19, 1,124, 7, 19, 1,125, 7, 19, 1,126, 7, 19, 1,127, 7, 19, 1,128, 7, 19, 1,129, 7, 19, 1,130, 7, 19, 1,131, 7,
+ 19, 1,132, 7, 19, 1,133, 7, 19, 1,134, 7, 19, 1,135, 7, 19, 1,136, 7, 19, 1,137, 7, 20, 1,138, 7, 21, 1,139, 7,
+ 0, 0,140, 7, 7, 0,141, 7, 7, 0, 27, 0, 23, 1,124, 0, 0, 0,142, 7, 0, 0,143, 7, 0, 0,107, 7, 0, 0,144, 7,
+ 0, 0,119, 7, 0, 0,145, 7, 0, 0,146, 7, 0, 0,147, 7, 0, 0,148, 7, 0, 0,149, 7, 0, 0,150, 7, 0, 0,151, 7,
+ 0, 0,152, 7, 0, 0,153, 7, 0, 0,154, 7, 0, 0,155, 7, 0, 0,156, 7, 0, 0,157, 7, 0, 0,158, 7, 0, 0,159, 7,
+ 0, 0,160, 7, 0, 0,161, 7, 0, 0,162, 7, 0, 0,163, 7, 0, 0,164, 7, 0, 0,165, 7, 0, 0,166, 7, 0, 0,167, 7,
+ 0, 0,168, 7, 0, 0,169, 7, 0, 0,170, 7, 0, 0,171, 7, 0, 0,172, 7, 0, 0,173, 7, 0, 0,174, 7, 0, 0,175, 7,
+ 0, 0,176, 7, 0, 0,177, 7, 0, 0,178, 7, 0, 0,179, 7, 0, 0,180, 7, 0, 0,181, 7, 0, 0,182, 7, 0, 0,183, 7,
+ 0, 0,184, 7, 0, 0,185, 7, 0, 0,186, 7, 0, 0,187, 7, 0, 0,188, 7, 0, 0,189, 7, 0, 0,190, 7, 0, 0,191, 7,
+ 0, 0,192, 7, 0, 0,193, 7, 0, 0,194, 7, 0, 0,195, 7, 0, 0,196, 7, 0, 0,197, 7, 0, 0,198, 7, 0, 0,199, 7,
+ 0, 0,200, 7, 0, 0,201, 7, 0, 0,202, 7, 0, 0,203, 7, 0, 0,204, 7, 0, 0,205, 7, 0, 0,206, 7, 0, 0,207, 7,
+ 0, 0,208, 7, 0, 0,209, 7, 0, 0,210, 7, 0, 0,211, 7, 0, 0,212, 7, 0, 0,213, 7, 0, 0,214, 7, 0, 0,215, 7,
+ 0, 0,216, 7, 0, 0,217, 7, 0, 0,218, 7, 0, 0,219, 7, 0, 0,220, 7, 0, 0,221, 7, 0, 0,222, 7, 0, 0,223, 7,
+ 0, 0,224, 7, 0, 0,225, 7, 0, 0,226, 7, 0, 0,227, 7, 0, 0,228, 7, 0, 0,229, 7, 0, 0,230, 7, 0, 0,231, 7,
+ 0, 0,232, 7, 0, 0,233, 7, 0, 0,234, 7, 0, 0,235, 7, 0, 0,236, 7, 0, 0,237, 7, 0, 0,238, 7, 0, 0,239, 7,
+ 0, 0,240, 7, 0, 0,241, 7, 0, 0,242, 7, 0, 0,243, 7, 0, 0,244, 7, 0, 0,245, 7, 0, 0,246, 7, 0, 0,247, 7,
+ 0, 0,248, 7, 0, 0,249, 7, 0, 0,250, 7, 0, 0,251, 7, 0, 0,252, 7, 0, 0,253, 7, 0, 0,254, 7, 0, 0,255, 7,
+ 0, 0, 0, 8, 0, 0, 1, 8, 0, 0, 2, 8, 0, 0, 3, 8, 0, 0, 4, 8, 0, 0, 5, 8, 0, 0, 6, 8, 4, 0,116, 5,
+ 24, 1, 5, 0, 0, 0, 7, 8, 0, 0,165, 7, 0, 0,171, 7, 2, 0, 18, 0, 2, 0, 27, 0, 25, 1, 24, 0, 25, 1, 0, 0,
+ 25, 1, 1, 0, 0, 0,173, 5, 22, 1, 8, 8, 23, 1, 9, 8, 23, 1, 10, 8, 23, 1, 11, 8, 23, 1, 12, 8, 23, 1, 13, 8,
+ 23, 1, 14, 8, 23, 1, 15, 8, 23, 1, 16, 8, 23, 1, 17, 8, 23, 1, 18, 8, 23, 1, 19, 8, 23, 1, 20, 8, 23, 1, 21, 8,
+ 23, 1, 22, 8, 23, 1, 23, 8, 23, 1, 24, 8, 23, 1, 25, 8, 24, 1, 26, 8, 4, 0, 27, 8, 4, 0, 27, 0, 26, 1, 3, 0,
+ 26, 1, 0, 0, 26, 1, 1, 0, 0, 0, 28, 8, 27, 1, 5, 0, 4, 0, 18, 0, 4, 0, 27, 0, 7, 0,143, 2, 7, 0, 29, 8,
+ 7, 0, 37, 2, 28, 1, 93, 0, 4, 0, 18, 0, 4, 0, 30, 8, 4, 0, 31, 8, 0, 0, 32, 8, 0, 0, 33, 8, 0, 0, 34, 8,
+ 0, 0, 35, 8, 0, 0, 36, 8, 0, 0, 37, 8, 0, 0, 38, 8, 0, 0, 39, 8, 4, 0, 40, 8, 2, 0, 41, 8, 2, 0, 42, 8,
+ 2, 0, 43, 8, 2, 0, 44, 8, 4, 0, 45, 8, 4, 0, 46, 8, 4, 0, 47, 8, 4, 0, 48, 8, 2, 0, 49, 8, 2, 0, 50, 8,
+ 4, 0, 51, 8, 4, 0, 52, 8, 4, 0, 53, 8, 4, 0, 54, 8, 4, 0, 55, 8, 4, 0, 58, 7, 4, 0, 56, 8, 2, 0, 57, 8,
+ 2, 0, 58, 8, 2, 0, 59, 8, 2, 0, 60, 8, 14, 0, 61, 8, 14, 0, 62, 8, 14, 0, 63, 8, 14, 0, 64, 8, 14, 0, 65, 8,
+ 14, 0, 66, 8, 0, 0, 67, 8, 2, 0, 68, 8, 2, 0, 69, 8, 2, 0, 70, 8, 2, 0, 71, 8, 2, 0, 72, 8, 2, 0, 73, 8,
+ 2, 0, 74, 8, 2, 0, 75, 8, 27, 1, 76, 8, 2, 0, 77, 8, 2, 0, 78, 8, 2, 0, 79, 8, 2, 0, 80, 8, 2, 0, 81, 8,
+ 2, 0, 82, 8, 2, 0, 83, 8, 2, 0, 84, 8, 4, 0, 85, 8, 4, 0, 86, 8, 2, 0, 87, 8, 2, 0, 88, 8, 2, 0, 89, 8,
+ 2, 0, 90, 8, 2, 0, 91, 8, 2, 0, 92, 8, 2, 0, 93, 8, 2, 0, 94, 8, 2, 0, 95, 8, 2, 0, 96, 8, 2, 0, 97, 8,
+ 2, 0, 98, 8, 2, 0, 99, 8, 2, 0,100, 8, 2, 0,101, 8, 2, 0,102, 8, 2, 0,103, 8, 2, 0,104, 8, 7, 0,105, 8,
+ 4, 0,106, 8, 7, 0,107, 8, 2, 0, 22, 6, 2, 0, 23, 6, 2, 0,108, 8, 2, 0,109, 8, 49, 0,110, 8, 7, 0,111, 8,
+ 2, 0,112, 8, 2, 0,237, 1, 0, 0,113, 8, 4, 0,114, 8, 4, 0,115, 8, 7, 0,116, 8, 7, 0, 27, 0, 29, 1, 24, 0,
+ 22, 0, 32, 0, 14, 0,117, 8, 14, 0,118, 8, 14, 0,119, 8, 14, 0,150, 6, 41, 0,124, 0, 41, 0,120, 8, 4, 0,121, 8,
+ 4, 0, 66, 0, 2, 0,122, 8, 2, 0,123, 8, 2, 0,124, 8, 2, 0,125, 8, 2, 0,126, 8, 2, 0,127, 8, 2, 0,128, 8,
+ 2, 0,129, 8, 2, 0,130, 8, 2, 0,131, 8, 2, 0,132, 8, 2, 0, 27, 0,239, 0,133, 8, 11, 0,134, 8, 2, 0,135, 8,
+ 30, 1, 5, 0, 30, 1, 0, 0, 30, 1, 1, 0, 30, 1,136, 8, 15, 0,137, 8, 4, 0, 18, 0, 31, 1, 7, 0, 31, 1, 0, 0,
+ 31, 1, 1, 0, 30, 1,138, 8, 30, 1,139, 8, 2, 0,122, 5, 2, 0, 18, 0, 4, 0, 27, 0, 32, 1, 25, 0, 32, 1, 0, 0,
+ 32, 1, 1, 0, 33, 1,140, 8, 34, 1,253, 6, 0, 0,141, 8, 0, 0,142, 8, 0, 0,143, 8, 2, 0,144, 8, 2, 0,145, 8,
+ 2, 0,146, 8, 2, 0,147, 8, 2, 0,148, 8, 2, 0, 27, 0, 2, 0, 18, 0, 2, 0,149, 8, 2, 0,150, 8, 2, 0,151, 8,
+ 4, 0,152, 8, 32, 1,153, 8, 11, 0,154, 8, 4, 0,155, 8, 4, 0,156, 8, 4, 0,157, 8, 4, 0,158, 8, 0, 0,159, 8,
+ 35, 1, 22, 0, 35, 1, 0, 0, 35, 1, 1, 0, 30, 1,138, 8, 30, 1,139, 8, 30, 1,160, 8, 30, 1,161, 8, 29, 1,162, 8,
+ 18, 0, 50, 0, 0, 0,151, 6, 0, 0,163, 8, 2, 0,196, 6, 2, 0,197, 6, 2, 0,164, 8, 2, 0, 27, 0, 2, 0,126, 8,
+ 2, 0, 57, 7, 2, 0, 18, 0, 36, 1,140, 8, 14, 0,165, 8, 14, 0,150, 6, 14, 0,166, 8, 14, 0,167, 8, 37, 1, 24, 0,
+ 37, 1, 0, 0, 37, 1, 1, 0,242, 0,204, 6, 18, 0,168, 8, 18, 0,169, 8, 2, 0,196, 6, 2, 0,197, 6, 2, 0,170, 8,
+ 2, 0,171, 8, 2, 0,172, 8, 2, 0, 18, 0, 7, 0, 83, 2, 2, 0,146, 8, 2, 0,147, 8, 2, 0,125, 8, 2, 0,173, 8,
+ 2, 0,130, 8, 2, 0, 73, 1, 38, 1,140, 8, 14, 0,174, 8, 14, 0,175, 8, 14, 0,166, 8, 0, 0,176, 8, 11, 0,177, 8,
+ 39, 1, 14, 0, 0, 0,178, 8, 2, 0,179, 8, 2, 0,180, 8, 2, 0,181, 8, 2, 0,182, 8, 2, 0,111, 5, 2, 0,183, 8,
+ 29, 1,184, 8, 41, 0,185, 8, 4, 0,186, 8, 4, 0,187, 8, 4, 0,188, 8, 4, 0, 27, 0, 0, 0, 76, 7, 40, 1, 3, 0,
+ 0, 0,189, 8, 4, 0,190, 8, 4, 0,191, 8, 41, 1, 4, 0, 4, 0, 14, 7, 4, 0,192, 8, 4, 0, 20, 7, 4, 0,193, 8,
+ 42, 1, 2, 0, 4, 0,194, 8, 4, 0,195, 8, 43, 1, 5, 0, 7, 0,196, 8, 7, 0,197, 8, 7, 0,198, 8, 4, 0, 18, 0,
+ 4, 0, 27, 0, 44, 1, 7, 0, 0, 0,199, 8, 0, 0,235, 6, 44, 0,137, 0, 2, 0,200, 8, 2, 0, 73, 5, 2, 0,201, 8,
+ 2, 0,202, 8, 45, 1, 12, 0, 45, 1, 0, 0, 45, 1, 1, 0, 4, 0, 28, 0, 4, 0,203, 8, 4, 0,204, 8, 4, 0,205, 8,
+ 40, 1,206, 8, 0, 0,199, 8, 44, 1,171, 3, 41, 1,207, 8, 42, 1,208, 8, 43, 1,209, 8, 46, 1, 49, 0, 46, 1, 0, 0,
+ 46, 1, 1, 0, 11, 0,210, 8, 11, 0, 25, 0, 0, 0, 19, 0, 4, 0, 18, 0, 4, 0, 16, 0, 4, 0, 22, 0, 4, 0, 89, 0,
+ 4, 0,211, 8, 4, 0,212, 8, 4, 0,204, 8, 4, 0,205, 8, 4, 0,213, 8, 4, 0,238, 0, 4, 0,214, 8, 4, 0,215, 8,
+ 7, 0,216, 8, 7, 0,217, 8, 7, 0,218, 8, 2, 0,219, 8, 2, 0,220, 8, 4, 0,221, 8, 4, 0,222, 8, 45, 1,223, 8,
+ 31, 0, 79, 0, 41, 0,124, 0, 27, 0,224, 8, 44, 0,137, 0,231, 0,110, 6, 7, 0,225, 8, 7, 0,226, 8, 46, 1,227, 8,
+ 46, 1,228, 8, 46, 1,229, 8, 14, 0,230, 8, 47, 1,231, 8, 11, 0,232, 8, 7, 0, 83, 4, 7, 0,233, 8, 7, 0,234, 8,
+ 7, 0,235, 8, 11, 0,236, 8, 4, 0,237, 8, 4, 0,238, 8, 4, 0,239, 8, 7, 0,240, 8, 4, 0,128, 0, 4, 0, 27, 0,
+ 48, 1, 4, 0, 48, 1, 0, 0, 48, 1, 1, 0, 14, 0,241, 8, 46, 1,242, 8,228, 0, 11, 0, 14, 0,243, 8, 14, 0,230, 8,
+ 14, 0,244, 8, 46, 1,245, 8, 0, 0,246, 8, 0, 0,247, 8, 4, 0,248, 8, 4, 0,249, 8, 4, 0,250, 8, 4, 0, 27, 0,
+ 19, 0,251, 8, 49, 1, 4, 0, 7, 0,252, 8, 7, 0, 87, 3, 2, 0,253, 8, 2, 0,254, 8, 50, 1, 6, 0, 7, 0,255, 8,
+ 7, 0, 0, 9, 7, 0, 1, 9, 7, 0, 2, 9, 4, 0, 3, 9, 4, 0, 4, 9, 51, 1, 8, 0, 7, 0, 5, 9, 7, 0, 6, 9,
+ 7, 0, 7, 9, 7, 0, 8, 9, 7, 0, 9, 9, 4, 0,243, 2, 4, 0, 10, 9, 4, 0, 11, 9, 52, 1, 2, 0, 7, 0,181, 5,
+ 7, 0, 27, 0, 53, 1, 5, 0, 7, 0, 12, 9, 7, 0, 13, 9, 4, 0, 91, 0, 4, 0,205, 2, 4, 0, 14, 9, 54, 1, 6, 0,
+ 54, 1, 0, 0, 54, 1, 1, 0, 2, 0, 16, 0, 2, 0, 18, 0, 2, 0, 15, 9, 2, 0, 55, 0, 55, 1, 8, 0, 55, 1, 0, 0,
+ 55, 1, 1, 0, 2, 0, 16, 0, 2, 0, 18, 0, 2, 0, 15, 9, 2, 0, 55, 0, 7, 0, 22, 0, 7, 0,128, 0, 56, 1, 45, 0,
+ 56, 1, 0, 0, 56, 1, 1, 0, 2, 0, 16, 0, 2, 0, 18, 0, 2, 0, 15, 9, 2, 0,234, 0, 2, 0,125, 4, 2, 0, 16, 9,
+ 7, 0, 17, 9, 7, 0, 90, 0, 7, 0, 0, 3, 4, 0, 18, 9, 4, 0, 81, 0, 4, 0,207, 2, 7, 0, 19, 9, 7, 0, 20, 9,
+ 7, 0, 21, 9, 7, 0, 22, 9, 7, 0, 23, 9, 7, 0, 24, 9, 7, 0,253, 2, 7, 0, 56, 1, 7, 0, 25, 9, 7, 0, 26, 9,
+ 7, 0, 27, 0, 7, 0, 27, 9, 7, 0, 28, 9, 7, 0, 29, 9, 2, 0, 30, 9, 2, 0, 31, 9, 2, 0, 32, 9, 2, 0, 33, 9,
+ 2, 0, 34, 9, 2, 0, 35, 9, 2, 0, 36, 9, 2, 0, 37, 9, 2, 0, 22, 2, 2, 0, 38, 9, 2, 0, 19, 2, 2, 0, 39, 9,
+ 0, 0, 40, 9, 0, 0, 41, 9, 7, 0,232, 0, 57, 1, 42, 9, 63, 0,240, 1, 58, 1, 16, 0, 58, 1, 0, 0, 58, 1, 1, 0,
+ 2, 0, 16, 0, 2, 0, 18, 0, 2, 0, 15, 9, 2, 0,234, 0, 7, 0,248, 2, 7, 0,249, 2, 7, 0,250, 2, 7, 0, 72, 2,
+ 7, 0,251, 2, 7, 0,252, 2, 7, 0, 43, 9, 7, 0,253, 2, 7, 0,255, 2, 7, 0, 0, 3,247, 0, 5, 0, 2, 0, 16, 0,
+ 2, 0, 44, 9, 2, 0, 18, 0, 2, 0, 45, 9, 22, 0, 46, 7,246, 0, 3, 0, 4, 0, 68, 0, 4, 0, 46, 9,247, 0, 2, 0,
+ 59, 1, 7, 0, 59, 1, 0, 0, 59, 1, 1, 0, 0, 0, 19, 0, 2, 0, 16, 0, 2, 0, 18, 0, 4, 0, 21, 0, 11, 0, 47, 9,
+ 60, 1, 5, 0, 0, 0, 19, 0, 7, 0, 81, 1, 7, 0, 48, 9, 4, 0, 49, 9, 4, 0, 27, 0, 61, 1, 4, 0, 2, 0, 16, 0,
+ 2, 0, 18, 0, 2, 0, 66, 0, 2, 0, 30, 0, 62, 1, 4, 0, 0, 0, 19, 0, 62, 0, 50, 9, 7, 0, 81, 1, 7, 0, 27, 0,
+ 63, 1, 6, 0, 2, 0, 51, 9, 2, 0, 52, 9, 2, 0, 16, 0, 2, 0, 53, 9, 0, 0, 54, 9, 0, 0, 55, 9, 64, 1, 5, 0,
+ 4, 0, 16, 0, 4, 0, 27, 0, 0, 0, 19, 0, 0, 0, 56, 9, 0, 0, 57, 9, 65, 1, 3, 0, 4, 0, 16, 0, 4, 0, 27, 0,
+ 0, 0, 19, 0, 66, 1, 4, 0, 2, 0, 58, 9, 2, 0, 59, 9, 2, 0, 18, 0, 2, 0, 27, 0, 67, 1, 6, 0, 0, 0, 19, 0,
+ 0, 0, 60, 9, 2, 0, 61, 9, 2, 0,253, 2, 2, 0, 74, 1, 2, 0, 30, 0, 68, 1, 5, 0, 0, 0, 19, 0, 7, 0, 87, 3,
+ 7, 0,216, 4, 2, 0, 18, 0, 2, 0,219, 2, 69, 1, 3, 0, 0, 0, 19, 0, 4, 0,207, 2, 4, 0, 58, 9, 70, 1, 7, 0,
+ 0, 0, 19, 0, 7, 0,216, 4, 0, 0, 62, 9, 0, 0, 63, 9, 2, 0, 74, 1, 2, 0, 66, 0, 4, 0, 64, 9, 71, 1, 4, 0,
+ 0, 0, 65, 9, 0, 0, 66, 9, 4, 0, 16, 0, 7, 0,223, 2, 72, 1, 3, 0, 27, 0, 67, 9, 0, 0, 68, 9, 0, 0, 69, 9,
+ 73, 1, 18, 0, 73, 1, 0, 0, 73, 1, 1, 0, 2, 0, 16, 0, 2, 0, 70, 9, 2, 0, 18, 0, 2, 0, 71, 9, 2, 0, 72, 9,
+ 2, 0, 73, 9, 2, 0, 66, 0, 2, 0, 30, 0, 0, 0, 19, 0, 11, 0, 2, 0, 74, 1, 74, 9, 27, 0, 43, 0, 2, 0,221, 5,
+ 2, 0,168, 2, 2, 0, 75, 9, 2, 0, 27, 0, 75, 1, 11, 0, 0, 0, 19, 0, 0, 0, 16, 0, 0, 0, 76, 9, 2, 0, 18, 0,
+ 2, 0,219, 2, 2, 0, 77, 9, 4, 0, 78, 9, 4, 0, 79, 9, 4, 0, 80, 9, 4, 0, 81, 9, 4, 0, 82, 9, 76, 1, 1, 0,
+ 0, 0, 83, 9, 77, 1, 4, 0, 37, 0, 13, 7, 0, 0, 28, 8, 4, 0, 74, 1, 4, 0, 18, 0, 74, 1, 18, 0, 74, 1, 0, 0,
+ 74, 1, 1, 0, 74, 1, 84, 9, 2, 0, 16, 0, 2, 0, 18, 0, 2, 0, 85, 9, 2, 0, 73, 9, 2, 0, 70, 9, 2, 0, 86, 9,
+ 2, 0, 30, 0, 2, 0,237, 1, 0, 0, 19, 0, 11, 0, 2, 0, 78, 1, 74, 9, 73, 1, 87, 9, 2, 0, 14, 0, 2, 0, 88, 9,
+ 4, 0, 89, 9, 79, 1, 3, 0, 4, 0,233, 2, 4, 0, 27, 0, 27, 0, 43, 0, 80, 1, 15, 0,178, 0, 90, 9, 2, 0, 16, 0,
+ 2, 0, 18, 0, 7, 0, 17, 9, 7, 0, 90, 0, 0, 0, 19, 0, 0, 0, 91, 9, 2, 0, 92, 9, 2, 0, 93, 9, 2, 0,133, 0,
+ 2, 0, 94, 9, 2, 0, 95, 9, 2, 0, 27, 0, 7, 0, 96, 9, 7, 0, 97, 9, 81, 1, 8, 0, 7, 0, 98, 9, 7, 0, 99, 9,
+ 7, 0,100, 9, 7, 0,101, 9, 7, 0,102, 9, 7, 0,103, 9, 7, 0,104, 9, 7, 0,105, 9, 82, 1, 13, 0, 2, 0, 18, 0,
+ 2, 0,106, 9, 4, 0, 66, 0, 4, 0, 30, 0, 2, 0,181, 6, 7, 0, 83, 4, 7, 0,233, 8, 47, 1,231, 8, 81, 1,107, 9,
+ 2, 0, 16, 0, 2, 0,116, 5, 2, 0,211, 3, 2, 0,108, 9, 83, 1, 11, 0, 4, 0,233, 2, 2, 0, 16, 0, 2, 0, 18, 0,
+ 27, 0, 43, 0, 78, 0,109, 9, 0, 0, 19, 0, 7, 0,110, 9, 7, 0,111, 9, 7, 0,217, 3, 2, 0,112, 9, 2, 0,113, 9,
+ 84, 1, 5, 0, 2, 0, 16, 0, 2, 0, 66, 0, 4, 0, 27, 0, 41, 0,124, 0, 27, 0,212, 5, 85, 1, 5, 0, 4, 0, 27, 0,
+ 4, 0, 16, 0, 0, 0, 19, 0, 0, 0, 56, 9, 27, 0, 43, 0, 86, 1, 13, 0, 2, 0, 18, 0, 2, 0, 16, 0, 2, 0, 70, 9,
+ 2, 0,218, 3, 7, 0,114, 9, 7, 0,115, 9, 7, 0, 73, 1, 7, 0,116, 9, 7, 0,187, 3, 7, 0,191, 3, 7, 0,117, 9,
+ 7, 0,118, 9, 27, 0,119, 9, 87, 1, 10, 0, 2, 0, 18, 0, 2, 0, 16, 0, 7, 0, 17, 9, 7, 0, 90, 0, 0, 0, 19, 0,
+ 0, 0, 91, 9, 2, 0, 66, 0, 2, 0, 30, 0, 2, 0,237, 1, 2, 0,116, 5, 88, 1, 8, 0, 27, 0, 43, 0, 7, 0,250, 2,
+ 7, 0,120, 9, 7, 0,121, 9, 7, 0,218, 3, 2, 0, 66, 0, 2, 0,219, 2, 7, 0, 30, 0, 89, 1, 12, 0, 2, 0, 16, 0,
+ 2, 0, 74, 1, 2, 0, 18, 0, 2, 0,253, 2, 2, 0,233, 2, 2, 0,122, 9, 4, 0, 27, 0, 7, 0,123, 9, 7, 0,124, 9,
+ 7, 0,125, 9, 7, 0,126, 9, 0, 0,127, 9, 90, 1, 9, 0, 2, 0, 18, 0, 2, 0, 16, 0, 4, 0, 17, 9, 4, 0, 90, 0,
+ 0, 0, 19, 0, 2, 0, 73, 1, 2, 0, 62, 0, 2, 0,128, 9, 2, 0,129, 9, 91, 1, 7, 0, 4, 0,207, 2, 4, 0,130, 9,
+ 4, 0,131, 9, 4, 0,132, 9, 7, 0,133, 9, 7, 0,134, 9, 0, 0, 62, 9, 92, 1, 7, 0, 0, 0,135, 9, 27, 0,136, 9,
+ 0, 0, 68, 9, 2, 0,137, 9, 2, 0, 66, 0, 4, 0, 30, 0, 0, 0, 69, 9, 93, 1, 6, 0, 2, 0, 18, 0, 2, 0, 16, 0,
+ 4, 0, 17, 9, 4, 0, 90, 0, 0, 0,138, 9, 0, 0,139, 9, 94, 1, 1, 0, 4, 0, 18, 0, 95, 1, 6, 0, 0, 0, 93, 0,
+ 2, 0, 16, 0, 2, 0, 18, 0, 4, 0,140, 9, 7, 0,141, 9, 37, 0, 13, 7, 96, 1, 4, 0, 0, 0,173, 2, 2, 0, 18, 0,
+ 4, 0, 16, 0, 27, 0, 43, 0, 97, 1, 2, 0, 4, 0, 16, 0, 4, 0,185, 6, 98, 1, 8, 0, 0, 0, 65, 9, 0, 0, 66, 9,
+ 4, 0, 16, 0, 7, 0, 30, 2, 7, 0,142, 9, 7, 0, 27, 0, 27, 0, 63, 3, 27, 0,143, 9, 99, 1, 11, 0, 0, 0, 58, 6,
+ 0, 0, 18, 0, 2, 0,144, 9, 4, 0, 16, 0, 7, 0, 81, 1, 7, 0,145, 9, 7, 0,146, 9, 7, 0,147, 9, 4, 0,148, 9,
+ 27, 0, 63, 3, 27, 0,149, 9, 78, 1, 10, 0, 78, 1, 0, 0, 78, 1, 1, 0, 78, 1, 84, 9, 2, 0, 16, 0, 2, 0, 18, 0,
+ 2, 0, 70, 9, 2, 0,150, 9, 0, 0, 19, 0, 11, 0, 2, 0, 27, 0, 43, 0, 47, 1, 17, 0, 22, 0, 32, 0, 0, 0, 35, 0,
+ 38, 0,152, 0, 11, 0,151, 9, 38, 0,152, 9, 31, 0, 79, 0, 7, 0, 83, 4, 7, 0,153, 9, 7, 0,233, 8, 7, 0, 98, 9,
+ 7, 0, 99, 9, 7, 0,154, 9, 4, 0, 91, 0, 4, 0, 27, 0, 11, 0,155, 9, 11, 0,156, 9, 11, 0,157, 9,100, 1, 6, 0,
+100, 1, 0, 0,100, 1, 1, 0, 27, 0, 43, 0, 11, 0,158, 9, 2, 0,239, 0, 0, 0,204, 2, 63, 0, 4, 0, 22, 0, 32, 0,
+ 14, 0,159, 9, 4, 0,133, 0, 7, 0,160, 9,101, 1, 28, 0,101, 1, 0, 0,101, 1, 1, 0, 21, 0,161, 9,101, 1, 37, 0,
+ 14, 0,162, 9, 0, 0, 19, 0, 7, 0,163, 9, 7, 0,164, 9, 7, 0,165, 9, 7, 0,166, 9, 4, 0, 18, 0, 7, 0,167, 9,
+ 7, 0,168, 9, 7, 0,169, 9, 7, 0,170, 9, 7, 0, 81, 1, 7, 0, 30, 2, 7, 0,171, 9, 7, 0,205, 2, 7, 0,172, 9,
+ 7, 0,173, 9, 7, 0,174, 9, 7, 0,175, 9, 7, 0,176, 9, 7, 0,175, 0, 4, 0,133, 0, 2, 0, 2, 6, 2, 0,177, 9,
+102, 1, 27, 0, 22, 0, 32, 0, 34, 0, 74, 0, 14, 0,178, 9, 14, 0,179, 9, 14, 0,180, 9,101, 1,181, 9, 11, 0,182, 9,
+ 11, 0,183, 9, 4, 0, 18, 0, 4, 0,161, 6, 4, 0,184, 9, 4, 0, 27, 0, 2, 0, 1, 3, 2, 0,211, 6, 4, 0,185, 9,
+ 4, 0,133, 0, 4, 0,186, 9, 2, 0,187, 9, 2, 0,188, 9, 2, 0,189, 9, 2, 0,190, 9, 4, 0,191, 9, 4, 0,192, 9,
+ 4, 0,193, 9, 4, 0,194, 9, 4, 0,195, 9, 4, 0,196, 9,103, 1, 2, 0, 7, 0,157, 2, 4, 0, 18, 0,182, 0, 5, 0,
+103, 1,197, 9, 4, 0,205, 2, 4, 0,198, 9, 4, 0,199, 9, 4, 0, 18, 0,181, 0, 16, 0, 4, 0,200, 9, 4, 0,201, 9,
+ 4, 0,202, 9, 4, 0,203, 9, 2, 0,204, 9, 2, 0,205, 9, 2, 0,206, 9, 2, 0,239, 0, 2, 0,207, 9, 2, 0,208, 9,
+ 2, 0,209, 9, 2, 0,210, 9, 4, 0,211, 9, 4, 0,212, 9, 4, 0,213, 9, 4, 0,214, 9,104, 1, 40, 0,104, 1, 0, 0,
+104, 1, 1, 0, 21, 0,161, 9, 14, 0,250, 3, 0, 0, 19, 0, 2, 0, 18, 0, 2, 0,215, 9, 2, 0,204, 3, 2, 0,216, 9,
+ 0, 0,217, 9, 0, 0,218, 9, 0, 0,219, 9,101, 1,220, 9,104, 1, 37, 0,104, 1,221, 9, 14, 0,222, 9, 14, 0,223, 9,
+182, 0,179, 3, 27, 0,224, 9,104, 1,225, 9, 7, 0, 64, 1, 7, 0,175, 0, 7, 0,226, 9, 7, 0, 9, 2, 7, 0,193, 3,
+ 7, 0,195, 3, 2, 0,231, 3, 2, 0, 27, 0, 7, 0,227, 9, 7, 0,228, 9, 7, 0,198, 3, 7, 0,229, 9, 7, 0,230, 9,
+ 7, 0,231, 9, 7, 0,232, 9, 7, 0,233, 9, 7, 0,234, 9, 7, 0,235, 9, 7, 0,236, 9, 11, 0,237, 9,179, 0, 16, 0,
+ 14, 0,238, 9, 73, 0,239, 9, 2, 0, 18, 0, 2, 0, 27, 0, 4, 0,240, 9, 4, 0, 66, 0, 7, 0, 83, 0, 7, 0,241, 9,
+ 7, 0,242, 9, 14, 0,243, 9, 4, 0,244, 9, 4, 0,245, 9, 11, 0,246, 9, 11, 0,247, 9,181, 0,178, 3, 0, 0,248, 9,
+105, 1, 1, 0, 4, 0,245, 9,106, 1, 12, 0, 4, 0,245, 9, 7, 0, 82, 9, 2, 0,249, 9, 2, 0,250, 9, 7, 0,251, 9,
+ 7, 0,252, 9, 2, 0,253, 9, 2, 0, 18, 0, 7, 0,254, 9, 7, 0,255, 9, 7, 0, 0, 10, 7, 0, 1, 10,107, 1, 7, 0,
+107, 1, 0, 0,107, 1, 1, 0, 14, 0, 2, 10, 4, 0, 18, 0, 4, 0, 3, 10, 0, 0, 19, 0, 24, 1, 4, 10,178, 0, 9, 0,
+ 22, 0, 32, 0, 14, 0, 5, 10, 14, 0,238, 9, 14, 0, 6, 10, 14, 0,101, 0, 4, 0, 18, 0, 4, 0, 7, 10, 4, 0, 8, 10,
+ 4, 0, 27, 0,249, 0, 8, 0, 22, 0, 9, 10, 14, 0,238, 9, 63, 0, 10, 10, 0, 0, 11, 10, 4, 0, 12, 10, 4, 0, 18, 0,
+ 4, 0, 13, 10, 4, 0, 27, 0,108, 1, 13, 0,241, 0, 0, 0,241, 0, 1, 0, 14, 0,150, 6, 4, 0,151, 6, 7, 0,152, 6,
+ 2, 0,153, 6,242, 0,204, 6,178, 0,174, 3,249, 0, 14, 10, 0, 0, 74, 1, 0, 0,224, 6, 2, 0, 18, 0, 7, 0, 15, 10,
+109, 1, 8, 0,109, 1, 0, 0,109, 1, 1, 0,107, 1, 16, 10, 31, 0, 79, 0, 14, 0,180, 3, 4, 0, 18, 0, 0, 0, 19, 0,
+ 4, 0,123, 8,110, 1, 5, 0,110, 1, 0, 0,110, 1, 1, 0, 31, 0, 79, 0, 2, 0, 18, 0, 0, 0, 17, 10,111, 1, 14, 0,
+111, 1, 0, 0,111, 1, 1, 0, 11, 0, 2, 0, 2, 0, 16, 0, 2, 0, 18, 0, 0, 0, 18, 10, 0, 0, 19, 10, 0, 0, 19, 0,
+ 2, 0, 27, 0, 7, 0, 20, 10, 7, 0, 21, 10, 31, 0, 79, 0, 7, 0, 22, 10, 7, 0, 23, 10,112, 1, 9, 0,112, 1, 0, 0,
+112, 1, 1, 0, 27, 0, 24, 10, 0, 0, 4, 3, 7, 0, 25, 10, 2, 0, 26, 10, 2, 0, 18, 0, 2, 0, 16, 0, 2, 0, 27, 10,
+113, 1, 7, 0, 37, 0, 13, 7, 21, 0,161, 9, 4, 0, 18, 0, 4, 0, 28, 10, 14, 0, 29, 10, 27, 0, 24, 10, 0, 0, 4, 3,
+114, 1, 15, 0, 27, 0, 24, 10, 2, 0, 30, 10, 2, 0, 18, 0, 2, 0, 31, 10, 2, 0, 32, 10, 0, 0, 4, 3, 27, 0, 33, 10,
+ 0, 0, 34, 10, 7, 0, 35, 10, 7, 0, 30, 2, 7, 0, 36, 10, 7, 0, 37, 10, 2, 0, 16, 0, 2, 0, 74, 1, 7, 0, 81, 1,
+115, 1, 6, 0, 27, 0, 24, 10, 7, 0,197, 9, 2, 0, 38, 10, 2, 0, 39, 10, 2, 0, 18, 0, 2, 0, 40, 10,116, 1, 6, 0,
+ 27, 0, 24, 10, 4, 0, 41, 10, 4, 0, 42, 10, 4, 0, 91, 0, 4, 0, 27, 0, 0, 0, 4, 3,117, 1, 4, 0, 27, 0, 24, 10,
+ 4, 0, 18, 0, 4, 0, 41, 10, 0, 0, 4, 3,118, 1, 4, 0, 27, 0, 24, 10, 4, 0, 18, 0, 4, 0, 41, 10, 0, 0, 4, 3,
+119, 1, 4, 0, 27, 0, 24, 10, 4, 0, 18, 0, 4, 0, 41, 10, 0, 0, 4, 3,120, 1, 2, 0, 4, 0, 18, 0, 7, 0, 83, 4,
+121, 1, 2, 0, 27, 0, 24, 10, 0, 0, 4, 3,122, 1, 10, 0, 27, 0, 24, 10, 4, 0, 43, 10, 7, 0,127, 0, 4, 0, 18, 0,
+ 2, 0, 11, 7, 2, 0, 44, 10, 2, 0, 66, 0, 2, 0, 30, 0, 7, 0, 45, 10, 0, 0, 4, 3,123, 1, 10, 0, 27, 0, 24, 10,
+ 2, 0, 16, 0, 2, 0,133, 4, 4, 0, 89, 0, 4, 0, 90, 0, 7, 0,120, 9, 7, 0,121, 9, 4, 0, 27, 0,178, 0, 90, 9,
+ 0, 0, 4, 3,124, 1, 4, 0, 27, 0, 24, 10, 4, 0,205, 3, 4, 0, 46, 10, 0, 0, 4, 3,125, 1, 4, 0, 27, 0, 24, 10,
+ 4, 0,205, 3, 4, 0, 27, 0, 0, 0, 4, 3,126, 1, 6, 0, 27, 0, 24, 10, 7, 0,127, 0, 7, 0, 75, 3, 4, 0, 47, 10,
+ 2, 0,205, 3, 2, 0,206, 3,127, 1, 6, 0, 27, 0, 24, 10, 4, 0, 48, 10, 4, 0, 49, 10, 7, 0, 50, 10, 7, 0, 51, 10,
+ 0, 0, 4, 3,128, 1, 16, 0, 27, 0, 24, 10, 27, 0,221, 9, 4, 0, 16, 0, 7, 0, 52, 10, 7, 0, 53, 10, 7, 0, 54, 10,
+ 7, 0, 55, 10, 7, 0, 56, 10, 7, 0, 57, 10, 7, 0, 58, 10, 7, 0, 59, 10, 7, 0, 60, 10, 2, 0, 18, 0, 2, 0, 27, 0,
+ 2, 0, 66, 0, 2, 0, 30, 0,129, 1, 3, 0, 27, 0, 24, 10, 4, 0, 18, 0, 4, 0, 22, 2,130, 1, 5, 0, 27, 0, 24, 10,
+ 4, 0, 18, 0, 4, 0, 27, 0, 7, 0, 61, 10, 0, 0, 4, 3,131, 1, 10, 0, 27, 0, 24, 10, 0, 0, 4, 3, 2, 0, 62, 10,
+ 2, 0, 63, 10, 0, 0, 64, 10, 0, 0, 65, 10, 7, 0, 66, 10, 7, 0, 67, 10, 7, 0, 68, 10, 7, 0, 69, 10,132, 1, 5, 0,
+ 27, 0, 24, 10, 0, 0, 4, 3, 7, 0,213, 2, 2, 0, 70, 10, 2, 0, 18, 0,133, 1, 8, 0, 7, 0, 8, 0, 7, 0, 9, 0,
+ 7, 0, 10, 0, 7, 0, 11, 0, 7, 0, 71, 10, 7, 0, 72, 10, 2, 0, 18, 0, 2, 0, 22, 2,134, 1, 8, 0, 7, 0, 8, 0,
+ 7, 0, 9, 0, 7, 0, 10, 0, 7, 0, 11, 0, 7, 0, 71, 10, 7, 0, 72, 10, 2, 0, 18, 0, 2, 0, 22, 2,135, 1, 8, 0,
+ 7, 0, 8, 0, 7, 0, 9, 0, 7, 0, 10, 0, 7, 0, 11, 0, 7, 0, 71, 10, 7, 0, 72, 10, 2, 0, 18, 0, 2, 0, 22, 2,
+136, 1, 7, 0, 27, 0, 24, 10, 0, 0, 4, 3, 7, 0, 81, 1, 7, 0, 90, 1, 2, 0, 18, 0, 2, 0, 74, 1, 4, 0, 27, 0,
+137, 1, 5, 0, 27, 0, 63, 3, 7, 0, 81, 1, 2, 0, 67, 3, 0, 0, 69, 3, 0, 0, 73, 10,138, 1, 7, 0,231, 0,110, 6,
+ 0, 0, 74, 10, 4, 0, 18, 0, 4, 0, 27, 0, 0, 0, 75, 10, 27, 0,212, 5, 27, 0, 76, 10,139, 1, 3, 0,231, 0,110, 6,
+ 4, 0, 18, 0, 4, 0, 27, 0,140, 1, 6, 0,231, 0,110, 6, 4, 0, 18, 0, 4, 0, 27, 0, 0, 0, 75, 10, 7, 0, 61, 10,
+ 27, 0,212, 5,141, 1, 10, 0,141, 1, 0, 0,141, 1, 1, 0, 2, 0, 16, 0, 2, 0, 18, 0, 0, 0, 77, 10, 7, 0, 19, 1,
+ 7, 0, 20, 1, 2, 0, 2, 10, 2, 0, 78, 10, 27, 0, 43, 0,142, 1, 22, 0,142, 1, 0, 0,142, 1, 1, 0, 2, 0, 18, 0,
+ 2, 0, 74, 1, 2, 0, 79, 10, 2, 0, 80, 10, 31, 0, 79, 0,178, 0, 90, 9, 27, 0,167, 0, 7, 0, 89, 0, 7, 0, 90, 0,
+ 7, 0, 81, 10, 7, 0, 82, 10, 7, 0, 83, 10, 7, 0, 84, 10, 7, 0,246, 2, 7, 0,141, 3, 7, 0, 92, 9, 7, 0, 85, 10,
+ 0, 0, 86, 10, 0, 0, 87, 10, 14, 0,183, 3,143, 1, 11, 0, 7, 0, 37, 2, 7, 0,120, 9, 7, 0,121, 9, 11, 0, 2, 0,
+ 2, 0, 88, 10, 2, 0, 89, 10, 2, 0, 90, 10, 2, 0, 91, 10, 2, 0, 92, 10, 2, 0, 93, 10, 2, 0,173, 2,144, 1, 21, 0,
+144, 1, 0, 0,144, 1, 1, 0,144, 1, 94, 10, 0, 0, 19, 0, 11, 0, 95, 10, 2, 0, 16, 0, 2, 0, 18, 0, 2, 0, 96, 10,
+ 2, 0, 66, 0, 7, 0, 97, 10, 7, 0, 98, 10, 11, 0, 99, 10, 2, 0,100, 10, 2, 0,101, 10, 4, 0,102, 10, 11, 0,155, 9,
+ 4, 0,103, 10, 4, 0,104, 10,144, 1,105, 10,145, 1,106, 10,143, 1,107, 10,146, 1, 4, 0, 0, 0,108, 10, 2, 0,109, 10,
+ 2, 0,110, 10, 4, 0, 27, 0,147, 1, 41, 0,147, 1, 0, 0,147, 1, 1, 0,147, 1,111, 10, 0, 0, 19, 0, 4, 0, 18, 0,
+ 2, 0, 16, 0, 2, 0, 30, 0, 2, 0,203, 8, 2, 0,168, 2, 2, 0,112, 10, 2, 0, 16, 7, 2, 0,100, 10, 2, 0, 44, 9,
+ 7, 0,113, 10, 14, 0, 85, 9, 14, 0,114, 10,147, 1, 37, 0, 22, 0, 46, 7, 11, 0, 95, 10, 7, 0, 97, 10, 7, 0, 98, 10,
+ 7, 0, 72, 2, 7, 0,250, 2, 7, 0,115, 10, 7, 0,116, 10, 7, 0,117, 10, 4, 0,118, 10, 0, 0,119, 10, 2, 0,120, 10,
+ 2, 0,121, 10, 7, 0,122, 10, 7, 0,123, 10, 2, 0,124, 10, 2, 0,125, 10, 11, 0,126, 10, 19, 0,127, 10, 19, 0,128, 10,
+ 19, 0,129, 10,146, 1,153, 0,148, 1,130, 10,149, 1,131, 10,145, 1, 8, 0,145, 1, 0, 0,145, 1, 1, 0,147, 1,132, 10,
+147, 1,133, 10,144, 1,134, 10,144, 1,135, 10, 4, 0, 18, 0, 4, 0, 27, 0, 56, 0, 23, 0, 22, 0, 32, 0, 34, 0, 74, 0,
+180, 0,177, 3, 14, 0,136, 10, 14, 0,137, 10, 4, 0, 16, 0, 4, 0,138, 10, 4, 0,139, 10, 4, 0, 18, 0, 4, 0,118, 10,
+ 4, 0,140, 10, 2, 0,141, 10, 2, 0,142, 10, 4, 0,143, 10, 14, 0, 85, 9, 14, 0,114, 10,150, 1,144, 10, 11, 0,145, 10,
+ 11, 0,146, 10, 4, 0,147, 10, 11, 0,148, 10, 11, 0,149, 10, 11, 0,150, 10,151, 1, 4, 0, 4, 0, 17, 0, 4, 0,223, 2,
+ 4, 0,120, 9, 4, 0,121, 9,152, 1, 4, 0, 4, 0, 17, 0, 7, 0,223, 2, 7, 0,120, 9, 7, 0,121, 9,153, 1, 2, 0,
+ 0, 0,223, 2, 0, 0, 73, 1,154, 1, 4, 0, 4, 0, 17, 0, 7, 0,151, 10, 7, 0,120, 9, 7, 0,121, 9,155, 1, 1, 0,
+ 7, 0,152, 10,156, 1, 2, 0, 2, 0, 18, 0, 2, 0,153, 10,157, 1, 6, 0, 4, 0,126, 0, 4, 0,128, 0, 4, 0, 44, 9,
+ 0, 0,154, 10, 0, 0,155, 10, 2, 0, 27, 0,158, 1, 6, 0, 7, 0, 23, 1, 7, 0, 22, 1, 7, 0,156, 10, 7, 0,157, 10,
+ 7, 0,158, 10, 4, 0, 27, 0,159, 1, 6, 0,158, 1,159, 10,158, 1,160, 10,158, 1,161, 10,158, 1,162, 10, 7, 0,163, 10,
+ 7, 0,164, 10,160, 1, 5, 0, 7, 0, 87, 3, 4, 0,165, 10, 7, 0,166, 10, 7, 0,167, 10, 7, 0,168, 10,161, 1, 6, 0,
+ 7, 0, 5, 0, 7, 0, 6, 0, 7, 0,169, 10, 7, 0,250, 2, 7, 0, 72, 2, 4, 0, 27, 0,162, 1, 6, 0, 7, 0, 5, 0,
+ 7, 0, 6, 0, 7, 0,169, 10, 7, 0,250, 2, 7, 0, 72, 2, 4, 0, 27, 0,163, 1, 2, 0, 4, 0,170, 10, 4, 0,171, 10,
+164, 1, 16, 0, 2, 0,146, 8, 2, 0,147, 8, 2, 0, 70, 5, 2, 0,172, 10, 2, 0,173, 10, 2, 0, 67, 0, 2, 0, 47, 7,
+ 2, 0,174, 10, 7, 0,245, 2, 7, 0,175, 10, 7, 0,176, 10, 2, 0, 97, 1, 0, 0,177, 10, 0, 0,156, 10, 4, 0,178, 10,
+ 4, 0,179, 10,165, 1, 9, 0, 7, 0,180, 10, 7, 0,181, 10, 7, 0,154, 9, 7, 0, 87, 3, 7, 0,182, 10, 7, 0,232, 6,
+ 2, 0, 85, 3, 0, 0,183, 10, 0, 0, 27, 0,166, 1, 4, 0, 7, 0,184, 10, 7, 0,185, 10, 2, 0, 85, 3, 2, 0, 27, 0,
+167, 1, 3, 0, 7, 0,186, 10, 7, 0,216, 8, 7, 0, 14, 0,168, 1, 4, 0, 0, 0, 35, 0,206, 0, 81, 5, 4, 0,128, 0,
+ 4, 0,131, 4,169, 1, 6, 0, 0, 0,187, 10,206, 0,188, 10, 4, 0,128, 0, 4, 0,131, 4, 4, 0,189, 10, 4, 0, 27, 0,
+170, 1, 7, 0, 2, 0,190, 10, 2, 0,191, 10, 4, 0, 66, 0, 0, 0, 76, 4,206, 0,188, 10, 0, 0,192, 10, 0, 0,175, 6,
+171, 1, 9, 0, 7, 0,193, 10, 7, 0,194, 10, 7, 0,195, 10, 7, 0, 83, 2, 7, 0,196, 10, 7, 0,197, 10, 7, 0,198, 10,
+ 2, 0,199, 10, 2, 0,200, 10,172, 1, 8, 0, 2, 0,201, 10, 2, 0,202, 10, 2, 0,203, 10, 2, 0,204, 10, 7, 0,205, 10,
+ 7, 0,206, 10, 7, 0,207, 10, 7, 0,208, 10,173, 1, 2, 0, 7, 0, 5, 0, 7, 0, 6, 0,174, 1, 2, 0, 0, 0,169, 0,
+ 0, 0,209, 10,175, 1, 1, 0, 0, 0, 19, 0,176, 1, 12, 0, 0, 0,210, 10, 0, 0,211, 10, 0, 0,209, 6, 0, 0,212, 10,
+ 2, 0, 70, 5, 2, 0,213, 10, 7, 0,214, 10, 7, 0,215, 10, 7, 0,216, 10, 7, 0,141, 3, 7, 0,169, 10, 7, 0,217, 10,
+177, 1, 2, 0, 11, 0,218, 10, 11, 0,219, 10,178, 1, 13, 0, 0, 0, 73, 5, 0, 0, 16, 0, 0, 0, 85, 3, 0, 0, 87, 3,
+ 0, 0,211, 10, 0, 0,107, 0, 0, 0,173, 2, 7, 0,220, 10, 7, 0,221, 10, 7, 0,140, 3, 7, 0,222, 10, 7, 0,223, 10,
+ 7, 0,217, 10,179, 1, 8, 0, 7, 0, 51, 9, 7, 0,127, 0, 7, 0,156, 10, 7, 0,164, 2, 7, 0,224, 10, 7, 0,226, 0,
+ 7, 0,225, 10, 4, 0, 16, 0,180, 1, 4, 0, 2, 0,226, 10, 2, 0,227, 10, 2, 0,228, 10, 2, 0, 27, 0,181, 1, 8, 0,
+ 7, 0,229, 10, 7, 0,213, 2, 7, 0,230, 10, 7, 0,196, 8, 7, 0,197, 8, 7, 0,198, 8, 7, 0,231, 10, 7, 0,232, 10,
+182, 1, 6, 0, 2, 0,233, 10, 2, 0,234, 10, 7, 0,235, 10, 7, 0,236, 10, 7, 0,237, 10, 7, 0,238, 10,183, 1, 2, 0,
+ 57, 0,239, 10, 58, 0,240, 10,184, 1, 3, 0,183, 1, 83, 6, 7, 0,241, 10, 7, 0,242, 10,185, 1, 3, 0,183, 1, 83, 6,
+ 4, 0,243, 10, 4, 0, 27, 0,186, 1, 1, 0,183, 1, 83, 6,187, 1, 3, 0,183, 1, 83, 6, 4, 0,243, 10, 4, 0,244, 10,
+188, 1, 3, 0,183, 1, 83, 6, 4, 0,245, 10, 4, 0, 27, 0,189, 1, 1, 0,183, 1, 83, 6,190, 1, 3, 0,183, 1, 83, 6,
+ 4, 0,246, 10, 4, 0, 27, 0,191, 1, 3, 0,183, 1, 83, 6, 4, 0,247, 10, 4, 0, 27, 0,192, 1, 3, 0,183, 1, 83, 6,
+ 4, 0,248, 10, 4, 0, 27, 0,193, 1, 3, 0,183, 1, 83, 6, 4, 0,238, 0, 4, 0, 27, 0,194, 1, 1, 0, 0, 0, 19, 0,
+195, 1, 1, 0, 0, 0, 19, 0,196, 1, 4, 0, 7, 0, 5, 0, 7, 0, 6, 0, 2, 0, 18, 0, 2, 0,249, 10,197, 1, 10, 0,
+ 2, 0, 61, 4, 2, 0, 18, 0, 7, 0,216, 4, 7, 0,250, 10, 7, 0,251, 10, 7, 0,252, 10, 7, 0,253, 10,196, 1,254, 10,
+196, 1,255, 10,196, 1, 0, 11, 53, 0, 11, 0, 4, 0, 18, 0, 4, 0, 62, 0, 4, 0, 1, 11, 4, 0, 2, 11, 19, 0, 3, 11,
+ 19, 0, 4, 11,197, 1, 5, 11, 7, 0, 6, 11, 7, 0, 7, 11, 7, 0, 8, 11, 7, 0, 9, 11, 5, 1, 10, 0, 4, 0, 2, 10,
+ 4, 0, 10, 11, 7, 0, 11, 11, 7, 0, 12, 11, 7, 0, 13, 11, 7, 0, 14, 11, 7, 0, 9, 0, 7, 0, 11, 0, 4, 0, 74, 1,
+ 4, 0,250, 2, 4, 1, 18, 0, 4, 0,131, 0, 4, 0, 15, 11, 4, 0, 16, 11, 7, 0, 17, 11, 4, 0, 18, 11, 7, 0, 19, 11,
+ 7, 0, 20, 11, 4, 0, 21, 11, 7, 0, 22, 11, 4, 0, 23, 11, 7, 0, 24, 11, 5, 1, 25, 11, 7, 0, 26, 11, 7, 0, 27, 11,
+ 7, 0, 28, 11, 7, 0, 29, 11, 4, 0, 30, 11, 4, 0, 27, 0,198, 1, 4, 0, 42, 0,237, 2, 7, 0, 31, 11, 7, 0,168, 1,
+ 7, 0, 27, 0,215, 0, 36, 0, 22, 0, 32, 0,198, 1, 32, 11, 53, 0,254, 10, 46, 0, 33, 11,215, 0, 34, 11, 51, 0, 35, 11,
+ 25, 0,153, 0, 0, 0, 36, 11, 7, 0, 37, 11, 2, 0,113, 6, 2, 0, 38, 11, 7, 0, 30, 2, 4, 0,107, 0, 4, 0, 18, 0,
+ 7, 0, 39, 11, 4, 0, 80, 2, 4, 0, 40, 11, 7, 0, 41, 11, 7, 0, 42, 11, 7, 0, 43, 11, 7, 0,168, 1, 4, 0, 44, 11,
+ 7, 0, 45, 11, 0, 0, 46, 11, 0, 0, 47, 11, 0, 0, 48, 11, 0, 0, 49, 11, 7, 0, 50, 11, 7, 0, 51, 11, 7, 0, 52, 11,
+ 7, 0,250, 2, 7, 0, 53, 11, 4, 0, 54, 11, 7, 0,245, 5, 7, 0, 55, 11, 7, 0, 56, 11,199, 1, 10, 0, 4, 0, 16, 0,
+ 4, 0,127, 0, 4, 0, 18, 0, 4, 0, 14, 4, 4, 0, 57, 11, 4, 0, 58, 11, 4, 0, 59, 11, 4, 0, 69, 0, 0, 0, 19, 0,
+ 11, 0, 2, 0,200, 1, 1, 0, 0, 0, 76, 7, 94, 0, 7, 0,199, 1, 60, 11, 4, 0, 61, 11, 4, 0, 62, 11, 4, 0, 63, 11,
+ 4, 0, 64, 11, 11, 0, 65, 11,200, 1, 66, 11,201, 1, 5, 0, 7, 0,157, 2, 7, 0,233, 2, 7, 0, 30, 2, 2, 0,139, 2,
+ 2, 0, 27, 0,202, 1, 5, 0, 7, 0,157, 2, 7, 0,158, 4, 7, 0, 67, 11, 7, 0, 68, 11, 7, 0,233, 2,203, 1, 5, 0,
+ 27, 0, 69, 11,204, 1, 21, 0, 7, 0, 79, 6, 7, 0, 70, 11, 7, 0, 55, 0,205, 1, 3, 0, 7, 0, 71, 11, 4, 0, 72, 11,
+ 4, 0, 73, 11,206, 1, 7, 0, 4, 0, 74, 11, 4, 0, 75, 11, 4, 0, 76, 11, 7, 0, 77, 11, 7, 0, 78, 11, 7, 0, 79, 11,
+ 7, 0, 55, 0,207, 1, 8, 0,207, 1, 0, 0,207, 1, 1, 0, 27, 0, 43, 0, 4, 0,247, 0, 2, 0, 18, 0, 2, 0, 74, 1,
+ 7, 0,233, 2, 7, 0, 59, 9,208, 1, 7, 0,208, 1, 0, 0,208, 1, 1, 0, 27, 0, 43, 0, 2, 0,218, 2, 2, 0, 18, 0,
+ 2, 0, 4, 2, 2, 0, 55, 0,209, 1, 17, 0,202, 1, 7, 4,202, 1, 80, 11,201, 1, 81, 11,202, 1, 42, 9,203, 1, 82, 11,
+ 4, 0, 81, 0, 7, 0,233, 2, 7, 0, 0, 3, 7, 0, 83, 11, 4, 0, 74, 11, 4, 0, 84, 11, 7, 0, 78, 11, 7, 0, 79, 11,
+ 7, 0,107, 0, 4, 0, 85, 11, 2, 0, 18, 0, 2, 0, 86, 11,210, 1, 15, 0, 7, 0,243, 0, 7, 0, 87, 11, 7, 0, 71, 11,
+ 7, 0, 88, 11, 7, 0, 89, 11, 7, 0, 90, 11, 7, 0, 91, 11, 7, 0, 92, 11, 7, 0, 93, 11, 7, 0, 94, 11, 7, 0, 95, 11,
+ 7, 0, 96, 11, 7, 0, 97, 11, 4, 0, 18, 0, 4, 0, 98, 11,211, 1,128, 0, 22, 0, 32, 0, 34, 0, 74, 0,212, 1, 99, 11,
+210, 1,100, 11,189, 0,153, 4, 4, 0, 18, 0, 4, 0, 55, 0, 2, 0, 16, 0, 2, 0, 62, 10, 2, 0,101, 11, 2, 0,111, 1,
+ 2, 0,102, 11, 2, 0,231, 3, 2, 0,103, 11, 2, 0,104, 11, 2, 0,105, 11, 2, 0,106, 11, 2, 0,107, 11, 2, 0,108, 11,
+ 2, 0,109, 11, 2, 0,110, 11, 2, 0,111, 11, 2, 0,229, 5, 2, 0,112, 11, 2, 0,113, 11, 2, 0,114, 11, 2, 0,115, 11,
+ 2, 0,116, 11, 2, 0, 19, 2, 2, 0, 35, 9, 2, 0, 10, 9, 2, 0,117, 11, 2, 0,118, 11, 2, 0, 24, 4, 2, 0, 25, 4,
+ 2, 0,119, 11, 2, 0,120, 11, 2, 0,121, 11, 2, 0,122, 11, 7, 0,123, 11, 7, 0,124, 11, 7, 0,125, 11, 7, 0,126, 11,
+ 7, 0,127, 11, 7, 0,128, 11, 7, 0,129, 11, 2, 0,155, 5, 2, 0,130, 11, 7, 0,131, 11, 7, 0,132, 11, 7, 0,133, 11,
+ 7, 0, 17, 9, 7, 0, 90, 0, 7, 0, 0, 3, 7, 0, 23, 9, 7, 0,134, 11, 7, 0,135, 11, 7, 0,136, 11, 7, 0,137, 11,
+ 7, 0,138, 11, 7, 0,139, 11, 4, 0, 18, 9, 4, 0, 16, 9, 4, 0,140, 11, 4, 0,141, 11, 2, 0,142, 11, 2, 0,143, 11,
+ 7, 0, 19, 9, 7, 0, 20, 9, 7, 0, 21, 9, 7, 0,144, 11, 7, 0,145, 11, 7, 0,146, 11, 7, 0,147, 11, 7, 0,148, 11,
+ 7, 0,149, 11, 7, 0,150, 11, 7, 0,151, 11, 7, 0,152, 11, 7, 0,217, 3, 7, 0,107, 0, 7, 0,153, 11, 7, 0,154, 11,
+ 7, 0,155, 11, 7, 0,156, 11, 7, 0,213, 0, 7, 0,157, 11, 4, 0,158, 11, 4, 0,159, 11, 7, 0,160, 11, 7, 0,161, 11,
+ 7, 0,162, 11, 7, 0,163, 11, 7, 0,164, 11, 7, 0,212, 0, 7, 0,165, 11, 7, 0, 51, 4, 7, 0, 49, 4, 7, 0, 50, 4,
+ 7, 0,166, 11, 7, 0,167, 11, 7, 0,168, 11, 7, 0,169, 11, 7, 0,170, 11, 7, 0,171, 11, 7, 0,172, 11, 7, 0,173, 11,
+ 7, 0,174, 11, 7, 0,175, 11, 7, 0,176, 11, 7, 0,177, 11, 7, 0,178, 11, 7, 0,179, 11, 7, 0,180, 11, 7, 0,181, 11,
+ 7, 0,182, 11, 7, 0,183, 11, 4, 0,184, 11, 4, 0,185, 11, 46, 0,130, 1, 63, 0,255, 3, 14, 0,186, 11, 63, 0,187, 11,
+ 27, 0,188, 11, 27, 0,189, 11, 31, 0, 79, 0,184, 0, 60, 1,184, 0,190, 11,151, 0, 52, 0,151, 0, 0, 0,151, 0, 1, 0,
+211, 1,191, 11,209, 1,192, 11,206, 1,221, 9,192, 0, 79, 4, 11, 0, 80, 4,213, 1,193, 11,213, 1,194, 11, 14, 0,195, 11,
+ 14, 0,196, 11,136, 0,197, 11,144, 0,198, 11,144, 0,199, 11, 27, 0,200, 11, 27, 0,201, 11, 27, 0, 37, 0, 14, 0, 29, 10,
+ 0, 0, 19, 0, 7, 0,232, 0, 7, 0, 29, 3, 7, 0,202, 11, 7, 0,203, 11, 4, 0,207, 2, 4, 0,204, 11, 4, 0, 18, 0,
+ 4, 0, 18, 9, 4, 0,205, 11, 4, 0,206, 11, 4, 0,207, 11, 4, 0,208, 11, 2, 0,239, 0, 2, 0,209, 11, 2, 0,210, 11,
+ 2, 0,211, 11, 0, 0,212, 11, 2, 0,213, 11, 2, 0,214, 11, 2, 0,215, 11, 11, 0,216, 11,140, 0,152, 4, 14, 0, 14, 3,
+ 14, 0,217, 11,205, 1,218, 11, 4, 0,219, 11, 4, 0,220, 11,214, 1,221, 11,142, 0, 26, 3,215, 1,222, 11, 7, 0,223, 11,
+ 7, 0,224, 11, 7, 0,225, 11,138, 0, 38, 0,216, 1,155, 9, 7, 0,122, 4, 7, 0,226, 11, 7, 0,227, 11, 7, 0, 79, 6,
+ 7, 0,235, 3, 7, 0,217, 3, 7, 0,228, 11, 7, 0, 82, 2, 7, 0,229, 11, 7, 0,230, 11, 7, 0,231, 11, 7, 0,232, 11,
+ 7, 0,233, 11, 7, 0,234, 11, 7, 0,123, 4, 7, 0,235, 11, 7, 0,236, 11, 7, 0,237, 11, 7, 0,124, 4, 7, 0,120, 4,
+ 7, 0,121, 4, 7, 0,238, 11, 7, 0,239, 11, 7, 0,240, 11, 4, 0,241, 11, 4, 0, 91, 0, 4, 0,242, 11, 4, 0,243, 11,
+ 2, 0,244, 11, 2, 0,245, 11, 2, 0,246, 11, 2, 0,247, 11, 2, 0,248, 11, 2, 0,249, 11, 2, 0,250, 11, 2, 0, 27, 0,
+189, 0,153, 4,139, 0, 11, 0,216, 1,251, 11, 7, 0,252, 11, 7, 0,253, 11, 7, 0,241, 1, 7, 0,254, 11, 7, 0,255, 11,
+ 7, 0, 0, 12, 4, 0, 91, 0, 2, 0, 1, 12, 2, 0, 2, 12, 63, 0,240, 1,217, 1, 4, 0, 7, 0, 5, 0, 7, 0, 6, 0,
+ 7, 0, 7, 0, 7, 0, 3, 12,218, 1, 6, 0,218, 1, 0, 0,218, 1, 1, 0,217, 1,197, 9, 4, 0,245, 0, 2, 0, 4, 12,
+ 2, 0, 18, 0,219, 1, 5, 0,219, 1, 0, 0,219, 1, 1, 0, 14, 0, 5, 12, 4, 0, 6, 12, 4, 0, 18, 0,220, 1, 9, 0,
+220, 1, 0, 0,220, 1, 1, 0, 14, 0,126, 0,219, 1, 7, 12, 4, 0, 18, 0, 2, 0, 4, 12, 2, 0, 8, 12, 7, 0, 92, 0,
+ 0, 0, 9, 12,180, 0, 6, 0, 22, 0, 32, 0, 14, 0,124, 5, 4, 0, 18, 0, 2, 0, 10, 12, 2, 0, 11, 12, 11, 0, 12, 12,
+221, 1, 6, 0, 14, 0, 13, 12, 4, 0, 14, 12, 4, 0, 15, 12, 4, 0, 18, 0, 4, 0, 27, 0,239, 0, 16, 12,222, 1, 19, 0,
+ 22, 0, 32, 0,223, 1, 17, 12,223, 1, 18, 12, 14, 0, 19, 12, 4, 0, 20, 12, 2, 0, 21, 12, 2, 0, 22, 12, 14, 0, 23, 12,
+ 14, 0, 24, 12,221, 1, 25, 12, 14, 0, 26, 12, 14, 0, 27, 12, 14, 0, 28, 12, 14, 0, 29, 12,224, 1, 30, 12,224, 1, 31, 12,
+224, 1, 32, 12, 14, 0, 33, 12,239, 0, 34, 12,223, 1, 32, 0,223, 1, 0, 0,223, 1, 1, 0, 11, 0, 35, 12, 4, 0,124, 8,
+ 2, 0, 36, 12, 2, 0, 27, 0, 29, 1, 37, 12, 29, 1, 38, 12, 0, 0, 39, 12, 2, 0, 40, 12, 2, 0, 41, 12, 2, 0,146, 8,
+ 2, 0,147, 8, 2, 0, 42, 12, 2, 0, 43, 12, 2, 0, 14, 4, 2, 0, 57, 7, 2, 0, 44, 12, 2, 0, 45, 12, 2, 0, 46, 12,
+ 2, 0, 30, 0,225, 1, 47, 12,226, 1, 48, 12,227, 1, 49, 12, 4, 0, 50, 12, 4, 0, 51, 12, 11, 0, 52, 12, 14, 0, 24, 12,
+ 14, 0,166, 8, 14, 0, 53, 12, 14, 0, 54, 12, 14, 0, 55, 12,228, 1, 18, 0,228, 1, 0, 0,228, 1, 1, 0, 0, 0, 56, 12,
+ 21, 0, 31, 0, 0, 0, 57, 12, 2, 0, 58, 12, 2, 0, 16, 0, 2, 0, 14, 0, 2, 0, 59, 12, 2, 0, 60, 12, 2, 0, 61, 12,
+ 2, 0, 62, 12, 2, 0, 63, 12, 2, 0, 18, 0, 2, 0, 64, 12, 2, 0, 32, 0, 2, 0, 27, 0,229, 1, 65, 12,230, 1, 4, 0,
+230, 1, 0, 0,230, 1, 1, 0,228, 1, 66, 12,228, 1, 67, 12,231, 1, 11, 0,231, 1, 0, 0,231, 1, 1, 0, 14, 0, 68, 12,
+ 14, 0, 69, 12, 0, 0, 56, 12, 2, 0, 70, 12, 2, 0, 71, 12, 2, 0, 18, 0, 2, 0, 72, 12, 4, 0, 73, 12, 11, 0, 74, 12,
+224, 1, 7, 0,224, 1, 0, 0,224, 1, 1, 0, 0, 0, 56, 12, 0, 0, 75, 12, 14, 0, 64, 8, 4, 0, 76, 12, 4, 0, 18, 0,
+ 1, 1, 14, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 56, 12, 21, 0, 31, 0,232, 1,140, 8, 11, 0, 77, 12, 11, 0, 78, 12,
+229, 1, 65, 12,221, 1, 79, 12, 14, 0, 80, 12, 1, 1, 81, 12, 34, 1,253, 6, 2, 0, 18, 0, 2, 0, 73, 1,233, 1, 12, 0,
+233, 1, 0, 0,233, 1, 1, 0, 11, 0, 2, 0, 11, 0, 82, 12, 0, 0, 19, 0, 2, 0, 16, 0, 2, 0, 18, 0, 7, 0,142, 9,
+ 7, 0,128, 0, 7, 0,131, 4, 7, 0, 92, 9, 7, 0, 85, 10,234, 1, 5, 0, 7, 0, 83, 12, 4, 0, 84, 12, 4, 0, 85, 12,
+ 4, 0, 74, 1, 4, 0, 18, 0,235, 1, 6, 0, 7, 0, 86, 12, 7, 0, 87, 12, 7, 0, 88, 12, 7, 0, 89, 12, 4, 0, 16, 0,
+ 4, 0, 18, 0,236, 1, 5, 0, 7, 0,120, 9, 7, 0,121, 9, 7, 0,233, 2, 2, 0, 33, 2, 2, 0, 34, 2,237, 1, 5, 0,
+236, 1, 2, 0, 4, 0, 52, 0, 7, 0, 90, 12, 7, 0,120, 9, 7, 0,121, 9,238, 1, 4, 0, 2, 0, 91, 12, 2, 0, 92, 12,
+ 2, 0, 93, 12, 2, 0, 94, 12,239, 1, 2, 0, 37, 0, 44, 7, 21, 0,161, 9,240, 1, 3, 0, 19, 0, 95, 12, 4, 0, 18, 0,
+ 4, 0, 27, 0,241, 1, 6, 0, 7, 0,107, 0, 7, 0,202, 2, 7, 0, 96, 12, 7, 0, 27, 0, 2, 0,238, 0, 2, 0, 97, 12,
+242, 1, 5, 0, 7, 0, 98, 12, 7, 0,127, 0, 7, 0,198, 9, 7, 0,199, 9, 4, 0, 18, 0,243, 1, 6, 0, 22, 0, 46, 7,
+ 0, 0, 99, 12, 0, 0,100, 12, 2, 0,101, 12, 2, 0, 18, 0, 4, 0,102, 12,244, 1, 7, 0,244, 1, 0, 0,244, 1, 1, 0,
+ 0, 0, 19, 0,243, 1,103, 12, 2, 0,104, 12, 2, 0, 16, 0, 7, 0, 59, 0,245, 1, 7, 0, 14, 0,105, 12, 0, 0,106, 12,
+ 11, 0,107, 12, 7, 0, 59, 0, 7, 0,142, 9, 4, 0, 16, 0, 4, 0, 18, 0,246, 1, 3, 0, 7, 0,108, 12, 4, 0, 18, 0,
+ 4, 0, 27, 0,247, 1, 15, 0,247, 1, 0, 0,247, 1, 1, 0,107, 1, 16, 10,245, 1, 60, 0, 14, 0,183, 3, 30, 0, 48, 0,
+246, 1,109, 12, 4, 0, 52, 0, 7, 0, 59, 0, 2, 0, 18, 0, 2, 0, 10, 1, 4, 0,110, 12, 0, 0, 99, 12, 4, 0,111, 12,
+ 7, 0,113, 10,248, 1, 2, 0, 0, 0,112, 12, 0, 0,113, 12,249, 1, 4, 0,249, 1, 0, 0,249, 1, 1, 0,178, 0, 63, 3,
+ 14, 0,114, 12,250, 1, 25, 0,250, 1, 0, 0,250, 1, 1, 0, 14, 0,115, 12,178, 0, 90, 9,249, 1,116, 12, 14, 0,117, 12,
+ 14, 0,183, 3, 0, 0, 19, 0, 7, 0,142, 9, 7, 0,118, 12, 7, 0, 89, 0, 7, 0, 90, 0, 7, 0, 81, 10, 7, 0, 82, 10,
+ 7, 0,246, 2, 7, 0,141, 3, 7, 0, 92, 9, 7, 0, 85, 10, 2, 0,119, 12, 2, 0,120, 12, 2, 0, 66, 0, 2, 0, 16, 0,
+ 11, 0,121, 12, 4, 0, 18, 0, 4, 0, 30, 0,251, 1, 6, 0,251, 1, 0, 0,251, 1, 1, 0, 14, 0,115, 12, 4, 0, 18, 0,
+ 4, 0, 4, 2, 0, 0, 19, 0,252, 1, 11, 0,252, 1, 0, 0,252, 1, 1, 0, 22, 0, 46, 7, 0, 0,122, 12, 4, 0,102, 12,
+ 2, 0,123, 12, 2, 0, 27, 0, 0, 0, 99, 12, 4, 0,110, 12, 2, 0, 18, 0, 2, 0,124, 12,253, 1, 10, 0,253, 1, 0, 0,
+253, 1, 1, 0, 14, 0,125, 12, 0, 0, 56, 12, 0, 0, 19, 0, 0, 0,126, 12, 0, 0,127, 12, 2, 0, 18, 0, 2, 0,124, 12,
+ 4, 0,128, 12,254, 1, 5, 0,254, 1, 0, 0,254, 1, 1, 0, 0, 0, 99, 12, 4, 0,110, 12, 7, 0,223, 2, 34, 0, 12, 0,
+178, 0,174, 3,178, 0,129, 12,249, 1,116, 12, 14, 0,130, 12,250, 1,131, 12, 14, 0,132, 12, 14, 0,133, 12, 4, 0, 18, 0,
+ 4, 0,239, 0, 2, 0,134, 12, 2, 0,135, 12, 7, 0,136, 12,255, 1, 2, 0, 22, 0, 32, 0, 34, 0, 74, 0, 0, 2, 5, 0,
+ 0, 2, 0, 0, 0, 2, 1, 0, 4, 0, 16, 0, 4, 0, 18, 0, 0, 0,173, 5, 1, 2, 6, 0, 0, 2,137, 12, 27, 0, 43, 0,
+ 4, 0,138, 12, 7, 0,139, 12, 4, 0,140, 12, 4, 0, 2, 10, 2, 2, 3, 0, 0, 2,137, 12, 4, 0,138, 12, 7, 0,141, 12,
+ 3, 2, 8, 0, 0, 2,137, 12, 27, 0, 43, 0, 7, 0, 64, 1, 7, 0,142, 12, 7, 0, 29, 3, 7, 0,154, 9, 4, 0,138, 12,
+ 4, 0,143, 12, 4, 2, 5, 0, 0, 2,137, 12, 7, 0,144, 12, 7, 0,168, 2, 7, 0,252, 2, 7, 0, 55, 0, 5, 2, 3, 0,
+ 0, 2,137, 12, 7, 0,154, 9, 7, 0,145, 12,204, 1, 4, 0, 7, 0,146, 12, 7, 0,154, 11, 2, 0,147, 12, 2, 0, 74, 1,
+ 6, 2, 14, 0, 6, 2, 0, 0, 6, 2, 1, 0, 14, 0,148, 12, 14, 0,149, 12, 14, 0,150, 12, 0, 0,173, 5, 4, 0, 32, 0,
+ 4, 0, 18, 0, 4, 0,151, 12, 7, 0,152, 12, 4, 0,140, 12, 4, 0, 2, 10, 7, 0, 83, 4, 7, 0,254, 2,212, 1, 23, 0,
+ 4, 0,138, 12, 4, 0,153, 12, 7, 0,154, 12, 7, 0,250, 2, 7, 0,155, 12, 7, 0,233, 8, 7, 0,146, 12, 7, 0,156, 12,
+ 7, 0,202, 2, 7, 0, 17, 11, 7, 0,216, 4, 7, 0,157, 12, 7, 0,158, 12, 7, 0,159, 12, 7, 0,160, 12, 7, 0,161, 12,
+ 7, 0,162, 12, 7, 0,163, 12, 7, 0,164, 12, 7, 0,165, 12, 7, 0,166, 12, 7, 0,167, 12, 14, 0,168, 12,124, 0, 40, 0,
+123, 0,169, 12, 7, 2,100, 11, 63, 0,170, 12, 63, 0,187, 11, 63, 0,171, 12, 8, 2,172, 12, 43, 0,168, 0, 43, 0,173, 12,
+ 43, 0,174, 12, 7, 0,175, 12, 7, 0,176, 12, 7, 0,177, 12, 7, 0,178, 12, 7, 0,179, 12, 7, 0,123, 8, 7, 0,180, 12,
+ 7, 0,168, 1, 7, 0,181, 12, 7, 0,141, 3, 4, 0,182, 12, 4, 0,183, 12, 4, 0,184, 12, 4, 0, 91, 0, 4, 0,185, 12,
+ 2, 0,186, 12, 2, 0,187, 12, 4, 0,188, 12, 7, 0,202, 2, 4, 0,189, 12, 7, 0,190, 12, 4, 0,191, 12, 4, 0,192, 12,
+ 4, 0,193, 12,140, 0,194, 12, 14, 0,195, 12,189, 0,153, 4, 4, 0,196, 12, 7, 0,197, 12, 7, 0,198, 12, 4, 0, 30, 0,
+125, 0, 12, 0,123, 0,169, 12,151, 0, 49, 3, 7, 0,133, 1, 7, 0,123, 8, 7, 0,199, 12, 7, 0,200, 12, 7, 0,201, 12,
+ 2, 0,202, 12, 2, 0,203, 12, 2, 0,204, 12, 2, 0, 16, 0, 4, 0, 91, 0,126, 0, 15, 0,123, 0,169, 12,142, 0, 26, 3,
+ 7, 0,197, 9, 7, 0,205, 12, 7, 0,206, 12, 4, 0,207, 12, 7, 0, 66, 1, 7, 0,208, 12, 4, 0, 38, 10, 4, 0, 22, 3,
+ 4, 0,209, 12, 7, 0,178, 12, 2, 0, 16, 0, 2, 0, 27, 0, 4, 0, 30, 0, 9, 2, 15, 0, 22, 0, 32, 0, 34, 0, 74, 0,
+ 47, 1,231, 8, 7, 0,210, 12, 7, 0,211, 12, 7, 0,212, 12, 7, 0,213, 12, 7, 0,153, 9, 7, 0,214, 12, 7, 0,215, 12,
+ 7, 0,216, 12, 7, 0, 83, 4, 7, 0,233, 8, 2, 0, 18, 0, 2, 0,116, 9,233, 0, 3, 0, 4, 0,125, 0, 2, 0,229, 6,
+ 2, 0,217, 12, 10, 2, 5, 0, 0, 0,199, 8, 2, 0,200, 8, 2, 0, 73, 5, 2, 0,218, 12, 2, 0,219, 12,231, 0, 16, 0,
+ 22, 0, 32, 0, 34, 0, 74, 0, 0, 0, 35, 0, 4, 0,142, 0, 4, 0,143, 0, 4, 0,220, 12, 7, 0,161, 0, 7, 0,162, 0,
+ 44, 0,137, 0, 11, 2,155, 9,180, 0,177, 3, 12, 2,221, 12, 11, 0,222, 12, 10, 2,223, 12, 4, 0, 18, 0, 4, 0, 22, 0,
+ 15, 1, 10, 0, 4, 0,131, 0, 4, 0,224, 12, 51, 0,225, 12, 7, 0,226, 12, 2, 0,227, 12, 0, 0,173, 2, 4, 0,125, 0,
+ 13, 2,170, 3, 14, 2,228, 12, 7, 0,229, 12, 15, 2, 3, 0, 4, 0,125, 0, 7, 0,230, 12, 7, 0, 66, 1, 16, 2, 11, 0,
+ 11, 0,231, 12, 7, 0,232, 12, 7, 0,233, 12, 7, 0, 27, 0, 7, 0,234, 12, 2, 0,235, 12, 2, 0, 66, 0, 7, 0,236, 12,
+ 7, 0,237, 12, 7, 0,238, 12, 7, 0,239, 12, 14, 2, 3, 0, 7, 0,240, 12, 4, 0,125, 0, 4, 0, 18, 0, 13, 2, 24, 0,
+ 13, 2, 0, 0, 13, 2, 1, 0, 0, 0, 19, 0, 7, 0,241, 12, 7, 0,242, 12, 7, 0,243, 12, 7, 0,244, 12, 7, 0, 31, 11,
+ 4, 0,245, 12, 4, 0,246, 12, 14, 2,247, 12, 7, 0,248, 12, 7, 0,230, 12, 4, 0, 18, 0, 4, 0,249, 12, 4, 0,250, 12,
+ 7, 0,113, 10, 2, 0,251, 12, 2, 0,222, 3, 2, 0,252, 12, 2, 0,253, 12, 2, 0,254, 12, 2, 0, 30, 0, 7, 0,255, 12,
+ 17, 2, 22, 0, 4, 0, 18, 0, 2, 0, 0, 13, 2, 0, 1, 13, 7, 0, 2, 13, 2, 0, 3, 13, 2, 0, 4, 13, 2, 0, 5, 13,
+ 2, 0, 6, 13, 2, 0, 7, 13, 2, 0, 8, 13, 2, 0, 9, 13, 2, 0,252, 2, 4, 0, 10, 13, 4, 0, 11, 13, 2, 0, 12, 13,
+ 2, 0, 30, 0, 7, 0, 81, 1, 4, 0, 13, 13, 4, 0, 14, 13, 7, 0, 15, 13, 7, 0, 16, 13, 4, 0,237, 1, 18, 2, 12, 0,
+ 4, 0, 18, 0, 4, 0, 17, 13, 4, 0, 18, 13, 7, 0, 19, 13, 13, 2, 20, 13, 7, 0, 21, 13, 7, 0, 22, 13, 7, 0, 23, 13,
+ 4, 0,180, 1, 4, 0,131, 0, 7, 0,141, 3, 51, 0, 24, 13, 19, 2, 5, 0, 4, 0, 18, 0, 7, 0,230, 12, 4, 0, 25, 13,
+ 4, 0, 26, 13, 15, 2, 27, 13, 20, 2, 7, 0, 20, 2, 0, 0, 20, 2, 1, 0, 0, 0, 19, 0, 4, 0, 18, 0, 7, 0,141, 3,
+ 14, 0, 28, 13, 19, 2, 29, 13, 21, 2, 1, 0, 0, 0, 30, 13, 22, 2, 8, 0, 22, 2, 0, 0, 22, 2, 1, 0, 13, 2,170, 3,
+ 4, 0, 27, 0, 4, 0, 31, 13, 4, 0, 32, 13, 4, 0, 33, 13, 4, 0, 34, 13, 23, 2, 6, 0, 4, 0,131, 0, 4, 0, 27, 0,
+ 14, 0, 2, 10, 4, 0, 35, 13, 2, 0, 36, 13, 2, 0, 37, 13, 12, 2, 11, 0, 17, 2, 38, 13, 16, 2, 39, 13, 14, 0, 28, 13,
+ 19, 2, 29, 13, 18, 2, 40, 13, 13, 2, 41, 13, 14, 0, 42, 13, 4, 0, 43, 13, 4, 0, 44, 13, 21, 2, 94, 6, 23, 2, 45, 13,
+ 24, 2, 48, 0, 24, 2, 0, 0, 24, 2, 1, 0,170, 0,138, 3, 25, 2, 2, 0, 63, 0, 46, 13,189, 0,153, 4,140, 0,152, 4,
+ 14, 0, 14, 3, 4, 0, 47, 13, 0, 0, 19, 0, 2, 0,188, 10, 2, 0, 16, 0, 2, 0, 48, 13, 2, 0, 49, 13, 2, 0, 50, 13,
+ 2, 0, 51, 13, 2, 0, 52, 13, 2, 0, 53, 13, 4, 0, 91, 0, 4, 0,181, 3, 4, 0, 54, 13, 4, 0, 55, 13, 4, 0,198, 9,
+ 4, 0,199, 9, 4, 0, 27, 0, 7, 0, 56, 13, 47, 0, 57, 13, 0, 0, 58, 13, 4, 0, 59, 13, 4, 0,188, 12, 7, 0, 60, 13,
+ 7, 0, 61, 13, 7, 0, 62, 13, 7, 0, 63, 13, 7, 0, 64, 13, 7, 0, 65, 13, 7, 0, 66, 13, 7, 0, 67, 13, 7, 0, 68, 13,
+ 7, 0, 69, 13, 7, 0, 70, 13, 7, 0, 71, 13, 7, 0, 72, 13, 7, 0, 73, 13, 0, 0,195, 2, 0, 0, 74, 13, 0, 0, 75, 13,
+ 0, 0, 76, 13,170, 0, 7, 0,169, 0, 77, 13,144, 0, 28, 3, 14, 0, 78, 13, 2, 0, 79, 13, 2, 0, 91, 0, 4, 0, 27, 0,
+ 0, 0, 80, 13,171, 0, 24, 0,169, 0, 77, 13,144, 0, 28, 3,151, 0, 49, 3, 62, 0, 16, 2, 4, 0, 91, 0, 4, 0, 81, 13,
+ 7, 0,184, 0, 7, 0,185, 0, 7, 0,186, 0, 7, 0,168, 1, 7, 0, 82, 13, 7, 0, 83, 13, 7, 0, 84, 13, 7, 0, 85, 13,
+ 49, 0, 86, 13, 49, 0, 87, 13, 2, 0, 88, 13, 2, 0,248, 10, 2, 0, 89, 13, 2, 0, 27, 0, 7, 0, 90, 13, 7, 0, 91, 13,
+ 7, 0, 92, 13, 7, 0, 93, 13, 69, 78, 68, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0};
diff --git a/source/blender/editors/gpencil/drawgpencil.c b/source/blender/editors/gpencil/drawgpencil.c
index 8d771f0dc58..fa555b0ddb8 100644
--- a/source/blender/editors/gpencil/drawgpencil.c
+++ b/source/blender/editors/gpencil/drawgpencil.c
@@ -37,10 +37,8 @@
#include "BLO_sys_types.h"
-#include "IMB_imbuf_types.h"
-
-#include "BLI_math.h"
#include "BLI_blenlib.h"
+#include "BLI_math.h"
#include "BLI_utildefines.h"
#include "DNA_gpencil_types.h"
@@ -53,8 +51,6 @@
#include "BKE_global.h"
#include "BKE_gpencil.h"
-
-
#include "WM_api.h"
#include "BIF_gl.h"
@@ -64,7 +60,6 @@
#include "ED_sequencer.h"
#include "ED_view3d.h"
-
#include "gpencil_intern.h"
/* ************************************************** */
@@ -225,7 +220,7 @@ static void gp_draw_stroke_3d(bGPDspoint *points, int totpoints, short thickness
/* need to roll-back one point to ensure that there are no gaps in the stroke */
if (i != 0) glVertex3fv(&(pt - 1)->x);
-
+
/* now the point we want... */
glVertex3fv(&pt->x);
@@ -340,7 +335,7 @@ static void gp_draw_stroke(bGPDspoint *points, int totpoints, short thickness_s,
mt[1] = m2[1] * pthick * 0.5f;
sc[0] = s0[0] - (m1[0] * pthick * 0.75f);
sc[1] = s0[1] - (m1[1] * pthick * 0.75f);
-
+
t0[0] = sc[0] - mt[0];
t0[1] = sc[1] - mt[1];
t1[0] = sc[0] + mt[0];
@@ -382,7 +377,7 @@ static void gp_draw_stroke(bGPDspoint *points, int totpoints, short thickness_s,
mt[1] = mb[1] * pthick;
athick = len_v2(mt);
dfac = pthick - (athick * 2);
-
+
if (((athick * 2.0f) < pthick) && (IS_EQF(athick, pthick) == 0)) {
mt[0] += (mb[0] * dfac);
mt[1] += (mb[1] * dfac);
@@ -429,7 +424,7 @@ static void gp_draw_stroke(bGPDspoint *points, int totpoints, short thickness_s,
mt[1] = m2[1] * pthick * 0.5f;
sc[0] = s1[0] + (m1[0] * pthick * 0.75f);
sc[1] = s1[1] + (m1[1] * pthick * 0.75f);
-
+
t0[0] = sc[0] - mt[0];
t0[1] = sc[1] - mt[1];
t1[0] = sc[0] + mt[0];
@@ -669,7 +664,7 @@ static void gp_draw_data(bGPdata *gpd, int offsx, int offsy, int winx, int winy,
// ............................
/* draw grease-pencil sketches to specified 2d-view that uses ibuf corrections */
-void draw_gpencil_2dimage(bContext *C, ImBuf *ibuf)
+void draw_gpencil_2dimage(const bContext *C)
{
ScrArea *sa = CTX_wm_area(C);
ARegion *ar = CTX_wm_region(C);
@@ -678,8 +673,6 @@ void draw_gpencil_2dimage(bContext *C, ImBuf *ibuf)
int offsx, offsy, sizex, sizey;
int dflag = GP_DRAWDATA_NOSTATUS;
- /* check that we have grease-pencil stuff to draw */
- if (ELEM(NULL, sa, ibuf)) return;
gpd = gpencil_data_get_active(C); // XXX
if (gpd == NULL) return;
@@ -701,32 +694,20 @@ void draw_gpencil_2dimage(bContext *C, ImBuf *ibuf)
dflag |= GP_DRAWDATA_ONLYV2D | GP_DRAWDATA_IEDITHACK;
}
break;
-#if 0 /* removed since 2.5x, needs to be added back */
case SPACE_SEQ: /* sequence */
{
- SpaceSeq *sseq = (SpaceSeq *)sa->spacedata.first;
- float zoom, zoomx, zoomy;
-
- /* calculate accessory values */
- zoom = (float)(SEQ_ZOOM_FAC(sseq->zoom));
- if (sseq->mainb == SEQ_DRAW_IMG_IMBUF) {
- /* XXX sequencer zoom should store it? */
- zoomx = zoom; // * (G.scene->r.xasp / G.scene->r.yasp);
- zoomy = zoom;
- }
- else
- zoomx = zoomy = zoom;
-
- /* calculate transforms (Note: we use ibuf here, as we have it) */
- sizex = (int)(zoomx * ibuf->x);
- sizey = (int)(zoomy * ibuf->y);
- offsx = (int)( (ar->winx - sizex) / 2 + sseq->xof);
- offsy = (int)( (ar->winy - sizey) / 2 + sseq->yof);
+ /* just draw using standard scaling (settings here are currently ignored anyways) */
+ offsx = 0;
+ offsy = 0;
+ sizex = ar->winx;
+ sizey = ar->winy;
- dflag |= GP_DRAWDATA_ONLYI2D;
+ /* NOTE: I2D was used in 2.4x, but the old settings for that have been deprecated
+ * and everything moved to standard View2d
+ */
+ dflag |= GP_DRAWDATA_ONLYV2D;
}
break;
-#endif
default: /* for spacetype not yet handled */
offsx = 0;
offsy = 0;
@@ -745,7 +726,7 @@ void draw_gpencil_2dimage(bContext *C, ImBuf *ibuf)
/* draw grease-pencil sketches to specified 2d-view assuming that matrices are already set correctly
* Note: this gets called twice - first time with onlyv2d=1 to draw 'canvas' strokes, second time with onlyv2d=0 for screen-aligned strokes
*/
-void draw_gpencil_view2d(bContext *C, short onlyv2d)
+void draw_gpencil_view2d(const bContext *C, short onlyv2d)
{
ScrArea *sa = CTX_wm_area(C);
ARegion *ar = CTX_wm_region(C);
diff --git a/source/blender/editors/gpencil/editaction_gpencil.c b/source/blender/editors/gpencil/editaction_gpencil.c
index 9cc738b016e..a7beaa74eb7 100644
--- a/source/blender/editors/gpencil/editaction_gpencil.c
+++ b/source/blender/editors/gpencil/editaction_gpencil.c
@@ -62,7 +62,7 @@
/* Generics - Loopers */
/* Loops over the gp-frames for a gp-layer, and applies the given callback */
-short gplayer_frames_looper(bGPDlayer *gpl, Scene *scene, short (*gpf_cb)(bGPDframe *, Scene *))
+short ED_gplayer_frames_looper(bGPDlayer *gpl, Scene *scene, short (*gpf_cb)(bGPDframe *, Scene *))
{
bGPDframe *gpf;
@@ -85,7 +85,7 @@ short gplayer_frames_looper(bGPDlayer *gpl, Scene *scene, short (*gpf_cb)(bGPDfr
/* Data Conversion Tools */
/* make a listing all the gp-frames in a layer as cfraelems */
-void gplayer_make_cfra_list(bGPDlayer *gpl, ListBase *elems, short onlysel)
+void ED_gplayer_make_cfra_list(bGPDlayer *gpl, ListBase *elems, short onlysel)
{
bGPDframe *gpf;
CfraElem *ce;
@@ -111,7 +111,7 @@ void gplayer_make_cfra_list(bGPDlayer *gpl, ListBase *elems, short onlysel)
/* Selection Tools */
/* check if one of the frames in this layer is selected */
-short is_gplayer_frame_selected(bGPDlayer *gpl)
+short ED_gplayer_frame_select_check(bGPDlayer *gpl)
{
bGPDframe *gpf;
@@ -149,7 +149,7 @@ static void gpframe_select(bGPDframe *gpf, short select_mode)
}
/* set all/none/invert select (like above, but with SELECT_* modes) */
-void select_gpencil_frames(bGPDlayer *gpl, short select_mode)
+void ED_gpencil_select_frames(bGPDlayer *gpl, short select_mode)
{
bGPDframe *gpf;
@@ -164,36 +164,33 @@ void select_gpencil_frames(bGPDlayer *gpl, short select_mode)
}
/* set all/none/invert select */
-void set_gplayer_frame_selection(bGPDlayer *gpl, short mode)
+void ED_gplayer_frame_select_set(bGPDlayer *gpl, short mode)
{
/* error checking */
if (gpl == NULL)
return;
/* now call the standard function */
- select_gpencil_frames(gpl, mode);
+ ED_gpencil_select_frames(gpl, mode);
}
/* select the frame in this layer that occurs on this frame (there should only be one at most) */
-void select_gpencil_frame(bGPDlayer *gpl, int selx, short select_mode)
+void ED_gpencil_select_frame(bGPDlayer *gpl, int selx, short select_mode)
{
bGPDframe *gpf;
if (gpl == NULL)
return;
-
- /* search through frames for a match */
- for (gpf = gpl->frames.first; gpf; gpf = gpf->next) {
- /* there should only be one frame with this frame-number */
- if (gpf->framenum == selx) {
- gpframe_select(gpf, select_mode);
- break;
- }
+
+ gpf = BKE_gpencil_layer_find_frame(gpl, selx);
+
+ if (gpf) {
+ gpframe_select(gpf, select_mode);
}
}
/* select the frames in this layer that occur within the bounds specified */
-void borderselect_gplayer_frames(bGPDlayer *gpl, float min, float max, short select_mode)
+void ED_gplayer_frames_select_border(bGPDlayer *gpl, float min, float max, short select_mode)
{
bGPDframe *gpf;
@@ -211,7 +208,7 @@ void borderselect_gplayer_frames(bGPDlayer *gpl, float min, float max, short sel
/* Frame Editing Tools */
/* Delete selected frames */
-void delete_gplayer_frames(bGPDlayer *gpl)
+void ED_gplayer_frames_delete(bGPDlayer *gpl)
{
bGPDframe *gpf, *gpfn;
@@ -229,7 +226,7 @@ void delete_gplayer_frames(bGPDlayer *gpl)
}
/* Duplicate selected frames from given gp-layer */
-void duplicate_gplayer_frames(bGPDlayer *gpl)
+void ED_gplayer_frames_duplicate(bGPDlayer *gpl)
{
bGPDframe *gpf, *gpfn;
@@ -502,19 +499,19 @@ void snap_gplayer_frames(bGPDlayer *gpl, Scene *scene, short mode)
{
switch (mode) {
case 1: /* snap to nearest frame */
- gplayer_frames_looper(gpl, scene, snap_gpf_nearest);
+ ED_gplayer_frames_looper(gpl, scene, snap_gpf_nearest);
break;
case 2: /* snap to current frame */
- gplayer_frames_looper(gpl, scene, snap_gpf_cframe);
+ ED_gplayer_frames_looper(gpl, scene, snap_gpf_cframe);
break;
case 3: /* snap to nearest marker */
- gplayer_frames_looper(gpl, scene, snap_gpf_nearmarker);
+ ED_gplayer_frames_looper(gpl, scene, snap_gpf_nearmarker);
break;
case 4: /* snap to nearest second */
- gplayer_frames_looper(gpl, scene, snap_gpf_nearestsec);
+ ED_gplayer_frames_looper(gpl, scene, snap_gpf_nearestsec);
break;
default: /* just in case */
- gplayer_frames_looper(gpl, scene, snap_gpf_nearest);
+ ED_gplayer_frames_looper(gpl, scene, snap_gpf_nearest);
break;
}
}
@@ -604,21 +601,21 @@ void mirror_gplayer_frames(bGPDlayer *gpl, Scene *scene, short mode)
{
switch (mode) {
case 1: /* mirror over current frame */
- gplayer_frames_looper(gpl, scene, mirror_gpf_cframe);
+ ED_gplayer_frames_looper(gpl, scene, mirror_gpf_cframe);
break;
case 2: /* mirror over frame 0 */
- gplayer_frames_looper(gpl, scene, mirror_gpf_yaxis);
+ ED_gplayer_frames_looper(gpl, scene, mirror_gpf_yaxis);
break;
case 3: /* mirror over value 0 */
- gplayer_frames_looper(gpl, scene, mirror_gpf_xaxis);
+ ED_gplayer_frames_looper(gpl, scene, mirror_gpf_xaxis);
break;
case 4: /* mirror over marker */
mirror_gpf_marker(NULL, NULL);
- gplayer_frames_looper(gpl, scene, mirror_gpf_marker);
+ ED_gplayer_frames_looper(gpl, scene, mirror_gpf_marker);
mirror_gpf_marker(NULL, NULL);
break;
default: /* just in case */
- gplayer_frames_looper(gpl, scene, mirror_gpf_yaxis);
+ ED_gplayer_frames_looper(gpl, scene, mirror_gpf_yaxis);
break;
}
}
diff --git a/source/blender/editors/gpencil/gpencil_buttons.c b/source/blender/editors/gpencil/gpencil_buttons.c
index 3a7e806c2ed..4c125ebe013 100644
--- a/source/blender/editors/gpencil/gpencil_buttons.c
+++ b/source/blender/editors/gpencil/gpencil_buttons.c
@@ -40,6 +40,7 @@
#include "DNA_gpencil_types.h"
#include "DNA_screen_types.h"
+#include "DNA_space_types.h"
#include "BKE_context.h"
#include "BKE_global.h"
@@ -230,12 +231,30 @@ typedef enum eGP_Stroke_Ops {
STROKE_OPTS_V3D_ON,
} eGP_Stroke_Ops;
+static void draw_gpencil_space_specials(const bContext *C, uiLayout *layout)
+{
+ uiLayout *col, *row;
+ SpaceClip *sc = CTX_wm_space_clip(C);
+
+ col = uiLayoutColumn(layout, 0);
+
+ if (sc) {
+ bScreen *screen = CTX_wm_screen(C);
+ PointerRNA sc_ptr;
+
+ RNA_pointer_create(&screen->id, &RNA_SpaceClipEditor, sc, &sc_ptr);
+ row = uiLayoutRow(col, 1);
+ uiItemR(row, &sc_ptr, "grease_pencil_source", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
+ }
+}
+
/* Draw the contents for a grease-pencil panel*/
static void draw_gpencil_panel(bContext *C, uiLayout *layout, bGPdata *gpd, PointerRNA *ctx_ptr)
{
PointerRNA gpd_ptr;
bGPDlayer *gpl;
uiLayout *col, *row;
+ SpaceClip *sc = CTX_wm_space_clip(C);
short v3d_stroke_opts = STROKE_OPTS_NORMAL;
const short is_v3d = CTX_wm_view3d(C) != NULL;
@@ -244,6 +263,7 @@ static void draw_gpencil_panel(bContext *C, uiLayout *layout, bGPdata *gpd, Poin
/* draw gpd settings first ------------------------------------- */
col = uiLayoutColumn(layout, 0);
+
/* current Grease Pencil block */
/* TODO: show some info about who owns this? */
uiTemplateID(col, C, ctx_ptr, "grease_pencil", "GPENCIL_OT_data_add", NULL, "GPENCIL_OT_data_unlink");
@@ -281,14 +301,17 @@ static void draw_gpencil_panel(bContext *C, uiLayout *layout, bGPdata *gpd, Poin
row = uiLayoutRow(col, 1);
uiItemEnumR_string(row, &gpd_ptr, "draw_mode", "VIEW", NULL, ICON_NONE);
uiItemEnumR_string(row, &gpd_ptr, "draw_mode", "CURSOR", NULL, ICON_NONE);
- row = uiLayoutRow(col, 1);
- uiLayoutSetActive(row, v3d_stroke_opts);
- uiItemEnumR_string(row, &gpd_ptr, "draw_mode", "SURFACE", NULL, ICON_NONE);
- uiItemEnumR_string(row, &gpd_ptr, "draw_mode", "STROKE", NULL, ICON_NONE);
- row = uiLayoutRow(col, 0);
- uiLayoutSetActive(row, v3d_stroke_opts == STROKE_OPTS_V3D_ON);
- uiItemR(row, &gpd_ptr, "use_stroke_endpoints", 0, NULL, ICON_NONE);
+ if (sc == NULL) {
+ row = uiLayoutRow(col, 1);
+ uiLayoutSetActive(row, v3d_stroke_opts);
+ uiItemEnumR_string(row, &gpd_ptr, "draw_mode", "SURFACE", NULL, ICON_NONE);
+ uiItemEnumR_string(row, &gpd_ptr, "draw_mode", "STROKE", NULL, ICON_NONE);
+
+ row = uiLayoutRow(col, 0);
+ uiLayoutSetActive(row, v3d_stroke_opts == STROKE_OPTS_V3D_ON);
+ uiItemR(row, &gpd_ptr, "use_stroke_endpoints", 0, NULL, ICON_NONE);
+ }
}
@@ -300,6 +323,8 @@ void gpencil_panel_standard(const bContext *C, Panel *pa)
/* if (v3d->flag2 & V3D_DISPGP)... etc. */
+ draw_gpencil_space_specials(C, pa->layout);
+
/* get pointer to Grease Pencil Data */
gpd_ptr = gpencil_data_get_pointers((bContext *)C, &ptr);
diff --git a/source/blender/editors/gpencil/gpencil_edit.c b/source/blender/editors/gpencil/gpencil_edit.c
index 9250d48a20c..ed530bea4bd 100644
--- a/source/blender/editors/gpencil/gpencil_edit.c
+++ b/source/blender/editors/gpencil/gpencil_edit.c
@@ -57,6 +57,7 @@
#include "BKE_library.h"
#include "BKE_object.h"
#include "BKE_report.h"
+#include "BKE_tracking.h"
#include "WM_api.h"
@@ -77,8 +78,9 @@
/* Context Wrangling... */
/* Get pointer to active Grease Pencil datablock, and an RNA-pointer to trace back to whatever owns it */
-bGPdata **gpencil_data_get_pointers(bContext *C, PointerRNA *ptr)
+bGPdata **gpencil_data_get_pointers(const bContext *C, PointerRNA *ptr)
{
+ ID *screen_id = (ID *)CTX_wm_screen(C);
Scene *scene = CTX_data_scene(C);
ScrArea *sa = CTX_wm_area(C);
@@ -121,9 +123,12 @@ bGPdata **gpencil_data_get_pointers(bContext *C, PointerRNA *ptr)
case SPACE_SEQ: /* Sequencer */
{
- //SpaceSeq *sseq= (SpaceSeq *)CTX_wm_space_data(C);
+ SpaceSeq *sseq = (SpaceSeq *)CTX_wm_space_data(C);
- /* return the GP data for the active strips/image/etc. */
+ /* for now, Grease Pencil data is associated with the space (actually preview region only) */
+ // XXX our convention for everything else is to link to data though...
+ if (ptr) RNA_pointer_create(screen_id, &RNA_SpaceSequenceEditor, sseq, ptr);
+ return &sseq->gpd;
}
break;
@@ -133,7 +138,7 @@ bGPdata **gpencil_data_get_pointers(bContext *C, PointerRNA *ptr)
/* for now, Grease Pencil data is associated with the space... */
// XXX our convention for everything else is to link to data though...
- if (ptr) RNA_pointer_create((ID *)CTX_wm_screen(C), &RNA_SpaceImageEditor, sima, ptr);
+ if (ptr) RNA_pointer_create(screen_id, &RNA_SpaceImageEditor, sima, ptr);
return &sima->gpd;
}
break;
@@ -142,11 +147,25 @@ bGPdata **gpencil_data_get_pointers(bContext *C, PointerRNA *ptr)
{
SpaceClip *sc = (SpaceClip *)CTX_wm_space_data(C);
MovieClip *clip = ED_space_clip(sc);
-
+
if (clip) {
- /* for now, as long as there's a clip, default to using that in Clip Editor */
- if (ptr) RNA_id_pointer_create(&clip->id, ptr);
- return &clip->gpd;
+ if (sc->gpencil_src == SC_GPENCIL_SRC_TRACK) {
+ MovieTrackingTrack *track = BKE_tracking_track_get_active(&clip->tracking);
+
+ if (!track)
+ return NULL;
+
+ if (ptr)
+ RNA_pointer_create(&clip->id, &RNA_MovieTrackingTrack, track, ptr);
+
+ return &track->gpd;
+ }
+ else {
+ if (ptr)
+ RNA_id_pointer_create(&clip->id, ptr);
+
+ return &clip->gpd;
+ }
}
}
break;
@@ -162,7 +181,7 @@ bGPdata **gpencil_data_get_pointers(bContext *C, PointerRNA *ptr)
}
/* Get the active Grease Pencil datablock */
-bGPdata *gpencil_data_get_active(bContext *C)
+bGPdata *gpencil_data_get_active(const bContext *C)
{
bGPdata **gpd_ptr = gpencil_data_get_pointers(C, NULL);
return (gpd_ptr) ? *(gpd_ptr) : NULL;
@@ -199,7 +218,7 @@ static int gp_data_add_exec(bContext *C, wmOperator *op)
else {
/* decrement user count and add new datablock */
bGPdata *gpd = (*gpd_ptr);
-
+
id_us_min(&gpd->id);
*gpd_ptr = gpencil_data_addnew("GPencil");
}
@@ -464,7 +483,7 @@ static int gp_camera_view_subrect(bContext *C, rctf *subrect)
if (v3d) {
RegionView3D *rv3d = ar->regiondata;
-
+
/* for camera view set the subrect */
if (rv3d->persp == RV3D_CAMOB) {
Scene *scene = CTX_data_scene(C);
@@ -508,26 +527,26 @@ static void gp_stroke_to_bezier(bContext *C, bGPDlayer *gpl, bGPDstroke *gps, Cu
/* add points */
for (i = 0, bezt = nu->bezt; i < tot; i++, pt++, bezt++) {
float h1[3], h2[3];
-
+
if (i) interp_v3_v3v3(h1, p3d_cur, p3d_prev, 0.3);
else interp_v3_v3v3(h1, p3d_cur, p3d_next, -0.3);
-
+
if (i < tot - 1) interp_v3_v3v3(h2, p3d_cur, p3d_next, 0.3);
else interp_v3_v3v3(h2, p3d_cur, p3d_prev, -0.3);
-
+
copy_v3_v3(bezt->vec[0], h1);
copy_v3_v3(bezt->vec[1], p3d_cur);
copy_v3_v3(bezt->vec[2], h2);
-
+
/* set settings */
bezt->h1 = bezt->h2 = HD_FREE;
bezt->f1 = bezt->f2 = bezt->f3 = SELECT;
bezt->radius = bezt->weight = pt->pressure * gpl->thickness * 0.1f;
-
+
/* shift coord vects */
copy_v3_v3(p3d_prev, p3d_cur);
copy_v3_v3(p3d_cur, p3d_next);
-
+
if (i + 2 < tot) {
gp_strokepoint_convertcoords(C, gps, pt + 2, p3d_next, subrect);
}
diff --git a/source/blender/editors/gpencil/gpencil_paint.c b/source/blender/editors/gpencil/gpencil_paint.c
index 6ffe3f1feeb..6d90824668e 100644
--- a/source/blender/editors/gpencil/gpencil_paint.c
+++ b/source/blender/editors/gpencil/gpencil_paint.c
@@ -44,6 +44,7 @@
#include "BKE_context.h"
#include "BKE_global.h"
#include "BKE_report.h"
+#include "BKE_tracking.h"
#include "DNA_object_types.h"
#include "DNA_scene_types.h"
@@ -56,9 +57,12 @@
#include "ED_screen.h"
#include "ED_view3d.h"
-#include "RNA_access.h"
+#include "BIF_gl.h"
+#include "BIF_glutil.h"
+#include "RNA_access.h"
#include "RNA_define.h"
+
#include "WM_api.h"
#include "WM_types.h"
@@ -78,15 +82,6 @@ typedef struct tGPsdata {
rctf *subrect; /* for using the camera rect within the 3d view */
rctf subrect_data;
-
-#if 0 // XXX review this 2d image stuff...
- ImBuf *ibuf; /* needed for GP_STROKE_2DIMAGE */
- struct IBufViewSettings {
- int offsx, offsy; /* offsets */
- int sizex, sizey; /* dimensions to use as scale-factor */
- } im2d_settings; /* needed for GP_STROKE_2DIMAGE */
-#endif
-
PointerRNA ownerPtr; /* pointer to owner of gp-datablock */
bGPdata *gpd; /* gp-datablock layer comes from */
bGPDlayer *gpl; /* layer we're working on */
@@ -106,8 +101,10 @@ typedef struct tGPsdata {
float imat[4][4]; /* inverted transformation matrix applying when converting coords from screen-space
* to region space */
-
- float custom_color[4]; /* custom color for (?) */
+
+ float custom_color[4]; /* custom color - hack for enforcing a particular color for track/mask editing */
+
+ void *erasercursor; /* radial cursor data for drawing eraser */
} tGPsdata;
/* values for tGPsdata->status */
@@ -268,7 +265,7 @@ static void gp_stroke_convertcoords(tGPsdata *p, const int mval[2], float out[3]
int mval_prj[2];
float rvec[3], dvec[3];
float mval_f[2];
-
+
/* Current method just converts each point in screen-coordinates to
* 3D-coordinates using the 3D-cursor as reference. In general, this
* works OK, but it could of course be improved.
@@ -282,7 +279,7 @@ static void gp_stroke_convertcoords(tGPsdata *p, const int mval[2], float out[3]
/* method taken from editview.c - mouse_cursor() */
project_int_noclip(p->ar, rvec, mval_prj);
-
+
VECSUB2D(mval_f, mval_prj, mval);
ED_view3d_win_to_delta(p->ar, mval_f, dvec);
sub_v3_v3v3(out, rvec, dvec);
@@ -295,25 +292,6 @@ static void gp_stroke_convertcoords(tGPsdata *p, const int mval[2], float out[3]
mul_v3_m4v3(out, p->imat, out);
}
-#if 0
- /* 2d - on image 'canvas' (assume that p->v2d is set) */
- else if (gpd->sbuffer_sflag & GP_STROKE_2DIMAGE) {
- int sizex, sizey, offsx, offsy;
-
- /* get stored settings
- * - assume that these have been set already (there are checks that set sane 'defaults' just in case)
- */
- sizex = p->im2d_settings.sizex;
- sizey = p->im2d_settings.sizey;
- offsx = p->im2d_settings.offsx;
- offsy = p->im2d_settings.offsy;
-
- /* calculate new points */
- out[0] = (float)(mval[0] - offsx) / (float)sizex;
- out[1] = (float)(mval[1] - offsy) / (float)sizey;
- }
-#endif
-
/* 2d - relative to screen (viewport area) */
else {
if (p->subrect == NULL) { /* normal 3D view */
@@ -392,11 +370,11 @@ static short gp_stroke_addpoint(tGPsdata *p, const int mval[2], float pressure)
else if (p->paintmode == GP_PAINTMODE_DRAW_POLY) {
/* get pointer to destination point */
pt = (tGPspoint *)(gpd->sbuffer);
-
+
/* store settings */
copy_v2_v2_int(&pt->x, mval);
pt->pressure = pressure;
-
+
/* if there's stroke for this poly line session add (or replace last) point
* to stroke. This allows to draw lines more interactively (see new segment
* during mouse slide, i.e.)
@@ -404,36 +382,36 @@ static short gp_stroke_addpoint(tGPsdata *p, const int mval[2], float pressure)
if (gp_stroke_added_check(p)) {
bGPDstroke *gps = p->gpf->strokes.last;
bGPDspoint *pts;
-
+
/* first time point is adding to temporary buffer -- need to allocate new point in stroke */
if (gpd->sbuffer_size == 0) {
gps->points = MEM_reallocN(gps->points, sizeof(bGPDspoint) * (gps->totpoints + 1));
gps->totpoints++;
}
-
+
pts = &gps->points[gps->totpoints - 1];
-
+
/* special case for poly lines: normally, depth is needed only when creating new stroke from buffer,
* but poly lines are converting to stroke instantly, so initialize depth buffer before converting coordinates
*/
if (gpencil_project_check(p)) {
View3D *v3d = p->sa->spacedata.first;
-
+
view3d_region_operator_needs_opengl(p->win, p->ar);
ED_view3d_autodist_init(p->scene, p->ar, v3d, (p->gpd->flag & GP_DATA_DEPTH_STROKE) ? 1 : 0);
}
-
+
/* convert screen-coordinates to appropriate coordinates (and store them) */
gp_stroke_convertcoords(p, &pt->x, &pts->x, NULL);
-
+
/* copy pressure */
pts->pressure = pt->pressure;
}
-
+
/* increment counters */
if (gpd->sbuffer_size == 0)
gpd->sbuffer_size++;
-
+
return GP_STROKEADD_NORMAL;
}
@@ -481,7 +459,7 @@ static void gp_stroke_smooth(tGPsdata *p)
/* second pass: apply smoothed coordinates */
for (i = 0, spc = smoothArray; i < gpd->sbuffer_size; i++, spc++) {
tGPspoint *pc = (((tGPspoint *)gpd->sbuffer) + i);
-
+
copy_v2_v2_int(&pc->x, &spc->x);
}
@@ -525,7 +503,7 @@ static void gp_stroke_simplify(tGPsdata *p)
co[0] += (float)(old_points[offs].x * sfac); \
co[1] += (float)(old_points[offs].y * sfac); \
pressure += old_points[offs].pressure * sfac; \
- }
+ } (void)0
for (i = 0, j = 0; i < num_points; i++) {
if (i - j == 3) {
@@ -638,10 +616,10 @@ static void gp_stroke_newfrombuffer(tGPsdata *p)
else if (p->paintmode == GP_PAINTMODE_DRAW_POLY) {
/* first point */
ptc = gpd->sbuffer;
-
+
/* convert screen-coordinates to appropriate coordinates (and store them) */
gp_stroke_convertcoords(p, &ptc->x, &pt->x, NULL);
-
+
/* copy pressure */
pt->pressure = ptc->pressure;
}
@@ -655,10 +633,10 @@ static void gp_stroke_newfrombuffer(tGPsdata *p)
int found_depth = 0;
depth_arr = MEM_mallocN(sizeof(float) * gpd->sbuffer_size, "depth_points");
-
+
for (i = 0, ptc = gpd->sbuffer; i < gpd->sbuffer_size; i++, ptc++, pt++) {
copy_v2_v2_int(mval, &ptc->x);
-
+
if ((ED_view3d_autodist_depth(p->ar, mval, depth_margin, depth_arr + i) == 0) &&
(i && (ED_view3d_autodist_depth_seg(p->ar, mval, mval_prev, depth_margin + 1, depth_arr + i) == 0)))
{
@@ -667,7 +645,7 @@ static void gp_stroke_newfrombuffer(tGPsdata *p)
else {
found_depth = TRUE;
}
-
+
copy_v2_v2_int(mval_prev, mval);
}
@@ -834,21 +812,6 @@ static void gp_stroke_eraser_dostroke(tGPsdata *p, int mval[], int mvalo[], shor
else if (gps->flag & GP_STROKE_2DSPACE) {
UI_view2d_view_to_region(p->v2d, gps->points->x, gps->points->y, &x0, &y0);
}
-#if 0
- else if (gps->flag & GP_STROKE_2DIMAGE) {
- int offsx, offsy, sizex, sizey;
-
- /* get stored settings */
- sizex = p->im2d_settings.sizex;
- sizey = p->im2d_settings.sizey;
- offsx = p->im2d_settings.offsx;
- offsy = p->im2d_settings.offsy;
-
- /* calculate new points */
- x0 = (int)((gps->points->x * sizex) + offsx);
- y0 = (int)((gps->points->y * sizey) + offsy);
- }
-#endif
else {
if (p->subrect == NULL) { /* normal 3D view */
x0 = (int)(gps->points->x / 100 * p->ar->winx);
@@ -894,24 +857,6 @@ static void gp_stroke_eraser_dostroke(tGPsdata *p, int mval[], int mvalo[], shor
UI_view2d_view_to_region(p->v2d, pt2->x, pt2->y, &x1, &y1);
}
-#if 0
- else if (gps->flag & GP_STROKE_2DIMAGE) {
- int offsx, offsy, sizex, sizey;
-
- /* get stored settings */
- sizex = p->im2d_settings.sizex;
- sizey = p->im2d_settings.sizey;
- offsx = p->im2d_settings.offsx;
- offsy = p->im2d_settings.offsy;
-
- /* calculate new points */
- x0 = (int)((pt1->x * sizex) + offsx);
- y0 = (int)((pt1->y * sizey) + offsy);
-
- x1 = (int)((pt2->x * sizex) + offsx);
- y1 = (int)((pt2->y * sizey) + offsy);
- }
-#endif
else {
if (p->subrect == NULL) { /* normal 3D view */
x0 = (int)(pt1->x / 100 * p->ar->winx);
@@ -1028,16 +973,6 @@ static int gp_session_initdata(bContext *C, tGPsdata *p)
printf("Error: 3D-View active region doesn't have any region data, so cannot be drawable\n");
return 0;
}
-
-#if 0 // XXX will this sort of antiquated stuff be restored?
- /* check that gpencil data is allowed to be drawn */
- if ((v3d->flag2 & V3D_DISPGP) == 0) {
- p->status = GP_STATUS_ERROR;
- if (G.debug & G_DEBUG)
- printf("Error: In active view, Grease Pencil not shown\n");
- return 0;
- }
-#endif
}
break;
@@ -1049,19 +984,8 @@ static int gp_session_initdata(bContext *C, tGPsdata *p)
p->sa = curarea;
p->ar = ar;
p->v2d = &ar->v2d;
-
-#if 0 // XXX will this sort of antiquated stuff be restored?
- /* check that gpencil data is allowed to be drawn */
- if ((snode->flag & SNODE_DISPGP) == 0) {
- p->status = GP_STATUS_ERROR;
- if (G.debug & G_DEBUG)
- printf("Error: In active view, Grease Pencil not shown\n");
- return 0;
- }
-#endif
}
break;
-#if 0 // XXX these other spaces will come over time...
case SPACE_SEQ:
{
SpaceSeq *sseq = curarea->spacedata.first;
@@ -1078,15 +1002,8 @@ static int gp_session_initdata(bContext *C, tGPsdata *p)
printf("Error: In active view (sequencer), active mode doesn't support Grease Pencil\n");
return 0;
}
- if ((sseq->flag & SEQ_DRAW_GPENCIL) == 0) {
- p->status = GP_STATUS_ERROR;
- if (G.debug & G_DEBUG)
- printf("Error: In active view, Grease Pencil not shown\n");
- return 0;
- }
}
break;
-#endif
case SPACE_IMAGE:
{
//SpaceImage *sima= curarea->spacedata.first;
@@ -1095,39 +1012,36 @@ static int gp_session_initdata(bContext *C, tGPsdata *p)
p->sa = curarea;
p->ar = ar;
p->v2d = &ar->v2d;
- //p->ibuf= BKE_image_get_ibuf(sima->image, &sima->iuser);
-
-#if 0 // XXX disabled for now
- /* check that gpencil data is allowed to be drawn */
- if ((sima->flag & SI_DISPGP) == 0) {
- p->status = GP_STATUS_ERROR;
- if (G.debug & G_DEBUG)
- printf("Error: In active view, Grease Pencil not shown\n");
- return 0;
- }
-#endif
}
break;
case SPACE_CLIP:
{
SpaceClip *sc = curarea->spacedata.first;
-
+
/* set the current area */
p->sa = curarea;
p->ar = ar;
p->v2d = &ar->v2d;
- //p->ibuf= BKE_image_get_ibuf(sima->image, &sima->iuser);
-
+
invert_m4_m4(p->imat, sc->unistabmat);
-
+
/* custom color for new layer */
p->custom_color[0] = 1.0f;
p->custom_color[1] = 0.0f;
p->custom_color[2] = 0.5f;
p->custom_color[3] = 0.9f;
+
+ if (sc->gpencil_src == SC_GPENCIL_SRC_TRACK) {
+ int framenr = sc->user.framenr;
+ MovieTrackingTrack *track = BKE_tracking_track_get_active(&sc->clip->tracking);
+ MovieTrackingMarker *marker = BKE_tracking_marker_get_exact(track, framenr);
+
+ p->imat[3][0] -= marker->pos[0];
+ p->imat[3][1] -= marker->pos[1];
+ }
}
break;
-
+
/* unsupported views */
default:
{
@@ -1163,12 +1077,6 @@ static int gp_session_initdata(bContext *C, tGPsdata *p)
/* clear out buffer (stored in gp-data), in case something contaminated it */
gp_session_validatebuffer(p);
-#if 0
- /* set 'default' im2d_settings just in case something that uses this doesn't set it */
- p->im2d_settings.sizex = 1;
- p->im2d_settings.sizey = 1;
-#endif
-
return 1;
}
@@ -1214,7 +1122,7 @@ static void gp_paint_initstroke(tGPsdata *p, short paintmode)
p->gpl = gpencil_layer_getactive(p->gpd);
if (p->gpl == NULL) {
p->gpl = gpencil_layer_addnew(p->gpd);
-
+
if (p->custom_color[3])
copy_v3_v3(p->gpl->color, p->custom_color);
}
@@ -1250,7 +1158,7 @@ static void gp_paint_initstroke(tGPsdata *p, short paintmode)
if (p->sa->spacetype == SPACE_VIEW3D) {
View3D *v3d = p->sa->spacedata.first;
RegionView3D *rv3d = p->ar->regiondata;
-
+
/* for camera view set the subrect */
if (rv3d->persp == RV3D_CAMOB) {
ED_view3d_calc_camera_border(p->scene, p->ar, v3d, rv3d, &p->subrect_data, TRUE); /* no shift */
@@ -1280,41 +1188,13 @@ static void gp_paint_initstroke(tGPsdata *p, short paintmode)
p->gpd->sbuffer_sflag |= GP_STROKE_2DSPACE;
}
break;
-#if 0 // XXX other spacetypes to be restored in due course
+
case SPACE_SEQ:
{
- SpaceSeq *sseq = (SpaceSeq *)p->sa->spacedata.first;
- int rectx, recty;
- float zoom, zoomx, zoomy;
-
- /* set draw 2d-stroke flag */
- p->gpd->sbuffer_sflag |= GP_STROKE_2DIMAGE;
-
- /* calculate zoom factor */
- zoom = (float)(SEQ_ZOOM_FAC(sseq->zoom));
- if (sseq->mainb == SEQ_DRAW_IMG_IMBUF) {
- zoomx = zoom * (p->scene->r.xasp / p->scene->r.yasp);
- zoomy = zoom;
- }
- else
- zoomx = zoomy = zoom;
-
- /* calculate rect size to use to calculate the size of the drawing area
- * - We use the size of the output image not the size of the ibuf being shown
- * as it is too messy getting the ibuf (and could be too slow). This should be
- * a reasonable for most cases anyway.
- */
- rectx = (p->scene->r.size * p->scene->r.xsch) / 100;
- recty = (p->scene->r.size * p->scene->r.ysch) / 100;
-
- /* set offset and scale values for opertations to use */
- p->im2d_settings.sizex = (int)(zoomx * rectx);
- p->im2d_settings.sizey = (int)(zoomy * recty);
- p->im2d_settings.offsx = (int)((p->sa->winx - p->im2d_settings.sizex) / 2 + sseq->xof);
- p->im2d_settings.offsy = (int)((p->sa->winy - p->im2d_settings.sizey) / 2 + sseq->yof);
+ p->gpd->sbuffer_sflag |= GP_STROKE_2DSPACE;
}
break;
-#endif
+
case SPACE_IMAGE:
{
SpaceImage *sima = (SpaceImage *)p->sa->spacedata.first;
@@ -1390,6 +1270,49 @@ static void gp_paint_cleanup(tGPsdata *p)
/* ------------------------------- */
+/* Helper callback for drawing the cursor itself */
+static void gpencil_draw_eraser(bContext *UNUSED(C), int x, int y, void *p_ptr)
+{
+ tGPsdata *p = (tGPsdata *)p_ptr;
+
+ if (p->paintmode == GP_PAINTMODE_ERASER) {
+ glPushMatrix();
+
+ glTranslatef((float)x, (float)y, 0.0f);
+
+ glColor4ub(255, 255, 255, 128);
+
+ glEnable(GL_LINE_SMOOTH);
+ glEnable(GL_BLEND);
+
+ glutil_draw_lined_arc(0.0, M_PI * 2.0, p->radius, 40);
+
+ glDisable(GL_BLEND);
+ glDisable(GL_LINE_SMOOTH);
+
+ glPopMatrix();
+ }
+}
+
+/* Turn brush cursor in 3D view on/off */
+static void gpencil_draw_toggle_eraser_cursor(bContext *C, tGPsdata *p, short enable)
+{
+ if (p->erasercursor && !enable) {
+ /* clear cursor */
+ WM_paint_cursor_end(CTX_wm_manager(C), p->erasercursor);
+ p->erasercursor = NULL;
+ }
+ else if (enable) {
+ /* enable cursor */
+ p->erasercursor = WM_paint_cursor_activate(CTX_wm_manager(C),
+ NULL, // XXX
+ gpencil_draw_eraser, p);
+ }
+}
+
+/* ------------------------------- */
+
+
static void gpencil_draw_exit(bContext *C, wmOperator *op)
{
tGPsdata *p = op->customdata;
@@ -1404,8 +1327,12 @@ static void gpencil_draw_exit(bContext *C, wmOperator *op)
if (p) {
/* check size of buffer before cleanup, to determine if anything happened here */
if (p->paintmode == GP_PAINTMODE_ERASER) {
- // TODO clear radial cursor thing
- // XXX draw_sel_circle(NULL, p.mvalo, 0, p.radius, 0);
+ /* turn off radial brush cursor */
+ gpencil_draw_toggle_eraser_cursor(C, p, FALSE);
+
+ /* if successful, store the new eraser size to be used again next time */
+ if (p->status == GP_STATUS_DONE)
+ U.gp_eraser = p->radius;
}
/* cleanup */
@@ -1456,6 +1383,7 @@ static int gpencil_draw_init(bContext *C, wmOperator *op)
return 1;
}
+
/* ------------------------------- */
/* update UI indicators of status, including cursor and header prints */
@@ -1550,8 +1478,9 @@ static void gpencil_draw_apply_event(wmOperator *op, wmEvent *event)
float mousef[2];
int tablet = 0;
- /* convert from window-space to area-space mouse coordintes */
- // NOTE: float to ints conversions, +1 factor is probably used to ensure a bit more accurate rounding...
+ /* convert from window-space to area-space mouse coordintes
+ * NOTE: float to ints conversions, +1 factor is probably used to ensure a bit more accurate rounding...
+ */
p->mval[0] = event->mval[0] + 1;
p->mval[1] = event->mval[1] + 1;
@@ -1700,7 +1629,7 @@ static int gpencil_draw_invoke(bContext *C, wmOperator *op, wmEvent *event)
/* if eraser is on, draw radial aid */
if (p->paintmode == GP_PAINTMODE_ERASER) {
- // TODO: this involves mucking around with radial control, so we leave this for now..
+ gpencil_draw_toggle_eraser_cursor(C, p, TRUE);
}
/* set cursor */
@@ -1733,13 +1662,13 @@ static int gpencil_draw_invoke(bContext *C, wmOperator *op, wmEvent *event)
}
/* gpencil modal operator stores area, which can be removed while using it (like fullscreen) */
-static int gpencil_area_exists(bContext *C, ScrArea *satest)
+static int gpencil_area_exists(bContext *C, ScrArea *sa_test)
{
bScreen *sc = CTX_wm_screen(C);
ScrArea *sa;
for (sa = sc->areabase.first; sa; sa = sa->next) {
- if (sa == satest)
+ if (sa == sa_test)
return 1;
}
@@ -1829,7 +1758,7 @@ static int gpencil_draw_modal(bContext *C, wmOperator *op, wmEvent *event)
sketch |= GPENCIL_SKETCH_SESSIONS_ON(p->scene);
/* polyline drawing is also 'sketching' -- all knots should be added during one session */
sketch |= p->paintmode == GP_PAINTMODE_DRAW_POLY;
-
+
if (sketch) {
/* end stroke only, and then wait to resume painting soon */
//printf("\t\tGP - end stroke only\n");
@@ -1837,7 +1766,7 @@ static int gpencil_draw_modal(bContext *C, wmOperator *op, wmEvent *event)
/* we've just entered idling state, so this event was processed (but no others yet) */
estate = OPERATOR_RUNNING_MODAL;
-
+
/* stroke could be smoothed, send notifier to refresh screen */
WM_event_add_notifier(C, NC_SCREEN | ND_GPENCIL | NA_EDITED, NULL);
}
@@ -1850,7 +1779,7 @@ static int gpencil_draw_modal(bContext *C, wmOperator *op, wmEvent *event)
else if (event->val == KM_PRESS) {
/* not painting, so start stroke (this should be mouse-button down) */
p = gpencil_stroke_begin(C, op);
-
+
if (p->status == GP_STATUS_ERROR) {
estate = OPERATOR_CANCELLED;
}
@@ -1879,8 +1808,37 @@ static int gpencil_draw_modal(bContext *C, wmOperator *op, wmEvent *event)
estate = OPERATOR_RUNNING_MODAL;
}
}
+ /* eraser size */
+ else if ((p->paintmode == GP_PAINTMODE_ERASER) &&
+ ELEM4(event->type, WHEELUPMOUSE, WHEELDOWNMOUSE, PADPLUSKEY, PADMINUS))
+ {
+ /* just resize the brush (local version)
+ * TODO: fix the hardcoded size jumps (set to make a visible difference) and hardcoded keys
+ */
+ //printf("\t\tGP - resize eraser\n");
+ switch (event->type) {
+ case WHEELUPMOUSE: /* larger */
+ case PADPLUSKEY:
+ p->radius += 5;
+ break;
+
+ case WHEELDOWNMOUSE: /* smaller */
+ case PADMINUS:
+ p->radius -= 5;
+
+ if (p->radius < 0)
+ p->radius = 0;
+ break;
+ }
+
+ /* force refresh */
+ ED_region_tag_redraw(p->ar); /* just active area for now, since doing whole screen is too slow */
+
+ /* event handled, so just tag as running modal */
+ estate = OPERATOR_RUNNING_MODAL;
+ }
/* there shouldn't be any other events, but just in case there are, let's swallow them
- * (i.e. to prevent problems with with undo)
+ * (i.e. to prevent problems with undo)
*/
else {
/* swallow event to save ourselves trouble */
@@ -1906,7 +1864,7 @@ static int gpencil_draw_modal(bContext *C, wmOperator *op, wmEvent *event)
case OPERATOR_CANCELLED:
gpencil_draw_exit(C, op);
break;
-
+
case OPERATOR_RUNNING_MODAL | OPERATOR_PASS_THROUGH:
/* event doesn't need to be handled */
//printf("unhandled event -> %d (mmb? = %d | mmv? = %d)\n", event->type, event->type == MIDDLEMOUSE, event->type==MOUSEMOVE);
diff --git a/source/blender/editors/include/ED_anim_api.h b/source/blender/editors/include/ED_anim_api.h
index f4d922dba3c..24aa88a36bd 100644
--- a/source/blender/editors/include/ED_anim_api.h
+++ b/source/blender/editors/include/ED_anim_api.h
@@ -89,15 +89,16 @@ typedef struct bAnimContext {
/* Main Data container types */
typedef enum eAnimCont_Types {
- ANIMCONT_NONE = 0, /* invalid or no data */
- ANIMCONT_ACTION, /* action (bAction) */
- ANIMCONT_SHAPEKEY, /* shapekey (Key) */
- ANIMCONT_GPENCIL, /* grease pencil (screen) */
- ANIMCONT_DOPESHEET, /* dopesheet (bDopesheet) */
- ANIMCONT_FCURVES, /* animation F-Curves (bDopesheet) */
- ANIMCONT_DRIVERS, /* drivers (bDopesheet) */
- ANIMCONT_NLA, /* nla (bDopesheet) */
- ANIMCONT_CHANNEL /* animation channel (bAnimListElem) */
+ ANIMCONT_NONE = 0, /* invalid or no data */
+ ANIMCONT_ACTION = 1, /* action (bAction) */
+ ANIMCONT_SHAPEKEY = 2, /* shapekey (Key) */
+ ANIMCONT_GPENCIL = 3, /* grease pencil (screen) */
+ ANIMCONT_DOPESHEET = 4, /* dopesheet (bDopesheet) */
+ ANIMCONT_FCURVES = 5, /* animation F-Curves (bDopesheet) */
+ ANIMCONT_DRIVERS = 6, /* drivers (bDopesheet) */
+ ANIMCONT_NLA = 7, /* nla (bDopesheet) */
+ ANIMCONT_CHANNEL = 8, /* animation channel (bAnimListElem) */
+ ANIMCONT_MASK = 9 /* mask dopesheet */
} eAnimCont_Types;
/* --------------- Channels -------------------- */
@@ -160,6 +161,9 @@ typedef enum eAnim_ChannelType {
ANIMTYPE_GPDATABLOCK,
ANIMTYPE_GPLAYER,
+
+ ANIMTYPE_MASKDATABLOCK,
+ ANIMTYPE_MASKLAYER,
ANIMTYPE_NLATRACK,
ANIMTYPE_NLAACTION,
@@ -173,6 +177,7 @@ typedef enum eAnim_KeyType {
ALE_NONE = 0, /* no keyframe data */
ALE_FCURVE, /* F-Curve */
ALE_GPFRAME, /* Grease Pencil Frames */
+ ALE_MASKLAY, /* Mask */
ALE_NLASTRIP, /* NLA Strips */
ALE_ALL, /* All channels summary */
@@ -279,6 +284,15 @@ typedef enum eAnimFilter_Flags {
#define EDITABLE_GPL(gpl) ((gpl->flag & GP_LAYER_LOCKED) == 0)
#define SEL_GPL(gpl) (gpl->flag & GP_LAYER_SELECT)
+/* Mask Only */
+/* Grease Pencil datablock settings */
+#define EXPANDED_MASK(mask) (mask->flag & MASK_ANIMF_EXPAND)
+/* Grease Pencil Layer settings */
+#define EDITABLE_MASK(masklay) ((masklay->flag & MASK_LAYERFLAG_LOCKED) == 0)
+#define SEL_MASKLAY(masklay) (masklay->flag & SELECT)
+
+
+
/* NLA only */
#define SEL_NLT(nlt) (nlt->flag & NLATRACK_SELECTED)
#define EDITABLE_NLT(nlt) ((nlt->flag & NLATRACK_PROTECTED) == 0)
@@ -341,20 +355,20 @@ short ANIM_animdata_context_getdata(bAnimContext *ac);
/* flag-setting behavior */
typedef enum eAnimChannels_SetFlag {
- ACHANNEL_SETFLAG_CLEAR = 0, /* turn off */
- ACHANNEL_SETFLAG_ADD, /* turn on */
- ACHANNEL_SETFLAG_INVERT, /* on->off, off->on */
- ACHANNEL_SETFLAG_TOGGLE /* some on -> all off // all on */
+ ACHANNEL_SETFLAG_CLEAR = 0, /* turn off */
+ ACHANNEL_SETFLAG_ADD = 1, /* turn on */
+ ACHANNEL_SETFLAG_INVERT = 2, /* on->off, off->on */
+ ACHANNEL_SETFLAG_TOGGLE = 3 /* some on -> all off // all on */
} eAnimChannels_SetFlag;
/* types of settings for AnimChannels */
typedef enum eAnimChannel_Settings {
- ACHANNEL_SETTING_SELECT = 0,
- ACHANNEL_SETTING_PROTECT, // warning: for drawing UI's, need to check if this is off (maybe inverse this later)
- ACHANNEL_SETTING_MUTE,
- ACHANNEL_SETTING_EXPAND,
- ACHANNEL_SETTING_VISIBLE, /* only for Graph Editor */
- ACHANNEL_SETTING_SOLO /* only for NLA Tracks */
+ ACHANNEL_SETTING_SELECT = 0,
+ ACHANNEL_SETTING_PROTECT = 1, /* warning: for drawing UI's, need to check if this is off (maybe inverse this later) */
+ ACHANNEL_SETTING_MUTE = 2,
+ ACHANNEL_SETTING_EXPAND = 3,
+ ACHANNEL_SETTING_VISIBLE = 4, /* only for Graph Editor */
+ ACHANNEL_SETTING_SOLO = 5 /* only for NLA Tracks */
} eAnimChannel_Settings;
@@ -509,7 +523,7 @@ short ANIM_fmodifiers_paste_from_buf(ListBase *modifiers, short replace);
int getname_anim_fcurve(char *name, struct ID *id, struct FCurve *fcu);
/* Automatically determine a color for the nth F-Curve */
-void getcolor_fcurve_rainbow(int cur, int tot, float *out);
+void getcolor_fcurve_rainbow(int cur, int tot, float out[3]);
/* ----------------- NLA-Mapping ----------------------- */
/* anim_draw.c */
diff --git a/source/blender/editors/include/ED_clip.h b/source/blender/editors/include/ED_clip.h
index 7943a17c377..649266beec7 100644
--- a/source/blender/editors/include/ED_clip.h
+++ b/source/blender/editors/include/ED_clip.h
@@ -36,6 +36,7 @@ struct bContext;
struct bScreen;
struct ImBuf;
struct Main;
+struct Mask;
struct MovieClip;
struct SpaceClip;
struct wmEvent;
@@ -46,14 +47,21 @@ int ED_space_clip_poll(struct bContext *C);
int ED_space_clip_view_clip_poll(struct bContext *C);
int ED_space_clip_tracking_poll(struct bContext *C);
-int ED_space_clip_tracking_size_poll(struct bContext *C);
-int ED_space_clip_tracking_frame_poll(struct bContext *C);
+int ED_space_clip_maskedit_poll(struct bContext *C);
+int ED_space_clip_maskedit_mask_poll(bContext *C);
void ED_space_clip_set(struct bContext *C, struct bScreen *screen, struct SpaceClip *sc, struct MovieClip *clip);
struct MovieClip *ED_space_clip(struct SpaceClip *sc);
+struct Mask *ED_space_clip_mask(struct SpaceClip *sc);
void ED_space_clip_size(struct SpaceClip *sc, int *width, int *height);
void ED_space_clip_zoom(struct SpaceClip *sc, ARegion *ar, float *zoomx, float *zoomy);
void ED_space_clip_aspect(struct SpaceClip *sc, float *aspx, float *aspy);
+void ED_space_clip_aspect_dimension_aware(struct SpaceClip *sc, float *aspx, float *aspy);
+
+int ED_space_clip_clip_framenr(struct SpaceClip *sc);
+
+void ED_space_clip_mask_size(struct SpaceClip *sc, int *width, int *height);
+void ED_space_clip_mask_aspect(struct SpaceClip *sc, float *aspx, float *aspy);
struct ImBuf *ED_space_clip_get_buffer(struct SpaceClip *sc);
struct ImBuf *ED_space_clip_get_stable_buffer(struct SpaceClip *sc, float loc[2], float *scale, float *angle);
@@ -61,9 +69,9 @@ struct ImBuf *ED_space_clip_get_stable_buffer(struct SpaceClip *sc, float loc[2]
void ED_clip_update_frame(const struct Main *mainp, int cfra);
int ED_clip_view_selection(struct SpaceClip *sc, struct ARegion *ar, int fit);
-void ED_clip_point_undistorted_pos(SpaceClip * sc, float co[2], float nco[2]);
+void ED_clip_point_undistorted_pos(SpaceClip * sc, const float co[2], float r_co[2]);
void ED_clip_point_stable_pos(struct bContext *C, float x, float y, float *xr, float *yr);
-void ED_clip_point_stable_pos__reverse(SpaceClip * sc, ARegion *ar, float co[2], float nco[2]);
+void ED_clip_point_stable_pos__reverse(SpaceClip * sc, ARegion *ar, const float co[2], float r_co[2]);
void ED_clip_mouse_pos(struct bContext *C, struct wmEvent *event, float co[2]);
int ED_space_clip_texture_buffer_supported(struct SpaceClip *sc);
@@ -72,6 +80,8 @@ void ED_space_clip_unload_movieclip_buffer(struct SpaceClip *sc);
void ED_space_clip_free_texture_buffer(struct SpaceClip *sc);
int ED_space_clip_show_trackedit(struct SpaceClip *sc);
+int ED_space_clip_show_maskedit(struct SpaceClip *sc);
+void ED_space_clip_set_mask(struct bContext *C, struct SpaceClip *sc, struct Mask *mask);
/* clip_ops.c */
void ED_operatormacros_clip(void);
diff --git a/source/blender/editors/include/ED_gpencil.h b/source/blender/editors/include/ED_gpencil.h
index bd3e4371a79..1d461f797d6 100644
--- a/source/blender/editors/include/ED_gpencil.h
+++ b/source/blender/editors/include/ED_gpencil.h
@@ -64,8 +64,8 @@ typedef struct tGPspoint {
/* ----------- Grease Pencil Tools/Context ------------- */
-struct bGPdata **gpencil_data_get_pointers(struct bContext *C, struct PointerRNA *ptr);
-struct bGPdata *gpencil_data_get_active(struct bContext *C);
+struct bGPdata **gpencil_data_get_pointers(const struct bContext *C, struct PointerRNA *ptr);
+struct bGPdata *gpencil_data_get_active(const struct bContext *C);
struct bGPdata *gpencil_data_get_active_v3d(struct Scene *scene); /* for offscreen rendering */
/* ----------- Grease Pencil Operators ----------------- */
@@ -76,31 +76,34 @@ void ED_operatortypes_gpencil(void);
/* ------------ Grease-Pencil Drawing API ------------------ */
/* drawgpencil.c */
-void draw_gpencil_2dimage(struct bContext *C, struct ImBuf *ibuf);
-void draw_gpencil_view2d(struct bContext *C, short onlyv2d);
+void draw_gpencil_2dimage(const struct bContext *C);
+void draw_gpencil_view2d(const struct bContext *C, short onlyv2d);
void draw_gpencil_view3d(struct Scene *scene, struct View3D *v3d, struct ARegion *ar, short only3d);
void gpencil_panel_standard(const struct bContext *C, struct Panel *pa);
/* ----------- Grease-Pencil AnimEdit API ------------------ */
-short gplayer_frames_looper(struct bGPDlayer *gpl, struct Scene *scene, short (*gpf_cb)(struct bGPDframe *, struct Scene *));
-void gplayer_make_cfra_list(struct bGPDlayer *gpl, ListBase *elems, short onlysel);
+short ED_gplayer_frames_looper(struct bGPDlayer *gpl, struct Scene *scene,
+ short (*gpf_cb)(struct bGPDframe *, struct Scene *));
+void ED_gplayer_make_cfra_list(struct bGPDlayer *gpl, ListBase *elems, short onlysel);
-short is_gplayer_frame_selected(struct bGPDlayer *gpl);
-void set_gplayer_frame_selection(struct bGPDlayer *gpl, short mode);
-void select_gpencil_frames(struct bGPDlayer *gpl, short select_mode);
-void select_gpencil_frame(struct bGPDlayer *gpl, int selx, short select_mode);
-void borderselect_gplayer_frames(struct bGPDlayer *gpl, float min, float max, short select_mode);
+short ED_gplayer_frame_select_check(struct bGPDlayer *gpl);
+void ED_gplayer_frame_select_set(struct bGPDlayer *gpl, short mode);
+void ED_gplayer_frames_select_border(struct bGPDlayer *gpl, float min, float max, short select_mode);
+void ED_gpencil_select_frames(struct bGPDlayer *gpl, short select_mode);
+void ED_gpencil_select_frame(struct bGPDlayer *gpl, int selx, short select_mode);
-void delete_gplayer_frames(struct bGPDlayer *gpl);
-void duplicate_gplayer_frames(struct bGPDlayer *gpd);
+void ED_gplayer_frames_delete(struct bGPDlayer *gpl);
+void ED_gplayer_frames_duplicate(struct bGPDlayer *gpl);
+#if 0
void free_gpcopybuf(void);
void copy_gpdata(void);
void paste_gpdata(void);
void snap_gplayer_frames(struct bGPDlayer *gpl, short mode);
void mirror_gplayer_frames(struct bGPDlayer *gpl, short mode);
+#endif
/* ------------ Grease-Pencil Undo System ------------------ */
int ED_gpencil_session_active(void);
diff --git a/source/blender/editors/include/ED_keyframes_draw.h b/source/blender/editors/include/ED_keyframes_draw.h
index cd64427de78..8a65699f404 100644
--- a/source/blender/editors/include/ED_keyframes_draw.h
+++ b/source/blender/editors/include/ED_keyframes_draw.h
@@ -42,6 +42,7 @@ struct bActionGroup;
struct Object;
struct ListBase;
struct bGPDlayer;
+struct MaskLayer;
struct Scene;
struct View2D;
struct DLRBT_Tree;
@@ -122,6 +123,8 @@ void draw_summary_channel(struct View2D *v2d, struct bAnimContext *ac, float ypo
/* Grease Pencil Layer */
// XXX not restored
void draw_gpl_channel(struct View2D *v2d, struct bDopeSheet *ads, struct bGPDlayer *gpl, float ypos);
+/* Mask Layer */
+void draw_masklay_channel(struct View2D *v2d, struct bDopeSheet *ads, struct MaskLayer *masklay, float ypos);
/* Keydata Generation --------------- */
/* F-Curve */
@@ -139,6 +142,9 @@ void summary_to_keylist(struct bAnimContext *ac, struct DLRBT_Tree *keys, struct
/* Grease Pencil Layer */
// XXX not restored
void gpl_to_keylist(struct bDopeSheet *ads, struct bGPDlayer *gpl, struct DLRBT_Tree *keys);
+/* Mask */
+// XXX not restored
+void mask_to_keylist(struct bDopeSheet *UNUSED(ads), struct MaskLayer *masklay, struct DLRBT_Tree *keys);
/* ActKeyColumn API ---------------- */
/* Comparator callback used for ActKeyColumns and cframe float-value pointer */
diff --git a/source/blender/editors/include/ED_keyframes_edit.h b/source/blender/editors/include/ED_keyframes_edit.h
index bdb70696742..3020fe6985a 100644
--- a/source/blender/editors/include/ED_keyframes_edit.h
+++ b/source/blender/editors/include/ED_keyframes_edit.h
@@ -43,9 +43,9 @@ struct Scene;
/* --------- BezTriple Selection ------------- */
-#define BEZ_SEL(bezt) { (bezt)->f1 |= SELECT; (bezt)->f2 |= SELECT; (bezt)->f3 |= SELECT; }
-#define BEZ_DESEL(bezt) { (bezt)->f1 &= ~SELECT; (bezt)->f2 &= ~SELECT; (bezt)->f3 &= ~SELECT; }
-#define BEZ_INVSEL(bezt) { (bezt)->f1 ^= SELECT; (bezt)->f2 ^= SELECT; (bezt)->f3 ^= SELECT; }
+#define BEZ_SEL(bezt) { (bezt)->f1 |= SELECT; (bezt)->f2 |= SELECT; (bezt)->f3 |= SELECT; } (void)0
+#define BEZ_DESEL(bezt) { (bezt)->f1 &= ~SELECT; (bezt)->f2 &= ~SELECT; (bezt)->f3 &= ~SELECT; } (void)0
+#define BEZ_INVSEL(bezt) { (bezt)->f1 ^= SELECT; (bezt)->f2 ^= SELECT; (bezt)->f3 ^= SELECT; } (void)0
/* --------- Tool Flags ------------ */
diff --git a/source/blender/editors/include/ED_keyframing.h b/source/blender/editors/include/ED_keyframing.h
index be5ad5b0c70..95fad17274e 100644
--- a/source/blender/editors/include/ED_keyframing.h
+++ b/source/blender/editors/include/ED_keyframing.h
@@ -75,7 +75,8 @@ struct bAction *verify_adt_action(struct ID *id, short add);
/* Get (or add relevant data to be able to do so) F-Curve from the given Action.
* This assumes that all the destinations are valid.
*/
-struct FCurve *verify_fcurve(struct bAction *act, const char group[], const char rna_path[], const int array_index, short add);
+struct FCurve *verify_fcurve(struct bAction *act, const char group[], struct PointerRNA *ptr,
+ const char rna_path[], const int array_index, short add);
/* -------- */
diff --git a/source/blender/editors/include/ED_mask.h b/source/blender/editors/include/ED_mask.h
new file mode 100644
index 00000000000..773da04bc7b
--- /dev/null
+++ b/source/blender/editors/include/ED_mask.h
@@ -0,0 +1,74 @@
+/*
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * The Original Code is Copyright (C) 2012 Blender Foundation.
+ * All rights reserved.
+ *
+ * Contributor(s): Blender Foundation,
+ * Sergey Sharybin
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file ED_mask.h
+ * \ingroup editors
+ */
+
+#ifndef __ED_MASK_H__
+#define __ED_MASK_H__
+
+struct wmKeyConfig;
+struct MaskLayer;
+struct MaskLayerShape;
+
+/* mask_editor.c */
+void ED_operatortypes_mask(void);
+void ED_keymap_mask(struct wmKeyConfig *keyconf);
+void ED_operatormacros_mask(void);
+
+/* mask_draw.c */
+void ED_mask_draw(const bContext *C, const char draw_flag, const char draw_type);
+
+/* mask_shapekey.c */
+void ED_mask_layer_shape_auto_key(struct MaskLayer *masklay, const int frame);
+int ED_mask_layer_shape_auto_key_all(struct Mask *mask, const int frame);
+int ED_mask_layer_shape_auto_key_select(struct Mask *mask, const int frame);
+
+/* ----------- Mask AnimEdit API ------------------ */
+short ED_masklayer_frames_looper(struct MaskLayer *masklay, struct Scene *scene,
+ short (*masklay_shape_cb)(struct MaskLayerShape *, struct Scene *));
+void ED_masklayer_make_cfra_list(struct MaskLayer *masklay, ListBase *elems, short onlysel);
+
+short ED_masklayer_frame_select_check(struct MaskLayer *masklay);
+void ED_masklayer_frame_select_set(struct MaskLayer *masklay, short mode);
+void ED_masklayer_frames_select_border(struct MaskLayer *masklay, float min, float max, short select_mode);
+void ED_mask_select_frames(struct MaskLayer *masklay, short select_mode);
+void ED_mask_select_frame(struct MaskLayer *masklay, int selx, short select_mode);
+
+void ED_masklayer_frames_delete(struct MaskLayer *masklay);
+void ED_masklayer_frames_duplicate(struct MaskLayer *masklay);
+
+#if 0
+void free_gpcopybuf(void);
+void copy_gpdata(void);
+void paste_gpdata(void);
+
+ void snap_masklayer_frames(struct MaskLayer *masklay, short mode);
+ void mirror_masklayer_frames(struct MaskLayer *masklay, short mode);
+#endif
+
+#endif /* __ED_MASK_H__ */
diff --git a/source/blender/editors/include/ED_object.h b/source/blender/editors/include/ED_object.h
index 37ed8a6c7c8..9c10a270ef8 100644
--- a/source/blender/editors/include/ED_object.h
+++ b/source/blender/editors/include/ED_object.h
@@ -85,17 +85,14 @@ extern struct EnumPropertyItem prop_clear_parent_types[];
extern struct EnumPropertyItem prop_make_parent_types[];
int ED_object_parent_set(struct ReportList *reports, struct Main *bmain, struct Scene *scene, struct Object *ob, struct Object *par, int partype);
-void ED_object_parent_clear(struct bContext *C, int type);
+void ED_object_parent_clear(struct Object *ob, int type);
+struct Base *ED_object_scene_link(struct Scene *scene, struct Object *ob);
-
-/* generic editmode keys like pet
- * do_pet
- * 0: No
- * 1: Object
- * 2: Edit
- * 3: Edit with connected
- * */
-void ED_object_generic_keymap(struct wmKeyConfig *keyconf, struct wmKeyMap *keymap, int do_pet);
+void ED_keymap_proportional_cycle(struct wmKeyConfig *keyconf, struct wmKeyMap *keymap);
+void ED_keymap_proportional_obmode(struct wmKeyConfig *keyconf, struct wmKeyMap *keymap);
+void ED_keymap_proportional_maskmode(struct wmKeyConfig *keyconf, struct wmKeyMap *keymap);
+void ED_keymap_proportional_editmode(struct wmKeyConfig *keyconf, struct wmKeyMap *keymap,
+ const short do_connected);
/* send your own notifier for select! */
void ED_base_object_select(struct Base *base, short mode);
@@ -120,18 +117,19 @@ void ED_object_toggle_modes(struct bContext *C, int mode);
void ED_object_exit_editmode(struct bContext *C, int flag);
void ED_object_enter_editmode(struct bContext *C, int flag);
-void ED_object_location_from_view(struct bContext *C, float *loc);
-void ED_object_rotation_from_view(struct bContext *C, float *rot);
-void ED_object_base_init_transform(struct bContext *C, struct Base *base, float *loc, float *rot);
-float ED_object_new_primitive_matrix(struct bContext *C, struct Object *editob, float *loc, float *rot, float primmat[][4]);
+void ED_object_location_from_view(struct bContext *C, float loc[3]);
+void ED_object_rotation_from_view(struct bContext *C, float rot[3]);
+void ED_object_base_init_transform(struct bContext *C, struct Base *base, const float loc[3], const float rot[3]);
+float ED_object_new_primitive_matrix(struct bContext *C, struct Object *editob,
+ const float loc[3], const float rot[3], float primmat[][4]);
void ED_object_add_generic_props(struct wmOperatorType *ot, int do_editmode);
int ED_object_add_generic_invoke(struct bContext *C, struct wmOperator *op, struct wmEvent *event);
-int ED_object_add_generic_get_opts(struct bContext *C, struct wmOperator *op,
- float *loc, float *rot, int *enter_editmode, unsigned int *layer, int *is_view_aligned);
+int ED_object_add_generic_get_opts(struct bContext *C, struct wmOperator *op, float loc[3], float rot[3],
+ int *enter_editmode, unsigned int *layer, int *is_view_aligned);
-struct Object *ED_object_add_type(struct bContext *C, int type, float *loc,
- float *rot, int enter_editmode, unsigned int layer);
+struct Object *ED_object_add_type(struct bContext *C, int type, const float loc[3], const float rot[3],
+ int enter_editmode, unsigned int layer);
void ED_object_single_users(struct Main *bmain, struct Scene *scene, int full);
void ED_object_single_user(struct Scene *scene, struct Object *ob);
@@ -165,13 +163,17 @@ enum {
MODIFIER_APPLY_SHAPE
};
-struct ModifierData *ED_object_modifier_add(struct ReportList *reports, struct Main *bmain, struct Scene *scene, struct Object *ob, const char *name, int type);
-int ED_object_modifier_remove(struct ReportList *reports, struct Main *bmain, struct Scene *scene, struct Object *ob, struct ModifierData *md);
+struct ModifierData *ED_object_modifier_add(struct ReportList *reports, struct Main *bmain, struct Scene *scene,
+ struct Object *ob, const char *name, int type);
+int ED_object_modifier_remove(struct ReportList *reports, struct Main *bmain, struct Scene *scene,
+ struct Object *ob, struct ModifierData *md);
void ED_object_modifier_clear(struct Main *bmain, struct Scene *scene, struct Object *ob);
int ED_object_modifier_move_down(struct ReportList *reports, struct Object *ob, struct ModifierData *md);
int ED_object_modifier_move_up(struct ReportList *reports, struct Object *ob, struct ModifierData *md);
-int ED_object_modifier_convert(struct ReportList *reports, struct Main *bmain, struct Scene *scene, struct Object *ob, struct ModifierData *md);
-int ED_object_modifier_apply(struct ReportList *reports, struct Scene *scene, struct Object *ob, struct ModifierData *md, int mode);
+int ED_object_modifier_convert(struct ReportList *reports, struct Main *bmain, struct Scene *scene,
+ struct Object *ob, struct ModifierData *md);
+int ED_object_modifier_apply(struct ReportList *reports, struct Scene *scene,
+ struct Object *ob, struct ModifierData *md, int mode);
int ED_object_modifier_copy(struct ReportList *reports, struct Object *ob, struct ModifierData *md);
#ifdef __cplusplus
diff --git a/source/blender/editors/include/ED_screen.h b/source/blender/editors/include/ED_screen.h
index 464f2db30a2..4faf82eec36 100644
--- a/source/blender/editors/include/ED_screen.h
+++ b/source/blender/editors/include/ED_screen.h
@@ -170,6 +170,7 @@ int ED_operator_editmball(struct bContext *C);
int ED_operator_uvedit(struct bContext *C);
int ED_operator_uvmap(struct bContext *C);
int ED_operator_posemode(struct bContext *C);
+int ED_operator_mask(struct bContext *C);
/* default keymaps, bitflags */
diff --git a/source/blender/editors/include/ED_sequencer.h b/source/blender/editors/include/ED_sequencer.h
index f20ebe81189..cea567254de 100644
--- a/source/blender/editors/include/ED_sequencer.h
+++ b/source/blender/editors/include/ED_sequencer.h
@@ -27,6 +27,10 @@
#ifndef __ED_SEQUENCER_H__
#define __ED_SEQUENCER_H__
-#define SEQ_ZOOM_FAC(szoom) ((szoom) > 0.0f) ? (szoom) : ((szoom) == 0.0f) ? (1.0f) : (-1.0f / (szoom))
+struct Scene;
+struct Sequence;
+
+void ED_sequencer_select_sequence_single(struct Scene *scene, struct Sequence *seq, int deselect_all);
+void ED_sequencer_deselect_all(struct Scene *scene);
#endif /* __ED_SEQUENCER_H__ */
diff --git a/source/blender/editors/include/ED_transform.h b/source/blender/editors/include/ED_transform.h
index 3bef1f56655..608df8dd9b3 100644
--- a/source/blender/editors/include/ED_transform.h
+++ b/source/blender/editors/include/ED_transform.h
@@ -71,6 +71,7 @@ enum {
TFM_BONESIZE,
TFM_BONE_ENVELOPE,
TFM_CURVE_SHRINKFATTEN,
+ TFM_MASK_SHRINKFATTEN,
TFM_BONE_ROLL,
TFM_TIME_TRANSLATE,
TFM_TIME_SLIDE,
@@ -96,12 +97,13 @@ enum {
#define CTX_BMESH 64
#define CTX_NDOF 128
#define CTX_MOVIECLIP 256
+#define CTX_MASK 512
/* Standalone call to get the transformation center corresponding to the current situation
* returns 1 if successful, 0 otherwise (usually means there's no selection)
* (if 0 is returns, *vec is unmodified)
* */
-int calculateTransformCenter(struct bContext *C, int centerMode, float *cent3d, int *cent2d);
+int calculateTransformCenter(struct bContext *C, int centerMode, float cent3d[3], int cent2d[2]);
struct TransInfo;
struct ScrArea;
@@ -166,8 +168,7 @@ typedef struct DepthPeel {
struct ListBase;
-typedef enum SnapMode
-{
+typedef enum SnapMode {
SNAP_ALL = 0,
SNAP_NOT_SELECTED = 1,
SNAP_NOT_OBEDIT = 2
diff --git a/source/blender/editors/include/ED_view3d.h b/source/blender/editors/include/ED_view3d.h
index f9f59c9bdd9..34892fb3c27 100644
--- a/source/blender/editors/include/ED_view3d.h
+++ b/source/blender/editors/include/ED_view3d.h
@@ -282,7 +282,7 @@ int ED_view3d_scene_layer_set(int lay, const int *values, int *active);
int ED_view3d_context_activate(struct bContext *C);
void ED_view3d_draw_offscreen(struct Scene *scene, struct View3D *v3d, struct ARegion *ar,
- int winx, int winy, float viewmat[][4], float winmat[][4], int draw_background);
+ int winx, int winy, float viewmat[][4], float winmat[][4], int do_bgpic);
struct ImBuf *ED_view3d_draw_offscreen_imbuf(struct Scene *scene, struct View3D *v3d, struct ARegion *ar, int sizex, int sizey, unsigned int flag, int draw_background, char err_out[256]);
struct ImBuf *ED_view3d_draw_offscreen_imbuf_simple(struct Scene *scene, struct Object *camera, int width, int height, unsigned int flag, int drawtype, int draw_background, char err_out[256]);
@@ -310,6 +310,8 @@ struct BGpic *ED_view3D_background_image_new(struct View3D *v3d);
void ED_view3D_background_image_remove(struct View3D *v3d, struct BGpic *bgpic);
void ED_view3D_background_image_clear(struct View3D *v3d);
+float ED_view3d_grid_scale(struct Scene *scene, struct View3D *v3d, const char **grid_unit);
+
/* view matrix properties utilities */
/* unused */
#if 0
diff --git a/source/blender/editors/include/UI_interface.h b/source/blender/editors/include/UI_interface.h
index b82a0c5e480..bb6f9fad771 100644
--- a/source/blender/editors/include/UI_interface.h
+++ b/source/blender/editors/include/UI_interface.h
@@ -195,7 +195,8 @@ typedef struct uiLayout uiLayout;
/*#define FUN 192*/ /*UNUSED*/
#define BIT 256
-#define BUTPOIN (128 + 64 + 32)
+/* button reqyires a pointer */
+#define BUTPOIN (FLO | SHO | CHA)
#define BUT (1 << 9)
#define ROW (2 << 9)
diff --git a/source/blender/editors/include/UI_resources.h b/source/blender/editors/include/UI_resources.h
index 2d409879ba3..51df30d6c28 100644
--- a/source/blender/editors/include/UI_resources.h
+++ b/source/blender/editors/include/UI_resources.h
@@ -141,6 +141,7 @@ enum {
TH_NODE_OPERATOR,
TH_NODE_CONVERTOR,
TH_NODE_GROUP,
+ TH_NODE_FRAME,
TH_CONSOLE_OUTPUT,
TH_CONSOLE_INPUT,
@@ -150,11 +151,11 @@ enum {
TH_SEQ_MOVIE,
TH_SEQ_MOVIECLIP,
+ TH_SEQ_MASK,
TH_SEQ_IMAGE,
TH_SEQ_SCENE,
TH_SEQ_AUDIO,
TH_SEQ_EFFECT,
- TH_SEQ_PLUGIN,
TH_SEQ_TRANSITION,
TH_SEQ_META,
TH_SEQ_PREVIEW,
@@ -200,7 +201,20 @@ enum {
TH_MATCH, /* highlight color for search matches */
TH_SELECT_HIGHLIGHT, /* highlight color for selected outliner item */
- TH_SKIN_ROOT
+ TH_SKIN_ROOT,
+
+ TH_ANIM_ACTIVE, /* active action */
+ TH_ANIM_INACTIVE, /* no active action */
+
+ TH_NLA_TWEAK, /* 'tweaking' track in NLA */
+ TH_NLA_TWEAK_DUPLI, /* error/warning flag for other strips referencing dupli strip */
+
+ TH_NLA_TRANSITION,
+ TH_NLA_TRANSITION_SEL,
+ TH_NLA_META,
+ TH_NLA_META_SEL,
+ TH_NLA_SOUND,
+ TH_NLA_SOUND_SEL
};
/* XXX WARNING: previous is saved in file, so do not change order! */
@@ -239,6 +253,9 @@ void UI_GetThemeColor3fv(int colorid, float col[3]);
void UI_GetThemeColorShade3fv(int colorid, int offset, float col[3]);
void UI_GetThemeColorShade3ubv(int colorid, int offset, unsigned char col[3]);
+// get four color values, scaled to 0.0-1.0 range
+void UI_GetThemeColor4fv(int colorid, float col[4]);
+
// get the 3 or 4 byte values
void UI_GetThemeColor3ubv(int colorid, unsigned char col[3]);
void UI_GetThemeColor4ubv(int colorid, unsigned char col[4]);
diff --git a/source/blender/editors/interface/interface.c b/source/blender/editors/interface/interface.c
index c0cd17d16d2..d26c8cefdf0 100644
--- a/source/blender/editors/interface/interface.c
+++ b/source/blender/editors/interface/interface.c
@@ -81,7 +81,7 @@
/* avoid unneeded calls to ui_get_but_val */
#define UI_BUT_VALUE_UNSET DBL_MAX
-#define UI_GET_BUT_VALUE_INIT(_but, _value) if (_value == DBL_MAX) { (_value) = ui_get_but_val(_but); }
+#define UI_GET_BUT_VALUE_INIT(_but, _value) if (_value == DBL_MAX) { (_value) = ui_get_but_val(_but); } (void)0
/*
* a full doc with API notes can be found in bf-blender/trunk/blender/doc/guides/interface_API.txt
@@ -660,8 +660,8 @@ static int ui_but_update_from_old_block(const bContext *C, uiBlock *block, uiBut
/* typically the same pointers, but not on undo/redo */
/* XXX some menu buttons store button itself in but->poin. Ugly */
if (oldbut->poin != (char *)oldbut) {
- SWAP(char *, oldbut->poin, but->poin)
- SWAP(void *, oldbut->func_argN, but->func_argN)
+ SWAP(char *, oldbut->poin, but->poin);
+ SWAP(void *, oldbut->func_argN, but->func_argN);
}
/* copy hardmin for list rows to prevent 'sticking' highlight to mouse position
@@ -1090,7 +1090,7 @@ static void ui_is_but_sel(uiBut *but, double *value)
if (but->bit) {
int lvalue;
- UI_GET_BUT_VALUE_INIT(but, *value)
+ UI_GET_BUT_VALUE_INIT(but, *value);
lvalue = (int)*value;
if (BTST(lvalue, (but->bitnr)) ) is_push = is_true;
else is_push = !is_true;
@@ -1111,18 +1111,18 @@ static void ui_is_but_sel(uiBut *but, double *value)
case BUT_TOGDUAL:
case ICONTOG:
case OPTION:
- UI_GET_BUT_VALUE_INIT(but, *value)
+ UI_GET_BUT_VALUE_INIT(but, *value);
if (*value != (double)but->hardmin) is_push = 1;
break;
case ICONTOGN:
case TOGN:
case OPTIONN:
- UI_GET_BUT_VALUE_INIT(but, *value)
+ UI_GET_BUT_VALUE_INIT(but, *value);
if (*value == 0.0) is_push = 1;
break;
case ROW:
case LISTROW:
- UI_GET_BUT_VALUE_INIT(but, *value)
+ UI_GET_BUT_VALUE_INIT(but, *value);
/* support for rna enum buts */
if (but->rnaprop && (RNA_property_flag(but->rnaprop) & PROP_ENUM_FLAG)) {
if ((int)*value & (int)but->hardmax) is_push = 1;
@@ -1437,15 +1437,15 @@ double ui_get_but_val(uiBut *but)
}
}
else if (but->type == HSVSLI) {
- float h, s, v, *fp;
+ float *fp, hsv[3];
fp = (but->editvec) ? but->editvec : (float *)but->poin;
- rgb_to_hsv(fp[0], fp[1], fp[2], &h, &s, &v);
+ rgb_to_hsv_v(fp, hsv);
switch (but->str[0]) {
- case 'H': value = h; break;
- case 'S': value = s; break;
- case 'V': value = v; break;
+ case 'H': value = hsv[0]; break;
+ case 'S': value = hsv[1]; break;
+ case 'V': value = hsv[2]; break;
}
}
else if (but->pointype == CHA) {
@@ -1513,18 +1513,18 @@ void ui_set_but_val(uiBut *but, double value)
}
else if (but->pointype == 0) ;
else if (but->type == HSVSLI) {
- float h, s, v, *fp;
+ float *fp, hsv[3];
fp = (but->editvec) ? but->editvec : (float *)but->poin;
- rgb_to_hsv(fp[0], fp[1], fp[2], &h, &s, &v);
+ rgb_to_hsv_v(fp, hsv);
switch (but->str[0]) {
- case 'H': h = value; break;
- case 'S': s = value; break;
- case 'V': v = value; break;
+ case 'H': hsv[0] = value; break;
+ case 'S': hsv[1] = value; break;
+ case 'V': hsv[2] = value; break;
}
- hsv_to_rgb(h, s, v, fp, fp + 1, fp + 2);
+ hsv_to_rgb_v(hsv, fp);
}
else {
@@ -2171,7 +2171,7 @@ void ui_check_but(uiBut *but)
/* only update soft range while not editing */
if (but->rnaprop && !(but->editval || but->editstr || but->editvec)) {
- UI_GET_BUT_VALUE_INIT(but, value)
+ UI_GET_BUT_VALUE_INIT(but, value);
ui_set_but_soft_range(but, value);
}
@@ -2182,7 +2182,7 @@ void ui_check_but(uiBut *but)
case SCROLL:
case NUMSLI:
case HSVSLI:
- UI_GET_BUT_VALUE_INIT(but, value)
+ UI_GET_BUT_VALUE_INIT(but, value);
if (value < (double)but->hardmin) ui_set_but_val(but, but->hardmin);
else if (value > (double)but->hardmax) ui_set_but_val(but, but->hardmax);
break;
@@ -2190,7 +2190,7 @@ void ui_check_but(uiBut *but)
case NUMABS:
{
double value_abs;
- UI_GET_BUT_VALUE_INIT(but, value)
+ UI_GET_BUT_VALUE_INIT(but, value);
value_abs = fabs(value);
if (value_abs < (double)but->hardmin) ui_set_but_val(but, but->hardmin);
else if (value_abs > (double)but->hardmax) ui_set_but_val(but, but->hardmax);
@@ -2206,14 +2206,14 @@ void ui_check_but(uiBut *but)
case ICONROW:
if (!but->rnaprop || (RNA_property_flag(but->rnaprop) & PROP_ICONS_CONSECUTIVE)) {
- UI_GET_BUT_VALUE_INIT(but, value)
+ UI_GET_BUT_VALUE_INIT(but, value);
but->iconadd = (int)value - (int)(but->hardmin);
}
break;
case ICONTEXTROW:
if (!but->rnaprop || (RNA_property_flag(but->rnaprop) & PROP_ICONS_CONSECUTIVE)) {
- UI_GET_BUT_VALUE_INIT(but, value)
+ UI_GET_BUT_VALUE_INIT(but, value);
but->iconadd = (int)value - (int)(but->hardmin);
}
break;
@@ -2230,7 +2230,7 @@ void ui_check_but(uiBut *but)
case ICONTEXTROW:
if (but->x2 - but->x1 > 24) {
- UI_GET_BUT_VALUE_INIT(but, value)
+ UI_GET_BUT_VALUE_INIT(but, value);
ui_set_name_menu(but, (int)value);
}
break;
@@ -2240,7 +2240,7 @@ void ui_check_but(uiBut *but)
case HSVSLI:
case NUMABS:
- UI_GET_BUT_VALUE_INIT(but, value)
+ UI_GET_BUT_VALUE_INIT(but, value);
if (ui_is_but_float(but)) {
if (value == (double) FLT_MAX) BLI_snprintf(but->drawstr, sizeof(but->drawstr), "%sinf", but->str);
@@ -2271,7 +2271,7 @@ void ui_check_but(uiBut *but)
case LABEL:
if (ui_is_but_float(but)) {
int prec;
- UI_GET_BUT_VALUE_INIT(but, value)
+ UI_GET_BUT_VALUE_INIT(but, value);
prec = ui_but_float_precision(but, value);
BLI_snprintf(but->drawstr, sizeof(but->drawstr), "%s%.*f", but->str, prec, value);
}
@@ -2299,7 +2299,7 @@ void ui_check_but(uiBut *but)
strcat(but->drawstr, "Press a key");
}
else {
- UI_GET_BUT_VALUE_INIT(but, value)
+ UI_GET_BUT_VALUE_INIT(but, value);
strcat(but->drawstr, WM_key_event_string((short)value));
}
break;
diff --git a/source/blender/editors/interface/interface_draw.c b/source/blender/editors/interface/interface_draw.c
index e535990e7e9..3c802020747 100644
--- a/source/blender/editors/interface/interface_draw.c
+++ b/source/blender/editors/interface/interface_draw.c
@@ -43,6 +43,7 @@
#include "BKE_colortools.h"
#include "BKE_texture.h"
+#include "BKE_tracking.h"
#include "IMB_imbuf.h"
@@ -658,37 +659,59 @@ static void draw_scope_end(rctf *rect, GLint *scissor)
}
static void histogram_draw_one(float r, float g, float b, float alpha,
- float x, float y, float w, float h, float *data, int res)
+ float x, float y, float w, float h, float *data, int res, const short is_line)
{
int i;
- /* under the curve */
- glBlendFunc(GL_SRC_ALPHA, GL_ONE);
- glColor4f(r, g, b, alpha);
-
- glShadeModel(GL_FLAT);
- glBegin(GL_QUAD_STRIP);
- glVertex2f(x, y);
- glVertex2f(x, y + (data[0] * h));
- for (i = 1; i < res; i++) {
- float x2 = x + i * (w / (float)res);
- glVertex2f(x2, y + (data[i] * h));
- glVertex2f(x2, y);
+ if (is_line) {
+
+ glLineWidth(1.5);
+ glBlendFunc(GL_SRC_ALPHA, GL_ONE);
+ glColor4f(r, g, b, alpha);
+
+ /* curve outline */
+
+ glBlendFunc(GL_SRC_ALPHA, GL_ONE);
+ glEnable(GL_LINE_SMOOTH);
+ glBegin(GL_LINE_STRIP);
+ for (i = 0; i < res; i++) {
+ float x2 = x + i * (w / (float)res);
+ glVertex2f(x2, y + (data[i] * h));
+ }
+ glEnd();
+ glDisable(GL_LINE_SMOOTH);
+
+ glLineWidth(1.0);
}
- glEnd();
-
- /* curve outline */
- glColor4f(0.f, 0.f, 0.f, 0.25f);
-
- glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
- glEnable(GL_LINE_SMOOTH);
- glBegin(GL_LINE_STRIP);
- for (i = 0; i < res; i++) {
- float x2 = x + i * (w / (float)res);
- glVertex2f(x2, y + (data[i] * h));
+ else {
+ /* under the curve */
+ glBlendFunc(GL_SRC_ALPHA, GL_ONE);
+ glColor4f(r, g, b, alpha);
+
+ glShadeModel(GL_FLAT);
+ glBegin(GL_QUAD_STRIP);
+ glVertex2f(x, y);
+ glVertex2f(x, y + (data[0] * h));
+ for (i = 1; i < res; i++) {
+ float x2 = x + i * (w / (float)res);
+ glVertex2f(x2, y + (data[i] * h));
+ glVertex2f(x2, y);
+ }
+ glEnd();
+
+ /* curve outline */
+ glColor4f(0.f, 0.f, 0.f, 0.25f);
+
+ glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
+ glEnable(GL_LINE_SMOOTH);
+ glBegin(GL_LINE_STRIP);
+ for (i = 0; i < res; i++) {
+ float x2 = x + i * (w / (float)res);
+ glVertex2f(x2, y + (data[i] * h));
+ }
+ glEnd();
+ glDisable(GL_LINE_SMOOTH);
}
- glEnd();
- glDisable(GL_LINE_SMOOTH);
}
void ui_draw_but_HISTOGRAM(ARegion *ar, uiBut *but, uiWidgetColors *UNUSED(wcol), rcti *recti)
@@ -698,6 +721,7 @@ void ui_draw_but_HISTOGRAM(ARegion *ar, uiBut *but, uiWidgetColors *UNUSED(wcol)
rctf rect;
int i;
float w, h;
+ const short is_line = (hist->flag & HISTO_FLAG_LINE) != 0;
//float alpha;
GLint scissor[4];
@@ -730,15 +754,19 @@ void ui_draw_but_HISTOGRAM(ARegion *ar, uiBut *but, uiWidgetColors *UNUSED(wcol)
fdrawline(rect.xmin + (i / 4.f) * w, rect.ymin, rect.xmin + (i / 4.f) * w, rect.ymax);
}
- if (hist->mode == HISTO_MODE_LUMA)
- histogram_draw_one(1.0, 1.0, 1.0, 0.75, rect.xmin, rect.ymin, w, h, hist->data_luma, res);
+ if (hist->mode == HISTO_MODE_LUMA) {
+ histogram_draw_one(1.0, 1.0, 1.0, 0.75, rect.xmin, rect.ymin, w, h, hist->data_luma, res, is_line);
+ }
+ else if (hist->mode == HISTO_MODE_ALPHA) {
+ histogram_draw_one(1.0, 1.0, 1.0, 0.75, rect.xmin, rect.ymin, w, h, hist->data_a, res, is_line);
+ }
else {
if (hist->mode == HISTO_MODE_RGB || hist->mode == HISTO_MODE_R)
- histogram_draw_one(1.0, 0.0, 0.0, 0.75, rect.xmin, rect.ymin, w, h, hist->data_r, res);
+ histogram_draw_one(1.0, 0.0, 0.0, 0.75, rect.xmin, rect.ymin, w, h, hist->data_r, res, is_line);
if (hist->mode == HISTO_MODE_RGB || hist->mode == HISTO_MODE_G)
- histogram_draw_one(0.0, 1.0, 0.0, 0.75, rect.xmin, rect.ymin, w, h, hist->data_g, res);
+ histogram_draw_one(0.0, 1.0, 0.0, 0.75, rect.xmin, rect.ymin, w, h, hist->data_g, res, is_line);
if (hist->mode == HISTO_MODE_RGB || hist->mode == HISTO_MODE_B)
- histogram_draw_one(0.0, 0.0, 1.0, 0.75, rect.xmin, rect.ymin, w, h, hist->data_b, res);
+ histogram_draw_one(0.0, 0.0, 1.0, 0.75, rect.xmin, rect.ymin, w, h, hist->data_b, res, is_line);
}
/* outline, scale gripper */
@@ -1480,36 +1508,10 @@ void ui_draw_but_CURVE(ARegion *ar, uiBut *but, uiWidgetColors *wcol, rcti *rect
fdrawbox(rect->xmin, rect->ymin, rect->xmax, rect->ymax);
}
-static ImBuf *scale_trackpreview_ibuf(ImBuf *ibuf, float track_pos[2], int width, float height, int margin)
-{
- ImBuf *scaleibuf;
- const float scalex = ((float)ibuf->x - 2 * margin) / width;
- const float scaley = ((float)ibuf->y - 2 * margin) / height;
- /* NOTE: 1.0f = 0.5f for integer coordinate coorrection (center of pixel vs. left bottom corner of bixel)
- * and 0.5f for centering image in preview (cross is draving at exact center of widget so image
- * should be shifted by half of pixel for correct centering) - sergey */
- float off_x = (int)track_pos[0] - track_pos[0] + 1.0f;
- float off_y = (int)track_pos[1] - track_pos[1] + 1.0f;
- int x, y;
-
- scaleibuf = IMB_allocImBuf(width, height, 32, IB_rect);
-
- for (y = 0; y < height; y++) {
- for (x = 0; x < width; x++) {
- float src_x = scalex * (x) + margin - off_x;
- float src_y = scaley * (y) + margin - off_y;
-
- bicubic_interpolation(ibuf, scaleibuf, src_x, src_y, x, y);
- }
- }
-
- return scaleibuf;
-}
-
void ui_draw_but_TRACKPREVIEW(ARegion *ar, uiBut *but, uiWidgetColors *UNUSED(wcol), rcti *recti)
{
rctf rect;
- int ok = 0;
+ int ok = 0, width, height;
GLint scissor[4];
MovieClipScopes *scopes = (MovieClipScopes *)but->poin;
@@ -1518,6 +1520,9 @@ void ui_draw_but_TRACKPREVIEW(ARegion *ar, uiBut *but, uiWidgetColors *UNUSED(wc
rect.ymin = (float)recti->ymin + SCOPE_RESIZE_PAD + 2;
rect.ymax = (float)recti->ymax - 1;
+ width = rect.xmax - rect.xmin + 1;
+ height = rect.ymax - rect.ymin;
+
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
@@ -1535,40 +1540,60 @@ void ui_draw_but_TRACKPREVIEW(ARegion *ar, uiBut *but, uiWidgetColors *UNUSED(wc
ok = 1;
}
- else if (scopes->track_preview) {
- /* additional margin around image */
- /* NOTE: should be kept in sync with value from BKE_movieclip_update_scopes */
- const int margin = 3;
- float zoomx, zoomy, track_pos[2], off_x, off_y;
- int a, width, height;
+ else if ((scopes->track_search) &&
+ ((!scopes->track_preview) ||
+ (scopes->track_preview->x != width || scopes->track_preview->y != height)))
+ {
+ ImBuf *tmpibuf;
+
+ if (scopes->track_preview)
+ IMB_freeImBuf(scopes->track_preview);
+
+ tmpibuf = BKE_tracking_sample_pattern(scopes->frame_width, scopes->frame_height,
+ scopes->track_search, scopes->track,
+ &scopes->undist_marker, scopes->use_track_mask,
+ width, height, scopes->track_pos);
+
+ if (tmpibuf->rect_float)
+ IMB_rect_from_float(tmpibuf);
+
+ // XXX: for debug only
+ // tmpibuf->ftype = PNG;
+ // IMB_saveiff(tmpibuf, "sample.png", IB_rect);
+
+ if (tmpibuf->rect)
+ scopes->track_preview = tmpibuf;
+ else
+ IMB_freeImBuf(tmpibuf);
+ }
+
+ if (!ok && scopes->track_preview) {
+ float track_pos[2];
+ int a;
ImBuf *drawibuf;
glPushMatrix();
- track_pos[0] = scopes->track_pos[0] - margin;
- track_pos[1] = scopes->track_pos[1] - margin;
+ track_pos[0] = scopes->track_pos[0];
+ track_pos[1] = scopes->track_pos[1];
/* draw content of pattern area */
glScissor(ar->winrct.xmin + rect.xmin, ar->winrct.ymin + rect.ymin, scissor[2], scissor[3]);
- width = rect.xmax - rect.xmin + 1;
- height = rect.ymax - rect.ymin;
-
if (width > 0 && height > 0) {
- zoomx = (float)width / (scopes->track_preview->x - 2 * margin);
- zoomy = (float)height / (scopes->track_preview->y - 2 * margin);
-
- off_x = ((int)track_pos[0] - track_pos[0] + 0.5f) * zoomx;
- off_y = ((int)track_pos[1] - track_pos[1] + 0.5f) * zoomy;
+ drawibuf = scopes->track_preview;
- drawibuf = scale_trackpreview_ibuf(scopes->track_preview, track_pos, width, height, margin);
+ if (scopes->use_track_mask) {
+ glColor4f(0.0f, 0.0f, 0.0f, 0.3f);
+ uiSetRoundBox(15);
+ uiDrawBox(GL_POLYGON, rect.xmin - 1, rect.ymin, rect.xmax + 1, rect.ymax + 1, 3.0f);
+ }
glaDrawPixelsSafe(rect.xmin, rect.ymin + 1, drawibuf->x, drawibuf->y,
drawibuf->x, GL_RGBA, GL_UNSIGNED_BYTE, drawibuf->rect);
- IMB_freeImBuf(drawibuf);
/* draw cross for pizel position */
- glTranslatef(off_x + rect.xmin + track_pos[0] * zoomx, off_y + rect.ymin + track_pos[1] * zoomy, 0.f);
+ glTranslatef(rect.xmin + track_pos[0], rect.ymin + track_pos[1], 0.f);
glScissor(ar->winrct.xmin + rect.xmin,
ar->winrct.ymin + rect.ymin,
rect.xmax - rect.xmin,
@@ -1663,12 +1688,12 @@ void uiDrawBoxShadow(unsigned char alpha, float minx, float miny, float maxx, fl
}
-void ui_dropshadow(rctf *rct, float radius, float aspect, int UNUSED(select))
+void ui_dropshadow(rctf *rct, float radius, float aspect, float alpha, int UNUSED(select))
{
int i;
float rad;
float a;
- char alpha = 2;
+ float dalpha = alpha * 2.0f / 255.0f, calpha;
glEnable(GL_BLEND);
@@ -1688,10 +1713,11 @@ void ui_dropshadow(rctf *rct, float radius, float aspect, int UNUSED(select))
a = i * aspect;
}
+ calpha = dalpha;
for (; i--; a -= aspect) {
/* alpha ranges from 2 to 20 or so */
- glColor4ub(0, 0, 0, alpha);
- alpha += 2;
+ glColor4f(0.0f, 0.0f, 0.0f, calpha);
+ calpha += dalpha;
uiDrawBox(GL_POLYGON, rct->xmin - a, rct->ymin - a, rct->xmax + a, rct->ymax - 10.0f + a, rad + a);
}
diff --git a/source/blender/editors/interface/interface_handlers.c b/source/blender/editors/interface/interface_handlers.c
index 58dfabd99ce..a8a7a55c653 100644
--- a/source/blender/editors/interface/interface_handlers.c
+++ b/source/blender/editors/interface/interface_handlers.c
@@ -2953,14 +2953,14 @@ static int ui_do_but_BLOCK(bContext *C, uiBut *but, uiHandleButtonData *data, wm
float col[3];
ui_get_but_vectorf(but, col);
- rgb_to_hsv_compat(col[0], col[1], col[2], hsv, hsv + 1, hsv + 2);
+ rgb_to_hsv_compat_v(col, hsv);
if (event->type == WHEELDOWNMOUSE)
hsv[2] = CLAMPIS(hsv[2] - 0.05f, 0.0f, 1.0f);
else
hsv[2] = CLAMPIS(hsv[2] + 0.05f, 0.0f, 1.0f);
- hsv_to_rgb(hsv[0], hsv[1], hsv[2], data->vec, data->vec + 1, data->vec + 2);
+ hsv_to_rgb_v(hsv, data->vec);
ui_set_but_vectorf(but, data->vec);
button_activate_state(C, but, BUTTON_STATE_EXIT);
@@ -3106,7 +3106,7 @@ static int ui_numedit_but_HSVCUBE(uiBut *but, uiHandleButtonData *data, int mx,
ui_get_but_vectorf(but, rgb);
- rgb_to_hsv_compat(rgb[0], rgb[1], rgb[2], hsv, hsv + 1, hsv + 2);
+ rgb_to_hsv_compat_v(rgb, hsv);
/* relative position within box */
x = ((float)mx - but->x1) / (but->x2 - but->x1);
@@ -3152,7 +3152,7 @@ static int ui_numedit_but_HSVCUBE(uiBut *but, uiHandleButtonData *data, int mx,
assert(!"invalid hsv type");
}
- hsv_to_rgb(hsv[0], hsv[1], hsv[2], rgb, rgb + 1, rgb + 2);
+ hsv_to_rgb_v(hsv, rgb);
copy_v3_v3(data->vec, rgb);
data->draglastx = mx;
@@ -3175,7 +3175,7 @@ static void ui_ndofedit_but_HSVCUBE(uiBut *but, uiHandleButtonData *data, wmNDOF
}
ui_get_but_vectorf(but, rgb);
- rgb_to_hsv_compat(rgb[0], rgb[1], rgb[2], hsv, hsv + 1, hsv + 2);
+ rgb_to_hsv_compat_v(rgb, hsv);
switch ((int)but->a1) {
case UI_GRAD_SV:
@@ -3213,7 +3213,7 @@ static void ui_ndofedit_but_HSVCUBE(uiBut *but, uiHandleButtonData *data, wmNDOF
assert(!"invalid hsv type");
}
- hsv_to_rgb(hsv[0], hsv[1], hsv[2], rgb, rgb + 1, rgb + 2);
+ hsv_to_rgb_v(hsv, rgb);
copy_v3_v3(data->vec, rgb);
ui_set_but_vectorf(but, data->vec);
}
@@ -3265,12 +3265,15 @@ static int ui_do_but_HSVCUBE(bContext *C, uiBlock *block, uiBut *but, uiHandleBu
def = MEM_callocN(sizeof(float) * len, "reset_defaults - float");
RNA_property_float_get_default_array(&but->rnapoin, but->rnaprop, def);
- rgb_to_hsv(def[0], def[1], def[2], def_hsv, def_hsv + 1, def_hsv + 2);
+ rgb_to_hsv_v(def, def_hsv);
ui_get_but_vectorf(but, rgb);
- rgb_to_hsv_compat(rgb[0], rgb[1], rgb[2], hsv, hsv + 1, hsv + 2);
+ rgb_to_hsv_compat_v(rgb, hsv);
+
+ def_hsv[0] = hsv[0];
+ def_hsv[1] = hsv[1];
- hsv_to_rgb(hsv[0], hsv[1], def_hsv[2], rgb, rgb + 1, rgb + 2);
+ hsv_to_rgb_v(def_hsv, rgb);
ui_set_but_vectorf(but, rgb);
RNA_property_update(C, &but->rnapoin, but->rnaprop);
@@ -3314,7 +3317,7 @@ static int ui_numedit_but_HSVCIRCLE(uiBut *but, uiHandleButtonData *data, int mx
ui_get_but_vectorf(but, rgb);
copy_v3_v3(hsv, ui_block_hsv_get(but->block));
- rgb_to_hsv_compat(rgb[0], rgb[1], rgb[2], hsv, hsv + 1, hsv + 2);
+ rgb_to_hsv_compat_v(rgb, hsv);
/* exception, when using color wheel in 'locked' value state:
* allow choosing a hue for black values, by giving a tiny increment */
@@ -3334,7 +3337,7 @@ static int ui_numedit_but_HSVCIRCLE(uiBut *but, uiHandleButtonData *data, int mx
if (but->flag & UI_BUT_COLOR_CUBIC)
hsv[1] = 1.0f - sqrt3f(1.0f - hsv[1]);
- hsv_to_rgb(hsv[0], hsv[1], hsv[2], rgb, rgb + 1, rgb + 2);
+ hsv_to_rgb_v(hsv, rgb);
if ((but->flag & UI_BUT_VEC_SIZE_LOCK) && (rgb[0] || rgb[1] || rgb[2])) {
normalize_v3(rgb);
@@ -3357,7 +3360,7 @@ static void ui_ndofedit_but_HSVCIRCLE(uiBut *but, uiHandleButtonData *data, wmND
float sensitivity = (shift ? 0.15f : 0.3f) * ndof->dt;
ui_get_but_vectorf(but, rgb);
- rgb_to_hsv_compat(rgb[0], rgb[1], rgb[2], hsv, hsv + 1, hsv + 2);
+ rgb_to_hsv_compat_v(rgb, hsv);
/* Convert current colour on hue/sat disc to circular coordinates phi, r */
phi = fmodf(hsv[0] + 0.25f, 1.0f) * -2.0f * (float)M_PI;
@@ -3391,7 +3394,7 @@ static void ui_ndofedit_but_HSVCIRCLE(uiBut *but, uiHandleButtonData *data, wmND
if (hsv[2] == 0.0f) hsv[2] = 0.0001f;
}
- hsv_to_rgb(hsv[0], hsv[1], hsv[2], data->vec, data->vec + 1, data->vec + 2);
+ hsv_to_rgb_v(hsv, data->vec);
if ((but->flag & UI_BUT_VEC_SIZE_LOCK) && (data->vec[0] || data->vec[1] || data->vec[2])) {
normalize_v3(data->vec);
@@ -3447,12 +3450,15 @@ static int ui_do_but_HSVCIRCLE(bContext *C, uiBlock *block, uiBut *but, uiHandle
def = MEM_callocN(sizeof(float) * len, "reset_defaults - float");
RNA_property_float_get_default_array(&but->rnapoin, but->rnaprop, def);
- rgb_to_hsv(def[0], def[1], def[2], def_hsv, def_hsv + 1, def_hsv + 2);
+ rgb_to_hsv_v(def, def_hsv);
ui_get_but_vectorf(but, rgb);
- rgb_to_hsv_compat(rgb[0], rgb[1], rgb[2], hsv, hsv + 1, hsv + 2);
+ rgb_to_hsv_compat_v(rgb, hsv);
- hsv_to_rgb(hsv[0], def_hsv[1], hsv[2], rgb, rgb + 1, rgb + 2);
+ def_hsv[0] = hsv[0];
+ def_hsv[2] = hsv[2];
+
+ hsv_to_rgb_v(def_hsv, rgb);
ui_set_but_vectorf(but, rgb);
RNA_property_update(C, &but->rnapoin, but->rnaprop);
@@ -3813,22 +3819,21 @@ static int ui_numedit_but_HISTOGRAM(uiBut *but, uiHandleButtonData *data, int mx
Histogram *hist = (Histogram *)but->poin;
/* rcti rect; */
int changed = 1;
- float /* dx, */ dy, yfac = 1.f; /* UNUSED */
+ float /* dx, */ dy; /* UNUSED */
/* rect.xmin = but->x1; rect.xmax = but->x2; */
/* rect.ymin = but->y1; rect.ymax = but->y2; */
/* dx = mx - data->draglastx; */ /* UNUSED */
dy = my - data->draglasty;
-
-
+
if (in_scope_resize_zone(but, data->dragstartx, data->dragstarty)) {
/* resize histogram widget itself */
hist->height = (but->y2 - but->y1) + (data->dragstarty - my);
}
else {
/* scale histogram values */
- yfac = MIN2(powf(hist->ymax, 2.f), 1.f) * 0.5f;
+ const float yfac = MIN2(powf(hist->ymax, 2.f), 1.f) * 0.5f;
hist->ymax += dy * yfac;
CLAMP(hist->ymax, 1.f, 100.f);
@@ -4196,9 +4201,9 @@ static int ui_numedit_but_TRACKPREVIEW(bContext *C, uiBut *but, uiHandleButtonDa
scopes->track_preview_height = (but->y2 - but->y1) + (data->dragstarty - my);
}
else {
- if (scopes->marker) {
+ if (!scopes->track_locked) {
if (scopes->marker->framenr != scopes->framenr)
- scopes->marker = BKE_tracking_ensure_marker(scopes->track, scopes->framenr);
+ scopes->marker = BKE_tracking_marker_ensure(scopes->track, scopes->framenr);
scopes->marker->flag &= ~(MARKER_DISABLED | MARKER_TRACKED);
scopes->marker->pos[0] += -dx * scopes->slide_scale[0] / (but->block->maxx - but->block->minx);
@@ -4591,9 +4596,14 @@ static int ui_but_menu(bContext *C, uiBut *but)
BLI_snprintf(buf, sizeof(buf), "%s.%s",
RNA_struct_identifier(but->rnapoin.type), RNA_property_identifier(but->rnaprop));
+ WM_operator_properties_create(&ptr_props, "WM_OT_doc_view_manual");
+ RNA_string_set(&ptr_props, "doc_id", buf);
+ uiItemFullO(layout, "WM_OT_doc_view_manual", CTX_IFACE_(BLF_I18NCONTEXT_OPERATOR_DEFAULT, "Online Manual"),
+ ICON_NONE, ptr_props.data, WM_OP_EXEC_DEFAULT, 0);
+
WM_operator_properties_create(&ptr_props, "WM_OT_doc_view");
RNA_string_set(&ptr_props, "doc_id", buf);
- uiItemFullO(layout, "WM_OT_doc_view", CTX_IFACE_(BLF_I18NCONTEXT_OPERATOR_DEFAULT, "Python Documentation"),
+ uiItemFullO(layout, "WM_OT_doc_view", CTX_IFACE_(BLF_I18NCONTEXT_OPERATOR_DEFAULT, "Online Python Reference"),
ICON_NONE, ptr_props.data, WM_OP_EXEC_DEFAULT, 0);
/* XXX inactive option, not for public! */
@@ -4608,18 +4618,26 @@ static int ui_but_menu(bContext *C, uiBut *but)
else if (but->optype) {
WM_operator_py_idname(buf, but->optype->idname);
- WM_operator_properties_create(&ptr_props, "WM_OT_doc_view");
+
+ WM_operator_properties_create(&ptr_props, "WM_OT_doc_view_manual");
RNA_string_set(&ptr_props, "doc_id", buf);
- uiItemFullO(layout, "WM_OT_doc_view", CTX_IFACE_(BLF_I18NCONTEXT_OPERATOR_DEFAULT, "Python Documentation"),
+ uiItemFullO(layout, "WM_OT_doc_view_manual", CTX_IFACE_(BLF_I18NCONTEXT_OPERATOR_DEFAULT, "Online Manual"),
ICON_NONE, ptr_props.data, WM_OP_EXEC_DEFAULT, 0);
+ WM_operator_properties_create(&ptr_props, "WM_OT_doc_view");
+ RNA_string_set(&ptr_props, "doc_id", buf);
+ uiItemFullO(layout, "WM_OT_doc_view", CTX_IFACE_(BLF_I18NCONTEXT_OPERATOR_DEFAULT, "Online Python Reference"),
+ ICON_NONE, ptr_props.data, WM_OP_EXEC_DEFAULT, 0);
+ /* XXX inactive option, not for public! */
+#if 0
WM_operator_properties_create(&ptr_props, "WM_OT_doc_edit");
RNA_string_set(&ptr_props, "doc_id", buf);
RNA_string_set(&ptr_props, "doc_new", but->optype->description);
uiItemFullO(layout, "WM_OT_doc_edit", CTX_IFACE_(BLF_I18NCONTEXT_OPERATOR_DEFAULT, "Submit Description"),
ICON_NONE, ptr_props.data, WM_OP_INVOKE_DEFAULT, 0);
+#endif
}
}
@@ -6546,6 +6564,18 @@ static int ui_handler_popup(bContext *C, wmEvent *event, void *userdata)
{
uiPopupBlockHandle *menu = userdata;
+ /* we block all events, this is modal interaction, except for drop events which is described below */
+ int retval = WM_UI_HANDLER_BREAK;
+
+ if (event->type == EVT_DROP) {
+ /* if we're handling drop event we'll want it to be handled by popup callee as well,
+ * so it'll be possible to perform such operations as opening .blend files by dropping
+ * them into blender even if there's opened popup like splash screen (sergey)
+ */
+
+ retval = WM_UI_HANDLER_CONTINUE;
+ }
+
ui_handle_menus_recursive(C, event, menu);
/* free if done, does not free handle itself */
@@ -6574,17 +6604,7 @@ static int ui_handler_popup(bContext *C, wmEvent *event, void *userdata)
/* delayed apply callbacks */
ui_apply_but_funcs_after(C);
- if (event->type == EVT_DROP) {
- /* if we're handling drop event we'll want it to be handled by popup callee as well,
- * so it'll be possible to perform such operations as opening .blend files by dropping
- * them into blender even if there's opened popup like splash screen (sergey)
- */
-
- return WM_UI_HANDLER_CONTINUE;
- }
-
- /* we block all events, this is modal interaction, except for drop events which is described above */
- return WM_UI_HANDLER_BREAK;
+ return retval;
}
static void ui_handler_remove_popup(bContext *C, void *userdata)
diff --git a/source/blender/editors/interface/interface_intern.h b/source/blender/editors/interface/interface_intern.h
index 5d12bdf71da..9af3ff3bdd8 100644
--- a/source/blender/editors/interface/interface_intern.h
+++ b/source/blender/editors/interface/interface_intern.h
@@ -445,7 +445,7 @@ extern int ui_handler_panel_region(struct bContext *C, struct wmEvent *event);
extern void ui_draw_aligned_panel(struct uiStyle *style, uiBlock *block, rcti *rect);
/* interface_draw.c */
-extern void ui_dropshadow(rctf *rct, float radius, float aspect, int select);
+extern void ui_dropshadow(rctf *rct, float radius, float aspect, float alpha, int select);
void ui_draw_gradient(rcti *rect, const float hsv[3], int type, float alpha);
diff --git a/source/blender/editors/interface/interface_ops.c b/source/blender/editors/interface/interface_ops.c
index dfd2d0cc4d0..1c3b642b63b 100644
--- a/source/blender/editors/interface/interface_ops.c
+++ b/source/blender/editors/interface/interface_ops.c
@@ -40,6 +40,7 @@
#include "BLI_blenlib.h"
#include "BLI_math_color.h"
+#include "BLI_math_vector.h"
#include "BLI_utildefines.h"
#include "BKE_context.h"
@@ -69,22 +70,42 @@
/* ********************************************************** */
typedef struct Eyedropper {
+ short do_color_management;
+
PointerRNA ptr;
PropertyRNA *prop;
int index;
+
+ int accum_start; /* has mouse been presed */
+ float accum_col[3];
+ int accum_tot;
} Eyedropper;
static int eyedropper_init(bContext *C, wmOperator *op)
{
+ Scene *scene = CTX_data_scene(C);
+ const int color_manage = scene->r.color_mgt_flag & R_COLOR_MANAGEMENT;
+
Eyedropper *eye;
op->customdata = eye = MEM_callocN(sizeof(Eyedropper), "Eyedropper");
uiContextActiveProperty(C, &eye->ptr, &eye->prop, &eye->index);
-
- return (eye->ptr.data && eye->prop && RNA_property_editable(&eye->ptr, eye->prop));
+
+ if ((eye->ptr.data == NULL) ||
+ (eye->prop == NULL) ||
+ (RNA_property_editable(&eye->ptr, eye->prop) == FALSE) ||
+ (RNA_property_array_length(&eye->ptr, eye->prop) < 3) ||
+ (RNA_property_type(eye->prop) != PROP_FLOAT))
+ {
+ return FALSE;
+ }
+
+ eye->do_color_management = (color_manage && RNA_property_subtype(eye->prop) == PROP_COLOR);
+
+ return TRUE;
}
-
+
static void eyedropper_exit(bContext *C, wmOperator *op)
{
WM_cursor_restore(CTX_wm_window(C));
@@ -100,29 +121,60 @@ static int eyedropper_cancel(bContext *C, wmOperator *op)
return OPERATOR_CANCELLED;
}
-static void eyedropper_sample(bContext *C, Eyedropper *eye, int mx, int my)
+/* *** eyedropper_color_ helper functions *** */
+
+/* simply get the color from the screen */
+static void eyedropper_color_sample_fl(Eyedropper *UNUSED(eye), int mx, int my, float r_col[3])
{
- if (RNA_property_type(eye->prop) == PROP_FLOAT) {
- Scene *scene = CTX_data_scene(C);
- const int color_manage = scene->r.color_mgt_flag & R_COLOR_MANAGEMENT;
- float col[4];
-
- RNA_property_float_get_array(&eye->ptr, eye->prop, col);
-
- glReadBuffer(GL_FRONT);
- glReadPixels(mx, my, 1, 1, GL_RGB, GL_FLOAT, col);
- glReadBuffer(GL_BACK);
-
- if (RNA_property_array_length(&eye->ptr, eye->prop) < 3) return;
+ glReadBuffer(GL_FRONT);
+ glReadPixels(mx, my, 1, 1, GL_RGB, GL_FLOAT, r_col);
+ glReadBuffer(GL_BACK);
+}
- /* convert from screen (srgb) space to linear rgb space */
- if (color_manage && RNA_property_subtype(eye->prop) == PROP_COLOR)
- srgb_to_linearrgb_v3_v3(col, col);
-
- RNA_property_float_set_array(&eye->ptr, eye->prop, col);
-
- RNA_property_update(C, &eye->ptr, eye->prop);
+/* sets the sample color RGB, maintaining A */
+static void eyedropper_color_set(bContext *C, Eyedropper *eye, const float col[3])
+{
+ float col_conv[4];
+
+ /* to maintain alpha */
+ RNA_property_float_get_array(&eye->ptr, eye->prop, col_conv);
+
+ /* convert from screen (srgb) space to linear rgb space */
+ if (eye->do_color_management) {
+ srgb_to_linearrgb_v3_v3(col_conv, col);
}
+ else {
+ copy_v3_v3(col_conv, col);
+ }
+
+ RNA_property_float_set_array(&eye->ptr, eye->prop, col_conv);
+
+ RNA_property_update(C, &eye->ptr, eye->prop);
+}
+
+/* set sample from accumulated values */
+static void eyedropper_color_set_accum(bContext *C, Eyedropper *eye)
+{
+ float col[4];
+ mul_v3_v3fl(col, eye->accum_col, 1.0f / (float)eye->accum_tot);
+ eyedropper_color_set(C, eye, col);
+}
+
+/* single point sample & set */
+static void eyedropper_color_sample(bContext *C, Eyedropper *eye, int mx, int my)
+{
+ float col[3];
+ eyedropper_color_sample_fl(eye, mx, my, col);
+ eyedropper_color_set(C, eye, col);
+}
+
+static void eyedropper_color_sample_accum(Eyedropper *eye, int mx, int my)
+{
+ float col[3];
+ eyedropper_color_sample_fl(eye, mx, my, col);
+ /* delay linear conversion */
+ add_v3_v3(eye->accum_col, col);
+ eye->accum_tot++;
}
/* main modal status check */
@@ -136,10 +188,35 @@ static int eyedropper_modal(bContext *C, wmOperator *op, wmEvent *event)
return eyedropper_cancel(C, op);
case LEFTMOUSE:
if (event->val == KM_RELEASE) {
- eyedropper_sample(C, eye, event->x, event->y);
+ if (eye->accum_tot == 0) {
+ eyedropper_color_sample(C, eye, event->x, event->y);
+ }
+ else {
+ eyedropper_color_set_accum(C, eye);
+ }
eyedropper_exit(C, op);
return OPERATOR_FINISHED;
}
+ else if (event->val == KM_PRESS) {
+ /* enable accum and make first sample */
+ eye->accum_start = TRUE;
+ eyedropper_color_sample_accum(eye, event->x, event->y);
+ }
+ break;
+ case MOUSEMOVE:
+ if (eye->accum_start) {
+ /* button is pressed so keep sampling */
+ eyedropper_color_sample_accum(eye, event->x, event->y);
+ eyedropper_color_set_accum(C, eye);
+ }
+ break;
+ case SPACEKEY:
+ if (event->val == KM_RELEASE) {
+ eye->accum_tot = 0;
+ zero_v3(eye->accum_col);
+ eyedropper_color_sample_accum(eye, event->x, event->y);
+ eyedropper_color_set_accum(C, eye);
+ }
break;
}
diff --git a/source/blender/editors/interface/interface_panel.c b/source/blender/editors/interface/interface_panel.c
index cbe44505263..7f9a998e6d0 100644
--- a/source/blender/editors/interface/interface_panel.c
+++ b/source/blender/editors/interface/interface_panel.c
@@ -164,6 +164,19 @@ static int panels_re_align(ScrArea *sa, ARegion *ar, Panel **r_pa)
/****************************** panels ******************************/
+static void panels_collapse_all(ScrArea *sa, ARegion *ar)
+{
+ Panel *pa;
+ int flag = ((panel_aligned(sa, ar) == BUT_HORIZONTAL) ? PNL_CLOSEDX : PNL_CLOSEDY);
+
+ for (pa = ar->panels.first; pa; pa = pa->next) {
+ if (pa->type && !(pa->type->flag & PNL_NO_HEADER)) {
+ pa->flag = flag;
+ }
+ }
+}
+
+
static void ui_panel_copy_offset(Panel *pa, Panel *papar)
{
/* with respect to sizes... papar is parent */
@@ -932,7 +945,7 @@ static void check_panel_overlap(ARegion *ar, Panel *panel)
{
Panel *pa;
- /* also called with panel==NULL for clear */
+ /* also called with (panel == NULL) for clear */
for (pa = ar->panels.first; pa; pa = pa->next) {
pa->flag &= ~PNL_OVERLAP;
@@ -1024,7 +1037,7 @@ static void ui_handle_panel_header(const bContext *C, uiBlock *block, int mx, in
else if (block->panel->control & UI_PNL_CLOSE) {
/* whole of header can be used to collapse panel (except top-right corner) */
if (mx <= block->maxx - 8 - PNL_ICON) button = 2;
- //else if (mx <= block->minx+10+2*PNL_ICON+2) button= 1;
+ //else if (mx <= block->minx + 10 + 2 * PNL_ICON + 2) button = 1;
}
else if (mx <= block->maxx - PNL_ICON - 12) {
button = 1;
@@ -1074,6 +1087,7 @@ static void ui_handle_panel_header(const bContext *C, uiBlock *block, int mx, in
int ui_handler_panel_region(bContext *C, wmEvent *event)
{
+ ScrArea *sa = CTX_wm_area(C);
ARegion *ar = CTX_wm_region(C);
uiBlock *block;
Panel *pa;
@@ -1141,6 +1155,8 @@ int ui_handler_panel_region(bContext *C, wmEvent *event)
}
else if (event->type == LEFTMOUSE) {
if (inside_header) {
+ if (event->ctrl)
+ panels_collapse_all(sa, ar);
ui_handle_panel_header(C, block, mx, my, 0);
break;
}
diff --git a/source/blender/editors/interface/interface_regions.c b/source/blender/editors/interface/interface_regions.c
index 5459f689e9f..dd6be9141ca 100644
--- a/source/blender/editors/interface/interface_regions.c
+++ b/source/blender/editors/interface/interface_regions.c
@@ -339,13 +339,13 @@ static void rgb_tint(float col[3],
float col_hsv_from[3];
float col_hsv_to[3];
- rgb_to_hsv(col[0], col[1], col[2], col_hsv_from + 0, col_hsv_from + 1, col_hsv_from + 2);
+ rgb_to_hsv_v(col, col_hsv_from);
col_hsv_to[0] = h;
col_hsv_to[1] = h_strength;
col_hsv_to[2] = (col_hsv_from[2] * (1.0f - v_strength)) + (v * v_strength);
- hsv_to_rgb(col_hsv_to[0], col_hsv_to[1], col_hsv_to[2], col + 0, col + 1, col + 2);
+ hsv_to_rgb_v(col_hsv_to, col);
}
static void ui_tooltip_region_draw_cb(const bContext *UNUSED(C), ARegion *ar)
@@ -1304,16 +1304,16 @@ static void ui_block_position(wmWindow *window, ARegion *butregion, uiBut *but,
}
}
- /*aspect= (float)(block->maxx - block->minx + 4);*/ /*UNUSED*/
+ /* aspect = (float)(block->maxx - block->minx + 4);*/ /*UNUSED*/
ui_block_to_window_fl(butregion, but->block, &block->minx, &block->miny);
ui_block_to_window_fl(butregion, but->block, &block->maxx, &block->maxy);
- //block->minx-= 2.0; block->miny-= 2.0;
- //block->maxx+= 2.0; block->maxy+= 2.0;
+ //block->minx -= 2.0; block->miny -= 2.0;
+ //block->maxx += 2.0; block->maxy += 2.0;
xsize = block->maxx - block->minx + 4; // 4 for shadow
ysize = block->maxy - block->miny + 4;
- /*aspect/= (float)xsize;*/ /*UNUSED*/
+ /* aspect /= (float)xsize;*/ /*UNUSED*/
{
int left = 0, right = 0, top = 0, down = 0;
@@ -1847,7 +1847,7 @@ void ui_set_but_hsv(uiBut *but)
float col[3];
float *hsv = ui_block_hsv_get(but->block);
- hsv_to_rgb(hsv[0], hsv[1], hsv[2], col, col + 1, col + 2);
+ hsv_to_rgb_v(hsv, col);
ui_set_but_vectorf(but, col);
}
@@ -1860,7 +1860,7 @@ static void ui_update_block_buts_rgb(uiBlock *block, const float rgb[3])
/* this is to keep the H and S value when V is equal to zero
* and we are working in HSV mode, of course!
*/
- rgb_to_hsv_compat(rgb[0], rgb[1], rgb[2], hsv, hsv + 1, hsv + 2);
+ rgb_to_hsv_compat_v(rgb, hsv);
// this updates button strings, is hackish... but button pointers are on stack of caller function
for (bt = block->buttons.first; bt; bt = bt->next) {
@@ -1942,7 +1942,7 @@ static void do_hsv_rna_cb(bContext *UNUSED(C), void *bt1, void *UNUSED(arg))
float rgb[3];
float *hsv = ui_block_hsv_get(but->block);
- hsv_to_rgb(hsv[0], hsv[1], hsv[2], rgb, rgb + 1, rgb + 2);
+ hsv_to_rgb_v(hsv, rgb);
ui_update_block_buts_rgb(but->block, rgb);
@@ -2157,7 +2157,7 @@ static void uiBlockPicker(uiBlock *block, float rgba[4], PointerRNA *ptr, Proper
uiButSetFunc(bt, do_hex_rna_cb, bt, hexcol);
uiDefBut(block, LABEL, 0, IFACE_("(Gamma Corrected)"), 0, -80, butwidth, UI_UNIT_Y, NULL, 0.0, 0.0, 0, 0, "");
- rgb_to_hsv(rgba[0], rgba[1], rgba[2], hsv, hsv + 1, hsv + 2);
+ rgb_to_hsv_v(rgba, hsv);
picker_new_hide_reveal(block, colormode);
}
@@ -2178,18 +2178,18 @@ static int ui_picker_small_wheel_cb(const bContext *UNUSED(C), uiBlock *block, w
for (but = block->buttons.first; but; but = but->next) {
if (but->type == HSVCUBE && but->active == NULL) {
uiPopupBlockHandle *popup = block->handle;
- float col[3];
+ float rgb[3];
float *hsv = ui_block_hsv_get(block);
- ui_get_but_vectorf(but, col);
+ ui_get_but_vectorf(but, rgb);
- rgb_to_hsv_compat(col[0], col[1], col[2], hsv, hsv + 1, hsv + 2);
+ rgb_to_hsv_compat_v(rgb, hsv);
hsv[2] = CLAMPIS(hsv[2] + add, 0.0f, 1.0f);
- hsv_to_rgb(hsv[0], hsv[1], hsv[2], col, col + 1, col + 2);
+ hsv_to_rgb_v(hsv, rgb);
- ui_set_but_vectorf(but, col);
+ ui_set_but_vectorf(but, rgb);
- ui_update_block_buts_rgb(block, col);
+ ui_update_block_buts_rgb(block, rgb);
if (popup)
popup->menuretval = UI_RETURN_UPDATE;
@@ -2706,7 +2706,7 @@ void uiPupBlockEx(bContext *C, uiBlockCreateFunc func, uiBlockHandleFunc popup_f
handle->popup_arg = arg;
handle->popup_func = popup_func;
handle->cancel_func = cancel_func;
- // handle->opcontext= opcontext;
+ // handle->opcontext = opcontext;
UI_add_popup_handlers(C, &window->modalhandlers, handle);
WM_event_add_mousemove(C);
diff --git a/source/blender/editors/interface/interface_templates.c b/source/blender/editors/interface/interface_templates.c
index 6d1766c8bf1..2d9c6ee7657 100644
--- a/source/blender/editors/interface/interface_templates.c
+++ b/source/blender/editors/interface/interface_templates.c
@@ -350,7 +350,7 @@ static void template_ID(bContext *C, uiLayout *layout, TemplateID *template, Str
idptr = RNA_property_pointer_get(&template->ptr, template->prop);
id = idptr.data;
idfrom = template->ptr.id.data;
- // lb= template->idlb;
+ // lb = template->idlb;
block = uiLayoutGetBlock(layout);
uiBlockBeginAlign(block);
@@ -579,8 +579,10 @@ void uiTemplateAnyID(uiLayout *layout, PointerRNA *ptr, const char *propname, co
row = uiLayoutRow(layout, 1);
/* Label - either use the provided text, or will become "ID-Block:" */
- if (text)
- uiItemL(row, text, ICON_NONE);
+ if (text) {
+ if (text[0])
+ uiItemL(row, text, ICON_NONE);
+ }
else
uiItemL(row, "ID-Block:", ICON_NONE);
@@ -2239,6 +2241,20 @@ static void list_item_row(bContext *C, uiLayout *layout, PointerRNA *ptr, Pointe
uiItemL(split, name, ICON_OBJECT_DATA);
}
}
+ else if (itemptr->type == &RNA_MaskLayer) {
+ split = uiLayoutSplit(sub, 0.5f, 0);
+
+ uiItemL(split, name, icon);
+
+ uiBlockSetEmboss(block, UI_EMBOSSN);
+ row = uiLayoutRow(split, 1);
+ // uiItemR(row, itemptr, "alpha", 0, "", ICON_NONE); // enable when used
+ uiItemR(row, itemptr, "hide", 0, "", 0);
+ uiItemR(row, itemptr, "hide_select", 0, "", 0);
+ uiItemR(row, itemptr, "hide_render", 0, "", 0);
+
+ uiBlockSetEmboss(block, UI_EMBOSS);
+ }
/* There is a last chance to display custom controls (in addition to the name/label):
* If the given item property group features a string property named as prop_list,
@@ -2299,7 +2315,7 @@ static void list_item_row(bContext *C, uiLayout *layout, PointerRNA *ptr, Pointe
void uiTemplateList(uiLayout *layout, bContext *C, PointerRNA *ptr, const char *propname, PointerRNA *activeptr, const char *activepropname, const char *prop_list, int rows, int maxrows, int listtype)
{
- //Scene *scene= CTX_data_scene(C);
+ //Scene *scene = CTX_data_scene(C);
PropertyRNA *prop = NULL, *activeprop;
PropertyType type, activetype;
StructRNA *ptype;
diff --git a/source/blender/editors/interface/interface_utils.c b/source/blender/editors/interface/interface_utils.c
index a0b83b5fef4..9773918e508 100644
--- a/source/blender/editors/interface/interface_utils.c
+++ b/source/blender/editors/interface/interface_utils.c
@@ -130,7 +130,13 @@ uiBut *uiDefAutoButR(uiBlock *block, PointerRNA *ptr, PropertyRNA *prop, int ind
return but;
}
-int uiDefAutoButsRNA(uiLayout *layout, PointerRNA *ptr, int (*check_prop)(PointerRNA *, PropertyRNA *), const char label_align)
+/**
+ * \a check_prop callback filters functions to avoid drawing certain properties,
+ * in cases where PROP_HIDDEN flag can't be used for a property.
+ */
+int uiDefAutoButsRNA(uiLayout *layout, PointerRNA *ptr,
+ int (*check_prop)(PointerRNA *, PropertyRNA *),
+ const char label_align)
{
uiLayout *split, *col;
int flag;
diff --git a/source/blender/editors/interface/interface_widgets.c b/source/blender/editors/interface/interface_widgets.c
index 4d483b69ca2..004c5306d65 100644
--- a/source/blender/editors/interface/interface_widgets.c
+++ b/source/blender/editors/interface/interface_widgets.c
@@ -162,9 +162,10 @@ static unsigned int scroll_circle_face[14][3] = {
};
-static float menu_tria_vert[6][2]= {
-{-0.33, 0.16}, {0.33, 0.16}, {0, 0.82},
-{0, -0.82}, {-0.33, -0.16}, {0.33, -0.16}};
+static float menu_tria_vert[6][2] = {
+ {-0.33, 0.16}, {0.33, 0.16}, {0, 0.82},
+ {0, -0.82}, {-0.33, -0.16}, {0.33, -0.16}
+};
@@ -1168,7 +1169,7 @@ static void widget_draw_text(uiFontStyle *fstyle, uiWidgetColors *wcol, uiBut *b
#if 0
ui_rasterpos_safe(x, y, but->aspect);
- if (but->type == IDPOIN) transopts = 0; // no translation, of course!
+ if (but->type == IDPOIN) transopts = 0; // no translation, of course!
else transopts = ui_translate_buttons();
#endif
@@ -1885,7 +1886,7 @@ static void ui_draw_but_HSVCIRCLE(uiBut *but, uiWidgetColors *wcol, rcti *rect)
/* color */
ui_get_but_vectorf(but, rgb);
copy_v3_v3(hsv, ui_block_hsv_get(but->block));
- rgb_to_hsv_compat(rgb[0], rgb[1], rgb[2], hsv, hsv + 1, hsv + 2);
+ rgb_to_hsv_compat_v(rgb, hsv);
copy_v3_v3(hsvo, hsv);
/* exception: if 'lock' is set
@@ -1911,7 +1912,7 @@ static void ui_draw_but_HSVCIRCLE(uiBut *but, uiWidgetColors *wcol, rcti *rect)
ui_hsvcircle_vals_from_pos(hsv, hsv + 1, rect, centx + co * radius, centy + si * radius);
CLAMP(hsv[2], 0.0f, 1.0f); /* for display only */
- hsv_to_rgb(hsv[0], hsv[1], hsv[2], col, col + 1, col + 2);
+ hsv_to_rgb_v(hsv, col);
glColor3fv(col);
glVertex2f(centx + co * radius, centy + si * radius);
}
@@ -2081,37 +2082,31 @@ void ui_draw_gradient(rcti *rect, const float hsv[3], int type, float alpha)
static void ui_draw_but_HSVCUBE(uiBut *but, rcti *rect)
{
- float rgb[3], h, s, v;
+ float rgb[3];
float x = 0.0f, y = 0.0f;
float *hsv = ui_block_hsv_get(but->block);
- float hsvn[3];
+ float hsv_n[3];
- h = hsv[0];
- s = hsv[1];
- v = hsv[2];
+ copy_v3_v3(hsv_n, hsv);
ui_get_but_vectorf(but, rgb);
- rgb_to_hsv_compat(rgb[0], rgb[1], rgb[2], &h, &s, &v);
-
- hsvn[0] = h;
- hsvn[1] = s;
- hsvn[2] = v;
+ rgb_to_hsv_compat_v(rgb, hsv_n);
- ui_draw_gradient(rect, hsvn, but->a1, 1.f);
+ ui_draw_gradient(rect, hsv_n, but->a1, 1.0f);
switch ((int)but->a1) {
case UI_GRAD_SV:
- x = v; y = s; break;
+ x = hsv_n[2]; y = hsv_n[1]; break;
case UI_GRAD_HV:
- x = h; y = v; break;
+ x = hsv_n[0]; y = hsv_n[2]; break;
case UI_GRAD_HS:
- x = h; y = s; break;
+ x = hsv_n[0]; y = hsv_n[1]; break;
case UI_GRAD_H:
- x = h; y = 0.5; break;
+ x = hsv_n[0]; y = 0.5; break;
case UI_GRAD_S:
- x = s; y = 0.5; break;
+ x = hsv_n[1]; y = 0.5; break;
case UI_GRAD_V:
- x = v; y = 0.5; break;
+ x = hsv_n[2]; y = 0.5; break;
}
/* cursor */
@@ -2140,7 +2135,7 @@ static void ui_draw_but_HSV_v(uiBut *but, rcti *rect)
color_profile = BLI_PR_NONE;
ui_get_but_vectorf(but, rgb);
- rgb_to_hsv(rgb[0], rgb[1], rgb[2], hsv, hsv + 1, hsv + 2);
+ rgb_to_hsv_v(rgb, hsv);
v = hsv[2];
if (color_profile)
@@ -2251,7 +2246,7 @@ void ui_draw_link_bezier(rcti *rect)
if (ui_link_bezier_points(rect, coord_array, LINK_RESOL)) {
/* we can reuse the dist variable here to increment the GL curve eval amount*/
- // const float dist= 1.0f/(float)LINK_RESOL; // UNUSED
+ // const float dist = 1.0f/(float)LINK_RESOL; // UNUSED
glEnable(GL_BLEND);
glEnable(GL_LINE_SMOOTH);
@@ -3139,7 +3134,7 @@ void ui_draw_but(const bContext *C, ARegion *ar, uiStyle *style, uiBut *but, rct
if (but->drawflag & UI_BUT_DRAW_ENUM_ARROWS)
wt = widget_type(UI_WTYPE_MENU_RADIO); /* with arrows */
else
- wt = widget_type(UI_WTYPE_MENU_ICON_RADIO); /* no arrows */
+ wt = widget_type(UI_WTYPE_MENU_ICON_RADIO); /* no arrows */
}
/* with menu arrows */
else
diff --git a/source/blender/editors/interface/resources.c b/source/blender/editors/interface/resources.c
index 0d16e0f4dc0..02f34873ea7 100644
--- a/source/blender/editors/interface/resources.c
+++ b/source/blender/editors/interface/resources.c
@@ -363,6 +363,8 @@ const unsigned char *UI_ThemeGetColorPtr(bTheme *btheme, int spacetype, int colo
cp = ts->syntaxv; break;
case TH_NODE_GROUP:
cp = ts->syntaxc; break;
+ case TH_NODE_FRAME:
+ cp = ts->movie; break;
case TH_NODE_CURVING:
cp = &ts->noodle_curving; break;
@@ -370,6 +372,8 @@ const unsigned char *UI_ThemeGetColorPtr(bTheme *btheme, int spacetype, int colo
cp = ts->movie; break;
case TH_SEQ_MOVIECLIP:
cp = ts->movieclip; break;
+ case TH_SEQ_MASK:
+ cp = ts->mask; break;
case TH_SEQ_IMAGE:
cp = ts->image; break;
case TH_SEQ_SCENE:
@@ -378,8 +382,6 @@ const unsigned char *UI_ThemeGetColorPtr(bTheme *btheme, int spacetype, int colo
cp = ts->audio; break;
case TH_SEQ_EFFECT:
cp = ts->effect; break;
- case TH_SEQ_PLUGIN:
- cp = ts->plugin; break;
case TH_SEQ_TRANSITION:
cp = ts->transition; break;
case TH_SEQ_META:
@@ -473,6 +475,39 @@ const unsigned char *UI_ThemeGetColorPtr(bTheme *btheme, int spacetype, int colo
case TH_SKIN_ROOT:
cp = ts->skin_root;
break;
+
+ case TH_ANIM_ACTIVE:
+ cp = ts->anim_active;
+ break;
+ case TH_ANIM_INACTIVE:
+ cp = ts->anim_non_active;
+ break;
+
+ case TH_NLA_TWEAK:
+ cp = ts->nla_tweaking;
+ break;
+ case TH_NLA_TWEAK_DUPLI:
+ cp = ts->nla_tweakdupli;
+ break;
+
+ case TH_NLA_TRANSITION:
+ cp = ts->nla_transition;
+ break;
+ case TH_NLA_TRANSITION_SEL:
+ cp = ts->nla_transition_sel;
+ break;
+ case TH_NLA_META:
+ cp = ts->nla_meta;
+ break;
+ case TH_NLA_META_SEL:
+ cp = ts->nla_meta_sel;
+ break;
+ case TH_NLA_SOUND:
+ cp = ts->nla_sound;
+ break;
+ case TH_NLA_SOUND_SEL:
+ cp = ts->nla_sound_sel;
+ break;
}
}
}
@@ -735,19 +770,34 @@ void ui_theme_init_default(void)
rgba_char_args_set(btheme->tipo.handle_sel_auto_clamped, 0xf0, 0xaf, 0x90, 255);
btheme->tipo.handle_vertex_size = 4;
- rgba_char_args_set(btheme->tipo.ds_channel, 82, 96, 110, 255);
+ rgba_char_args_set(btheme->tipo.ds_channel, 82, 96, 110, 255);
rgba_char_args_set(btheme->tipo.ds_subchannel, 124, 137, 150, 255);
- rgba_char_args_set(btheme->tipo.group, 79, 101, 73, 255);
- rgba_char_args_set(btheme->tipo.group_active, 135, 177, 125, 255);
+ rgba_char_args_set(btheme->tipo.group, 79, 101, 73, 255);
+ rgba_char_args_set(btheme->tipo.group_active, 135, 177, 125, 255);
/* dopesheet */
btheme->tact = btheme->tipo;
rgba_char_args_set(btheme->tact.strip, 12, 10, 10, 128);
rgba_char_args_set(btheme->tact.strip_select, 255, 140, 0, 255);
+ rgba_char_args_set(btheme->tact.anim_active, 204, 112, 26, 102);
+
/* space nla */
btheme->tnla = btheme->tact;
+ rgba_char_args_set(btheme->tnla.anim_active, 204, 112, 26, 102); /* same as for dopesheet; duplicate here for easier reference */
+ rgba_char_args_set(btheme->tnla.anim_non_active, 153, 135, 97, 77);
+
+ rgba_char_args_set(btheme->tnla.nla_tweaking, 77, 243, 26, 77);
+ rgba_char_args_set(btheme->tnla.nla_tweakdupli, 217, 0, 0, 255);
+
+ rgba_char_args_set(btheme->tnla.nla_transition, 28, 38, 48, 255);
+ rgba_char_args_set(btheme->tnla.nla_transition_sel, 46, 117, 219, 255);
+ rgba_char_args_set(btheme->tnla.nla_meta, 51, 38, 66, 255);
+ rgba_char_args_set(btheme->tnla.nla_meta_sel, 105, 33, 150, 255);
+ rgba_char_args_set(btheme->tnla.nla_sound, 43, 61, 61, 255);
+ rgba_char_args_set(btheme->tnla.nla_sound_sel, 31, 122, 122, 255);
+
/* space file */
/* to have something initialized */
btheme->tfile = btheme->tv3d;
@@ -771,11 +821,11 @@ void ui_theme_init_default(void)
rgba_char_args_set(btheme->tseq.back, 116, 116, 116, 255);
rgba_char_args_set(btheme->tseq.movie, 81, 105, 135, 255);
rgba_char_args_set(btheme->tseq.movieclip, 32, 32, 143, 255);
+ rgba_char_args_set(btheme->tseq.mask, 152, 78, 62, 255);
rgba_char_args_set(btheme->tseq.image, 109, 88, 129, 255);
rgba_char_args_set(btheme->tseq.scene, 78, 152, 62, 255);
rgba_char_args_set(btheme->tseq.audio, 46, 143, 143, 255);
rgba_char_args_set(btheme->tseq.effect, 169, 84, 124, 255);
- rgba_char_args_set(btheme->tseq.plugin, 126, 126, 80, 255);
rgba_char_args_set(btheme->tseq.transition, 162, 95, 111, 255);
rgba_char_args_set(btheme->tseq.meta, 109, 145, 131, 255);
rgba_char_args_set(btheme->tseq.preview_back, 0, 0, 0, 255);
@@ -1044,6 +1094,17 @@ void UI_GetThemeColor3fv(int colorid, float col[3])
col[2] = ((float)cp[2]) / 255.0f;
}
+void UI_GetThemeColor4fv(int colorid, float col[4])
+{
+ const unsigned char *cp;
+
+ cp = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid);
+ col[0] = ((float)cp[0]) / 255.0f;
+ col[1] = ((float)cp[1]) / 255.0f;
+ col[2] = ((float)cp[2]) / 255.0f;
+ col[3] = ((float)cp[3]) / 255.0f;
+}
+
// get the color, range 0.0-1.0, complete with shading offset
void UI_GetThemeColorShade3fv(int colorid, int offset, float col[3])
{
@@ -1248,7 +1309,6 @@ void init_userdef_do_versions(void)
vDM_ColorBand_store((U.flag & USER_CUSTOM_RANGE) ? (&U.coba_weight) : NULL);
if (bmain->versionfile <= 191) {
- BLI_strncpy(U.plugtexdir, U.textudir, sizeof(U.plugtexdir));
strcpy(U.sounddir, "/");
}
@@ -1265,7 +1325,7 @@ void init_userdef_do_versions(void)
if (U.undosteps == 0) U.undosteps = 32;
for (btheme = U.themes.first; btheme; btheme = btheme->next) {
- /* check for alpha==0 is safe, then color was never set */
+ /* check for (alpha == 0) is safe, then color was never set */
if (btheme->tv3d.edge_seam[3] == 0) {
rgba_char_args_set(btheme->tv3d.edge_seam, 230, 150, 50, 255);
}
@@ -1290,7 +1350,7 @@ void init_userdef_do_versions(void)
bTheme *btheme;
/* new space type */
for (btheme = U.themes.first; btheme; btheme = btheme->next) {
- /* check for alpha==0 is safe, then color was never set */
+ /* check for (alpha == 0) is safe, then color was never set */
if (btheme->ttime.back[3] == 0) {
// copied from ui_theme_init_default
btheme->ttime = btheme->tv3d;
@@ -1369,7 +1429,6 @@ void init_userdef_do_versions(void)
rgba_char_args_set(btheme->tseq.scene, 78, 152, 62, 255);
rgba_char_args_set(btheme->tseq.audio, 46, 143, 143, 255);
rgba_char_args_set(btheme->tseq.effect, 169, 84, 124, 255);
- rgba_char_args_set(btheme->tseq.plugin, 126, 126, 80, 255);
rgba_char_args_set(btheme->tseq.transition, 162, 95, 111, 255);
rgba_char_args_set(btheme->tseq.meta, 109, 145, 131, 255);
}
@@ -1819,6 +1878,38 @@ void init_userdef_do_versions(void)
for (btheme = U.themes.first; btheme; btheme = btheme->next)
rgba_char_args_set(btheme->tv3d.skin_root, 180, 77, 77, 255);
}
+
+ if (bmain->versionfile < 263 || (bmain->versionfile == 263 && bmain->subversionfile < 7)) {
+ bTheme *btheme;
+
+ for (btheme = U.themes.first; btheme; btheme = btheme->next) {
+ /* DopeSheet Summary */
+ rgba_char_args_set(btheme->tact.anim_active, 204, 112, 26, 102);
+
+ /* NLA Colors */
+ rgba_char_args_set(btheme->tnla.anim_active, 204, 112, 26, 102); /* same as dopesheet above */
+ rgba_char_args_set(btheme->tnla.anim_non_active,153, 135, 97, 77);
+
+ rgba_char_args_set(btheme->tnla.nla_tweaking, 77, 243, 26, 77);
+ rgba_char_args_set(btheme->tnla.nla_tweakdupli, 217, 0, 0, 255);
+
+ rgba_char_args_set(btheme->tnla.nla_transition, 28, 38, 48, 255);
+ rgba_char_args_set(btheme->tnla.nla_transition_sel, 46, 117, 219, 255);
+ rgba_char_args_set(btheme->tnla.nla_meta, 51, 38, 66, 255);
+ rgba_char_args_set(btheme->tnla.nla_meta_sel, 105, 33, 150, 255);
+ rgba_char_args_set(btheme->tnla.nla_sound, 43, 61, 61, 255);
+ rgba_char_args_set(btheme->tnla.nla_sound_sel, 31, 122, 122, 255);
+ }
+ }
+
+ if (bmain->versionfile < 263 || (bmain->versionfile == 263 && bmain->subversionfile < 11)) {
+ bTheme *btheme;
+ for (btheme = U.themes.first; btheme; btheme = btheme->next) {
+ if (btheme->tseq.movieclip[0] == 0) {
+ rgba_char_args_set(btheme->tseq.mask, 152, 78, 62, 255);
+ }
+ }
+ }
/* GL Texture Garbage Collection (variable abused above!) */
if (U.textimeout == 0) {
diff --git a/source/blender/editors/interface/view2d.c b/source/blender/editors/interface/view2d.c
index 1d315e9a5b8..b2227405d8b 100644
--- a/source/blender/editors/interface/view2d.c
+++ b/source/blender/editors/interface/view2d.c
@@ -272,7 +272,7 @@ void UI_view2d_region_reinit(View2D *v2d, short type, int winx, int winy)
v2d->keepzoom = (V2D_KEEPASPECT | V2D_LIMITZOOM | V2D_KEEPZOOM);
v2d->minzoom = 0.5f;
v2d->maxzoom = 2.0f;
- //tot_changed= 1;
+ //tot_changed = 1;
v2d->align = (V2D_ALIGN_NO_NEG_X | V2D_ALIGN_NO_POS_Y);
v2d->keeptot = V2D_KEEPTOT_BOUNDS;
@@ -428,7 +428,7 @@ void UI_view2d_curRect_validate_resize(View2D *v2d, int resize)
if (winx != v2d->oldwinx) do_x = TRUE;
if (winy != v2d->oldwiny) do_y = TRUE;
- /* curRatio= height / width; */ /* UNUSED */
+ /* curRatio = height / width; */ /* UNUSED */
winRatio = winy / winx;
/* both sizes change (area/region maximised) */
@@ -442,7 +442,7 @@ void UI_view2d_curRect_validate_resize(View2D *v2d, int resize)
else do_x = TRUE;
}
do_cur = do_x;
- /* do_win= do_y; */ /* UNUSED */
+ /* do_win = do_y; */ /* UNUSED */
if (do_cur) {
if ((v2d->keeptot == V2D_KEEPTOT_STRICT) && (winx != v2d->oldwinx)) {
@@ -806,7 +806,7 @@ void UI_view2d_curRect_reset(View2D *v2d)
v2d->cur.xmax = (float)width;
}
else {
- /* width is centered around x==0 */
+ /* width is centered around (x == 0) */
const float dx = (float)width / 2.0f;
v2d->cur.xmin = -dx;
@@ -825,7 +825,7 @@ void UI_view2d_curRect_reset(View2D *v2d)
v2d->cur.ymax = (float)height;
}
else {
- /* height is centered around y==0 */
+ /* height is centered around (y == 0) */
const float dy = (float)height / 2.0f;
v2d->cur.ymin = -dy;
@@ -869,7 +869,7 @@ void UI_view2d_totRect_set_resize(View2D *v2d, int width, int height, int resize
v2d->tot.xmax = (float)width;
}
else {
- /* width is centered around x==0 */
+ /* width is centered around (x == 0) */
const float dx = (float)width / 2.0f;
v2d->tot.xmin = -dx;
@@ -888,7 +888,7 @@ void UI_view2d_totRect_set_resize(View2D *v2d, int width, int height, int resize
v2d->tot.ymax = (float)height;
}
else {
- /* height is centered around y==0 */
+ /* height is centered around (y == 0) */
const float dy = (float)height / 2.0f;
v2d->tot.ymin = -dy;
diff --git a/source/blender/editors/mask/CMakeLists.txt b/source/blender/editors/mask/CMakeLists.txt
new file mode 100644
index 00000000000..57be5a2234a
--- /dev/null
+++ b/source/blender/editors/mask/CMakeLists.txt
@@ -0,0 +1,52 @@
+# ***** BEGIN GPL LICENSE BLOCK *****
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# The Original Code is Copyright (C) 2012 Blender Foundation.
+#
+# Contributor(s): Blender Foundation,
+# Sergey Sharybin
+#
+# ***** END GPL LICENSE BLOCK *****
+
+set(INC
+ ../include
+ ../../blenkernel
+ ../../blenloader
+ ../../blenlib
+ ../../makesdna
+ ../../makesrna
+ ../../windowmanager
+ ../../../../intern/guardedalloc
+ ${GLEW_INCLUDE_PATH}
+)
+
+set(INC_SYS
+)
+
+set(SRC
+ mask_add.c
+ mask_draw.c
+ mask_edit.c
+ mask_editaction.c
+ mask_ops.c
+ mask_relationships.c
+ mask_select.c
+ mask_shapekey.c
+
+ mask_intern.h
+)
+
+blender_add_lib(bf_editor_mask "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/blender/editors/mask/SConscript b/source/blender/editors/mask/SConscript
new file mode 100644
index 00000000000..4af000d038d
--- /dev/null
+++ b/source/blender/editors/mask/SConscript
@@ -0,0 +1,9 @@
+#!/usr/bin/python
+Import ('env')
+
+sources = env.Glob('*.c')
+defs = []
+incs = '../include ../../blenkernel ../../blenloader ../../blenlib ../../windowmanager ../../makesdna'
+incs += ' ../../makesrna #/extern/glew/include #/intern/guardedalloc'
+
+env.BlenderLib ( 'bf_editors_mask', sources, Split(incs), defs, libtype=['core'], priority=[100] )
diff --git a/source/blender/editors/mask/mask_add.c b/source/blender/editors/mask/mask_add.c
new file mode 100644
index 00000000000..0bc9adb6577
--- /dev/null
+++ b/source/blender/editors/mask/mask_add.c
@@ -0,0 +1,711 @@
+/*
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * The Original Code is Copyright (C) 2012 Blender Foundation.
+ * All rights reserved.
+ *
+ *
+ * Contributor(s): Blender Foundation,
+ * Sergey Sharybin
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file blender/editors/mask/mask_add.c
+ * \ingroup edmask
+ */
+
+#include "MEM_guardedalloc.h"
+
+#include "BLI_math.h"
+
+#include "BKE_context.h"
+#include "BKE_depsgraph.h"
+#include "BKE_mask.h"
+
+#include "DNA_scene_types.h"
+#include "DNA_mask_types.h"
+#include "DNA_object_types.h" /* SELECT */
+
+#include "WM_api.h"
+#include "WM_types.h"
+
+#include "ED_mask.h" /* own include */
+
+#include "RNA_access.h"
+#include "RNA_define.h"
+
+#include "mask_intern.h" /* own include */
+
+
+static int find_nearest_diff_point(bContext *C, Mask *mask, const float normal_co[2], int threshold, int feather,
+ MaskLayer **masklay_r, MaskSpline **spline_r, MaskSplinePoint **point_r,
+ float *u_r, float tangent[2],
+ const short use_deform)
+{
+ MaskLayer *masklay, *point_masklay;
+ MaskSpline *point_spline;
+ MaskSplinePoint *point = NULL;
+ float dist, co[2];
+ int width, height;
+ float u;
+ float scalex, scaley, aspx, aspy;
+
+ ED_mask_size(C, &width, &height);
+ ED_mask_aspect(C, &aspx, &aspy);
+ ED_mask_pixelspace_factor(C, &scalex, &scaley);
+
+ co[0] = normal_co[0] * scalex;
+ co[1] = normal_co[1] * scaley;
+
+ for (masklay = mask->masklayers.first; masklay; masklay = masklay->next) {
+ MaskSpline *spline;
+
+ if (masklay->restrictflag & (MASK_RESTRICT_VIEW | MASK_RESTRICT_SELECT)) {
+ continue;
+ }
+
+ for (spline = masklay->splines.first; spline; spline = spline->next) {
+ int i;
+ MaskSplinePoint *cur_point;
+
+ for (i = 0, cur_point = use_deform ? spline->points_deform : spline->points;
+ i < spline->tot_point;
+ i++, cur_point++)
+ {
+ float *diff_points;
+ int tot_diff_point;
+
+ diff_points = BKE_mask_point_segment_diff_with_resolution(spline, cur_point, width, height,
+ &tot_diff_point);
+
+ if (diff_points) {
+ int i, tot_feather_point, tot_point;
+ float *feather_points = NULL, *points;
+
+ if (feather) {
+ feather_points = BKE_mask_point_segment_feather_diff_with_resolution(spline, cur_point,
+ width, height,
+ &tot_feather_point);
+
+ points = feather_points;
+ tot_point = tot_feather_point;
+ }
+ else {
+ points = diff_points;
+ tot_point = tot_diff_point;
+ }
+
+ for (i = 0; i < tot_point - 1; i++) {
+ float cur_dist, a[2], b[2];
+
+ a[0] = points[2 * i] * scalex;
+ a[1] = points[2 * i + 1] * scaley;
+
+ b[0] = points[2 * i + 2] * scalex;
+ b[1] = points[2 * i + 3] * scaley;
+
+ cur_dist = dist_to_line_segment_v2(co, a, b);
+
+ if (point == NULL || cur_dist < dist) {
+ if (tangent)
+ sub_v2_v2v2(tangent, &diff_points[2 * i + 2], &diff_points[2 * i]);
+
+ point_masklay = masklay;
+ point_spline = spline;
+ point = use_deform ? &spline->points[(cur_point - spline->points_deform)] : cur_point;
+ dist = cur_dist;
+ u = (float)i / tot_point;
+
+ }
+ }
+
+ if (feather_points)
+ MEM_freeN(feather_points);
+
+ MEM_freeN(diff_points);
+ }
+ }
+ }
+ }
+
+ if (point && dist < threshold) {
+ if (masklay_r)
+ *masklay_r = point_masklay;
+
+ if (spline_r)
+ *spline_r = point_spline;
+
+ if (point_r)
+ *point_r = point;
+
+ if (u_r) {
+ u = BKE_mask_spline_project_co(point_spline, point, u, normal_co, MASK_PROJ_ANY);
+
+ *u_r = u;
+ }
+
+ return TRUE;
+ }
+
+ if (masklay_r)
+ *masklay_r = NULL;
+
+ if (spline_r)
+ *spline_r = NULL;
+
+ if (point_r)
+ *point_r = NULL;
+
+ return FALSE;
+}
+
+/******************** add vertex *********************/
+
+static void setup_vertex_point(bContext *C, Mask *mask, MaskSpline *spline, MaskSplinePoint *new_point,
+ const float point_co[2], const float tangent[2], const float u,
+ MaskSplinePoint *reference_point, const short reference_adjacent)
+{
+ MaskSplinePoint *prev_point = NULL;
+ MaskSplinePoint *next_point = NULL;
+ BezTriple *bezt;
+ int width, height;
+ float co[3];
+ const float len = 20.0; /* default length of handle in pixel space */
+
+ copy_v2_v2(co, point_co);
+ co[2] = 0.0f;
+
+ ED_mask_size(C, &width, &height);
+
+ /* point coordinate */
+ bezt = &new_point->bezt;
+
+ bezt->h1 = bezt->h2 = HD_ALIGN;
+
+ if (reference_point) {
+ bezt->h1 = bezt->h2 = MAX2(reference_point->bezt.h2, reference_point->bezt.h1);
+ }
+ else if (reference_adjacent) {
+ if (spline->tot_point != 1) {
+ int index = (int)(new_point - spline->points);
+ prev_point = &spline->points[(index - 1) % spline->tot_point];
+ next_point = &spline->points[(index + 1) % spline->tot_point];
+
+ bezt->h1 = bezt->h2 = MAX2(prev_point->bezt.h2, next_point->bezt.h1);
+
+ /* note, we may want to copy other attributes later, radius? pressure? color? */
+ }
+ }
+
+ copy_v3_v3(bezt->vec[0], co);
+ copy_v3_v3(bezt->vec[1], co);
+ copy_v3_v3(bezt->vec[2], co);
+
+ /* initial offset for handles */
+ if (spline->tot_point == 1) {
+ /* first point of splien is aligned horizontally */
+ bezt->vec[0][0] -= len / width;
+ bezt->vec[2][0] += len / width;
+ }
+ else if (tangent) {
+ float vec[2];
+
+ copy_v2_v2(vec, tangent);
+
+ vec[0] *= width;
+ vec[1] *= height;
+
+ mul_v2_fl(vec, len / len_v2(vec));
+
+ vec[0] /= width;
+ vec[1] /= height;
+
+ sub_v2_v2(bezt->vec[0], vec);
+ add_v2_v2(bezt->vec[2], vec);
+
+ if (reference_adjacent) {
+ BKE_mask_calc_handle_adjacent_interp(spline, new_point, u);
+ }
+ }
+ else {
+
+ /* calculating auto handles works much nicer */
+#if 0
+ /* next points are aligning in the direction of previous/next point */
+ MaskSplinePoint *point;
+ float v1[2], v2[2], vec[2];
+ float dir = 1.0f;
+
+ if (new_point == spline->points) {
+ point = new_point + 1;
+ dir = -1.0f;
+ }
+ else
+ point = new_point - 1;
+
+ if (spline->tot_point < 3) {
+ v1[0] = point->bezt.vec[1][0] * width;
+ v1[1] = point->bezt.vec[1][1] * height;
+
+ v2[0] = new_point->bezt.vec[1][0] * width;
+ v2[1] = new_point->bezt.vec[1][1] * height;
+ }
+ else {
+ if (new_point == spline->points) {
+ v1[0] = spline->points[1].bezt.vec[1][0] * width;
+ v1[1] = spline->points[1].bezt.vec[1][1] * height;
+
+ v2[0] = spline->points[spline->tot_point - 1].bezt.vec[1][0] * width;
+ v2[1] = spline->points[spline->tot_point - 1].bezt.vec[1][1] * height;
+ }
+ else {
+ v1[0] = spline->points[0].bezt.vec[1][0] * width;
+ v1[1] = spline->points[0].bezt.vec[1][1] * height;
+
+ v2[0] = spline->points[spline->tot_point - 2].bezt.vec[1][0] * width;
+ v2[1] = spline->points[spline->tot_point - 2].bezt.vec[1][1] * height;
+ }
+ }
+
+ sub_v2_v2v2(vec, v1, v2);
+ mul_v2_fl(vec, len * dir / len_v2(vec));
+
+ vec[0] /= width;
+ vec[1] /= height;
+
+ add_v2_v2(bezt->vec[0], vec);
+ sub_v2_v2(bezt->vec[2], vec);
+#else
+ BKE_mask_calc_handle_point_auto(spline, new_point, TRUE);
+ BKE_mask_calc_handle_adjacent_interp(spline, new_point, u);
+
+#endif
+ }
+
+ BKE_mask_parent_init(&new_point->parent);
+
+ /* select new point */
+ MASKPOINT_SEL_ALL(new_point);
+ ED_mask_select_flush_all(mask);
+}
+
+
+/* **** add extrude vertex **** */
+
+static void finSelectedSplinePoint(MaskLayer *masklay, MaskSpline **spline, MaskSplinePoint **point, short check_active)
+{
+ MaskSpline *cur_spline = masklay->splines.first;
+
+ *spline = NULL;
+ *point = NULL;
+
+ if (check_active) {
+ if (masklay->act_spline && masklay->act_point && MASKPOINT_ISSEL_ANY(masklay->act_point)) {
+ *spline = masklay->act_spline;
+ *point = masklay->act_point;
+ return;
+ }
+ }
+
+ while (cur_spline) {
+ int i;
+
+ for (i = 0; i < cur_spline->tot_point; i++) {
+ MaskSplinePoint *cur_point = &cur_spline->points[i];
+
+ if (MASKPOINT_ISSEL_ANY(cur_point)) {
+ if (*spline != NULL && *spline != cur_spline) {
+ *spline = NULL;
+ *point = NULL;
+ return;
+ }
+ else if (*point) {
+ *point = NULL;
+ }
+ else {
+ *spline = cur_spline;
+ *point = cur_point;
+ }
+ }
+ }
+
+ cur_spline = cur_spline->next;
+ }
+}
+
+/* **** add subdivide vertex **** */
+
+static void mask_spline_add_point_at_index(MaskSpline *spline, int point_index)
+{
+ MaskSplinePoint *new_point_array;
+
+ new_point_array = MEM_callocN(sizeof(MaskSplinePoint) * (spline->tot_point + 1), "add mask vert points");
+
+ memcpy(new_point_array, spline->points, sizeof(MaskSplinePoint) * (point_index + 1));
+ memcpy(new_point_array + point_index + 2, spline->points + point_index + 1,
+ sizeof(MaskSplinePoint) * (spline->tot_point - point_index - 1));
+
+ MEM_freeN(spline->points);
+ spline->points = new_point_array;
+ spline->tot_point++;
+}
+
+static int add_vertex_subdivide(bContext *C, Mask *mask, const float co[2])
+{
+ MaskLayer *masklay;
+ MaskSpline *spline;
+ MaskSplinePoint *point = NULL;
+ const float threshold = 9;
+ float tangent[2];
+ float u;
+
+ if (find_nearest_diff_point(C, mask, co, threshold, FALSE, &masklay, &spline, &point, &u, tangent, TRUE)) {
+ MaskSplinePoint *new_point;
+ int point_index = point - spline->points;
+
+ ED_mask_select_toggle_all(mask, SEL_DESELECT);
+
+ mask_spline_add_point_at_index(spline, point_index);
+
+ new_point = &spline->points[point_index + 1];
+
+ setup_vertex_point(C, mask, spline, new_point, co, tangent, u, NULL, TRUE);
+
+ /* TODO - we could pass the spline! */
+ BKE_mask_layer_shape_changed_add(masklay, BKE_mask_layer_shape_spline_to_index(masklay, spline) + point_index + 1, TRUE, TRUE);
+
+ masklay->act_point = new_point;
+
+ WM_event_add_notifier(C, NC_MASK | NA_EDITED, mask);
+
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+static int add_vertex_extrude(bContext *C, Mask *mask, MaskLayer *masklay, const float co[2])
+{
+ MaskSpline *spline;
+ MaskSplinePoint *point;
+ MaskSplinePoint *new_point = NULL, *ref_point = NULL;
+
+ /* check on which side we want to add the point */
+ int point_index;
+ float tangent_point[2];
+ float tangent_co[2];
+ int do_cyclic_correct = FALSE;
+ int do_recalc_src = FALSE; /* when extruding from endpoints only */
+ int do_prev; /* use prev point rather then next?? */
+
+ if (!masklay) {
+ return FALSE;
+ }
+ else {
+ finSelectedSplinePoint(masklay, &spline, &point, TRUE);
+ }
+
+ ED_mask_select_toggle_all(mask, SEL_DESELECT);
+
+ point_index = (point - spline->points);
+
+ MASKPOINT_DESEL_ALL(point);
+
+ if ((spline->flag & MASK_SPLINE_CYCLIC) ||
+ (point_index > 0 && point_index != spline->tot_point - 1))
+ {
+ BKE_mask_calc_tangent_polyline(spline, point, tangent_point);
+ sub_v2_v2v2(tangent_co, co, point->bezt.vec[1]);
+
+ if (dot_v2v2(tangent_point, tangent_co) < 0.0f) {
+ do_prev = TRUE;
+ }
+ else {
+ do_prev = FALSE;
+ }
+ }
+ else if (((spline->flag & MASK_SPLINE_CYCLIC) == 0) && (point_index == 0)) {
+ do_prev = TRUE;
+ do_recalc_src = TRUE;
+ }
+ else if (((spline->flag & MASK_SPLINE_CYCLIC) == 0) && (point_index == spline->tot_point - 1)) {
+ do_prev = FALSE;
+ do_recalc_src = TRUE;
+ }
+ else {
+ do_prev = FALSE; /* quiet warning */
+ /* should never get here */
+ BLI_assert(0);
+ }
+
+ /* use the point before the active one */
+ if (do_prev) {
+ point_index--;
+ if (point_index < 0) {
+ point_index += spline->tot_point; /* wrap index */
+ if ((spline->flag & MASK_SPLINE_CYCLIC) == 0) {
+ do_cyclic_correct = TRUE;
+ point_index = 0;
+ }
+ }
+ }
+
+// print_v2("", tangent_point);
+// printf("%d\n", point_index);
+
+ mask_spline_add_point_at_index(spline, point_index);
+
+ if (do_cyclic_correct) {
+ ref_point = &spline->points[point_index + 1];
+ new_point = &spline->points[point_index];
+ *ref_point = *new_point;
+ memset(new_point, 0, sizeof(*new_point));
+ }
+ else {
+ ref_point = &spline->points[point_index];
+ new_point = &spline->points[point_index + 1];
+ }
+
+ masklay->act_point = new_point;
+
+ setup_vertex_point(C, mask, spline, new_point, co, NULL, 0.5f, ref_point, FALSE);
+
+ if (masklay->splines_shapes.first) {
+ point_index = (((int)(new_point - spline->points) + 0) % spline->tot_point);
+ BKE_mask_layer_shape_changed_add(masklay, BKE_mask_layer_shape_spline_to_index(masklay, spline) + point_index, TRUE, TRUE);
+ }
+
+ if (do_recalc_src) {
+ /* TODO, update keyframes in time */
+ BKE_mask_calc_handle_point_auto(spline, ref_point, FALSE);
+ }
+
+ WM_event_add_notifier(C, NC_MASK | NA_EDITED, mask);
+
+ return TRUE;
+}
+
+static int add_vertex_new(bContext *C, Mask *mask, MaskLayer *masklay, const float co[2])
+{
+ MaskSpline *spline;
+ MaskSplinePoint *point;
+ MaskSplinePoint *new_point = NULL, *ref_point = NULL;
+
+ if (!masklay) {
+ /* if there's no masklay currently operationg on, create new one */
+ masklay = BKE_mask_layer_new(mask, "");
+ mask->masklay_act = mask->masklay_tot - 1;
+ spline = NULL;
+ point = NULL;
+ }
+ else {
+ finSelectedSplinePoint(masklay, &spline, &point, TRUE);
+ }
+
+ ED_mask_select_toggle_all(mask, SEL_DESELECT);
+
+ if (!spline) {
+ /* no selected splines in active masklay, create new spline */
+ spline = BKE_mask_spline_add(masklay);
+ }
+
+ masklay->act_spline = spline;
+ new_point = spline->points;
+
+ masklay->act_point = new_point;
+
+ setup_vertex_point(C, mask, spline, new_point, co, NULL, 0.5f, ref_point, FALSE);
+
+ {
+ int point_index = (((int)(new_point - spline->points) + 0) % spline->tot_point);
+ BKE_mask_layer_shape_changed_add(masklay, BKE_mask_layer_shape_spline_to_index(masklay, spline) + point_index, TRUE, TRUE);
+ }
+
+ WM_event_add_notifier(C, NC_MASK | NA_EDITED, mask);
+
+ return TRUE;
+}
+
+static int add_vertex_exec(bContext *C, wmOperator *op)
+{
+ Mask *mask = CTX_data_edit_mask(C);
+ MaskLayer *masklay;
+
+ float co[2];
+
+ masklay = BKE_mask_layer_active(mask);
+
+ if (masklay && masklay->restrictflag & (MASK_RESTRICT_VIEW | MASK_RESTRICT_SELECT)) {
+ masklay = NULL;
+ }
+
+ RNA_float_get_array(op->ptr, "location", co);
+
+ if (masklay && masklay->act_point && MASKPOINT_ISSEL_ANY(masklay->act_point)) {
+
+ /* cheap trick - double click for cyclic */
+ MaskSpline *spline = masklay->act_spline;
+ MaskSplinePoint *point = masklay->act_point;
+
+ int is_sta = (point == spline->points);
+ int is_end = (point == &spline->points[spline->tot_point - 1]);
+
+ /* then check are we overlapping the mouse */
+ if ((is_sta || is_end) && equals_v2v2(co, point->bezt.vec[1])) {
+ if (spline->flag & MASK_SPLINE_CYCLIC) {
+ /* nothing to do */
+ return OPERATOR_CANCELLED;
+ }
+ else {
+ /* recalc the connecting point as well to make a nice even curve */
+ MaskSplinePoint *point_other = is_end ? spline->points : &spline->points[spline->tot_point - 1];
+ spline->flag |= MASK_SPLINE_CYCLIC;
+
+ /* TODO, update keyframes in time */
+ BKE_mask_calc_handle_point_auto(spline, point, FALSE);
+ BKE_mask_calc_handle_point_auto(spline, point_other, FALSE);
+
+ /* TODO: only update this spline */
+ BKE_mask_update_display(mask, CTX_data_scene(C)->r.cfra);
+
+ WM_event_add_notifier(C, NC_MASK | NA_EDITED, mask);
+ return OPERATOR_FINISHED;
+ }
+ }
+
+ if (!add_vertex_subdivide(C, mask, co)) {
+ if (!add_vertex_extrude(C, mask, masklay, co)) {
+ return OPERATOR_CANCELLED;
+ }
+ }
+ }
+ else {
+ if (!add_vertex_subdivide(C, mask, co)) {
+ if (!add_vertex_new(C, mask, masklay, co)) {
+ return OPERATOR_CANCELLED;
+ }
+ }
+ }
+
+ /* TODO: only update this spline */
+ BKE_mask_update_display(mask, CTX_data_scene(C)->r.cfra);
+
+ return OPERATOR_FINISHED;
+}
+
+static int add_vertex_invoke(bContext *C, wmOperator *op, wmEvent *event)
+{
+ float co[2];
+
+ ED_mask_mouse_pos(C, event, co);
+
+ RNA_float_set_array(op->ptr, "location", co);
+
+ return add_vertex_exec(C, op);
+}
+
+void MASK_OT_add_vertex(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name = "Add Vertex";
+ ot->description = "Add vertex to active spline";
+ ot->idname = "MASK_OT_add_vertex";
+
+ /* api callbacks */
+ ot->exec = add_vertex_exec;
+ ot->invoke = add_vertex_invoke;
+ ot->poll = ED_maskedit_mask_poll;
+
+ /* flags */
+ ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
+
+ /* properties */
+ RNA_def_float_vector(ot->srna, "location", 2, NULL, -FLT_MIN, FLT_MAX,
+ "Location", "Location of vertex in normalized space", -1.0f, 1.0f);
+}
+
+/******************** add feather vertex *********************/
+
+static int add_feather_vertex_exec(bContext *C, wmOperator *op)
+{
+ Mask *mask = CTX_data_edit_mask(C);
+ MaskLayer *masklay;
+ MaskSpline *spline;
+ MaskSplinePoint *point = NULL;
+ const float threshold = 9;
+ float co[2], u;
+
+ RNA_float_get_array(op->ptr, "location", co);
+
+ point = ED_mask_point_find_nearest(C, mask, co, threshold, NULL, NULL, NULL, NULL);
+ if (point)
+ return OPERATOR_FINISHED;
+
+ if (find_nearest_diff_point(C, mask, co, threshold, TRUE, &masklay, &spline, &point, &u, NULL, TRUE)) {
+ Scene *scene = CTX_data_scene(C);
+ float w = BKE_mask_point_weight(spline, point, u);
+ float weight_scalar = BKE_mask_point_weight_scalar(spline, point, u);
+
+ if (weight_scalar != 0.0f) {
+ w = w / weight_scalar;
+ }
+
+ BKE_mask_point_add_uw(point, u, w);
+
+ BKE_mask_update_display(mask, scene->r.cfra);
+
+ WM_event_add_notifier(C, NC_MASK | NA_EDITED, mask);
+
+ DAG_id_tag_update(&mask->id, 0);
+
+ return OPERATOR_FINISHED;
+ }
+
+ return OPERATOR_CANCELLED;
+}
+
+static int add_feather_vertex_invoke(bContext *C, wmOperator *op, wmEvent *event)
+{
+ float co[2];
+
+ ED_mask_mouse_pos(C, event, co);
+
+ RNA_float_set_array(op->ptr, "location", co);
+
+ return add_feather_vertex_exec(C, op);
+}
+
+void MASK_OT_add_feather_vertex(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name = "Add feather Vertex";
+ ot->description = "Add vertex to feather";
+ ot->idname = "MASK_OT_add_feather_vertex";
+
+ /* api callbacks */
+ ot->exec = add_feather_vertex_exec;
+ ot->invoke = add_feather_vertex_invoke;
+ ot->poll = ED_maskedit_mask_poll;
+
+ /* flags */
+ ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
+
+ /* properties */
+ RNA_def_float_vector(ot->srna, "location", 2, NULL, -FLT_MIN, FLT_MAX,
+ "Location", "Location of vertex in normalized space", -1.0f, 1.0f);
+}
diff --git a/source/blender/editors/mask/mask_draw.c b/source/blender/editors/mask/mask_draw.c
new file mode 100644
index 00000000000..678186f0e8c
--- /dev/null
+++ b/source/blender/editors/mask/mask_draw.c
@@ -0,0 +1,450 @@
+/*
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * The Original Code is Copyright (C) 2012 Blender Foundation.
+ * All rights reserved.
+ *
+ *
+ * Contributor(s): Blender Foundation,
+ * Sergey Sharybin
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file blender/editors/mask/mask_draw.c
+ * \ingroup edmask
+ */
+
+#include "MEM_guardedalloc.h"
+
+#include "BLI_utildefines.h"
+
+#include "BKE_context.h"
+#include "BKE_mask.h"
+
+#include "DNA_mask_types.h"
+#include "DNA_object_types.h" /* SELECT */
+
+#include "ED_mask.h" /* own include */
+#include "BIF_gl.h"
+
+#include "UI_resources.h"
+
+#include "mask_intern.h" /* own include */
+
+static void mask_spline_color_get(MaskLayer *masklay, MaskSpline *spline, const int is_sel,
+ unsigned char r_rgb[4])
+{
+ if (is_sel) {
+ if (masklay->act_spline == spline) {
+ r_rgb[0] = r_rgb[1] = r_rgb[2] = 255;
+ }
+ else {
+ r_rgb[0] = 255;
+ r_rgb[1] = r_rgb[2] = 0;
+ }
+ }
+ else {
+ r_rgb[0] = 128;
+ r_rgb[1] = r_rgb[2] = 0;
+ }
+
+ r_rgb[3] = 255;
+}
+
+static void mask_spline_feather_color_get(MaskLayer *UNUSED(masklay), MaskSpline *UNUSED(spline), const int is_sel,
+ unsigned char r_rgb[4])
+{
+ if (is_sel) {
+ r_rgb[1] = 255;
+ r_rgb[0] = r_rgb[2] = 0;
+ }
+ else {
+ r_rgb[1] = 128;
+ r_rgb[0] = r_rgb[2] = 0;
+ }
+
+ r_rgb[3] = 255;
+}
+
+#if 0
+static void draw_spline_parents(MaskLayer *UNUSED(masklay), MaskSpline *spline)
+{
+ int i;
+ MaskSplinePoint *points_array = BKE_mask_spline_point_array(spline);
+
+ if (!spline->tot_point)
+ return;
+
+ glColor3ub(0, 0, 0);
+ glEnable(GL_LINE_STIPPLE);
+ glLineStipple(1, 0xAAAA);
+
+ glBegin(GL_LINES);
+
+ for (i = 0; i < spline->tot_point; i++) {
+ MaskSplinePoint *point = &points_array[i];
+ BezTriple *bezt = &point->bezt;
+
+ if (point->parent.id) {
+ glVertex2f(bezt->vec[1][0],
+ bezt->vec[1][1]);
+
+ glVertex2f(bezt->vec[1][0] - point->parent.offset[0],
+ bezt->vec[1][1] - point->parent.offset[1]);
+ }
+ }
+
+ glEnd();
+
+ glDisable(GL_LINE_STIPPLE);
+}
+#endif
+
+/* return non-zero if spline is selected */
+static void draw_spline_points(MaskLayer *masklay, MaskSpline *spline)
+{
+ const int is_spline_sel = (spline->flag & SELECT) && (masklay->restrictflag & MASK_RESTRICT_SELECT) == 0;
+ unsigned char rgb_spline[4];
+ MaskSplinePoint *points_array = BKE_mask_spline_point_array(spline);
+
+ int i, hsize, tot_feather_point;
+ float (*feather_points)[2], (*fp)[2];
+
+ if (!spline->tot_point)
+ return;
+
+ hsize = UI_GetThemeValuef(TH_HANDLE_VERTEX_SIZE);
+
+ glPointSize(hsize);
+
+ mask_spline_color_get(masklay, spline, is_spline_sel, rgb_spline);
+
+ /* feather points */
+ feather_points = fp = BKE_mask_spline_feather_points(spline, &tot_feather_point);
+ for (i = 0; i < spline->tot_point; i++) {
+
+ /* watch it! this is intentionally not the deform array, only check for sel */
+ MaskSplinePoint *point = &spline->points[i];
+
+ int j;
+
+ for (j = 0; j < point->tot_uw + 1; j++) {
+ int sel = FALSE;
+
+ if (j == 0) {
+ sel = MASKPOINT_ISSEL_ANY(point);
+ }
+ else {
+ sel = point->uw[j - 1].flag & SELECT;
+ }
+
+ if (sel) {
+ if (point == masklay->act_point)
+ glColor3f(1.0f, 1.0f, 1.0f);
+ else
+ glColor3f(1.0f, 1.0f, 0.0f);
+ }
+ else {
+ glColor3f(0.5f, 0.5f, 0.0f);
+ }
+
+ glBegin(GL_POINTS);
+ glVertex2fv(*fp);
+ glEnd();
+
+ fp++;
+ }
+ }
+ MEM_freeN(feather_points);
+
+ /* control points */
+ for (i = 0; i < spline->tot_point; i++) {
+
+ /* watch it! this is intentionally not the deform array, only check for sel */
+ MaskSplinePoint *point = &spline->points[i];
+ MaskSplinePoint *point_deform = &points_array[i];
+ BezTriple *bezt = &point_deform->bezt;
+
+ float handle[2];
+ float *vert = bezt->vec[1];
+ int has_handle = BKE_mask_point_has_handle(point);
+
+ BKE_mask_point_handle(point_deform, handle);
+
+ /* draw handle segment */
+ if (has_handle) {
+ glColor3ubv(rgb_spline);
+
+ glBegin(GL_LINES);
+ glVertex3fv(vert);
+ glVertex3fv(handle);
+ glEnd();
+ }
+
+ /* draw CV point */
+ if (MASKPOINT_ISSEL_KNOT(point)) {
+ if (point == masklay->act_point)
+ glColor3f(1.0f, 1.0f, 1.0f);
+ else
+ glColor3f(1.0f, 1.0f, 0.0f);
+ }
+ else
+ glColor3f(0.5f, 0.5f, 0.0f);
+
+ glBegin(GL_POINTS);
+ glVertex3fv(vert);
+ glEnd();
+
+ /* draw handle points */
+ if (has_handle) {
+ if (MASKPOINT_ISSEL_HANDLE(point)) {
+ if (point == masklay->act_point)
+ glColor3f(1.0f, 1.0f, 1.0f);
+ else
+ glColor3f(1.0f, 1.0f, 0.0f);
+ }
+ else {
+ glColor3f(0.5f, 0.5f, 0.0f);
+ }
+
+ glBegin(GL_POINTS);
+ glVertex3fv(handle);
+ glEnd();
+ }
+ }
+
+ glPointSize(1.0f);
+}
+
+/* #define USE_XOR */
+
+static void mask_color_active_tint(unsigned char r_rgb[4], const unsigned char rgb[4], const short is_active)
+{
+ if (!is_active) {
+ r_rgb[0] = (unsigned char)((((int)(rgb[0])) + 128) / 2);
+ r_rgb[1] = (unsigned char)((((int)(rgb[1])) + 128) / 2);
+ r_rgb[2] = (unsigned char)((((int)(rgb[2])) + 128) / 2);
+ r_rgb[3] = rgb[3];
+ }
+ else {
+ *(unsigned int *)r_rgb = *(const unsigned int *)rgb;
+ }
+}
+
+static void mask_draw_curve_type(MaskSpline *spline, float (*points)[2], int tot_point,
+ const short is_feather, const short is_smooth, const short is_active,
+ const unsigned char rgb_spline[4], const char draw_type)
+{
+ const int draw_method = (spline->flag & MASK_SPLINE_CYCLIC) ? GL_LINE_LOOP : GL_LINE_STRIP;
+ const unsigned char rgb_black[4] = {0x00, 0x00, 0x00, 0xff};
+// const unsigned char rgb_white[4] = {0xff, 0xff, 0xff, 0xff};
+ unsigned char rgb_tmp[4];
+
+ glEnableClientState(GL_VERTEX_ARRAY);
+ glVertexPointer(2, GL_FLOAT, 0, points);
+
+ switch (draw_type) {
+
+ case MASK_DT_OUTLINE:
+ glLineWidth(3);
+
+ mask_color_active_tint(rgb_tmp, rgb_black, is_active);
+ glColor4ubv(rgb_tmp);
+
+ glDrawArrays(draw_method, 0, tot_point);
+
+ glLineWidth(1);
+ mask_color_active_tint(rgb_tmp, rgb_spline, is_active);
+ glColor4ubv(rgb_tmp);
+ glDrawArrays(draw_method, 0, tot_point);
+
+ break;
+
+ case MASK_DT_DASH:
+ default:
+ glEnable(GL_LINE_STIPPLE);
+
+#ifdef USE_XOR
+ glEnable(GL_COLOR_LOGIC_OP);
+ glLogicOp(GL_OR);
+#endif
+ mask_color_active_tint(rgb_tmp, rgb_spline, is_active);
+ glColor4ubv(rgb_tmp);
+ glLineStipple(3, 0xaaaa);
+ glEnableClientState(GL_VERTEX_ARRAY);
+ glVertexPointer(2, GL_FLOAT, 0, points);
+ glDrawArrays(draw_method, 0, tot_point);
+
+#ifdef USE_XOR
+ glDisable(GL_COLOR_LOGIC_OP);
+#endif
+ mask_color_active_tint(rgb_tmp, rgb_black, is_active);
+ glColor4ubv(rgb_tmp);
+ glLineStipple(3, 0x5555);
+ glDrawArrays(draw_method, 0, tot_point);
+
+ glDisable(GL_LINE_STIPPLE);
+ break;
+
+
+ case MASK_DT_BLACK:
+ case MASK_DT_WHITE:
+ if (draw_type == MASK_DT_BLACK) { rgb_tmp[0] = rgb_tmp[1] = rgb_tmp[2] = 0; }
+ else { rgb_tmp[0] = rgb_tmp[1] = rgb_tmp[2] = 255; }
+ /* alpha values seem too low but gl draws many points that compensate for it */
+ if (is_feather) { rgb_tmp[3] = 64; }
+ else { rgb_tmp[3] = 128; }
+
+ if (is_feather) {
+ rgb_tmp[0] = (unsigned char)(((short)rgb_tmp[0] + (short)rgb_spline[0]) / 2);
+ rgb_tmp[1] = (unsigned char)(((short)rgb_tmp[1] + (short)rgb_spline[1]) / 2);
+ rgb_tmp[2] = (unsigned char)(((short)rgb_tmp[2] + (short)rgb_spline[2]) / 2);
+ }
+
+ if (is_smooth == FALSE && is_feather) {
+ glEnable(GL_BLEND);
+ glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
+ }
+
+ mask_color_active_tint(rgb_tmp, rgb_tmp, is_active);
+ glColor4ubv(rgb_tmp);
+
+ glEnableClientState(GL_VERTEX_ARRAY);
+ glVertexPointer(2, GL_FLOAT, 0, points);
+ glDrawArrays(draw_method, 0, tot_point);
+
+ glDrawArrays(draw_method, 0, tot_point);
+
+ if (is_smooth == FALSE && is_feather) {
+ glDisable(GL_BLEND);
+ }
+
+ break;
+ }
+
+ glDisableClientState(GL_VERTEX_ARRAY);
+
+}
+
+static void draw_spline_curve(MaskLayer *masklay, MaskSpline *spline,
+ const char draw_flag, const char draw_type,
+ const short is_active,
+ int width, int height)
+{
+ unsigned char rgb_tmp[4];
+
+ const short is_spline_sel = (spline->flag & SELECT) && (masklay->restrictflag & MASK_RESTRICT_SELECT) == 0;
+ const short is_smooth = (draw_flag & MASK_DRAWFLAG_SMOOTH);
+
+ int tot_diff_point;
+ float (*diff_points)[2];
+
+ int tot_feather_point;
+ float (*feather_points)[2];
+
+ diff_points = BKE_mask_spline_differentiate_with_resolution(spline, width, height, &tot_diff_point);
+
+ if (!diff_points)
+ return;
+
+ if (is_smooth) {
+ glEnable(GL_LINE_SMOOTH);
+ glEnable(GL_BLEND);
+ glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
+ }
+
+ feather_points = BKE_mask_spline_feather_differentiated_points_with_resolution(spline, width, height, &tot_feather_point);
+
+ /* draw feather */
+ mask_spline_feather_color_get(masklay, spline, is_spline_sel, rgb_tmp);
+ mask_draw_curve_type(spline, feather_points, tot_feather_point,
+ TRUE, is_smooth, is_active,
+ rgb_tmp, draw_type);
+ MEM_freeN(feather_points);
+
+ /* draw main curve */
+ mask_spline_color_get(masklay, spline, is_spline_sel, rgb_tmp);
+ mask_draw_curve_type(spline, diff_points, tot_diff_point,
+ FALSE, is_smooth, is_active,
+ rgb_tmp, draw_type);
+ MEM_freeN(diff_points);
+
+ if (draw_flag & MASK_DRAWFLAG_SMOOTH) {
+ glDisable(GL_LINE_SMOOTH);
+ glDisable(GL_BLEND);
+ }
+
+ (void)draw_type;
+}
+
+static void draw_masklays(Mask *mask, const char draw_flag, const char draw_type,
+ int width, int height)
+{
+ MaskLayer *masklay;
+ int i;
+
+ for (masklay = mask->masklayers.first, i = 0; masklay; masklay = masklay->next, i++) {
+ MaskSpline *spline;
+ const short is_active = (i == mask->masklay_act);
+
+ if (masklay->restrictflag & MASK_RESTRICT_VIEW) {
+ continue;
+ }
+
+ for (spline = masklay->splines.first; spline; spline = spline->next) {
+
+ /* draw curve itself first... */
+ draw_spline_curve(masklay, spline, draw_flag, draw_type, is_active, width, height);
+
+// draw_spline_parents(masklay, spline);
+
+ if (!(masklay->restrictflag & MASK_RESTRICT_SELECT)) {
+ /* ...and then handles over the curve so they're nicely visible */
+ draw_spline_points(masklay, spline);
+ }
+
+ /* show undeform for testing */
+ if (0) {
+ void *back = spline->points_deform;
+
+ spline->points_deform = NULL;
+ draw_spline_curve(masklay, spline, draw_flag, draw_type, is_active, width, height);
+// draw_spline_parents(masklay, spline);
+ draw_spline_points(masklay, spline);
+ spline->points_deform = back;
+ }
+ }
+ }
+}
+
+void ED_mask_draw(const bContext *C,
+ const char draw_flag, const char draw_type)
+{
+ Mask *mask = CTX_data_edit_mask(C);
+ int width, height;
+
+ if (!mask)
+ return;
+
+ /* TODO: for now, in the future better to make sure all utility functions
+ * are using const specifier for non-changing pointers
+ */
+ ED_mask_size((bContext *)C, &width, &height);
+
+ draw_masklays(mask, draw_flag, draw_type, width, height);
+}
diff --git a/source/blender/editors/mask/mask_edit.c b/source/blender/editors/mask/mask_edit.c
new file mode 100644
index 00000000000..52711c8da55
--- /dev/null
+++ b/source/blender/editors/mask/mask_edit.c
@@ -0,0 +1,344 @@
+/*
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * The Original Code is Copyright (C) 2012 Blender Foundation.
+ * All rights reserved.
+ *
+ *
+ * Contributor(s): Blender Foundation,
+ * Sergey Sharybin
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file blender/editors/mask/mask_edit.c
+ * \ingroup edmask
+ */
+
+
+#include "BLI_math.h"
+
+#include "BKE_context.h"
+#include "BKE_mask.h"
+
+#include "DNA_scene_types.h"
+
+#include "WM_api.h"
+#include "WM_types.h"
+
+#include "ED_screen.h"
+#include "ED_mask.h" /* own include */
+#include "ED_object.h" /* ED_keymap_proportional_maskmode only */
+#include "ED_clip.h"
+#include "ED_transform.h"
+
+#include "RNA_access.h"
+
+#include "mask_intern.h" /* own include */
+
+/********************** generic poll functions *********************/
+
+int ED_maskedit_poll(bContext *C)
+{
+ SpaceClip *sc = CTX_wm_space_clip(C);
+
+ if (sc) {
+ return ED_space_clip_maskedit_poll(C);
+ }
+
+ return FALSE;
+}
+
+int ED_maskedit_mask_poll(bContext *C)
+{
+ SpaceClip *sc = CTX_wm_space_clip(C);
+
+ if (sc) {
+ return ED_space_clip_maskedit_mask_poll(C);
+ }
+
+ return FALSE;
+}
+
+/********************** registration *********************/
+
+void ED_mask_mouse_pos(bContext *C, wmEvent *event, float co[2])
+{
+ SpaceClip *sc = CTX_wm_space_clip(C);
+
+ if (sc) {
+ ED_clip_mouse_pos(C, event, co);
+ BKE_mask_coord_from_movieclip(sc->clip, &sc->user, co, co);
+ }
+ else {
+ /* possible other spaces from which mask editing is available */
+ zero_v2(co);
+ }
+}
+
+/* input: x/y - mval space
+ * output: xr/yr - mask point space */
+void ED_mask_point_pos(bContext *C, float x, float y, float *xr, float *yr)
+{
+ SpaceClip *sc = CTX_wm_space_clip(C);
+ float co[2];
+
+ if (sc) {
+ ED_clip_point_stable_pos(C, x, y, &co[0], &co[1]);
+ BKE_mask_coord_from_movieclip(sc->clip, &sc->user, co, co);
+ }
+ else {
+ /* possible other spaces from which mask editing is available */
+ zero_v2(co);
+ }
+
+ *xr = co[0];
+ *yr = co[1];
+}
+
+void ED_mask_point_pos__reverse(bContext *C, float x, float y, float *xr, float *yr)
+{
+ SpaceClip *sc = CTX_wm_space_clip(C);
+ ARegion *ar = CTX_wm_region(C);
+
+ float co[2];
+
+ if (sc && ar) {
+ co[0] = x;
+ co[1] = y;
+ BKE_mask_coord_to_movieclip(sc->clip, &sc->user, co, co);
+ ED_clip_point_stable_pos__reverse(sc, ar, co, co);
+ }
+ else {
+ /* possible other spaces from which mask editing is available */
+ zero_v2(co);
+ }
+
+ *xr = co[0];
+ *yr = co[1];
+}
+
+void ED_mask_size(bContext *C, int *width, int *height)
+{
+ ScrArea *sa = CTX_wm_area(C);
+ if (sa && sa->spacedata.first) {
+ if (sa->spacetype == SPACE_CLIP) {
+ SpaceClip *sc = sa->spacedata.first;
+ ED_space_clip_mask_size(sc, width, height);
+ return;
+ }
+ else if (sa->spacetype == SPACE_SEQ) {
+ Scene *scene = CTX_data_scene(C);
+ *width = (scene->r.size * scene->r.xsch) / 100;
+ *height = (scene->r.size * scene->r.ysch) / 100;
+ return;
+ }
+ }
+
+ /* possible other spaces from which mask editing is available */
+ *width = 0;
+ *height = 0;
+}
+
+void ED_mask_aspect(bContext *C, float *aspx, float *aspy)
+{
+ SpaceClip *sc = CTX_wm_space_clip(C);
+
+ if (sc) {
+ ED_space_clip_mask_aspect(sc, aspx, aspy);
+ }
+ else {
+ /* possible other spaces from which mask editing is available */
+ *aspx = 1.0f;
+ *aspy = 1.0f;
+ }
+}
+
+void ED_mask_pixelspace_factor(bContext *C, float *scalex, float *scaley)
+{
+ SpaceClip *sc = CTX_wm_space_clip(C);
+
+ if (sc) {
+ ARegion *ar = CTX_wm_region(C);
+ int width, height;
+ float zoomx, zoomy, aspx, aspy;
+
+ ED_space_clip_size(sc, &width, &height);
+ ED_space_clip_zoom(sc, ar, &zoomx, &zoomy);
+ ED_space_clip_aspect(sc, &aspx, &aspy);
+
+ *scalex = ((float)width * aspx) * zoomx;
+ *scaley = ((float)height * aspy) * zoomy;
+ }
+ else {
+ /* possible other spaces from which mask editing is available */
+ *scalex = 1.0f;
+ *scaley = 1.0f;
+ }
+}
+
+/********************** registration *********************/
+
+void ED_operatortypes_mask(void)
+{
+ WM_operatortype_append(MASK_OT_new);
+
+ /* mask layers */
+ WM_operatortype_append(MASK_OT_layer_new);
+ WM_operatortype_append(MASK_OT_layer_remove);
+
+ /* add */
+ WM_operatortype_append(MASK_OT_add_vertex);
+ WM_operatortype_append(MASK_OT_add_feather_vertex);
+
+ /* geometry */
+ WM_operatortype_append(MASK_OT_switch_direction);
+ WM_operatortype_append(MASK_OT_normals_make_consistent);
+ WM_operatortype_append(MASK_OT_delete);
+
+ /* select */
+ WM_operatortype_append(MASK_OT_select);
+ WM_operatortype_append(MASK_OT_select_all);
+ WM_operatortype_append(MASK_OT_select_border);
+ WM_operatortype_append(MASK_OT_select_lasso);
+ WM_operatortype_append(MASK_OT_select_circle);
+ WM_operatortype_append(MASK_OT_select_linked_pick);
+ WM_operatortype_append(MASK_OT_select_linked);
+
+ /* hide/reveal */
+ WM_operatortype_append(MASK_OT_hide_view_clear);
+ WM_operatortype_append(MASK_OT_hide_view_set);
+
+ /* feather */
+ WM_operatortype_append(MASK_OT_feather_weight_clear);
+
+ /* shape */
+ WM_operatortype_append(MASK_OT_slide_point);
+ WM_operatortype_append(MASK_OT_cyclic_toggle);
+ WM_operatortype_append(MASK_OT_handle_type_set);
+
+ /* relationships */
+ WM_operatortype_append(MASK_OT_parent_set);
+ WM_operatortype_append(MASK_OT_parent_clear);
+
+ /* shapekeys */
+ WM_operatortype_append(MASK_OT_shape_key_insert);
+ WM_operatortype_append(MASK_OT_shape_key_clear);
+ WM_operatortype_append(MASK_OT_shape_key_feather_reset);
+}
+
+void ED_keymap_mask(wmKeyConfig *keyconf)
+{
+ wmKeyMap *keymap;
+ wmKeyMapItem *kmi;
+
+ keymap = WM_keymap_find(keyconf, "Mask Editing", 0, 0);
+ keymap->poll = ED_maskedit_poll;
+
+ WM_keymap_add_item(keymap, "MASK_OT_new", NKEY, KM_PRESS, KM_ALT, 0);
+
+ /* mask mode supports PET now */
+ ED_keymap_proportional_cycle(keyconf, keymap);
+ ED_keymap_proportional_maskmode(keyconf, keymap);
+
+ /* geometry */
+ WM_keymap_add_item(keymap, "MASK_OT_add_vertex_slide", LEFTMOUSE, KM_PRESS, KM_CTRL, 0);
+ WM_keymap_add_item(keymap, "MASK_OT_add_feather_vertex_slide", LEFTMOUSE, KM_PRESS, KM_SHIFT, 0);
+ WM_keymap_add_item(keymap, "MASK_OT_delete", XKEY, KM_PRESS, 0, 0);
+ WM_keymap_add_item(keymap, "MASK_OT_delete", DELKEY, KM_PRESS, 0, 0);
+
+ /* selection */
+ kmi = WM_keymap_add_item(keymap, "MASK_OT_select", SELECTMOUSE, KM_PRESS, 0, 0);
+ RNA_boolean_set(kmi->ptr, "extend", FALSE);
+ RNA_boolean_set(kmi->ptr, "deselect", FALSE);
+ RNA_boolean_set(kmi->ptr, "toggle", FALSE);
+ kmi = WM_keymap_add_item(keymap, "MASK_OT_select", SELECTMOUSE, KM_PRESS, KM_SHIFT, 0);
+ RNA_boolean_set(kmi->ptr, "extend", FALSE);
+ RNA_boolean_set(kmi->ptr, "deselect", FALSE);
+ RNA_boolean_set(kmi->ptr, "toggle", TRUE);
+
+ kmi = WM_keymap_add_item(keymap, "MASK_OT_select_all", AKEY, KM_PRESS, 0, 0);
+ RNA_enum_set(kmi->ptr, "action", SEL_TOGGLE);
+ kmi = WM_keymap_add_item(keymap, "MASK_OT_select_all", IKEY, KM_PRESS, KM_CTRL, 0);
+ RNA_enum_set(kmi->ptr, "action", SEL_INVERT);
+
+ WM_keymap_add_item(keymap, "MASK_OT_select_linked", LKEY, KM_PRESS, KM_CTRL, 0);
+ kmi = WM_keymap_add_item(keymap, "MASK_OT_select_linked_pick", LKEY, KM_PRESS, 0, 0);
+ RNA_boolean_set(kmi->ptr, "deselect", FALSE);
+ kmi = WM_keymap_add_item(keymap, "MASK_OT_select_linked_pick", LKEY, KM_PRESS, KM_SHIFT, 0);
+ RNA_boolean_set(kmi->ptr, "deselect", TRUE);
+
+ WM_keymap_add_item(keymap, "MASK_OT_select_border", BKEY, KM_PRESS, 0, 0);
+ WM_keymap_add_item(keymap, "MASK_OT_select_circle", CKEY, KM_PRESS, 0, 0);
+
+ kmi = WM_keymap_add_item(keymap, "MASK_OT_select_lasso", EVT_TWEAK_A, KM_ANY, KM_CTRL | KM_ALT, 0);
+ RNA_boolean_set(kmi->ptr, "deselect", FALSE);
+ kmi = WM_keymap_add_item(keymap, "MASK_OT_select_lasso", EVT_TWEAK_A, KM_ANY, KM_CTRL | KM_SHIFT | KM_ALT, 0);
+ RNA_boolean_set(kmi->ptr, "deselect", TRUE);
+
+ /* hide/reveal */
+ WM_keymap_add_item(keymap, "MASK_OT_hide_view_clear", HKEY, KM_PRESS, KM_ALT, 0);
+ kmi = WM_keymap_add_item(keymap, "MASK_OT_hide_view_set", HKEY, KM_PRESS, 0, 0);
+ RNA_boolean_set(kmi->ptr, "unselected", FALSE);
+
+ kmi = WM_keymap_add_item(keymap, "MASK_OT_hide_view_set", HKEY, KM_PRESS, KM_SHIFT, 0);
+ RNA_boolean_set(kmi->ptr, "unselected", TRUE);
+
+ /* select clip while in maker view,
+ * this matches View3D functionality where you can select an
+ * object while in editmode to allow vertex parenting */
+ kmi = WM_keymap_add_item(keymap, "CLIP_OT_select", SELECTMOUSE, KM_PRESS, KM_CTRL, 0);
+ RNA_boolean_set(kmi->ptr, "extend", FALSE);
+
+ /* shape */
+ WM_keymap_add_item(keymap, "MASK_OT_cyclic_toggle", CKEY, KM_PRESS, KM_ALT, 0);
+ WM_keymap_add_item(keymap, "MASK_OT_slide_point", LEFTMOUSE, KM_PRESS, 0, 0);
+ WM_keymap_add_item(keymap, "MASK_OT_handle_type_set", VKEY, KM_PRESS, 0, 0);
+ WM_keymap_add_item(keymap, "MASK_OT_normals_make_consistent", NKEY, KM_PRESS, KM_CTRL, 0);
+ // WM_keymap_add_item(keymap, "MASK_OT_feather_weight_clear", SKEY, KM_PRESS, KM_ALT, 0);
+ /* ... matches curve editmode */
+ RNA_enum_set(WM_keymap_add_item(keymap, "TRANSFORM_OT_transform", SKEY, KM_PRESS, KM_ALT, 0)->ptr, "mode", TFM_MASK_SHRINKFATTEN);
+
+ /* relationships */
+ WM_keymap_add_item(keymap, "MASK_OT_parent_set", PKEY, KM_PRESS, KM_CTRL, 0);
+ WM_keymap_add_item(keymap, "MASK_OT_parent_clear", PKEY, KM_PRESS, KM_ALT, 0);
+
+ WM_keymap_add_item(keymap, "MASK_OT_shape_key_insert", IKEY, KM_PRESS, 0, 0);
+ WM_keymap_add_item(keymap, "MASK_OT_shape_key_clear", IKEY, KM_PRESS, KM_ALT, 0);
+
+
+ transform_keymap_for_space(keyconf, keymap, SPACE_CLIP);
+}
+
+void ED_operatormacros_mask(void)
+{
+ /* XXX: just for sample */
+ wmOperatorType *ot;
+ wmOperatorTypeMacro *otmacro;
+
+ ot = WM_operatortype_append_macro("MASK_OT_add_vertex_slide", "Add Vertex and Slide", "Add new vertex and slide it", OPTYPE_UNDO | OPTYPE_REGISTER);
+ ot->description = "Add new vertex and slide it";
+ WM_operatortype_macro_define(ot, "MASK_OT_add_vertex");
+ otmacro = WM_operatortype_macro_define(ot, "TRANSFORM_OT_translate");
+ RNA_boolean_set(otmacro->ptr, "release_confirm", TRUE);
+
+ ot = WM_operatortype_append_macro("MASK_OT_add_feather_vertex_slide", "Add Feather Vertex and Slide", "Add new vertex to feater and slide it", OPTYPE_UNDO | OPTYPE_REGISTER);
+ ot->description = "Add new feather vertex and slide it";
+ WM_operatortype_macro_define(ot, "MASK_OT_add_feather_vertex");
+ otmacro = WM_operatortype_macro_define(ot, "MASK_OT_slide_point");
+ RNA_boolean_set(otmacro->ptr, "slide_feather", TRUE);
+}
diff --git a/source/blender/editors/mask/mask_editaction.c b/source/blender/editors/mask/mask_editaction.c
new file mode 100644
index 00000000000..3836b393bf8
--- /dev/null
+++ b/source/blender/editors/mask/mask_editaction.c
@@ -0,0 +1,250 @@
+/*
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * The Original Code is Copyright (C) 2008, Blender Foundation
+ * This is a new part of Blender
+ *
+ * Contributor(s): Joshua Leung
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file blender/editors/mask/mask_editaction.c
+ * \ingroup edgpencil
+ */
+
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <stddef.h>
+#include <math.h>
+
+#include "MEM_guardedalloc.h"
+
+#include "BLI_blenlib.h"
+#include "BLI_math.h"
+#include "BLI_utildefines.h"
+
+#include "DNA_mask_types.h"
+#include "DNA_object_types.h"
+#include "DNA_scene_types.h"
+
+#include "BKE_fcurve.h"
+#include "BKE_mask.h"
+
+#include "ED_anim_api.h"
+#include "ED_keyframes_edit.h"
+
+/* ***************************************** */
+/* NOTE ABOUT THIS FILE:
+ * This file contains code for editing Grease Pencil data in the Action Editor
+ * as a 'keyframes', so that a user can adjust the timing of Grease Pencil drawings.
+ * Therefore, this file mostly contains functions for selecting Grease-Pencil frames.
+ */
+/* ***************************************** */
+/* Generics - Loopers */
+
+/* Loops over the gp-frames for a gp-layer, and applies the given callback */
+short ED_masklayer_frames_looper(MaskLayer *masklay, Scene *scene, short (*masklay_shape_cb)(MaskLayerShape *, Scene *))
+{
+ MaskLayerShape *masklay_shape;
+
+ /* error checker */
+ if (masklay == NULL)
+ return 0;
+
+ /* do loop */
+ for (masklay_shape = masklay->splines_shapes.first; masklay_shape; masklay_shape = masklay_shape->next) {
+ /* execute callback */
+ if (masklay_shape_cb(masklay_shape, scene))
+ return 1;
+ }
+
+ /* nothing to return */
+ return 0;
+}
+
+/* ****************************************** */
+/* Data Conversion Tools */
+
+/* make a listing all the gp-frames in a layer as cfraelems */
+void ED_masklayer_make_cfra_list(MaskLayer *masklay, ListBase *elems, short onlysel)
+{
+ MaskLayerShape *masklay_shape;
+ CfraElem *ce;
+
+ /* error checking */
+ if (ELEM(NULL, masklay, elems))
+ return;
+
+ /* loop through gp-frames, adding */
+ for (masklay_shape = masklay->splines_shapes.first; masklay_shape; masklay_shape = masklay_shape->next) {
+ if ((onlysel == 0) || (masklay_shape->flag & MASK_SHAPE_SELECT)) {
+ ce = MEM_callocN(sizeof(CfraElem), "CfraElem");
+
+ ce->cfra = (float)masklay_shape->frame;
+ ce->sel = (masklay_shape->flag & MASK_SHAPE_SELECT) ? 1 : 0;
+
+ BLI_addtail(elems, ce);
+ }
+ }
+}
+
+/* ***************************************** */
+/* Selection Tools */
+
+/* check if one of the frames in this layer is selected */
+short ED_masklayer_frame_select_check(MaskLayer *masklay)
+{
+ MaskLayerShape *masklay_shape;
+
+ /* error checking */
+ if (masklay == NULL)
+ return 0;
+
+ /* stop at the first one found */
+ for (masklay_shape = masklay->splines_shapes.first; masklay_shape; masklay_shape = masklay_shape->next) {
+ if (masklay_shape->flag & MASK_SHAPE_SELECT)
+ return 1;
+ }
+
+ /* not found */
+ return 0;
+}
+
+/* helper function - select gp-frame based on SELECT_* mode */
+static void masklayshape_select(MaskLayerShape *masklay_shape, short select_mode)
+{
+ if (masklay_shape == NULL)
+ return;
+
+ switch (select_mode) {
+ case SELECT_ADD:
+ masklay_shape->flag |= MASK_SHAPE_SELECT;
+ break;
+ case SELECT_SUBTRACT:
+ masklay_shape->flag &= ~MASK_SHAPE_SELECT;
+ break;
+ case SELECT_INVERT:
+ masklay_shape->flag ^= MASK_SHAPE_SELECT;
+ break;
+ }
+}
+
+/* set all/none/invert select (like above, but with SELECT_* modes) */
+void ED_mask_select_frames(MaskLayer *masklay, short select_mode)
+{
+ MaskLayerShape *masklay_shape;
+
+ /* error checking */
+ if (masklay == NULL)
+ return;
+
+ /* handle according to mode */
+ for (masklay_shape = masklay->splines_shapes.first; masklay_shape; masklay_shape = masklay_shape->next) {
+ masklayshape_select(masklay_shape, select_mode);
+ }
+}
+
+/* set all/none/invert select */
+void ED_masklayer_frame_select_set(MaskLayer *masklay, short mode)
+{
+ /* error checking */
+ if (masklay == NULL)
+ return;
+
+ /* now call the standard function */
+ ED_mask_select_frames(masklay, mode);
+}
+
+/* select the frame in this layer that occurs on this frame (there should only be one at most) */
+void ED_mask_select_frame(MaskLayer *masklay, int selx, short select_mode)
+{
+ MaskLayerShape *masklay_shape;
+
+ if (masklay == NULL)
+ return;
+
+ masklay_shape = BKE_mask_layer_shape_find_frame(masklay, selx);
+
+ if (masklay_shape) {
+ masklayshape_select(masklay_shape, select_mode);
+ }
+}
+
+/* select the frames in this layer that occur within the bounds specified */
+void ED_masklayer_frames_select_border(MaskLayer *masklay, float min, float max, short select_mode)
+{
+ MaskLayerShape *masklay_shape;
+
+ if (masklay == NULL)
+ return;
+
+ /* only select those frames which are in bounds */
+ for (masklay_shape = masklay->splines_shapes.first; masklay_shape; masklay_shape = masklay_shape->next) {
+ if (IN_RANGE(masklay_shape->frame, min, max))
+ masklayshape_select(masklay_shape, select_mode);
+ }
+}
+
+/* ***************************************** */
+/* Frame Editing Tools */
+
+/* Delete selected frames */
+void ED_masklayer_frames_delete(MaskLayer *masklay)
+{
+ MaskLayerShape *masklay_shape, *masklay_shape_next;
+
+ /* error checking */
+ if (masklay == NULL)
+ return;
+
+ /* check for frames to delete */
+ for (masklay_shape = masklay->splines_shapes.first; masklay_shape; masklay_shape = masklay_shape_next) {
+ masklay_shape_next = masklay_shape->next;
+
+ if (masklay_shape->flag & MASK_SHAPE_SELECT)
+ BKE_mask_layer_shape_unlink(masklay, masklay_shape);
+ }
+}
+
+/* Duplicate selected frames from given gp-layer */
+void ED_masklayer_frames_duplicate(MaskLayer *masklay)
+{
+ MaskLayerShape *masklay_shape, *gpfn;
+
+ /* error checking */
+ if (masklay == NULL)
+ return;
+
+ /* duplicate selected frames */
+ for (masklay_shape = masklay->splines_shapes.first; masklay_shape; masklay_shape = gpfn) {
+ gpfn = masklay_shape->next;
+
+ /* duplicate this frame */
+ if (masklay_shape->flag & MASK_SHAPE_SELECT) {
+ MaskLayerShape *mask_shape_dupe;
+
+ /* duplicate frame, and deselect self */
+ mask_shape_dupe = BKE_mask_layer_shape_duplicate(masklay_shape);
+ masklay_shape->flag &= ~MASK_SHAPE_SELECT;
+
+ // XXX - how to handle duplicate frames?
+ BLI_insertlinkafter(&masklay->splines_shapes, masklay_shape, mask_shape_dupe);
+ }
+ }
+}
diff --git a/source/blender/editors/mask/mask_intern.h b/source/blender/editors/mask/mask_intern.h
new file mode 100644
index 00000000000..c34558d2a01
--- /dev/null
+++ b/source/blender/editors/mask/mask_intern.h
@@ -0,0 +1,114 @@
+/*
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * The Original Code is Copyright (C) 2011 Blender Foundation.
+ * All rights reserved.
+ *
+ *
+ * Contributor(s): Blender Foundation,
+ * Sergey Sharybin
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file blender/editors/mask/mask_intern.h
+ * \ingroup spclip
+ */
+
+#ifndef __MASK_INTERN_H__
+#define __MASK_INTERN_H__
+
+struct bContext;
+struct wmEvent;
+struct wmOperatorType;
+
+/* internal exports only */
+
+/* mask_add.c */
+void MASK_OT_add_vertex(struct wmOperatorType *ot);
+void MASK_OT_add_feather_vertex(struct wmOperatorType *ot);
+
+/* mask_ops.c */
+void MASK_OT_new(struct wmOperatorType *ot);
+void MASK_OT_layer_new(struct wmOperatorType *ot);
+void MASK_OT_layer_remove(struct wmOperatorType *ot);
+void MASK_OT_cyclic_toggle(struct wmOperatorType *ot);
+
+void MASK_OT_slide_point(struct wmOperatorType *ot);
+
+void MASK_OT_delete(struct wmOperatorType *ot);
+
+void MASK_OT_hide_view_clear(struct wmOperatorType *ot);
+void MASK_OT_hide_view_set(struct wmOperatorType *ot);
+void MASK_OT_feather_weight_clear(struct wmOperatorType *ot);
+void MASK_OT_switch_direction(struct wmOperatorType *ot);
+void MASK_OT_normals_make_consistent(struct wmOperatorType *ot);
+
+void MASK_OT_handle_type_set(struct wmOperatorType *ot);
+
+int ED_mask_feather_find_nearest(
+ struct bContext *C, struct Mask *mask, float normal_co[2], int threshold,
+ struct MaskLayer **masklay_r, struct MaskSpline **spline_r, struct MaskSplinePoint **point_r,
+ struct MaskSplinePointUW **uw_r, float *score);
+
+struct MaskSplinePoint *ED_mask_point_find_nearest(
+ struct bContext *C, struct Mask *mask, float normal_co[2], int threshold,
+ struct MaskLayer **masklay_r, struct MaskSpline **spline_r, int *is_handle_r,
+ float *score);
+
+/* mask_relationships.c */
+void MASK_OT_parent_set(struct wmOperatorType *ot);
+void MASK_OT_parent_clear(struct wmOperatorType *ot);
+
+/* mask_select.c */
+void MASK_OT_select(struct wmOperatorType *ot);
+void MASK_OT_select_all(struct wmOperatorType *ot);
+
+void MASK_OT_select_border(struct wmOperatorType *ot);
+void MASK_OT_select_lasso(struct wmOperatorType *ot);
+void MASK_OT_select_circle(struct wmOperatorType *ot);
+void MASK_OT_select_linked_pick(struct wmOperatorType *ot);
+void MASK_OT_select_linked(struct wmOperatorType *ot);
+
+int ED_mask_spline_select_check(struct MaskSpline *spline);
+int ED_mask_layer_select_check(struct MaskLayer *masklay);
+int ED_mask_select_check(struct Mask *mask);
+
+void ED_mask_spline_select_set(struct MaskSpline *spline, const short do_select);
+void ED_mask_layer_select_set(struct MaskLayer *masklay, const short do_select);
+void ED_mask_select_toggle_all(struct Mask *mask, int action);
+void ED_mask_select_flush_all(struct Mask *mask);
+
+/* mask_editor.c */
+int ED_maskedit_poll(struct bContext *C);
+int ED_maskedit_mask_poll(struct bContext *C);
+
+void ED_mask_size(struct bContext *C, int *width, int *height);
+void ED_mask_aspect(struct bContext *C, float *aspx, float *aspy);
+
+void ED_mask_pixelspace_factor(struct bContext *C, float *scalex, float *scaley);
+void ED_mask_mouse_pos(struct bContext *C, struct wmEvent *event, float co[2]);
+
+void ED_mask_point_pos(struct bContext *C, float x, float y, float *xr, float *yr);
+void ED_mask_point_pos__reverse(struct bContext *C, float x, float y, float *xr, float *yr);
+
+/* mask_shapekey.c */
+void MASK_OT_shape_key_insert(struct wmOperatorType *ot);
+void MASK_OT_shape_key_clear(struct wmOperatorType *ot);
+void MASK_OT_shape_key_feather_reset(struct wmOperatorType *ot);
+
+#endif /* __MASK_INTERN_H__ */
diff --git a/source/blender/editors/mask/mask_ops.c b/source/blender/editors/mask/mask_ops.c
new file mode 100644
index 00000000000..b770e5e9dba
--- /dev/null
+++ b/source/blender/editors/mask/mask_ops.c
@@ -0,0 +1,1343 @@
+/*
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * The Original Code is Copyright (C) 2012 Blender Foundation.
+ * All rights reserved.
+ *
+ *
+ * Contributor(s): Blender Foundation,
+ * Sergey Sharybin
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file blender/editors/mask/mask_ops.c
+ * \ingroup edmask
+ */
+
+#include "MEM_guardedalloc.h"
+
+#include "BLI_listbase.h"
+#include "BLI_math.h"
+
+#include "BKE_context.h"
+#include "BKE_depsgraph.h"
+#include "BKE_mask.h"
+
+#include "DNA_scene_types.h"
+#include "DNA_mask_types.h"
+#include "DNA_object_types.h" /* SELECT */
+
+#include "WM_api.h"
+#include "WM_types.h"
+
+#include "ED_screen.h"
+#include "ED_mask.h"
+#include "ED_clip.h"
+#include "ED_keyframing.h"
+
+#include "RNA_access.h"
+#include "RNA_define.h"
+
+#include "mask_intern.h" /* own include */
+
+/******************** utility functions *********************/
+
+MaskSplinePoint *ED_mask_point_find_nearest(bContext *C, Mask *mask, float normal_co[2], int threshold,
+ MaskLayer **masklay_r, MaskSpline **spline_r, int *is_handle_r,
+ float *score)
+{
+ MaskLayer *masklay;
+ MaskLayer *point_masklay = NULL;
+ MaskSpline *point_spline = NULL;
+ MaskSplinePoint *point = NULL;
+ float co[2], aspx, aspy;
+ float len = FLT_MAX, scalex, scaley;
+ int is_handle = FALSE, width, height;
+
+ ED_mask_size(C, &width, &height);
+ ED_mask_aspect(C, &aspx, &aspy);
+ ED_mask_pixelspace_factor(C, &scalex, &scaley);
+
+ co[0] = normal_co[0] * scalex;
+ co[1] = normal_co[1] * scaley;
+
+ for (masklay = mask->masklayers.first; masklay; masklay = masklay->next) {
+ MaskSpline *spline;
+
+ if (masklay->restrictflag & (MASK_RESTRICT_VIEW | MASK_RESTRICT_SELECT)) {
+ continue;
+ }
+
+ for (spline = masklay->splines.first; spline; spline = spline->next) {
+ MaskSplinePoint *points_array = BKE_mask_spline_point_array(spline);
+
+ int i;
+
+ for (i = 0; i < spline->tot_point; i++) {
+ MaskSplinePoint *cur_point = &spline->points[i];
+ MaskSplinePoint *cur_point_deform = &points_array[i];
+ float cur_len, vec[2], handle[2];
+
+ vec[0] = cur_point_deform->bezt.vec[1][0] * scalex;
+ vec[1] = cur_point_deform->bezt.vec[1][1] * scaley;
+
+ if (BKE_mask_point_has_handle(cur_point)) {
+ BKE_mask_point_handle(cur_point_deform, handle);
+ handle[0] *= scalex;
+ handle[1] *= scaley;
+
+ cur_len = len_v2v2(co, handle);
+
+ if (cur_len < len) {
+ point_masklay = masklay;
+ point_spline = spline;
+ point = cur_point;
+ len = cur_len;
+ is_handle = TRUE;
+ }
+ }
+
+ cur_len = len_v2v2(co, vec);
+
+ if (cur_len < len) {
+ point_spline = spline;
+ point_masklay = masklay;
+ point = cur_point;
+ len = cur_len;
+ is_handle = FALSE;
+ }
+ }
+ }
+ }
+
+ if (len < threshold) {
+ if (masklay_r)
+ *masklay_r = point_masklay;
+
+ if (spline_r)
+ *spline_r = point_spline;
+
+ if (is_handle_r)
+ *is_handle_r = is_handle;
+
+ if (score)
+ *score = len;
+
+ return point;
+ }
+
+ if (masklay_r)
+ *masklay_r = NULL;
+
+ if (spline_r)
+ *spline_r = NULL;
+
+ if (is_handle_r)
+ *is_handle_r = FALSE;
+
+ return NULL;
+}
+
+int ED_mask_feather_find_nearest(bContext *C, Mask *mask, float normal_co[2], int threshold,
+ MaskLayer **masklay_r, MaskSpline **spline_r, MaskSplinePoint **point_r,
+ MaskSplinePointUW **uw_r, float *score)
+{
+ MaskLayer *masklay, *point_masklay = NULL;
+ MaskSpline *point_spline = NULL;
+ MaskSplinePoint *point = NULL;
+ MaskSplinePointUW *uw = NULL;
+ float len = FLT_MAX, co[2];
+ float scalex, scaley, aspx, aspy;
+ int width, height;
+
+ ED_mask_size(C, &width, &height);
+ ED_mask_aspect(C, &aspx, &aspy);
+ ED_mask_pixelspace_factor(C, &scalex, &scaley);
+
+ co[0] = normal_co[0] * scalex;
+ co[1] = normal_co[1] * scaley;
+
+ for (masklay = mask->masklayers.first; masklay; masklay = masklay->next) {
+ MaskSpline *spline;
+
+ for (spline = masklay->splines.first; spline; spline = spline->next) {
+ //MaskSplinePoint *points_array = BKE_mask_spline_point_array(spline);
+
+ int i, tot_feather_point;
+ float (*feather_points)[2], (*fp)[2];
+
+ if (masklay->restrictflag & (MASK_RESTRICT_VIEW | MASK_RESTRICT_SELECT)) {
+ continue;
+ }
+
+ feather_points = fp = BKE_mask_spline_feather_points(spline, &tot_feather_point);
+
+ for (i = 0; i < spline->tot_point; i++) {
+ int j;
+ MaskSplinePoint *cur_point = &spline->points[i];
+
+ for (j = 0; j < cur_point->tot_uw + 1; j++) {
+ float cur_len, vec[2];
+
+ vec[0] = (*fp)[0] * scalex;
+ vec[1] = (*fp)[1] * scaley;
+
+ cur_len = len_v2v2(vec, co);
+
+ if (point == NULL || cur_len < len) {
+ if (j == 0)
+ uw = NULL;
+ else
+ uw = &cur_point->uw[j - 1];
+
+ point_masklay = masklay;
+ point_spline = spline;
+ point = cur_point;
+ len = cur_len;
+ }
+
+ fp++;
+ }
+ }
+
+ MEM_freeN(feather_points);
+ }
+ }
+
+ if (len < threshold) {
+ if (masklay_r)
+ *masklay_r = point_masklay;
+
+ if (spline_r)
+ *spline_r = point_spline;
+
+ if (point_r)
+ *point_r = point;
+
+ if (uw_r)
+ *uw_r = uw;
+
+ if (score)
+ *score = len;
+
+ return TRUE;
+ }
+
+ if (masklay_r)
+ *masklay_r = NULL;
+
+ if (spline_r)
+ *spline_r = NULL;
+
+ if (point_r)
+ *point_r = NULL;
+
+ return FALSE;
+}
+
+
+/******************** create new mask *********************/
+
+static int mask_new_exec(bContext *C, wmOperator *op)
+{
+ SpaceClip *sc = CTX_wm_space_clip(C);
+ Mask *mask;
+ char name[MAX_ID_NAME - 2];
+
+ RNA_string_get(op->ptr, "name", name);
+
+ mask = BKE_mask_new(name);
+
+ if (sc)
+ ED_space_clip_set_mask(C, sc, mask);
+
+ return OPERATOR_FINISHED;
+}
+
+void MASK_OT_new(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name = "New Mask";
+ ot->description = "Create new mask";
+ ot->idname = "MASK_OT_new";
+
+ /* flags */
+ ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
+
+ /* api callbacks */
+ ot->exec = mask_new_exec;
+ ot->poll = ED_operator_mask;
+
+ /* properties */
+ RNA_def_string(ot->srna, "name", "", MAX_ID_NAME - 2, "Name", "Name of new mask");
+}
+
+/******************** create new masklay *********************/
+
+static int masklay_new_exec(bContext *C, wmOperator *op)
+{
+ Mask *mask = CTX_data_edit_mask(C);
+ char name[MAX_ID_NAME - 2];
+
+ RNA_string_get(op->ptr, "name", name);
+
+ BKE_mask_layer_new(mask, name);
+ mask->masklay_act = mask->masklay_tot - 1;
+
+ WM_event_add_notifier(C, NC_MASK | NA_EDITED, mask);
+
+ return OPERATOR_FINISHED;
+}
+
+void MASK_OT_layer_new(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name = "Add Mask Layer";
+ ot->description = "Add new mask layer for masking";
+ ot->idname = "MASK_OT_layer_new";
+
+ /* api callbacks */
+ ot->exec = masklay_new_exec;
+ ot->poll = ED_maskedit_poll;
+
+ /* flags */
+ ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
+
+ /* properties */
+ RNA_def_string(ot->srna, "name", "", MAX_ID_NAME - 2, "Name", "Name of new mask layer");
+}
+
+/******************** remove mask layer *********************/
+
+static int masklay_remove_exec(bContext *C, wmOperator *UNUSED(op))
+{
+ Mask *mask = CTX_data_edit_mask(C);
+ MaskLayer *masklay = BKE_mask_layer_active(mask);
+
+ if (masklay) {
+ BKE_mask_layer_remove(mask, masklay);
+
+ WM_event_add_notifier(C, NC_MASK | NA_EDITED, mask);
+ }
+
+ return OPERATOR_FINISHED;
+}
+
+void MASK_OT_layer_remove(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name = "Remove Mask Layer";
+ ot->description = "Remove mask layer";
+ ot->idname = "MASK_OT_layer_remove";
+
+ /* api callbacks */
+ ot->exec = masklay_remove_exec;
+ ot->poll = ED_maskedit_poll;
+
+ /* flags */
+ ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
+}
+
+/******************** slide *********************/
+
+enum {
+ SLIDE_ACTION_NONE = 0,
+ SLIDE_ACTION_POINT = 1,
+ SLIDE_ACTION_HANDLE = 2,
+ SLIDE_ACTION_FEATHER = 3
+};
+
+typedef struct SlidePointData {
+ int action;
+
+ float co[2];
+ float vec[3][3];
+
+ Mask *mask;
+ MaskLayer *masklay;
+ MaskSpline *spline, *orig_spline;
+ MaskSplinePoint *point;
+ MaskSplinePointUW *uw;
+ float handle[2], no[2], feather[2];
+ int width, height;
+ float weight;
+
+ short curvature_only, accurate;
+ short initial_feather, overall_feather;
+} SlidePointData;
+
+static int slide_point_check_initial_feather(MaskSpline *spline)
+{
+ int i;
+
+ for (i = 0; i < spline->tot_point; i++) {
+ MaskSplinePoint *point = &spline->points[i];
+
+ if (point->bezt.weight != 0.0f)
+ return FALSE;
+
+ /* comment for now. if all bezt weights are zero - this is as good-as initial */
+#if 0
+ int j;
+ for (j = 0; j < point->tot_uw; j++) {
+ if (point->uw[j].w != 0.0f)
+ return FALSE;
+ }
+#endif
+ }
+
+ return TRUE;
+}
+
+static void *slide_point_customdata(bContext *C, wmOperator *op, wmEvent *event)
+{
+ Mask *mask = CTX_data_edit_mask(C);
+ SlidePointData *customdata = NULL;
+ MaskLayer *masklay, *cv_masklay, *feather_masklay;
+ MaskSpline *spline, *cv_spline, *feather_spline;
+ MaskSplinePoint *point, *cv_point, *feather_point;
+ MaskSplinePointUW *uw = NULL;
+ int is_handle = FALSE, width, height, action = SLIDE_ACTION_NONE;
+ int slide_feather = RNA_boolean_get(op->ptr, "slide_feather");
+ float co[2], cv_score, feather_score;
+ const float threshold = 19;
+
+ ED_mask_mouse_pos(C, event, co);
+ ED_mask_size(C, &width, &height);
+
+ cv_point = ED_mask_point_find_nearest(C, mask, co, threshold, &cv_masklay, &cv_spline, &is_handle, &cv_score);
+
+ if (ED_mask_feather_find_nearest(C, mask, co, threshold, &feather_masklay, &feather_spline, &feather_point, &uw, &feather_score)) {
+ if (slide_feather || !cv_point || feather_score < cv_score) {
+ action = SLIDE_ACTION_FEATHER;
+
+ masklay = feather_masklay;
+ spline = feather_spline;
+ point = feather_point;
+ }
+ }
+
+ if (cv_point && action == SLIDE_ACTION_NONE) {
+ if (is_handle)
+ action = SLIDE_ACTION_HANDLE;
+ else
+ action = SLIDE_ACTION_POINT;
+
+ masklay = cv_masklay;
+ spline = cv_spline;
+ point = cv_point;
+ }
+
+ if (action != SLIDE_ACTION_NONE) {
+ customdata = MEM_callocN(sizeof(SlidePointData), "mask slide point data");
+
+ customdata->mask = mask;
+ customdata->masklay = masklay;
+ customdata->spline = spline;
+ customdata->point = point;
+ customdata->width = width;
+ customdata->height = height;
+ customdata->action = action;
+ customdata->uw = uw;
+
+ if (uw) {
+ float co[2];
+ float weight_scalar = BKE_mask_point_weight_scalar(spline, point, uw->u);
+
+ customdata->weight = uw->w;
+ BKE_mask_point_segment_co(spline, point, uw->u, co);
+ BKE_mask_point_normal(spline, point, uw->u, customdata->no);
+
+ madd_v2_v2v2fl(customdata->feather, co, customdata->no, uw->w * weight_scalar);
+ }
+ else {
+ BezTriple *bezt = &point->bezt;
+
+ customdata->weight = bezt->weight;
+ BKE_mask_point_normal(spline, point, 0.0f, customdata->no);
+
+ madd_v2_v2v2fl(customdata->feather, bezt->vec[1], customdata->no, bezt->weight);
+ }
+
+ if (customdata->action == SLIDE_ACTION_FEATHER)
+ customdata->initial_feather = slide_point_check_initial_feather(spline);
+
+ copy_m3_m3(customdata->vec, point->bezt.vec);
+ if (BKE_mask_point_has_handle(point))
+ BKE_mask_point_handle(point, customdata->handle);
+ ED_mask_mouse_pos(C, event, customdata->co);
+ }
+
+ return customdata;
+}
+
+static int slide_point_invoke(bContext *C, wmOperator *op, wmEvent *event)
+{
+ SlidePointData *slidedata = slide_point_customdata(C, op, event);
+
+ if (slidedata) {
+ Mask *mask = CTX_data_edit_mask(C);
+
+ op->customdata = slidedata;
+
+ WM_event_add_modal_handler(C, op);
+
+ if (slidedata->uw) {
+ if ((slidedata->uw->flag & SELECT) == 0) {
+ ED_mask_select_toggle_all(mask, SEL_DESELECT);
+
+ slidedata->uw->flag |= SELECT;
+
+ ED_mask_select_flush_all(mask);
+ }
+ }
+ else if (!MASKPOINT_ISSEL_ANY(slidedata->point)) {
+ ED_mask_select_toggle_all(mask, SEL_DESELECT);
+
+ BKE_mask_point_select_set(slidedata->point, TRUE);
+
+ ED_mask_select_flush_all(mask);
+ }
+
+ slidedata->masklay->act_spline = slidedata->spline;
+ slidedata->masklay->act_point = slidedata->point;
+
+ WM_event_add_notifier(C, NC_MASK | ND_SELECT, mask);
+
+ return OPERATOR_RUNNING_MODAL;
+ }
+
+ return OPERATOR_PASS_THROUGH;
+}
+
+static void slide_point_delta_all_feather(SlidePointData *data, float delta)
+{
+ int i;
+
+ for (i = 0; i < data->spline->tot_point; i++) {
+ MaskSplinePoint *point = &data->spline->points[i];
+ MaskSplinePoint *orig_point = &data->orig_spline->points[i];
+
+ point->bezt.weight = orig_point->bezt.weight + delta;
+ if (point->bezt.weight < 0.0f)
+ point->bezt.weight = 0.0f;
+
+ /* not needed anymore */
+#if 0
+ int j;
+ for (j = 0; j < point->tot_uw; j++) {
+ point->uw[j].w = orig_point->uw[j].w + delta;
+ if (point->uw[j].w < 0.0f)
+ point->uw[j].w = 0.0f;
+ }
+#endif
+ }
+}
+
+static void slide_point_restore_spline(SlidePointData *data)
+{
+ int i;
+
+ for (i = 0; i < data->spline->tot_point; i++) {
+ MaskSplinePoint *point = &data->spline->points[i];
+ MaskSplinePoint *orig_point = &data->orig_spline->points[i];
+ int j;
+
+ point->bezt = orig_point->bezt;
+
+ for (j = 0; j < point->tot_uw; j++)
+ point->uw[j] = orig_point->uw[j];
+ }
+}
+
+static void cancel_slide_point(SlidePointData *data)
+{
+ /* cancel sliding */
+
+ if (data->orig_spline) {
+ slide_point_restore_spline(data);
+ }
+ else {
+ if (data->action == SLIDE_ACTION_FEATHER) {
+ if (data->uw)
+ data->uw->w = data->weight;
+ else
+ data->point->bezt.weight = data->weight;
+ }
+ else {
+ copy_m3_m3(data->point->bezt.vec, data->vec);
+ }
+ }
+}
+
+static void free_slide_point_data(SlidePointData *data)
+{
+ if (data->orig_spline)
+ BKE_mask_spline_free(data->orig_spline);
+
+ MEM_freeN(data);
+}
+
+static int slide_point_modal(bContext *C, wmOperator *op, wmEvent *event)
+{
+ SlidePointData *data = (SlidePointData *)op->customdata;
+ BezTriple *bezt = &data->point->bezt;
+ float co[2], dco[2];
+
+ switch (event->type) {
+ case LEFTCTRLKEY:
+ case RIGHTCTRLKEY:
+ case LEFTSHIFTKEY:
+ case RIGHTSHIFTKEY:
+ if (ELEM(event->type, LEFTCTRLKEY, RIGHTCTRLKEY)) {
+ if (data->action == SLIDE_ACTION_FEATHER)
+ data->overall_feather = event->val == KM_PRESS;
+ else
+ data->curvature_only = event->val == KM_PRESS;
+ }
+
+ if (ELEM(event->type, LEFTSHIFTKEY, RIGHTSHIFTKEY))
+ data->accurate = event->val == KM_PRESS;
+
+ /* no break! update CV position */
+
+ case MOUSEMOVE:
+ ED_mask_mouse_pos(C, event, co);
+ sub_v2_v2v2(dco, co, data->co);
+
+ if (data->action == SLIDE_ACTION_HANDLE) {
+ float delta[2], offco[2];
+
+ sub_v2_v2v2(delta, data->handle, data->co);
+
+ sub_v2_v2v2(offco, co, data->co);
+ if (data->accurate)
+ mul_v2_fl(offco, 0.2f);
+ add_v2_v2(offco, data->co);
+ add_v2_v2(offco, delta);
+
+ BKE_mask_point_set_handle(data->point, offco, data->curvature_only, data->handle, data->vec);
+ }
+ else if (data->action == SLIDE_ACTION_POINT) {
+ float delta[2];
+
+ copy_v2_v2(delta, dco);
+ if (data->accurate)
+ mul_v2_fl(delta, 0.2f);
+
+ add_v2_v2v2(bezt->vec[0], data->vec[0], delta);
+ add_v2_v2v2(bezt->vec[1], data->vec[1], delta);
+ add_v2_v2v2(bezt->vec[2], data->vec[2], delta);
+ }
+ else if (data->action == SLIDE_ACTION_FEATHER) {
+ float vec[2], no[2], p[2], c[2], w, offco[2];
+ float *weight = NULL;
+ float weight_scalar = 1.0f;
+ int overall_feather = data->overall_feather || data->initial_feather;
+
+ add_v2_v2v2(offco, data->feather, dco);
+
+ if (data->uw) {
+ /* project on both sides and find the closest one,
+ * prevents flickering when projecting onto both sides can happen */
+ const float u_pos = BKE_mask_spline_project_co(data->spline, data->point,
+ data->uw->u, offco, MASK_PROJ_NEG);
+ const float u_neg = BKE_mask_spline_project_co(data->spline, data->point,
+ data->uw->u, offco, MASK_PROJ_POS);
+ float dist_pos = FLT_MAX;
+ float dist_neg = FLT_MAX;
+ float co_pos[2];
+ float co_neg[2];
+ float u;
+
+ if (u_pos > 0.0f && u_pos < 1.0f) {
+ BKE_mask_point_segment_co(data->spline, data->point, u_pos, co_pos);
+ dist_pos = len_squared_v2v2(offco, co_pos);
+ }
+
+ if (u_neg > 0.0f && u_neg < 1.0f) {
+ BKE_mask_point_segment_co(data->spline, data->point, u_neg, co_neg);
+ dist_neg = len_squared_v2v2(offco, co_neg);
+ }
+
+ u = dist_pos < dist_neg ? u_pos : u_neg;
+
+ if (u > 0.0f && u < 1.0f) {
+ data->uw->u = u;
+
+ data->uw = BKE_mask_point_sort_uw(data->point, data->uw);
+ weight = &data->uw->w;
+ weight_scalar = BKE_mask_point_weight_scalar(data->spline, data->point, u);
+ if (weight_scalar != 0.0f) {
+ weight_scalar = 1.0f / weight_scalar;
+ }
+
+ BKE_mask_point_normal(data->spline, data->point, data->uw->u, no);
+ BKE_mask_point_segment_co(data->spline, data->point, data->uw->u, p);
+ }
+ }
+ else {
+ weight = &bezt->weight;
+ /* weight_scalar = 1.0f; keep as is */
+ copy_v2_v2(no, data->no);
+ copy_v2_v2(p, bezt->vec[1]);
+ }
+
+ if (weight) {
+ sub_v2_v2v2(c, offco, p);
+ project_v2_v2v2(vec, c, no);
+
+ w = len_v2(vec);
+
+ if (overall_feather) {
+ float delta;
+
+ if (dot_v2v2(no, vec) <= 0.0f)
+ w = -w;
+
+ delta = w - data->weight;
+
+ if (data->orig_spline == NULL) {
+ /* restore weight for currently sliding point, so orig_spline would be created
+ * with original weights used
+ */
+ *weight = data->weight * weight_scalar;
+
+ data->orig_spline = BKE_mask_spline_copy(data->spline);
+ }
+
+ slide_point_delta_all_feather(data, delta);
+ }
+ else {
+ if (dot_v2v2(no, vec) <= 0.0f)
+ w = 0.0f;
+
+ if (data->orig_spline) {
+ /* restore possible overall feather changes */
+ slide_point_restore_spline(data);
+
+ BKE_mask_spline_free(data->orig_spline);
+ data->orig_spline = NULL;
+ }
+
+ if (weight_scalar != 0.0f) {
+ *weight = w * weight_scalar;
+ }
+ }
+ }
+ }
+
+ WM_event_add_notifier(C, NC_MASK | NA_EDITED, data->mask);
+ DAG_id_tag_update(&data->mask->id, 0);
+
+ break;
+
+ case LEFTMOUSE:
+ if (event->val == KM_RELEASE) {
+ Scene *scene = CTX_data_scene(C);
+
+ /* dont key sliding feather uw's */
+ if ((data->action == SLIDE_ACTION_FEATHER && data->uw) == FALSE) {
+ if (IS_AUTOKEY_ON(scene)) {
+ ED_mask_layer_shape_auto_key(data->masklay, CFRA);
+ }
+ }
+
+ WM_event_add_notifier(C, NC_MASK | NA_EDITED, data->mask);
+ DAG_id_tag_update(&data->mask->id, 0);
+
+ free_slide_point_data(op->customdata); /* keep this last! */
+ return OPERATOR_FINISHED;
+ }
+
+ break;
+
+ case ESCKEY:
+ cancel_slide_point(op->customdata);
+
+ WM_event_add_notifier(C, NC_MASK | NA_EDITED, data->mask);
+ DAG_id_tag_update(&data->mask->id, 0);
+
+ free_slide_point_data(op->customdata); /* keep this last! */
+ return OPERATOR_CANCELLED;
+ }
+
+ return OPERATOR_RUNNING_MODAL;
+}
+
+void MASK_OT_slide_point(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name = "Slide Point";
+ ot->description = "Slide control points";
+ ot->idname = "MASK_OT_slide_point";
+
+ /* api callbacks */
+ ot->invoke = slide_point_invoke;
+ ot->modal = slide_point_modal;
+ ot->poll = ED_maskedit_mask_poll;
+
+ /* flags */
+ ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
+
+ RNA_def_boolean(ot->srna, "slide_feather", 0, "Slide Feather", "First try to slide feather instead of vertex");
+}
+
+/******************** toggle cyclic *********************/
+
+static int cyclic_toggle_exec(bContext *C, wmOperator *UNUSED(op))
+{
+ Mask *mask = CTX_data_edit_mask(C);
+ MaskLayer *masklay;
+
+ for (masklay = mask->masklayers.first; masklay; masklay = masklay->next) {
+ MaskSpline *spline;
+
+ if (masklay->restrictflag & (MASK_RESTRICT_VIEW | MASK_RESTRICT_SELECT)) {
+ continue;
+ }
+
+ for (spline = masklay->splines.first; spline; spline = spline->next) {
+ if (ED_mask_spline_select_check(spline)) {
+ spline->flag ^= MASK_SPLINE_CYCLIC;
+ }
+ }
+ }
+
+ WM_event_add_notifier(C, NC_MASK | NA_EDITED, mask);
+
+ return OPERATOR_FINISHED;
+}
+
+void MASK_OT_cyclic_toggle(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name = "Toggle Cyclic";
+ ot->description = "Toggle cyclic for selected splines";
+ ot->idname = "MASK_OT_cyclic_toggle";
+
+ /* api callbacks */
+ ot->exec = cyclic_toggle_exec;
+ ot->poll = ED_maskedit_mask_poll;
+
+ /* flags */
+ ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
+}
+
+/******************** delete *********************/
+
+static void delete_feather_points(MaskSplinePoint *point)
+{
+ int i, count = 0;
+
+ if (!point->tot_uw)
+ return;
+
+ for (i = 0; i < point->tot_uw; i++) {
+ if ((point->uw[i].flag & SELECT) == 0)
+ count++;
+ }
+
+ if (count == 0) {
+ MEM_freeN(point->uw);
+ point->uw = NULL;
+ point->tot_uw = 0;
+ }
+ else {
+ MaskSplinePointUW *new_uw;
+ int j = 0;
+
+ new_uw = MEM_callocN(count * sizeof(MaskSplinePointUW), "new mask uw points");
+
+ for (i = 0; i < point->tot_uw; i++) {
+ if ((point->uw[i].flag & SELECT) == 0) {
+ new_uw[j++] = point->uw[i];
+ }
+ }
+
+ MEM_freeN(point->uw);
+
+ point->uw = new_uw;
+ point->tot_uw = count;
+ }
+}
+
+static int delete_exec(bContext *C, wmOperator *UNUSED(op))
+{
+ Mask *mask = CTX_data_edit_mask(C);
+ MaskLayer *masklay;
+
+ for (masklay = mask->masklayers.first; masklay; masklay = masklay->next) {
+ MaskSpline *spline;
+ int mask_layer_shape_ofs = 0;
+
+ if (masklay->restrictflag & (MASK_RESTRICT_VIEW | MASK_RESTRICT_SELECT)) {
+ continue;
+ }
+
+ spline = masklay->splines.first;
+
+ while (spline) {
+ const int tot_point_orig = spline->tot_point;
+ int i, count = 0;
+ MaskSpline *next_spline = spline->next;
+
+ /* count unselected points */
+ for (i = 0; i < spline->tot_point; i++) {
+ MaskSplinePoint *point = &spline->points[i];
+
+ if (!MASKPOINT_ISSEL_ANY(point))
+ count++;
+ }
+
+ if (count == 0) {
+
+ /* delete the whole spline */
+ BLI_remlink(&masklay->splines, spline);
+ BKE_mask_spline_free(spline);
+
+ if (spline == masklay->act_spline) {
+ masklay->act_spline = NULL;
+ masklay->act_point = NULL;
+ }
+
+ BKE_mask_layer_shape_changed_remove(masklay, mask_layer_shape_ofs, tot_point_orig);
+ }
+ else {
+ MaskSplinePoint *new_points;
+ int j;
+
+ new_points = MEM_callocN(count * sizeof(MaskSplinePoint), "deleteMaskPoints");
+
+ for (i = 0, j = 0; i < tot_point_orig; i++) {
+ MaskSplinePoint *point = &spline->points[i];
+
+ if (!MASKPOINT_ISSEL_ANY(point)) {
+ if (point == masklay->act_point)
+ masklay->act_point = &new_points[j];
+
+ delete_feather_points(point);
+
+ new_points[j] = *point;
+ j++;
+ }
+ else {
+ if (point == masklay->act_point)
+ masklay->act_point = NULL;
+
+ BKE_mask_point_free(point);
+ spline->tot_point--;
+
+ BKE_mask_layer_shape_changed_remove(masklay, mask_layer_shape_ofs + j, 1);
+ }
+ }
+
+ mask_layer_shape_ofs += spline->tot_point;
+
+ MEM_freeN(spline->points);
+ spline->points = new_points;
+
+ ED_mask_select_flush_all(mask);
+ }
+
+ spline = next_spline;
+ }
+
+ /* not essential but confuses users when there are keys with no data!
+ * assume if they delete all data from the layer they also dont care about keys */
+ if (masklay->splines.first == NULL) {
+ BKE_mask_layer_free_shapes(masklay);
+ }
+ }
+
+ /* TODO: only update edited splines */
+ BKE_mask_update_display(mask, CTX_data_scene(C)->r.cfra);
+
+ WM_event_add_notifier(C, NC_MASK | NA_EDITED, mask);
+
+ return OPERATOR_FINISHED;
+}
+
+void MASK_OT_delete(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name = "Delete";
+ ot->description = "Delete selected control points or splines";
+ ot->idname = "MASK_OT_delete";
+
+ /* api callbacks */
+ ot->invoke = WM_operator_confirm;
+ ot->exec = delete_exec;
+ ot->poll = ED_maskedit_mask_poll;
+
+ /* flags */
+ ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
+}
+
+/* *** switch direction *** */
+static int mask_switch_direction_exec(bContext *C, wmOperator *UNUSED(op))
+{
+ Scene *scene = CTX_data_scene(C);
+ Mask *mask = CTX_data_edit_mask(C);
+ MaskLayer *masklay;
+
+ int change = FALSE;
+
+ /* do actual selection */
+ for (masklay = mask->masklayers.first; masklay; masklay = masklay->next) {
+ MaskSpline *spline;
+ int change_layer = FALSE;
+
+ if (masklay->restrictflag & (MASK_RESTRICT_VIEW | MASK_RESTRICT_SELECT)) {
+ continue;
+ }
+
+ for (spline = masklay->splines.first; spline; spline = spline->next) {
+ if (ED_mask_spline_select_check(spline)) {
+ BKE_mask_spline_direction_switch(masklay, spline);
+ change = TRUE;
+ change_layer = TRUE;
+ }
+ }
+
+ if (change_layer) {
+ if (IS_AUTOKEY_ON(scene)) {
+ ED_mask_layer_shape_auto_key(masklay, CFRA);
+ }
+ }
+ }
+
+ if (change) {
+ /* TODO: only update this spline */
+ BKE_mask_update_display(mask, CTX_data_scene(C)->r.cfra);
+
+ WM_event_add_notifier(C, NC_MASK | ND_SELECT, mask);
+
+ return OPERATOR_FINISHED;
+ }
+
+ return OPERATOR_CANCELLED;
+}
+
+void MASK_OT_switch_direction(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name = "Switch Direction";
+ ot->description = "Switch direction of selected splines";
+ ot->idname = "MASK_OT_switch_direction";
+
+ /* api callbacks */
+ ot->exec = mask_switch_direction_exec;
+ ot->poll = ED_maskedit_mask_poll;
+
+ /* flags */
+ ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
+}
+
+
+/* *** recalc normals *** */
+static int mask_normals_make_consistent_exec(bContext *C, wmOperator *UNUSED(op))
+{
+ Scene *scene = CTX_data_scene(C);
+ Mask *mask = CTX_data_edit_mask(C);
+ MaskLayer *masklay;
+ int i;
+
+ int change = FALSE;
+
+ /* do actual selection */
+ for (masklay = mask->masklayers.first; masklay; masklay = masklay->next) {
+ MaskSpline *spline;
+ int change_layer = FALSE;
+
+ if (masklay->restrictflag & (MASK_RESTRICT_VIEW | MASK_RESTRICT_SELECT)) {
+ continue;
+ }
+
+ for (spline = masklay->splines.first; spline; spline = spline->next) {
+ for (i = 0; i < spline->tot_point; i++) {
+ MaskSplinePoint *point = &spline->points[i];
+
+ if (MASKPOINT_ISSEL_ANY(point)) {
+ BKE_mask_calc_handle_point_auto(spline, point, FALSE);
+ change = TRUE;
+ change_layer = TRUE;
+ }
+ }
+ }
+
+ if (change_layer) {
+ if (IS_AUTOKEY_ON(scene)) {
+ ED_mask_layer_shape_auto_key(masklay, CFRA);
+ }
+ }
+ }
+
+ if (change) {
+ /* TODO: only update this spline */
+ BKE_mask_update_display(mask, CTX_data_scene(C)->r.cfra);
+
+ WM_event_add_notifier(C, NC_MASK | ND_SELECT, mask);
+
+ return OPERATOR_FINISHED;
+ }
+
+ return OPERATOR_CANCELLED;
+}
+
+/* named to match mesh recalc normals */
+void MASK_OT_normals_make_consistent(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name = "Recalc Normals";
+ ot->description = "Re-calculate the direction of selected handles";
+ ot->idname = "MASK_OT_normals_make_consistent";
+
+ /* api callbacks */
+ ot->exec = mask_normals_make_consistent_exec;
+ ot->poll = ED_maskedit_mask_poll;
+
+ /* flags */
+ ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
+}
+
+
+/******************** set handle type *********************/
+
+static int set_handle_type_exec(bContext *C, wmOperator *op)
+{
+ Mask *mask = CTX_data_edit_mask(C);
+ MaskLayer *masklay;
+ int handle_type = RNA_enum_get(op->ptr, "type");
+
+ for (masklay = mask->masklayers.first; masklay; masklay = masklay->next) {
+ MaskSpline *spline;
+ int i;
+
+ if (masklay->restrictflag & (MASK_RESTRICT_VIEW | MASK_RESTRICT_SELECT)) {
+ continue;
+ }
+
+ for (spline = masklay->splines.first; spline; spline = spline->next) {
+ for (i = 0; i < spline->tot_point; i++) {
+ MaskSplinePoint *point = &spline->points[i];
+
+ if (MASKPOINT_ISSEL_ANY(point)) {
+ BezTriple *bezt = &point->bezt;
+
+ bezt->h1 = bezt->h2 = handle_type;
+ }
+ }
+ }
+ }
+
+ WM_event_add_notifier(C, NC_MASK | ND_DATA, mask);
+ DAG_id_tag_update(&mask->id, 0);
+
+ return OPERATOR_FINISHED;
+}
+
+void MASK_OT_handle_type_set(wmOperatorType *ot)
+{
+ static EnumPropertyItem editcurve_handle_type_items[] = {
+ {HD_AUTO, "AUTO", 0, "Auto", ""},
+ {HD_VECT, "VECTOR", 0, "Vector", ""},
+ {HD_ALIGN, "ALIGNED", 0, "Aligned", ""},
+ {0, NULL, 0, NULL, NULL}
+ };
+
+ /* identifiers */
+ ot->name = "Set Handle Type";
+ ot->description = "Set type of handles for selected control points";
+ ot->idname = "MASK_OT_handle_type_set";
+
+ /* api callbacks */
+ ot->invoke = WM_menu_invoke;
+ ot->exec = set_handle_type_exec;
+ ot->poll = ED_maskedit_mask_poll;
+
+ /* flags */
+ ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
+
+ /* properties */
+ ot->prop = RNA_def_enum(ot->srna, "type", editcurve_handle_type_items, 1, "Type", "Spline type");
+}
+
+
+/* ********* clear/set restrict view *********/
+static int mask_hide_view_clear_exec(bContext *C, wmOperator *UNUSED(op))
+{
+ Mask *mask = CTX_data_edit_mask(C);
+ MaskLayer *masklay;
+ int changed = FALSE;
+
+ for (masklay = mask->masklayers.first; masklay; masklay = masklay->next) {
+
+ if (masklay->restrictflag & OB_RESTRICT_VIEW) {
+ ED_mask_layer_select_set(masklay, TRUE);
+ masklay->restrictflag &= ~OB_RESTRICT_VIEW;
+ changed = 1;
+ }
+ }
+
+ if (changed) {
+ WM_event_add_notifier(C, NC_MASK | ND_DRAW, mask);
+ DAG_id_tag_update(&mask->id, 0);
+
+ return OPERATOR_FINISHED;
+ }
+ else {
+ return OPERATOR_CANCELLED;
+ }
+}
+
+void MASK_OT_hide_view_clear(wmOperatorType *ot)
+{
+
+ /* identifiers */
+ ot->name = "Clear Restrict View";
+ ot->description = "Reveal the layer by setting the hide flag";
+ ot->idname = "MASK_OT_hide_view_clear";
+
+ /* api callbacks */
+ ot->exec = mask_hide_view_clear_exec;
+ ot->poll = ED_maskedit_mask_poll;
+
+ /* flags */
+ ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
+}
+
+static int mask_hide_view_set_exec(bContext *C, wmOperator *op)
+{
+ Mask *mask = CTX_data_edit_mask(C);
+ MaskLayer *masklay;
+ const int unselected = RNA_boolean_get(op->ptr, "unselected");
+ int changed = FALSE;
+
+ for (masklay = mask->masklayers.first; masklay; masklay = masklay->next) {
+
+ if (masklay->restrictflag & MASK_RESTRICT_SELECT) {
+ continue;
+ }
+
+ if (!unselected) {
+ if (ED_mask_layer_select_check(masklay)) {
+ ED_mask_layer_select_set(masklay, FALSE);
+
+ masklay->restrictflag |= OB_RESTRICT_VIEW;
+ changed = 1;
+ if (masklay == BKE_mask_layer_active(mask)) {
+ BKE_mask_layer_active_set(mask, NULL);
+ }
+ }
+ }
+ else {
+ if (!ED_mask_layer_select_check(masklay)) {
+ masklay->restrictflag |= OB_RESTRICT_VIEW;
+ changed = 1;
+ if (masklay == BKE_mask_layer_active(mask)) {
+ BKE_mask_layer_active_set(mask, NULL);
+ }
+ }
+ }
+ }
+
+ if (changed) {
+ WM_event_add_notifier(C, NC_MASK | ND_DRAW, mask);
+ DAG_id_tag_update(&mask->id, 0);
+
+ return OPERATOR_FINISHED;
+ }
+ else {
+ return OPERATOR_CANCELLED;
+ }
+}
+
+void MASK_OT_hide_view_set(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name = "Set Restrict View";
+ ot->description = "Hide the layer by setting the hide flag";
+ ot->idname = "MASK_OT_hide_view_set";
+
+ /* api callbacks */
+ ot->exec = mask_hide_view_set_exec;
+ ot->poll = ED_maskedit_mask_poll;
+
+ /* flags */
+ ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
+
+ RNA_def_boolean(ot->srna, "unselected", 0, "Unselected", "Hide unselected rather than selected layers");
+}
+
+
+static int mask_feather_weight_clear_exec(bContext *C, wmOperator *UNUSED(op))
+{
+ Mask *mask = CTX_data_edit_mask(C);
+ MaskLayer *masklay;
+ int changed = FALSE;
+ int i;
+
+ for (masklay = mask->masklayers.first; masklay; masklay = masklay->next) {
+ MaskSpline *spline;
+
+ if (masklay->restrictflag & (MASK_RESTRICT_SELECT | MASK_RESTRICT_VIEW)) {
+ continue;
+ }
+
+ for (spline = masklay->splines.first; spline; spline = spline->next) {
+ for (i = 0; i < spline->tot_point; i++) {
+ MaskSplinePoint *point = &spline->points[i];
+
+ if (MASKPOINT_ISSEL_ANY(point)) {
+ BezTriple *bezt = &point->bezt;
+ bezt->weight = 0.0f;
+ changed = TRUE;
+ }
+ }
+ }
+ }
+
+ if (changed) {
+ /* TODO: only update edited splines */
+ BKE_mask_update_display(mask, CTX_data_scene(C)->r.cfra);
+
+ WM_event_add_notifier(C, NC_MASK | ND_DRAW, mask);
+ DAG_id_tag_update(&mask->id, 0);
+
+ return OPERATOR_FINISHED;
+ }
+ else {
+ return OPERATOR_CANCELLED;
+ }
+}
+
+void MASK_OT_feather_weight_clear(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name = "Clear Feather Weight";
+ ot->description = "Reset the feather weight to zero";
+ ot->idname = "MASK_OT_feather_weight_clear";
+
+ /* api callbacks */
+ ot->exec = mask_feather_weight_clear_exec;
+ ot->poll = ED_maskedit_mask_poll;
+
+ /* flags */
+ ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
+}
diff --git a/source/blender/editors/mask/mask_relationships.c b/source/blender/editors/mask/mask_relationships.c
new file mode 100644
index 00000000000..7ba3c27e18d
--- /dev/null
+++ b/source/blender/editors/mask/mask_relationships.c
@@ -0,0 +1,172 @@
+/*
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * The Original Code is Copyright (C) 2012 Blender Foundation.
+ * All rights reserved.
+ *
+ *
+ * Contributor(s): Blender Foundation,
+ * Campbell Barton
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file blender/editors/mask/mask_relationships.c
+ * \ingroup edmask
+ */
+
+
+#include "BLI_math.h"
+
+#include "BKE_context.h"
+#include "BKE_depsgraph.h"
+#include "BKE_mask.h"
+#include "BKE_tracking.h"
+
+#include "DNA_mask_types.h"
+#include "DNA_object_types.h" /* SELECT */
+
+#include "WM_api.h"
+#include "WM_types.h"
+
+#include "ED_screen.h"
+#include "ED_mask.h" /* own include */
+
+#include "mask_intern.h" /* own include */
+
+static int mask_parent_clear_exec(bContext *C, wmOperator *UNUSED(op))
+{
+ Mask *mask = CTX_data_edit_mask(C);
+ MaskLayer *masklay;
+
+ for (masklay = mask->masklayers.first; masklay; masklay = masklay->next) {
+ MaskSpline *spline;
+ int i;
+
+ if (masklay->restrictflag & (MASK_RESTRICT_VIEW | MASK_RESTRICT_SELECT)) {
+ continue;
+ }
+
+ for (spline = masklay->splines.first; spline; spline = spline->next) {
+ for (i = 0; i < spline->tot_point; i++) {
+ MaskSplinePoint *point = &spline->points[i];
+
+ if (MASKPOINT_ISSEL_ANY(point)) {
+ point->parent.id = NULL;
+ }
+ }
+ }
+ }
+
+ WM_event_add_notifier(C, NC_MASK | ND_DATA, mask);
+ DAG_id_tag_update(&mask->id, 0);
+
+ return OPERATOR_FINISHED;
+}
+
+void MASK_OT_parent_clear(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name = "Clear Parent";
+ ot->description = "Clear the mask's parenting";
+ ot->idname = "MASK_OT_parent_clear";
+
+ /* api callbacks */
+ ot->exec = mask_parent_clear_exec;
+
+ ot->poll = ED_maskedit_mask_poll;
+
+ /* flags */
+ ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
+}
+
+static int mask_parent_set_exec(bContext *C, wmOperator *UNUSED(op))
+{
+ Mask *mask = CTX_data_edit_mask(C);
+ MaskLayer *masklay;
+
+ /* parent info */
+ SpaceClip *sc;
+ MovieClip *clip;
+ MovieTrackingTrack *track;
+ MovieTrackingMarker *marker;
+ MovieTrackingObject *tracking;
+ /* done */
+
+ float marker_pos_ofs[2];
+ float parmask_pos[2];
+
+ if ((NULL == (sc = CTX_wm_space_clip(C))) ||
+ (NULL == (clip = sc->clip)) ||
+ (NULL == (track = clip->tracking.act_track)) ||
+ (NULL == (marker = BKE_tracking_marker_get(track, sc->user.framenr))) ||
+ (NULL == (tracking = BKE_tracking_object_get_active(&clip->tracking))))
+ {
+ return OPERATOR_CANCELLED;
+ }
+
+ add_v2_v2v2(marker_pos_ofs, marker->pos, track->offset);
+
+ BKE_mask_coord_from_movieclip(clip, &sc->user, parmask_pos, marker_pos_ofs);
+
+ for (masklay = mask->masklayers.first; masklay; masklay = masklay->next) {
+ MaskSpline *spline;
+ int i;
+
+ if (masklay->restrictflag & (MASK_RESTRICT_VIEW | MASK_RESTRICT_SELECT)) {
+ continue;
+ }
+
+ for (spline = masklay->splines.first; spline; spline = spline->next) {
+ for (i = 0; i < spline->tot_point; i++) {
+ MaskSplinePoint *point = &spline->points[i];
+
+ if (MASKPOINT_ISSEL_ANY(point)) {
+ point->parent.id_type = ID_MC;
+ point->parent.id = &clip->id;
+ strcpy(point->parent.parent, tracking->name);
+ strcpy(point->parent.sub_parent, track->name);
+
+ copy_v2_v2(point->parent.parent_orig, parmask_pos);
+ }
+ }
+ }
+ }
+
+ WM_event_add_notifier(C, NC_MASK | ND_DATA, mask);
+ DAG_id_tag_update(&mask->id, 0);
+
+ return OPERATOR_FINISHED;
+}
+
+/** based on #OBJECT_OT_parent_set */
+void MASK_OT_parent_set(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name = "Make Parent";
+ ot->description = "Set the mask's parenting";
+ ot->idname = "MASK_OT_parent_set";
+
+ /* api callbacks */
+ //ot->invoke = mask_parent_set_invoke;
+ ot->exec = mask_parent_set_exec;
+
+ ot->poll = ED_maskedit_mask_poll;
+
+ /* flags */
+ ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
+}
diff --git a/source/blender/editors/mask/mask_select.c b/source/blender/editors/mask/mask_select.c
new file mode 100644
index 00000000000..55e09529320
--- /dev/null
+++ b/source/blender/editors/mask/mask_select.c
@@ -0,0 +1,766 @@
+/*
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * The Original Code is Copyright (C) 2012 Blender Foundation.
+ * All rights reserved.
+ *
+ *
+ * Contributor(s): Blender Foundation,
+ * Sergey Sharybin
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file blender/editors/mask/mask_select.c
+ * \ingroup edmask
+ */
+
+#include "MEM_guardedalloc.h"
+
+#include "BLI_utildefines.h"
+#include "BLI_rect.h"
+#include "BLI_lasso.h"
+
+#include "BKE_context.h"
+#include "BKE_mask.h"
+
+#include "DNA_mask_types.h"
+#include "DNA_object_types.h" /* SELECT */
+
+#include "WM_api.h"
+#include "WM_types.h"
+
+#include "ED_screen.h"
+#include "ED_clip.h"
+#include "ED_mask.h" /* own include */
+
+#include "RNA_access.h"
+#include "RNA_define.h"
+
+#include "mask_intern.h" /* own include */
+
+/* 'check' select */
+int ED_mask_spline_select_check(MaskSpline *spline)
+{
+ int i;
+
+ for (i = 0; i < spline->tot_point; i++) {
+ MaskSplinePoint *point = &spline->points[i];
+
+ if (MASKPOINT_ISSEL_ANY(point))
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+int ED_mask_layer_select_check(MaskLayer *masklay)
+{
+ MaskSpline *spline;
+
+ if (masklay->restrictflag & (MASK_RESTRICT_VIEW | MASK_RESTRICT_SELECT)) {
+ return FALSE;
+ }
+
+ for (spline = masklay->splines.first; spline; spline = spline->next) {
+ if (ED_mask_spline_select_check(spline)) {
+ return TRUE;
+ }
+ }
+
+ return FALSE;
+}
+
+int ED_mask_select_check(Mask *mask)
+{
+ MaskLayer *masklay;
+
+ for (masklay = mask->masklayers.first; masklay; masklay = masklay->next) {
+ if (ED_mask_layer_select_check(masklay)) {
+ return TRUE;
+ }
+ }
+
+ return FALSE;
+}
+
+/* 'sel' select */
+void ED_mask_spline_select_set(MaskSpline *spline, const short do_select)
+{
+ int i;
+
+ if (do_select)
+ spline->flag |= SELECT;
+ else
+ spline->flag &= ~SELECT;
+
+ for (i = 0; i < spline->tot_point; i++) {
+ MaskSplinePoint *point = &spline->points[i];
+
+ BKE_mask_point_select_set(point, do_select);
+ }
+}
+
+void ED_mask_layer_select_set(MaskLayer *masklay, const short do_select)
+{
+ MaskSpline *spline;
+
+ if (masklay->restrictflag & MASK_RESTRICT_SELECT) {
+ if (do_select == TRUE) {
+ return;
+ }
+ }
+
+ for (spline = masklay->splines.first; spline; spline = spline->next) {
+ ED_mask_spline_select_set(spline, do_select);
+ }
+}
+
+void ED_mask_select_toggle_all(Mask *mask, int action)
+{
+ MaskLayer *masklay;
+
+ if (action == SEL_TOGGLE) {
+ if (ED_mask_select_check(mask))
+ action = SEL_DESELECT;
+ else
+ action = SEL_SELECT;
+ }
+
+ for (masklay = mask->masklayers.first; masklay; masklay = masklay->next) {
+
+ if (masklay->restrictflag & MASK_RESTRICT_VIEW) {
+ continue;
+ }
+
+ ED_mask_layer_select_set(masklay, (action == SEL_SELECT) ? TRUE : FALSE);
+ }
+}
+
+void ED_mask_select_flush_all(Mask *mask)
+{
+ MaskLayer *masklay;
+
+ for (masklay = mask->masklayers.first; masklay; masklay = masklay->next) {
+ MaskSpline *spline;
+
+ for (spline = masklay->splines.first; spline; spline = spline->next) {
+ int i;
+
+ spline->flag &= ~SELECT;
+
+ /* intentionally _dont_ do this in the masklay loop
+ * so we clear flags on all splines */
+ if (masklay->restrictflag & MASK_RESTRICT_VIEW) {
+ continue;
+ }
+
+ for (i = 0; i < spline->tot_point; i++) {
+ MaskSplinePoint *cur_point = &spline->points[i];
+
+ if (MASKPOINT_ISSEL_ANY(cur_point)) {
+ spline->flag |= SELECT;
+ }
+ else {
+ int j;
+
+ for (j = 0; j < cur_point->tot_uw; j++) {
+ if (cur_point->uw[j].flag & SELECT) {
+ spline->flag |= SELECT;
+ break;
+ }
+ }
+ }
+ }
+ }
+ }
+}
+
+/******************** toggle selection *********************/
+
+static int select_all_exec(bContext *C, wmOperator *op)
+{
+ Mask *mask = CTX_data_edit_mask(C);
+ int action = RNA_enum_get(op->ptr, "action");
+
+ ED_mask_select_toggle_all(mask, action);
+ ED_mask_select_flush_all(mask);
+
+ WM_event_add_notifier(C, NC_MASK | ND_SELECT, mask);
+
+ return OPERATOR_FINISHED;
+}
+
+void MASK_OT_select_all(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name = "(De)select All";
+ ot->description = "Change selection of all curve points";
+ ot->idname = "MASK_OT_select_all";
+
+ /* api callbacks */
+ ot->exec = select_all_exec;
+ ot->poll = ED_maskedit_mask_poll;
+
+ /* flags */
+ ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
+
+ /* properties */
+ WM_operator_properties_select_all(ot);
+}
+
+/******************** select *********************/
+
+static int select_exec(bContext *C, wmOperator *op)
+{
+ Mask *mask = CTX_data_edit_mask(C);
+ MaskLayer *masklay;
+ MaskSpline *spline;
+ MaskSplinePoint *point = NULL;
+ float co[2];
+ short extend = RNA_boolean_get(op->ptr, "extend");
+ short deselect = RNA_boolean_get(op->ptr, "deselect");
+ short toggle = RNA_boolean_get(op->ptr, "toggle");
+
+ int is_handle = 0;
+ const float threshold = 19;
+
+ RNA_float_get_array(op->ptr, "location", co);
+
+ point = ED_mask_point_find_nearest(C, mask, co, threshold, &masklay, &spline, &is_handle, NULL);
+
+ if (extend == 0 && deselect == 0 && toggle == 0)
+ ED_mask_select_toggle_all(mask, SEL_DESELECT);
+
+ if (point) {
+
+ if (is_handle) {
+ if (extend) {
+ masklay->act_spline = spline;
+ masklay->act_point = point;
+
+ BKE_mask_point_select_set_handle(point, TRUE);
+ }
+ else if (deselect) {
+ BKE_mask_point_select_set_handle(point, FALSE);
+ }
+ else {
+ masklay->act_spline = spline;
+ masklay->act_point = point;
+
+ if (!MASKPOINT_ISSEL_HANDLE(point)) {
+ BKE_mask_point_select_set_handle(point, TRUE);
+ }
+ else if (toggle) {
+ BKE_mask_point_select_set_handle(point, FALSE);
+ }
+ }
+ }
+ else {
+ if (extend) {
+ masklay->act_spline = spline;
+ masklay->act_point = point;
+
+ BKE_mask_point_select_set(point, TRUE);
+ }
+ else if (deselect) {
+ BKE_mask_point_select_set(point, FALSE);
+ }
+ else {
+ masklay->act_spline = spline;
+ masklay->act_point = point;
+
+ if (!MASKPOINT_ISSEL_ANY(point)) {
+ BKE_mask_point_select_set(point, TRUE);
+ }
+ else if (toggle) {
+ BKE_mask_point_select_set(point, FALSE);
+ }
+ }
+ }
+
+ masklay->act_spline = spline;
+ masklay->act_point = point;
+
+ ED_mask_select_flush_all(mask);
+
+ WM_event_add_notifier(C, NC_MASK | ND_SELECT, mask);
+
+ return OPERATOR_FINISHED;
+ }
+ else {
+ MaskSplinePointUW *uw;
+
+ if (ED_mask_feather_find_nearest(C, mask, co, threshold, &masklay, &spline, &point, &uw, NULL)) {
+
+ if (extend) {
+ masklay->act_spline = spline;
+ masklay->act_point = point;
+
+ if (uw) uw->flag |= SELECT;
+ }
+ else if (deselect) {
+ if (uw) uw->flag &= ~SELECT;
+ }
+ else {
+ masklay->act_spline = spline;
+ masklay->act_point = point;
+
+ if (uw) {
+ if (!(uw->flag & SELECT)) {
+ uw->flag |= SELECT;
+ }
+ else if (toggle) {
+ uw->flag &= ~SELECT;
+ }
+ }
+ }
+
+ ED_mask_select_flush_all(mask);
+
+ WM_event_add_notifier(C, NC_MASK | ND_SELECT, mask);
+
+ return OPERATOR_FINISHED;
+ }
+ }
+
+ return OPERATOR_PASS_THROUGH;
+}
+
+static int select_invoke(bContext *C, wmOperator *op, wmEvent *event)
+{
+ float co[2];
+
+ ED_mask_mouse_pos(C, event, co);
+
+ RNA_float_set_array(op->ptr, "location", co);
+
+ return select_exec(C, op);
+}
+
+void MASK_OT_select(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name = "Select";
+ ot->description = "Select spline points";
+ ot->idname = "MASK_OT_select";
+
+ /* api callbacks */
+ ot->exec = select_exec;
+ ot->invoke = select_invoke;
+ ot->poll = ED_maskedit_mask_poll;
+
+ /* flags */
+ ot->flag = OPTYPE_UNDO;
+
+ /* properties */
+ WM_operator_properties_mouse_select(ot);
+
+ RNA_def_float_vector(ot->srna, "location", 2, NULL, -FLT_MIN, FLT_MAX,
+ "Location", "Location of vertex in normalized space", -1.0f, 1.0f);
+}
+
+
+
+/********************** border select operator *********************/
+
+static int border_select_exec(bContext *C, wmOperator *op)
+{
+ Mask *mask = CTX_data_edit_mask(C);
+ MaskLayer *masklay;
+ int i;
+
+ rcti rect;
+ rctf rectf;
+ int change = FALSE, mode, extend;
+
+ /* get rectangle from operator */
+ rect.xmin = RNA_int_get(op->ptr, "xmin");
+ rect.ymin = RNA_int_get(op->ptr, "ymin");
+ rect.xmax = RNA_int_get(op->ptr, "xmax");
+ rect.ymax = RNA_int_get(op->ptr, "ymax");
+
+ ED_mask_point_pos(C, rect.xmin, rect.ymin, &rectf.xmin, &rectf.ymin);
+ ED_mask_point_pos(C, rect.xmax, rect.ymax, &rectf.xmax, &rectf.ymax);
+
+ mode = RNA_int_get(op->ptr, "gesture_mode");
+ extend = RNA_boolean_get(op->ptr, "extend");
+
+ /* do actual selection */
+ for (masklay = mask->masklayers.first; masklay; masklay = masklay->next) {
+ MaskSpline *spline;
+
+ if (masklay->restrictflag & (MASK_RESTRICT_VIEW | MASK_RESTRICT_SELECT)) {
+ continue;
+ }
+
+ for (spline = masklay->splines.first; spline; spline = spline->next) {
+ MaskSplinePoint *points_array = BKE_mask_spline_point_array(spline);
+
+ for (i = 0; i < spline->tot_point; i++) {
+ MaskSplinePoint *point = &spline->points[i];
+ MaskSplinePoint *point_deform = &points_array[i];
+
+ /* TODO: handles? */
+ /* TODO: uw? */
+
+ if (BLI_in_rctf(&rectf, point_deform->bezt.vec[1][0], point_deform->bezt.vec[1][1])) {
+ BKE_mask_point_select_set(point, mode == GESTURE_MODAL_SELECT);
+ BKE_mask_point_select_set_handle(point, mode == GESTURE_MODAL_SELECT);
+ }
+ else if (!extend) {
+ BKE_mask_point_select_set(point, FALSE);
+ BKE_mask_point_select_set_handle(point, FALSE);
+ }
+
+ change = TRUE;
+ }
+ }
+ }
+
+ if (change) {
+ ED_mask_select_flush_all(mask);
+
+ WM_event_add_notifier(C, NC_MASK | ND_SELECT, mask);
+
+ return OPERATOR_FINISHED;
+ }
+
+ return OPERATOR_CANCELLED;
+}
+
+void MASK_OT_select_border(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name = "Border Select";
+ ot->description = "Select markers using border selection";
+ ot->idname = "MASK_OT_select_border";
+
+ /* api callbacks */
+ ot->invoke = WM_border_select_invoke;
+ ot->exec = border_select_exec;
+ ot->modal = WM_border_select_modal;
+ ot->poll = ED_maskedit_mask_poll;
+
+ /* flags */
+ ot->flag = OPTYPE_UNDO;
+
+ /* properties */
+ WM_operator_properties_gesture_border(ot, TRUE);
+}
+
+static int do_lasso_select_mask(bContext *C, int mcords[][2], short moves, short select)
+{
+ Mask *mask = CTX_data_edit_mask(C);
+ MaskLayer *masklay;
+ int i;
+
+ rcti rect;
+ int change = FALSE;
+
+ /* get rectangle from operator */
+ BLI_lasso_boundbox(&rect, mcords, moves);
+
+ /* do actual selection */
+ for (masklay = mask->masklayers.first; masklay; masklay = masklay->next) {
+ MaskSpline *spline;
+
+ if (masklay->restrictflag & (MASK_RESTRICT_VIEW | MASK_RESTRICT_SELECT)) {
+ continue;
+ }
+
+ for (spline = masklay->splines.first; spline; spline = spline->next) {
+ MaskSplinePoint *points_array = BKE_mask_spline_point_array(spline);
+
+ for (i = 0; i < spline->tot_point; i++) {
+ MaskSplinePoint *point = &spline->points[i];
+ MaskSplinePoint *point_deform = &points_array[i];
+
+ /* TODO: handles? */
+ /* TODO: uw? */
+
+ float screen_co[2];
+
+ /* marker in screen coords */
+ ED_mask_point_pos__reverse(C,
+ point_deform->bezt.vec[1][0], point_deform->bezt.vec[1][1],
+ &screen_co[0], &screen_co[1]);
+
+ if (BLI_in_rcti(&rect, screen_co[0], screen_co[1]) &&
+ BLI_lasso_is_point_inside(mcords, moves, screen_co[0], screen_co[1], INT_MAX))
+ {
+ BKE_mask_point_select_set(point, select);
+ BKE_mask_point_select_set_handle(point, select);
+ }
+
+ change = TRUE;
+ }
+ }
+ }
+
+ if (change) {
+ ED_mask_select_flush_all(mask);
+
+ WM_event_add_notifier(C, NC_MASK | ND_SELECT, mask);
+ }
+
+ return change;
+}
+
+static int clip_lasso_select_exec(bContext *C, wmOperator *op)
+{
+ int mcords_tot;
+ int (*mcords)[2] = WM_gesture_lasso_path_to_array(C, op, &mcords_tot);
+
+ if (mcords) {
+ short select;
+
+ select = !RNA_boolean_get(op->ptr, "deselect");
+ do_lasso_select_mask(C, mcords, mcords_tot, select);
+
+ MEM_freeN(mcords);
+
+ return OPERATOR_FINISHED;
+ }
+ return OPERATOR_PASS_THROUGH;
+}
+
+void MASK_OT_select_lasso(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name = "Lasso Select";
+ ot->description = "Select markers using lasso selection";
+ ot->idname = "MASK_OT_select_lasso";
+
+ /* api callbacks */
+ ot->invoke = WM_gesture_lasso_invoke;
+ ot->modal = WM_gesture_lasso_modal;
+ ot->exec = clip_lasso_select_exec;
+ ot->poll = ED_maskedit_mask_poll;
+ ot->cancel = WM_gesture_lasso_cancel;
+
+ /* flags */
+ ot->flag = OPTYPE_UNDO;
+
+ /* properties */
+ RNA_def_collection_runtime(ot->srna, "path", &RNA_OperatorMousePath, "Path", "");
+ RNA_def_boolean(ot->srna, "deselect", 0, "Deselect", "Deselect rather than select items");
+ RNA_def_boolean(ot->srna, "extend", 1, "Extend", "Extend selection instead of deselecting everything first");
+}
+
+/********************** circle select operator *********************/
+
+static int mask_spline_point_inside_ellipse(BezTriple *bezt, float offset[2], float ellipse[2])
+{
+ /* normalized ellipse: ell[0] = scaleX, ell[1] = scaleY */
+ float x, y;
+
+ x = (bezt->vec[1][0] - offset[0]) * ellipse[0];
+ y = (bezt->vec[1][1] - offset[1]) * ellipse[1];
+
+ return x * x + y * y < 1.0f;
+}
+
+static int circle_select_exec(bContext *C, wmOperator *op)
+{
+ Mask *mask = CTX_data_edit_mask(C);
+ MaskLayer *masklay;
+ int i;
+
+ SpaceClip *sc = CTX_wm_space_clip(C);
+ ARegion *ar = CTX_wm_region(C);
+ int x, y, radius, width, height, mode, change = FALSE;
+ float zoomx, zoomy, offset[2], ellipse[2];
+
+ /* get operator properties */
+ x = RNA_int_get(op->ptr, "x");
+ y = RNA_int_get(op->ptr, "y");
+ radius = RNA_int_get(op->ptr, "radius");
+
+ mode = RNA_int_get(op->ptr, "gesture_mode");
+
+ /* TODO - make generic! - this is SpaceClip only! */
+ /* compute ellipse and position in unified coordinates */
+ ED_space_clip_size(sc, &width, &height);
+ ED_space_clip_zoom(sc, ar, &zoomx, &zoomy);
+ width = height = MAX2(width, height);
+
+ ellipse[0] = width * zoomx / radius;
+ ellipse[1] = height * zoomy / radius;
+
+ ED_mask_point_pos(C, x, y, &offset[0], &offset[1]);
+
+ /* do actual selection */
+ for (masklay = mask->masklayers.first; masklay; masklay = masklay->next) {
+ MaskSpline *spline;
+
+ if (masklay->restrictflag & (MASK_RESTRICT_VIEW | MASK_RESTRICT_SELECT)) {
+ continue;
+ }
+
+ for (spline = masklay->splines.first; spline; spline = spline->next) {
+ MaskSplinePoint *points_array = BKE_mask_spline_point_array(spline);
+
+ for (i = 0; i < spline->tot_point; i++) {
+ MaskSplinePoint *point = &spline->points[i];
+ MaskSplinePoint *point_deform = &points_array[i];
+
+ if (mask_spline_point_inside_ellipse(&point_deform->bezt, offset, ellipse)) {
+ BKE_mask_point_select_set(point, mode == GESTURE_MODAL_SELECT);
+ BKE_mask_point_select_set_handle(point, mode == GESTURE_MODAL_SELECT);
+
+ change = TRUE;
+ }
+ }
+ }
+ }
+
+ if (change) {
+ ED_mask_select_flush_all(mask);
+
+ WM_event_add_notifier(C, NC_MASK | ND_SELECT, mask);
+
+ return OPERATOR_FINISHED;
+ }
+
+ return OPERATOR_CANCELLED;
+}
+
+void MASK_OT_select_circle(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name = "Circle Select";
+ ot->description = "Select markers using circle selection";
+ ot->idname = "MASK_OT_select_circle";
+
+ /* api callbacks */
+ ot->invoke = WM_gesture_circle_invoke;
+ ot->modal = WM_gesture_circle_modal;
+ ot->exec = circle_select_exec;
+ ot->poll = ED_maskedit_mask_poll;
+
+ /* flags */
+ ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
+
+ /* properties */
+ RNA_def_int(ot->srna, "x", 0, INT_MIN, INT_MAX, "X", "", INT_MIN, INT_MAX);
+ RNA_def_int(ot->srna, "y", 0, INT_MIN, INT_MAX, "Y", "", INT_MIN, INT_MAX);
+ RNA_def_int(ot->srna, "radius", 0, INT_MIN, INT_MAX, "Radius", "", INT_MIN, INT_MAX);
+ RNA_def_int(ot->srna, "gesture_mode", 0, INT_MIN, INT_MAX, "Gesture Mode", "", INT_MIN, INT_MAX);
+}
+
+static int mask_select_linked_pick_invoke(bContext *C, wmOperator *op, wmEvent *event)
+{
+ Mask *mask = CTX_data_edit_mask(C);
+ MaskLayer *masklay;
+ MaskSpline *spline;
+ MaskSplinePoint *point = NULL;
+ float co[2];
+ int do_select = !RNA_boolean_get(op->ptr, "deselect");
+
+ int is_handle = 0;
+ const float threshold = 19;
+ int change = FALSE;
+
+ ED_mask_mouse_pos(C, event, co);
+
+ point = ED_mask_point_find_nearest(C, mask, co, threshold, &masklay, &spline, &is_handle, NULL);
+
+ if (point) {
+ ED_mask_spline_select_set(spline, do_select);
+ masklay->act_spline = spline;
+ masklay->act_point = point;
+
+ change = TRUE;
+ }
+
+ if (change) {
+ ED_mask_select_flush_all(mask);
+
+ WM_event_add_notifier(C, NC_MASK | ND_SELECT, mask);
+
+ return OPERATOR_FINISHED;
+ }
+
+ return OPERATOR_CANCELLED;
+}
+
+void MASK_OT_select_linked_pick(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name = "Select Linked";
+ ot->idname = "MASK_OT_select_linked_pick";
+ ot->description = "(De)select all points linked to the curve under the mouse cursor";
+
+ /* api callbacks */
+ ot->invoke = mask_select_linked_pick_invoke;
+ ot->poll = ED_maskedit_mask_poll;
+
+ /* flags */
+ ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
+
+ RNA_def_boolean(ot->srna, "deselect", 0, "Deselect", "");
+}
+
+static int mask_select_linked_exec(bContext *C, wmOperator *UNUSED(op))
+{
+ Mask *mask = CTX_data_edit_mask(C);
+ MaskLayer *masklay;
+
+ int change = FALSE;
+
+ /* do actual selection */
+ for (masklay = mask->masklayers.first; masklay; masklay = masklay->next) {
+ MaskSpline *spline;
+
+ if (masklay->restrictflag & (MASK_RESTRICT_VIEW | MASK_RESTRICT_SELECT)) {
+ continue;
+ }
+
+ for (spline = masklay->splines.first; spline; spline = spline->next) {
+ if (ED_mask_spline_select_check(spline)) {
+ ED_mask_spline_select_set(spline, TRUE);
+ change = TRUE;
+ }
+ }
+ }
+
+ if (change) {
+ ED_mask_select_flush_all(mask);
+
+ WM_event_add_notifier(C, NC_MASK | ND_SELECT, mask);
+
+ return OPERATOR_FINISHED;
+ }
+
+ return OPERATOR_CANCELLED;
+}
+
+void MASK_OT_select_linked(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name = "Select Linked All";
+ ot->idname = "MASK_OT_select_linked";
+ ot->description = "Select all vertices linked to the active mesh";
+
+ /* api callbacks */
+ ot->exec = mask_select_linked_exec;
+ ot->poll = ED_maskedit_mask_poll;
+
+ /* flags */
+ ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
+}
diff --git a/source/blender/editors/mask/mask_shapekey.c b/source/blender/editors/mask/mask_shapekey.c
new file mode 100644
index 00000000000..8da083ab400
--- /dev/null
+++ b/source/blender/editors/mask/mask_shapekey.c
@@ -0,0 +1,276 @@
+/*
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * The Original Code is Copyright (C) 2012 Blender Foundation.
+ * All rights reserved.
+ *
+ *
+ * Contributor(s): Blender Foundation,
+ * Campbell Barton
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file blender/editors/mask/mask_shapekey.c
+ * \ingroup edmask
+ */
+
+#include "BLI_utildefines.h"
+
+#include "BKE_context.h"
+#include "BKE_depsgraph.h"
+#include "BKE_mask.h"
+
+#include "DNA_object_types.h"
+#include "DNA_mask_types.h"
+#include "DNA_scene_types.h"
+
+#include "WM_api.h"
+#include "WM_types.h"
+
+#include "ED_mask.h" /* own include */
+
+#include "mask_intern.h" /* own include */
+
+static int mask_shape_key_insert_exec(bContext *C, wmOperator *UNUSED(op))
+{
+ Scene *scene = CTX_data_scene(C);
+ const int frame = CFRA;
+ Mask *mask = CTX_data_edit_mask(C);
+ MaskLayer *masklay;
+ int change = FALSE;
+
+ for (masklay = mask->masklayers.first; masklay; masklay = masklay->next) {
+ MaskLayerShape *masklay_shape;
+
+ if (!ED_mask_layer_select_check(masklay)) {
+ continue;
+ }
+
+ masklay_shape = BKE_mask_layer_shape_varify_frame(masklay, frame);
+ BKE_mask_layer_shape_from_mask(masklay, masklay_shape);
+ change = TRUE;
+ }
+
+ if (change) {
+ WM_event_add_notifier(C, NC_MASK | ND_DATA, mask);
+ DAG_id_tag_update(&mask->id, 0);
+
+ return OPERATOR_FINISHED;
+ }
+ else {
+ return OPERATOR_CANCELLED;
+ }
+}
+
+void MASK_OT_shape_key_insert(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name = "Insert Shape Key";
+ ot->description = "";
+ ot->idname = "MASK_OT_shape_key_insert";
+
+ /* api callbacks */
+ ot->exec = mask_shape_key_insert_exec;
+ ot->poll = ED_maskedit_mask_poll;
+
+ /* flags */
+ ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
+}
+
+static int mask_shape_key_clear_exec(bContext *C, wmOperator *UNUSED(op))
+{
+ Scene *scene = CTX_data_scene(C);
+ const int frame = CFRA;
+ Mask *mask = CTX_data_edit_mask(C);
+ MaskLayer *masklay;
+ int change = FALSE;
+
+ for (masklay = mask->masklayers.first; masklay; masklay = masklay->next) {
+ MaskLayerShape *masklay_shape;
+
+ if (!ED_mask_layer_select_check(masklay)) {
+ continue;
+ }
+
+ masklay_shape = BKE_mask_layer_shape_find_frame(masklay, frame);
+
+ if (masklay_shape) {
+ BKE_mask_layer_shape_unlink(masklay, masklay_shape);
+ change = TRUE;
+ }
+ }
+
+ if (change) {
+ WM_event_add_notifier(C, NC_MASK | ND_DATA, mask);
+ DAG_id_tag_update(&mask->id, 0);
+
+ return OPERATOR_FINISHED;
+ }
+ else {
+ return OPERATOR_CANCELLED;
+ }
+}
+
+void MASK_OT_shape_key_clear(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name = "Clear Shape Key";
+ ot->description = "";
+ ot->idname = "MASK_OT_shape_key_clear";
+
+ /* api callbacks */
+ ot->exec = mask_shape_key_clear_exec;
+ ot->poll = ED_maskedit_mask_poll;
+
+ /* flags */
+ ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
+}
+
+static int mask_shape_key_feather_reset_exec(bContext *C, wmOperator *UNUSED(op))
+{
+ Scene *scene = CTX_data_scene(C);
+ const int frame = CFRA;
+ Mask *mask = CTX_data_edit_mask(C);
+ MaskLayer *masklay;
+ int change = FALSE;
+
+ for (masklay = mask->masklayers.first; masklay; masklay = masklay->next) {
+
+ if (masklay->restrictflag & (MASK_RESTRICT_VIEW | MASK_RESTRICT_SELECT)) {
+ continue;
+ }
+
+ if (masklay->splines_shapes.first) {
+ MaskLayerShape *masklay_shape_reset;
+ MaskLayerShape *masklay_shape;
+
+ /* get the shapekey of the current state */
+ masklay_shape_reset = BKE_mask_layer_shape_alloc(masklay, frame);
+ /* initialize from mask - as if inseting a keyframe */
+ BKE_mask_layer_shape_from_mask(masklay, masklay_shape_reset);
+
+ for (masklay_shape = masklay->splines_shapes.first;
+ masklay_shape;
+ masklay_shape = masklay_shape->next)
+ {
+
+ if (masklay_shape_reset->tot_vert == masklay_shape->tot_vert) {
+ int i_abs = 0;
+ int i;
+ MaskSpline *spline;
+ MaskLayerShapeElem *shape_ele_src;
+ MaskLayerShapeElem *shape_ele_dst;
+
+ shape_ele_src = (MaskLayerShapeElem *)masklay_shape_reset->data;
+ shape_ele_dst = (MaskLayerShapeElem *)masklay_shape->data;
+
+ for (spline = masklay->splines.first; spline; spline = spline->next) {
+ for (i = 0; i < spline->tot_point; i++) {
+ MaskSplinePoint *point = &spline->points[i];
+
+ if (MASKPOINT_ISSEL_ANY(point)) {
+ /* TODO - nicer access here */
+ shape_ele_dst->value[6] = shape_ele_src->value[6];
+ }
+
+ shape_ele_src++;
+ shape_ele_dst++;
+
+ i_abs++;
+ }
+ }
+
+ }
+ else {
+ // printf("%s: skipping\n", __func__);
+ }
+
+ change = TRUE;
+ }
+
+ BKE_mask_layer_shape_free(masklay_shape_reset);
+ }
+ }
+
+ if (change) {
+ WM_event_add_notifier(C, NC_MASK | ND_DATA, mask);
+ DAG_id_tag_update(&mask->id, 0);
+
+ return OPERATOR_FINISHED;
+ }
+ else {
+ return OPERATOR_CANCELLED;
+ }
+}
+
+void MASK_OT_shape_key_feather_reset(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name = "Feather Reset Animation";
+ ot->description = "Resets fearther weights on all selected points animation values";
+ ot->idname = "MASK_OT_shape_key_feather_reset";
+
+ /* api callbacks */
+ ot->exec = mask_shape_key_feather_reset_exec;
+ ot->poll = ED_maskedit_mask_poll;
+
+ /* flags */
+ ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
+}
+
+
+/* *** Shape Key Utils *** */
+
+void ED_mask_layer_shape_auto_key(MaskLayer *masklay, const int frame)
+{
+ MaskLayerShape *masklay_shape;
+
+ masklay_shape = BKE_mask_layer_shape_varify_frame(masklay, frame);
+ BKE_mask_layer_shape_from_mask(masklay, masklay_shape);
+}
+
+int ED_mask_layer_shape_auto_key_all(Mask *mask, const int frame)
+{
+ MaskLayer *masklay;
+ int change = FALSE;
+
+ for (masklay = mask->masklayers.first; masklay; masklay = masklay->next) {
+ ED_mask_layer_shape_auto_key(masklay, frame);
+ change = TRUE;
+ }
+
+ return change;
+}
+
+int ED_mask_layer_shape_auto_key_select(Mask *mask, const int frame)
+{
+ MaskLayer *masklay;
+ int change = FALSE;
+
+ for (masklay = mask->masklayers.first; masklay; masklay = masklay->next) {
+
+ if (!ED_mask_layer_select_check(masklay)) {
+ continue;
+ }
+
+ ED_mask_layer_shape_auto_key(masklay, frame);
+ change = TRUE;
+ }
+
+ return change;
+}
diff --git a/source/blender/editors/mesh/editmesh_add.c b/source/blender/editors/mesh/editmesh_add.c
index 60c0ebbc7b3..9cbd9e0b7da 100644
--- a/source/blender/editors/mesh/editmesh_add.c
+++ b/source/blender/editors/mesh/editmesh_add.c
@@ -53,39 +53,11 @@
#include "mesh_intern.h"
-/* uses context to figure out transform for primitive */
-/* returns standard diameter */
-static float new_primitive_matrix(bContext *C, float *loc, float *rot, float primmat[][4])
-{
- Object *obedit = CTX_data_edit_object(C);
- View3D *v3d = CTX_wm_view3d(C);
- float mat[3][3], rmat[3][3], cmat[3][3], imat[3][3];
-
- unit_m4(primmat);
-
- eul_to_mat3(rmat, rot);
- invert_m3(rmat);
-
- /* inverse transform for initial rotation and object */
- copy_m3_m4(mat, obedit->obmat);
- mul_m3_m3m3(cmat, rmat, mat);
- invert_m3_m3(imat, cmat);
- copy_m4_m3(primmat, imat);
-
- /* center */
- copy_v3_v3(primmat[3], loc);
- sub_v3_v3(primmat[3], obedit->obmat[3]);
- invert_m3_m3(imat, mat);
- mul_m3_v3(imat, primmat[3]);
-
- return v3d ? v3d->grid : 1.0f;
-}
-
/* ********* add primitive operators ************* */
static void make_prim_init(bContext *C, const char *idname,
float *dia, float mat[][4],
- int *state, float *loc, float *rot, unsigned int layer)
+ int *state, const float loc[3], const float rot[3], const unsigned int layer)
{
Object *obedit = CTX_data_edit_object(C);
@@ -101,7 +73,7 @@ static void make_prim_init(bContext *C, const char *idname,
*state = 1;
}
- *dia = new_primitive_matrix(C, loc, rot, mat);
+ *dia = ED_object_new_primitive_matrix(C, obedit, loc, rot, mat);
}
static void make_prim_finish(bContext *C, int *state, int enter_editmode)
diff --git a/source/blender/editors/mesh/editmesh_bvh.c b/source/blender/editors/mesh/editmesh_bvh.c
index 16948a2372d..2cb03104874 100644
--- a/source/blender/editors/mesh/editmesh_bvh.c
+++ b/source/blender/editors/mesh/editmesh_bvh.c
@@ -308,7 +308,7 @@ static void vertsearchcallback(void *userdata, int index, const float *UNUSED(co
}
}
-BMVert *BMBVH_FindClosestVert(BMBVHTree *tree, float *co, float maxdist)
+BMVert *BMBVH_FindClosestVert(BMBVHTree *tree, const float co[3], float maxdist)
{
BVHTreeNearest hit;
@@ -370,7 +370,7 @@ int BMBVH_VertVisible(BMBVHTree *tree, BMEdge *e, RegionView3D *r3d)
}
#endif
-static BMFace *edge_ray_cast(BMBVHTree *tree, float *co, float *dir, float *hitout, BMEdge *e)
+static BMFace *edge_ray_cast(BMBVHTree *tree, const float co[3], const float dir[3], float *hitout, BMEdge *e)
{
BMFace *f = BMBVH_RayCast(tree, co, dir, hitout, NULL);
@@ -380,7 +380,7 @@ static BMFace *edge_ray_cast(BMBVHTree *tree, float *co, float *dir, float *hito
return f;
}
-static void scale_point(float *c1, float *p, float s)
+static void scale_point(float c1[3], const float p[3], const float s)
{
sub_v3_v3(c1, p);
mul_v3_fl(c1, s);
diff --git a/source/blender/editors/mesh/editmesh_bvh.h b/source/blender/editors/mesh/editmesh_bvh.h
index 6512f054c1b..53d1c36119e 100644
--- a/source/blender/editors/mesh/editmesh_bvh.h
+++ b/source/blender/editors/mesh/editmesh_bvh.h
@@ -57,8 +57,8 @@ int BMBVH_EdgeVisible(struct BMBVHTree *tree, struct BMEdge *e,
struct ARegion *ar, struct View3D *v3d, struct Object *obedit);
/*find a vert closest to co in a sphere of radius maxdist*/
-struct BMVert *BMBVH_FindClosestVert(struct BMBVHTree *tree, float *co, float maxdist);
-
+struct BMVert *BMBVH_FindClosestVert(struct BMBVHTree *tree, const float co[3], const float maxdist);
+
/* BMBVH_NewBVH flag parameter */
enum {
BMBVH_USE_CAGE = 1, /* project geometry onto modifier cage */
diff --git a/source/blender/editors/mesh/editmesh_knife.c b/source/blender/editors/mesh/editmesh_knife.c
index 6bbcd1d253e..f154aec2eb4 100644
--- a/source/blender/editors/mesh/editmesh_knife.c
+++ b/source/blender/editors/mesh/editmesh_knife.c
@@ -2247,7 +2247,7 @@ static int find_hole_chains(KnifeTool_OpData *kcd, ListBase *hole, BMFace *f, Li
ListBase *chain;
BMVert *v;
BMIter iter;
- int nh, nf, i, j, k, m, ax, ay, ok, sep, bestsep;
+ int nh, nf, i, j, k, m, ax, ay, ok, sep = 0 /* Quite warnings */, bestsep;
int besti[2], bestj[2];
float d, bestd;
diff --git a/source/blender/editors/mesh/editmesh_loopcut.c b/source/blender/editors/mesh/editmesh_loopcut.c
index 7298153791e..15e3033b7eb 100644
--- a/source/blender/editors/mesh/editmesh_loopcut.c
+++ b/source/blender/editors/mesh/editmesh_loopcut.c
@@ -86,7 +86,7 @@
/* ringsel operator */
/* struct for properties used while drawing */
-typedef struct tringselOpData {
+typedef struct RingSelOpData {
ARegion *ar; /* region that ringsel was activated in */
void *draw_handle; /* for drawing preview loop */
@@ -102,13 +102,13 @@ typedef struct tringselOpData {
int extend;
int do_cut;
-} tringselOpData;
+} RingSelOpData;
/* modal loop selection drawing callback */
static void ringsel_draw(const bContext *C, ARegion *UNUSED(ar), void *arg)
{
View3D *v3d = CTX_wm_view3d(C);
- tringselOpData *lcd = arg;
+ RingSelOpData *lcd = arg;
int i;
if (lcd->totedge > 0) {
@@ -176,7 +176,7 @@ static void edgering_find_order(BMEdge *lasteed, BMEdge *eed,
}
}
-static void edgering_sel(tringselOpData *lcd, int previewlines, int select)
+static void edgering_sel(RingSelOpData *lcd, int previewlines, int select)
{
BMEditMesh *em = lcd->em;
BMEdge *startedge = lcd->eed;
@@ -290,7 +290,7 @@ static void edgering_sel(tringselOpData *lcd, int previewlines, int select)
lcd->totedge = tot;
}
-static void ringsel_find_edge(tringselOpData *lcd, int cuts)
+static void ringsel_find_edge(RingSelOpData *lcd, int cuts)
{
if (lcd->eed) {
edgering_sel(lcd, cuts, 0);
@@ -304,7 +304,7 @@ static void ringsel_find_edge(tringselOpData *lcd, int cuts)
static void ringsel_finish(bContext *C, wmOperator *op)
{
- tringselOpData *lcd = op->customdata;
+ RingSelOpData *lcd = op->customdata;
int cuts = RNA_int_get(op->ptr, "number_cuts");
if (lcd->eed) {
@@ -329,6 +329,8 @@ static void ringsel_finish(bContext *C, wmOperator *op)
WM_event_add_notifier(C, NC_SCENE | ND_TOOLSETTINGS, CTX_data_scene(C));
}
+ else
+ EDBM_selectmode_flush(lcd->em);
WM_event_add_notifier(C, NC_GEOM | ND_SELECT | ND_DATA, lcd->ob->data);
DAG_id_tag_update(lcd->ob->data, 0);
@@ -350,7 +352,7 @@ static void ringsel_finish(bContext *C, wmOperator *op)
/* called when modal loop selection is done... */
static void ringsel_exit(bContext *UNUSED(C), wmOperator *op)
{
- tringselOpData *lcd = op->customdata;
+ RingSelOpData *lcd = op->customdata;
/* deactivate the extra drawing stuff in 3D-View */
ED_region_draw_cb_exit(lcd->ar->type, lcd->draw_handle);
@@ -368,10 +370,10 @@ static void ringsel_exit(bContext *UNUSED(C), wmOperator *op)
/* called when modal loop selection gets set up... */
static int ringsel_init(bContext *C, wmOperator *op, int do_cut)
{
- tringselOpData *lcd;
+ RingSelOpData *lcd;
/* alloc new customdata */
- lcd = op->customdata = MEM_callocN(sizeof(tringselOpData), "ringsel Modal Op Data");
+ lcd = op->customdata = MEM_callocN(sizeof(RingSelOpData), "ringsel Modal Op Data");
/* assign the drawing handle for drawing preview line... */
lcd->ar = CTX_wm_region(C);
@@ -402,7 +404,7 @@ static int ringcut_cancel(bContext *C, wmOperator *op)
static int ringcut_invoke(bContext *C, wmOperator *op, wmEvent *evt)
{
Object *obedit = CTX_data_edit_object(C);
- tringselOpData *lcd;
+ RingSelOpData *lcd;
BMEdge *edge;
int dist = 75;
@@ -434,7 +436,7 @@ static int ringcut_invoke(bContext *C, wmOperator *op, wmEvent *evt)
static int loopcut_modal(bContext *C, wmOperator *op, wmEvent *event)
{
int cuts = RNA_int_get(op->ptr, "number_cuts");
- tringselOpData *lcd = op->customdata;
+ RingSelOpData *lcd = op->customdata;
int show_cuts = 0;
view3d_operator_needs_opengl(C);
diff --git a/source/blender/editors/mesh/editmesh_select.c b/source/blender/editors/mesh/editmesh_select.c
index 0a8fe142aaf..44ec8bd6aaa 100644
--- a/source/blender/editors/mesh/editmesh_select.c
+++ b/source/blender/editors/mesh/editmesh_select.c
@@ -676,6 +676,7 @@ static EnumPropertyItem prop_similar_types[] = {
{SIMVERT_NORMAL, "NORMAL", 0, "Normal", ""},
{SIMVERT_FACE, "FACE", 0, "Amount of Adjacent Faces", ""},
{SIMVERT_VGROUP, "VGROUP", 0, "Vertex Groups", ""},
+ {SIMVERT_EDGE, "EDGE", 0, "Amount of connecting edges", ""},
{SIMEDGE_LENGTH, "LENGTH", 0, "Length", ""},
{SIMEDGE_DIR, "DIR", 0, "Direction", ""},
@@ -1889,7 +1890,7 @@ static int edbm_select_linked_pick_invoke(bContext *C, wmOperator *op, wmEvent *
}
BMW_end(&walker);
- BM_mesh_select_mode_flush(bm);
+ EDBM_selectmode_flush(em);
}
WM_event_add_notifier(C, NC_GEOM | ND_SELECT, obedit);
diff --git a/source/blender/editors/mesh/editmesh_tools.c b/source/blender/editors/mesh/editmesh_tools.c
index 708273df109..0f7d4c5c547 100644
--- a/source/blender/editors/mesh/editmesh_tools.c
+++ b/source/blender/editors/mesh/editmesh_tools.c
@@ -3676,14 +3676,14 @@ enum {
SRT_REVERSE, /* Reverse current order of selected elements. */
};
-typedef struct bmelemsort {
+typedef struct BMElemSort {
float srt; /* Sort factor */
int org_idx; /* Original index of this element _in its mempool_ */
-} bmelemsort;
+} BMElemSort;
static int bmelemsort_comp(const void *v1, const void *v2)
{
- const bmelemsort *x1 = v1, *x2 = v2;
+ const BMElemSort *x1 = v1, *x2 = v2;
return (x1->srt > x2->srt) - (x1->srt < x2->srt);
}
@@ -3704,7 +3704,7 @@ static void sort_bmelem_flag(bContext *C, const int types, const int flag, const
/* In all five elements below, 0 = vertices, 1 = edges, 2 = faces. */
/* Just to mark protected elements. */
char *pblock[3] = {NULL, NULL, NULL}, *pb;
- bmelemsort *sblock[3] = {NULL, NULL, NULL}, *sb;
+ BMElemSort *sblock[3] = {NULL, NULL, NULL}, *sb;
int *map[3] = {NULL, NULL, NULL}, *mp;
int totelem[3] = {0, 0, 0}, tot;
int affected[3] = {0, 0, 0}, aff;
@@ -3733,7 +3733,7 @@ static void sort_bmelem_flag(bContext *C, const int types, const int flag, const
if (totelem[0]) {
pb = pblock[0] = MEM_callocN(sizeof(char) * totelem[0], "sort_bmelem vert pblock");
- sb = sblock[0] = MEM_callocN(sizeof(bmelemsort) * totelem[0], "sort_bmelem vert sblock");
+ sb = sblock[0] = MEM_callocN(sizeof(BMElemSort) * totelem[0], "sort_bmelem vert sblock");
BM_ITER_MESH_INDEX (ve, &iter, em->bm, BM_VERTS_OF_MESH, i) {
if (BM_elem_flag_test(ve, flag)) {
@@ -3752,7 +3752,7 @@ static void sort_bmelem_flag(bContext *C, const int types, const int flag, const
if (totelem[1]) {
pb = pblock[1] = MEM_callocN(sizeof(char) * totelem[1], "sort_bmelem edge pblock");
- sb = sblock[1] = MEM_callocN(sizeof(bmelemsort) * totelem[1], "sort_bmelem edge sblock");
+ sb = sblock[1] = MEM_callocN(sizeof(BMElemSort) * totelem[1], "sort_bmelem edge sblock");
BM_ITER_MESH_INDEX (ed, &iter, em->bm, BM_EDGES_OF_MESH, i) {
if (BM_elem_flag_test(ed, flag)) {
@@ -3772,7 +3772,7 @@ static void sort_bmelem_flag(bContext *C, const int types, const int flag, const
if (totelem[2]) {
pb = pblock[2] = MEM_callocN(sizeof(char) * totelem[2], "sort_bmelem face pblock");
- sb = sblock[2] = MEM_callocN(sizeof(bmelemsort) * totelem[2], "sort_bmelem face sblock");
+ sb = sblock[2] = MEM_callocN(sizeof(BMElemSort) * totelem[2], "sort_bmelem face sblock");
BM_ITER_MESH_INDEX (fa, &iter, em->bm, BM_FACES_OF_MESH, i) {
if (BM_elem_flag_test(fa, flag)) {
@@ -3806,7 +3806,7 @@ static void sort_bmelem_flag(bContext *C, const int types, const int flag, const
if (totelem[0]) {
pb = pblock[0] = MEM_callocN(sizeof(char) * totelem[0], "sort_bmelem vert pblock");
- sb = sblock[0] = MEM_callocN(sizeof(bmelemsort) * totelem[0], "sort_bmelem vert sblock");
+ sb = sblock[0] = MEM_callocN(sizeof(BMElemSort) * totelem[0], "sort_bmelem vert sblock");
BM_ITER_MESH_INDEX (ve, &iter, em->bm, BM_VERTS_OF_MESH, i) {
if (BM_elem_flag_test(ve, flag)) {
@@ -3822,7 +3822,7 @@ static void sort_bmelem_flag(bContext *C, const int types, const int flag, const
if (totelem[1]) {
pb = pblock[1] = MEM_callocN(sizeof(char) * totelem[1], "sort_bmelem edge pblock");
- sb = sblock[1] = MEM_callocN(sizeof(bmelemsort) * totelem[1], "sort_bmelem edge sblock");
+ sb = sblock[1] = MEM_callocN(sizeof(BMElemSort) * totelem[1], "sort_bmelem edge sblock");
BM_ITER_MESH_INDEX (ed, &iter, em->bm, BM_EDGES_OF_MESH, i) {
if (BM_elem_flag_test(ed, flag)) {
@@ -3841,7 +3841,7 @@ static void sort_bmelem_flag(bContext *C, const int types, const int flag, const
if (totelem[2]) {
pb = pblock[2] = MEM_callocN(sizeof(char) * totelem[2], "sort_bmelem face pblock");
- sb = sblock[2] = MEM_callocN(sizeof(bmelemsort) * totelem[2], "sort_bmelem face sblock");
+ sb = sblock[2] = MEM_callocN(sizeof(BMElemSort) * totelem[2], "sort_bmelem face sblock");
BM_ITER_MESH_INDEX (fa, &iter, em->bm, BM_FACES_OF_MESH, i) {
if (BM_elem_flag_test(fa, flag)) {
@@ -3862,7 +3862,7 @@ static void sort_bmelem_flag(bContext *C, const int types, const int flag, const
/* Faces only! */
else if (action == SRT_MATERIAL && totelem[2]) {
pb = pblock[2] = MEM_callocN(sizeof(char) * totelem[2], "sort_bmelem face pblock");
- sb = sblock[2] = MEM_callocN(sizeof(bmelemsort) * totelem[2], "sort_bmelem face sblock");
+ sb = sblock[2] = MEM_callocN(sizeof(BMElemSort) * totelem[2], "sort_bmelem face sblock");
BM_ITER_MESH_INDEX (fa, &iter, em->bm, BM_FACES_OF_MESH, i) {
if (BM_elem_flag_test(fa, flag)) {
@@ -3966,7 +3966,7 @@ static void sort_bmelem_flag(bContext *C, const int types, const int flag, const
* enabling/disabling an element type. */
BLI_srandom(seed);
pb = pblock[0] = MEM_callocN(sizeof(char) * totelem[0], "sort_bmelem vert pblock");
- sb = sblock[0] = MEM_callocN(sizeof(bmelemsort) * totelem[0], "sort_bmelem vert sblock");
+ sb = sblock[0] = MEM_callocN(sizeof(BMElemSort) * totelem[0], "sort_bmelem vert sblock");
BM_ITER_MESH_INDEX (ve, &iter, em->bm, BM_VERTS_OF_MESH, i) {
if (BM_elem_flag_test(ve, flag)) {
@@ -3983,7 +3983,7 @@ static void sort_bmelem_flag(bContext *C, const int types, const int flag, const
if (totelem[1]) {
BLI_srandom(seed);
pb = pblock[1] = MEM_callocN(sizeof(char) * totelem[1], "sort_bmelem edge pblock");
- sb = sblock[1] = MEM_callocN(sizeof(bmelemsort) * totelem[1], "sort_bmelem edge sblock");
+ sb = sblock[1] = MEM_callocN(sizeof(BMElemSort) * totelem[1], "sort_bmelem edge sblock");
BM_ITER_MESH_INDEX (ed, &iter, em->bm, BM_EDGES_OF_MESH, i) {
if (BM_elem_flag_test(ed, flag)) {
@@ -4000,7 +4000,7 @@ static void sort_bmelem_flag(bContext *C, const int types, const int flag, const
if (totelem[2]) {
BLI_srandom(seed);
pb = pblock[2] = MEM_callocN(sizeof(char) * totelem[2], "sort_bmelem face pblock");
- sb = sblock[2] = MEM_callocN(sizeof(bmelemsort) * totelem[2], "sort_bmelem face sblock");
+ sb = sblock[2] = MEM_callocN(sizeof(BMElemSort) * totelem[2], "sort_bmelem face sblock");
BM_ITER_MESH_INDEX (fa, &iter, em->bm, BM_FACES_OF_MESH, i) {
if (BM_elem_flag_test(fa, flag)) {
@@ -4018,7 +4018,7 @@ static void sort_bmelem_flag(bContext *C, const int types, const int flag, const
else if (action == SRT_REVERSE) {
if (totelem[0]) {
pb = pblock[0] = MEM_callocN(sizeof(char) * totelem[0], "sort_bmelem vert pblock");
- sb = sblock[0] = MEM_callocN(sizeof(bmelemsort) * totelem[0], "sort_bmelem vert sblock");
+ sb = sblock[0] = MEM_callocN(sizeof(BMElemSort) * totelem[0], "sort_bmelem vert sblock");
BM_ITER_MESH_INDEX (ve, &iter, em->bm, BM_VERTS_OF_MESH, i) {
if (BM_elem_flag_test(ve, flag)) {
@@ -4034,7 +4034,7 @@ static void sort_bmelem_flag(bContext *C, const int types, const int flag, const
if (totelem[1]) {
pb = pblock[1] = MEM_callocN(sizeof(char) * totelem[1], "sort_bmelem edge pblock");
- sb = sblock[1] = MEM_callocN(sizeof(bmelemsort) * totelem[1], "sort_bmelem edge sblock");
+ sb = sblock[1] = MEM_callocN(sizeof(BMElemSort) * totelem[1], "sort_bmelem edge sblock");
BM_ITER_MESH_INDEX (ed, &iter, em->bm, BM_EDGES_OF_MESH, i) {
if (BM_elem_flag_test(ed, flag)) {
@@ -4050,7 +4050,7 @@ static void sort_bmelem_flag(bContext *C, const int types, const int flag, const
if (totelem[2]) {
pb = pblock[2] = MEM_callocN(sizeof(char) * totelem[2], "sort_bmelem face pblock");
- sb = sblock[2] = MEM_callocN(sizeof(bmelemsort) * totelem[2], "sort_bmelem face sblock");
+ sb = sblock[2] = MEM_callocN(sizeof(BMElemSort) * totelem[2], "sort_bmelem face sblock");
BM_ITER_MESH_INDEX (fa, &iter, em->bm, BM_FACES_OF_MESH, i) {
if (BM_elem_flag_test(fa, flag)) {
@@ -4065,9 +4065,9 @@ static void sort_bmelem_flag(bContext *C, const int types, const int flag, const
}
}
-/* printf("%d vertices: %d to be affected…\n", totelem[0], affected[0]);*/
-/* printf("%d edges: %d to be affected…\n", totelem[1], affected[1]);*/
-/* printf("%d faces: %d to be affected…\n", totelem[2], affected[2]);*/
+/* printf("%d vertices: %d to be affected...\n", totelem[0], affected[0]);*/
+/* printf("%d edges: %d to be affected...\n", totelem[1], affected[1]);*/
+/* printf("%d faces: %d to be affected...\n", totelem[2], affected[2]);*/
if (affected[0] == 0 && affected[1] == 0 && affected[2] == 0) {
for (j = 3; j--; ) {
if (pblock[j])
@@ -4086,11 +4086,11 @@ static void sort_bmelem_flag(bContext *C, const int types, const int flag, const
sb = sblock[j];
if (pb && sb && !map[j]) {
char *p_blk;
- bmelemsort *s_blk;
+ BMElemSort *s_blk;
tot = totelem[j];
aff = affected[j];
- qsort(sb, aff, sizeof(bmelemsort), bmelemsort_comp);
+ qsort(sb, aff, sizeof(BMElemSort), bmelemsort_comp);
mp = map[j] = MEM_mallocN(sizeof(int) * tot, "sort_bmelem map");
p_blk = pb + tot - 1;
@@ -4498,13 +4498,18 @@ static int edbm_bevel_invoke(bContext *C, wmOperator *op, wmEvent *event)
BevelData *opdata;
float mlen[2];
- if (!edbm_bevel_init(C, op, TRUE))
+ if (!edbm_bevel_init(C, op, TRUE)) {
return OPERATOR_CANCELLED;
+ }
- /* initialize mouse values */
opdata = op->customdata;
- calculateTransformCenter(C, V3D_CENTROID, NULL, opdata->mcenter);
+ /* initialize mouse values */
+ if (!calculateTransformCenter(C, V3D_CENTROID, NULL, opdata->mcenter)) {
+ /* in this case the tool will likely do nothing,
+ * ideally this will never happen and should be checked for above */
+ opdata->mcenter[0] = opdata->mcenter[1] = 0;
+ }
mlen[0] = opdata->mcenter[0] - event->mval[0];
mlen[1] = opdata->mcenter[1] - event->mval[1];
opdata->initial_length = len_v2(mlen);
@@ -4795,8 +4800,12 @@ static int edbm_inset_invoke(bContext *C, wmOperator *op, wmEvent *event)
opdata = op->customdata;
- calculateTransformCenter(C, V3D_CENTROID, NULL, opdata->mcenter);
/* initialize mouse values */
+ if (!calculateTransformCenter(C, V3D_CENTROID, NULL, opdata->mcenter)) {
+ /* in this case the tool will likely do nothing,
+ * ideally this will never happen and should be checked for above */
+ opdata->mcenter[0] = opdata->mcenter[1] = 0;
+ }
mlen[0] = opdata->mcenter[0] - event->mval[0];
mlen[1] = opdata->mcenter[1] - event->mval[1];
opdata->initial_length = len_v2(mlen);
@@ -4830,13 +4839,11 @@ static int edbm_inset_modal(bContext *C, wmOperator *op, wmEvent *event)
mdiff[1] = opdata->mcenter[1] - event->mval[1];
if (opdata->modify_depth) {
- amount = opdata->old_depth + (len_v2(mdiff)
- - opdata->initial_length) / opdata->initial_length;
+ amount = opdata->old_depth + (len_v2(mdiff) - opdata->initial_length) / opdata->initial_length;
RNA_float_set(op->ptr, "depth", amount);
}
else {
- amount = opdata->old_thickness - (len_v2(mdiff)
- - opdata->initial_length) / opdata->initial_length;
+ amount = opdata->old_thickness - (len_v2(mdiff) - opdata->initial_length) / opdata->initial_length;
amount = MAX2(amount, 0.0f);
RNA_float_set(op->ptr, "thickness", amount);
diff --git a/source/blender/editors/mesh/mesh_ops.c b/source/blender/editors/mesh/mesh_ops.c
index a77a6f4b430..dfa1beb614f 100644
--- a/source/blender/editors/mesh/mesh_ops.c
+++ b/source/blender/editors/mesh/mesh_ops.c
@@ -376,7 +376,9 @@ void ED_keymap_mesh(wmKeyConfig *keyconf)
RNA_int_set(kmi->ptr, "level", i);
}
- ED_object_generic_keymap(keyconf, keymap, 3);
+ ED_keymap_proportional_cycle(keyconf, keymap);
+ ED_keymap_proportional_editmode(keyconf, keymap, TRUE);
+
knifetool_modal_keymap(keyconf);
}
diff --git a/source/blender/editors/mesh/meshtools.c b/source/blender/editors/mesh/meshtools.c
index 989f1a36f99..59a0475ebb5 100644
--- a/source/blender/editors/mesh/meshtools.c
+++ b/source/blender/editors/mesh/meshtools.c
@@ -690,7 +690,8 @@ static void mesh_octree_free_node(MocNode **bt)
/* temporal define, just to make nicer code below */
#define MOC_INDEX(vx, vy, vz) (((vx) * MOC_RES * MOC_RES) + (vy) * MOC_RES + (vz))
-static void mesh_octree_add_nodes(MocNode **basetable, float *co, float *offs, float *div, intptr_t index)
+static void mesh_octree_add_nodes(MocNode **basetable, const float co[3], const float offs[3],
+ const float div[3], intptr_t index)
{
float fx, fy, fz;
int vx, vy, vz;
diff --git a/source/blender/editors/metaball/mball_ops.c b/source/blender/editors/metaball/mball_ops.c
index 1c77eba2019..e98654f589a 100644
--- a/source/blender/editors/metaball/mball_ops.c
+++ b/source/blender/editors/metaball/mball_ops.c
@@ -79,6 +79,7 @@ void ED_keymap_metaball(wmKeyConfig *keyconf)
kmi = WM_keymap_add_item(keymap, "MBALL_OT_select_all", IKEY, KM_PRESS, KM_CTRL, 0);
RNA_enum_set(kmi->ptr, "action", SEL_INVERT);
- ED_object_generic_keymap(keyconf, keymap, 3);
+ ED_keymap_proportional_cycle(keyconf, keymap);
+ ED_keymap_proportional_editmode(keyconf, keymap, TRUE);
}
diff --git a/source/blender/editors/object/object_add.c b/source/blender/editors/object/object_add.c
index fe5fafb0ca0..ba26b92f354 100644
--- a/source/blender/editors/object/object_add.c
+++ b/source/blender/editors/object/object_add.c
@@ -107,9 +107,21 @@
#include "object_intern.h"
+/* this is an exact copy of the define in rna_lamp.c
+ * kept here because of linking order.
+ * Icons are only defined here */
+EnumPropertyItem lamp_type_items[] = {
+ {LA_LOCAL, "POINT", ICON_LAMP_POINT, "Point", "Omnidirectional point light source"},
+ {LA_SUN, "SUN", ICON_LAMP_SUN, "Sun", "Constant direction parallel ray light source"},
+ {LA_SPOT, "SPOT", ICON_LAMP_SPOT, "Spot", "Directional cone light source"},
+ {LA_HEMI, "HEMI", ICON_LAMP_HEMI, "Hemi", "180 degree constant light source"},
+ {LA_AREA, "AREA", ICON_LAMP_AREA, "Area", "Directional area light source"},
+ {0, NULL, 0, NULL, NULL}
+};
+
/************************** Exported *****************************/
-void ED_object_location_from_view(bContext *C, float *loc)
+void ED_object_location_from_view(bContext *C, float loc[3])
{
View3D *v3d = CTX_wm_view3d(C);
Scene *scene = CTX_data_scene(C);
@@ -120,7 +132,7 @@ void ED_object_location_from_view(bContext *C, float *loc)
copy_v3_v3(loc, cursor);
}
-void ED_object_rotation_from_view(bContext *C, float *rot)
+void ED_object_rotation_from_view(bContext *C, float rot[3])
{
RegionView3D *rv3d = CTX_wm_region_view3d(C);
if (rv3d) {
@@ -134,7 +146,7 @@ void ED_object_rotation_from_view(bContext *C, float *rot)
}
}
-void ED_object_base_init_transform(bContext *C, Base *base, float *loc, float *rot)
+void ED_object_base_init_transform(bContext *C, Base *base, const float loc[3], const float rot[3])
{
Object *ob = base->object;
Scene *scene = CTX_data_scene(C);
@@ -152,8 +164,10 @@ void ED_object_base_init_transform(bContext *C, Base *base, float *loc, float *r
/* uses context to figure out transform for primitive */
/* returns standard diameter */
-float ED_object_new_primitive_matrix(bContext *C, Object *obedit, float *loc, float *rot, float primmat[][4])
+float ED_object_new_primitive_matrix(bContext *C, Object *obedit,
+ const float loc[3], const float rot[3], float primmat[][4])
{
+ Scene *scene = CTX_data_scene(C);
View3D *v3d = CTX_wm_view3d(C);
float mat[3][3], rmat[3][3], cmat[3][3], imat[3][3];
@@ -174,7 +188,9 @@ float ED_object_new_primitive_matrix(bContext *C, Object *obedit, float *loc, fl
invert_m3_m3(imat, mat);
mul_m3_v3(imat, primmat[3]);
- if (v3d) return v3d->grid;
+ if (v3d)
+ return ED_view3d_grid_scale(scene, v3d, NULL);
+
return 1.0f;
}
@@ -249,8 +265,8 @@ int ED_object_add_generic_invoke(bContext *C, wmOperator *op, wmEvent *UNUSED(ev
return op->type->exec(C, op);
}
-int ED_object_add_generic_get_opts(bContext *C, wmOperator *op, float *loc,
- float *rot, int *enter_editmode, unsigned int *layer, int *is_view_aligned)
+int ED_object_add_generic_get_opts(bContext *C, wmOperator *op, float loc[3], float rot[3],
+ int *enter_editmode, unsigned int *layer, int *is_view_aligned)
{
View3D *v3d = CTX_wm_view3d(C);
int a, layer_values[20];
@@ -313,7 +329,7 @@ int ED_object_add_generic_get_opts(bContext *C, wmOperator *op, float *loc,
/* for object add primitive operators */
/* do not call undo push in this function (users of this function have to) */
-Object *ED_object_add_type(bContext *C, int type, float *loc, float *rot,
+Object *ED_object_add_type(bContext *C, int type, const float loc[3], const float rot[3],
int enter_editmode, unsigned int layer)
{
Main *bmain = CTX_data_main(C);
@@ -742,15 +758,7 @@ static int object_lamp_add_exec(bContext *C, wmOperator *op)
}
void OBJECT_OT_lamp_add(wmOperatorType *ot)
-{
- static EnumPropertyItem lamp_type_items[] = {
- {LA_LOCAL, "POINT", ICON_LAMP_POINT, "Point", "Omnidirectional point light source"},
- {LA_SUN, "SUN", ICON_LAMP_SUN, "Sun", "Constant direction parallel ray light source"},
- {LA_SPOT, "SPOT", ICON_LAMP_SPOT, "Spot", "Directional cone light source"},
- {LA_HEMI, "HEMI", ICON_LAMP_HEMI, "Hemi", "180 degree constant light source"},
- {LA_AREA, "AREA", ICON_LAMP_AREA, "Area", "Directional area light source"},
- {0, NULL, 0, NULL, NULL}};
-
+{
/* identifiers */
ot->name = "Add Lamp";
ot->description = "Add a lamp object to the scene";
diff --git a/source/blender/editors/object/object_constraint.c b/source/blender/editors/object/object_constraint.c
index 7cc11fa0209..a38c69fba8a 100644
--- a/source/blender/editors/object/object_constraint.c
+++ b/source/blender/editors/object/object_constraint.c
@@ -418,15 +418,15 @@ static void test_constraints(Object *owner, bPoseChannel *pchan)
MovieTrackingObject *tracking_object;
if (data->object[0])
- tracking_object = BKE_tracking_named_object(tracking, data->object);
+ tracking_object = BKE_tracking_object_get_named(tracking, data->object);
else
- tracking_object = BKE_tracking_get_camera_object(tracking);
+ tracking_object = BKE_tracking_object_get_camera(tracking);
if (!tracking_object) {
curcon->flag |= CONSTRAINT_DISABLE;
}
else {
- if (!BKE_tracking_named_track(tracking, tracking_object, data->track))
+ if (!BKE_tracking_track_get_named(tracking, tracking_object, data->track))
curcon->flag |= CONSTRAINT_DISABLE;
}
}
diff --git a/source/blender/editors/object/object_edit.c b/source/blender/editors/object/object_edit.c
index 107b19b0ed7..5ad663b92d3 100644
--- a/source/blender/editors/object/object_edit.c
+++ b/source/blender/editors/object/object_edit.c
@@ -109,8 +109,7 @@ static void waitcursor(int UNUSED(val)) {}
static int pupmenu(const char *UNUSED(msg)) {return 0;}
/* port over here */
-static void error_libdata(void) {
-}
+static void error_libdata(void) {}
Object *ED_object_context(bContext *C)
{
@@ -181,7 +180,7 @@ static int object_hide_view_set_exec(bContext *C, wmOperator *op)
short changed = 0;
const int unselected = RNA_boolean_get(op->ptr, "unselected");
- CTX_DATA_BEGIN (C, Base *, base, visible_bases)
+ CTX_DATA_BEGIN(C, Base *, base, visible_bases)
{
if (!unselected) {
if (base->flag & SELECT) {
@@ -198,6 +197,9 @@ static int object_hide_view_set_exec(bContext *C, wmOperator *op)
if (!(base->flag & SELECT)) {
base->object->restrictflag |= OB_RESTRICT_VIEW;
changed = 1;
+ if (base == BASACT) {
+ ED_base_object_activate(C, NULL);
+ }
}
}
}
@@ -238,7 +240,7 @@ static int object_hide_render_clear_exec(bContext *C, wmOperator *UNUSED(op))
short changed = 0;
/* XXX need a context loop to handle such cases */
- CTX_DATA_BEGIN (C, Object *, ob, selected_editable_objects)
+ CTX_DATA_BEGIN(C, Object *, ob, selected_editable_objects)
{
if (ob->restrictflag & OB_RESTRICT_RENDER) {
ob->restrictflag &= ~OB_RESTRICT_RENDER;
@@ -273,7 +275,7 @@ static int object_hide_render_set_exec(bContext *C, wmOperator *op)
{
const int unselected = RNA_boolean_get(op->ptr, "unselected");
- CTX_DATA_BEGIN (C, Base *, base, visible_bases)
+ CTX_DATA_BEGIN(C, Base *, base, visible_bases)
{
if (!unselected) {
if (base->flag & SELECT) {
@@ -1112,7 +1114,7 @@ void ED_objects_recalculate_paths(bContext *C, Scene *scene)
ListBase targets = {NULL, NULL};
/* loop over objects in scene */
- CTX_DATA_BEGIN (C, Object *, ob, selected_editable_objects)
+ CTX_DATA_BEGIN(C, Object *, ob, selected_editable_objects)
{
/* set flag to force recalc, then grab path(s) from object */
ob->avs.recalc |= ANIMVIZ_RECALC_PATHS;
@@ -1155,7 +1157,7 @@ static int object_calculate_paths_exec(bContext *C, wmOperator *op)
int end = RNA_int_get(op->ptr, "end_frame");
/* set up path data for bones being calculated */
- CTX_DATA_BEGIN (C, Object *, ob, selected_editable_objects)
+ CTX_DATA_BEGIN(C, Object *, ob, selected_editable_objects)
{
bAnimVizSettings *avs = &ob->avs;
@@ -1194,9 +1196,9 @@ void OBJECT_OT_paths_calculate(wmOperatorType *ot)
/* properties */
RNA_def_int(ot->srna, "start_frame", 1, MINAFRAME, MAXFRAME, "Start",
- "First frame to calculate object paths on", MINFRAME, MAXFRAME/2.0);
+ "First frame to calculate object paths on", MINFRAME, MAXFRAME / 2.0);
RNA_def_int(ot->srna, "end_frame", 250, MINAFRAME, MAXFRAME, "End",
- "Last frame to calculate object paths on", MINFRAME, MAXFRAME/2.0);
+ "Last frame to calculate object paths on", MINFRAME, MAXFRAME / 2.0);
}
/* --------- */
@@ -1229,7 +1231,7 @@ void OBJECT_OT_paths_update(wmOperatorType *ot)
ot->poll = ED_operator_object_active_editable; /* TODO: this should probably check for existing paths */
/* flags */
- ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO;
+ ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
}
/* --------- */
@@ -1238,7 +1240,7 @@ void OBJECT_OT_paths_update(wmOperatorType *ot)
void ED_objects_clear_paths(bContext *C)
{
/* loop over objects in scene */
- CTX_DATA_BEGIN (C, Object *, ob, selected_editable_objects)
+ CTX_DATA_BEGIN(C, Object *, ob, selected_editable_objects)
{
if (ob->mpath) {
animviz_free_motionpath(ob->mpath);
@@ -1286,7 +1288,7 @@ static int shade_smooth_exec(bContext *C, wmOperator *op)
int clear = (strcmp(op->idname, "OBJECT_OT_shade_flat") == 0);
int done = FALSE;
- CTX_DATA_BEGIN (C, Object *, ob, selected_editable_objects)
+ CTX_DATA_BEGIN(C, Object *, ob, selected_editable_objects)
{
if (ob->type == OB_MESH) {
@@ -1664,10 +1666,12 @@ static EnumPropertyItem game_properties_copy_operations[] = {
{COPY_PROPERTIES_REPLACE, "REPLACE", 0, "Replace Properties", ""},
{COPY_PROPERTIES_MERGE, "MERGE", 0, "Merge Properties", ""},
{COPY_PROPERTIES_COPY, "COPY", 0, "Copy a Property", ""},
- {0, NULL, 0, NULL, NULL}};
+ {0, NULL, 0, NULL, NULL}
+};
-static EnumPropertyItem gameprops_items[]= {
- {0, NULL, 0, NULL, NULL}};
+static EnumPropertyItem gameprops_items[] = {
+ {0, NULL, 0, NULL, NULL}
+};
static EnumPropertyItem *gameprops_itemf(bContext *C, PointerRNA *UNUSED(ptr), PropertyRNA *UNUSED(prop), int *free)
{
@@ -1704,7 +1708,7 @@ static int game_property_copy_exec(bContext *C, wmOperator *op)
prop = BLI_findlink(&ob->prop, propid - 1);
if (prop) {
- CTX_DATA_BEGIN (C, Object *, ob_iter, selected_editable_objects)
+ CTX_DATA_BEGIN(C, Object *, ob_iter, selected_editable_objects)
{
if (ob != ob_iter)
set_ob_property(ob_iter, prop);
@@ -1713,7 +1717,7 @@ static int game_property_copy_exec(bContext *C, wmOperator *op)
}
else {
- CTX_DATA_BEGIN (C, Object *, ob_iter, selected_editable_objects)
+ CTX_DATA_BEGIN(C, Object *, ob_iter, selected_editable_objects)
{
if (ob != ob_iter) {
if (type == COPY_PROPERTIES_REPLACE)
@@ -1754,7 +1758,7 @@ void OBJECT_OT_game_property_copy(wmOperatorType *ot)
static int game_property_clear_exec(bContext *C, wmOperator *UNUSED(op))
{
- CTX_DATA_BEGIN (C, Object *, ob_iter, selected_editable_objects)
+ CTX_DATA_BEGIN(C, Object *, ob_iter, selected_editable_objects)
{
free_properties(&ob_iter->prop);
}
@@ -1766,7 +1770,7 @@ static int game_property_clear_exec(bContext *C, wmOperator *UNUSED(op))
void OBJECT_OT_game_property_clear(wmOperatorType *ot)
{
/* identifiers */
- ot->name = "Clear Game Property";
+ ot->name = "Clear Game Properties";
ot->idname = "OBJECT_OT_game_property_clear";
ot->description = "Remove all game properties from all selected objects";
@@ -1784,7 +1788,7 @@ static int logicbricks_copy_exec(bContext *C, wmOperator *UNUSED(op))
{
Object *ob = ED_object_active_context(C);
- CTX_DATA_BEGIN (C, Object *, ob_iter, selected_editable_objects)
+ CTX_DATA_BEGIN(C, Object *, ob_iter, selected_editable_objects)
{
if (ob != ob_iter) {
/* first: free all logic */
@@ -1841,7 +1845,7 @@ static int game_physics_copy_exec(bContext *C, wmOperator *UNUSED(op))
{
Object *ob = ED_object_active_context(C);
- CTX_DATA_BEGIN (C, Object *, ob_iter, selected_editable_objects)
+ CTX_DATA_BEGIN(C, Object *, ob_iter, selected_editable_objects)
{
if (ob != ob_iter) {
ob_iter->gameflag = ob->gameflag;
diff --git a/source/blender/editors/object/object_lattice.c b/source/blender/editors/object/object_lattice.c
index f6e8ccf4ec9..0a9944debe1 100644
--- a/source/blender/editors/object/object_lattice.c
+++ b/source/blender/editors/object/object_lattice.c
@@ -344,18 +344,17 @@ int mouse_lattice(bContext *C, const int mval[2], int extend, int deselect, int
bp = findnearestLattvert(&vc, mval, 1);
if (bp) {
- if (extend) {
- bp->f1 |= SELECT;
- }
- else if (deselect) {
- bp->f1 &= ~SELECT;
- }
+ if (extend) {
+ bp->f1 |= SELECT;
+ }
+ else if (deselect) {
+ bp->f1 &= ~SELECT;
+ }
else if (toggle) {
bp->f1 ^= SELECT; /* swap */
}
- else
- {
- ED_setflagsLatt(vc.obedit, 0);
+ else {
+ ED_setflagsLatt(vc.obedit, 0);
bp->f1 |= SELECT;
}
diff --git a/source/blender/editors/object/object_modifier.c b/source/blender/editors/object/object_modifier.c
index 79a9a29ae8f..d6b5fb9fc10 100644
--- a/source/blender/editors/object/object_modifier.c
+++ b/source/blender/editors/object/object_modifier.c
@@ -88,6 +88,7 @@
#include "object_intern.h"
static void modifier_skin_customdata_ensure(struct Object *ob);
+static void modifier_skin_customdata_delete(struct Object *ob);
/******************************** API ****************************/
@@ -231,6 +232,21 @@ static int object_modifier_remove(Object *ob, ModifierData *md, int *sort_depsgr
multires_customdata_delete(ob->data);
}
}
+ else if (md->type == eModifierType_Skin) {
+ int ok = 1;
+ ModifierData *tmpmd;
+
+ /* ensure skin CustomData layer isn't used by another skin modifier */
+ for (tmpmd = ob->modifiers.first; tmpmd; tmpmd = tmpmd->next) {
+ if (tmpmd != md && tmpmd->type == eModifierType_Skin) {
+ ok = 0;
+ break;
+ }
+ }
+
+ if (ok)
+ modifier_skin_customdata_delete(ob);
+ }
if (ELEM(md->type, eModifierType_Softbody, eModifierType_Cloth) &&
ob->particlesystem.first == NULL)
@@ -626,8 +642,10 @@ int ED_object_modifier_apply(ReportList *reports, Scene *scene, Object *ob, Modi
BLI_remlink(&ob->modifiers, md);
modifier_free(md);
- /* ensure mesh paint mask layer remains after applying */
- ED_sculpt_mask_layers_ensure(ob, NULL);
+ if (ob->type == OB_MESH) {
+ /* ensure mesh paint mask layer remains after applying */
+ ED_sculpt_mask_layers_ensure(ob, NULL);
+ }
return 1;
}
@@ -1369,6 +1387,17 @@ static void modifier_skin_customdata_ensure(Object *ob)
}
}
+static void modifier_skin_customdata_delete(Object *ob)
+{
+ Mesh *me = ob->data;
+ BMEditMesh *em = me->edit_btmesh;
+
+ if (em)
+ BM_data_layer_free(em->bm, &em->bm->vdata, CD_MVERT_SKIN);
+ else
+ CustomData_free_layer_active(&me->vdata, CD_MVERT_SKIN, me->totvert);
+}
+
static int skin_poll(bContext *C)
{
return (!CTX_data_edit_object(C) &&
diff --git a/source/blender/editors/object/object_ops.c b/source/blender/editors/object/object_ops.c
index 0c50ab58487..addc6cd4277 100644
--- a/source/blender/editors/object/object_ops.c
+++ b/source/blender/editors/object/object_ops.c
@@ -298,7 +298,8 @@ void ED_keymap_object(wmKeyConfig *keyconf)
keymap->poll = object_mode_poll;
/* object mode supports PET now */
- ED_object_generic_keymap(keyconf, keymap, 1);
+ ED_keymap_proportional_cycle(keyconf, keymap);
+ ED_keymap_proportional_obmode(keyconf, keymap);
WM_keymap_add_item(keymap, "VIEW3D_OT_game_start", PKEY, KM_PRESS, 0, 0);
@@ -421,41 +422,49 @@ void ED_keymap_object(wmKeyConfig *keyconf)
/* menus */
WM_keymap_add_menu(keymap, "VIEW3D_MT_hook", HKEY, KM_PRESS, KM_CTRL, 0);
- ED_object_generic_keymap(keyconf, keymap, 2);
+ ED_keymap_proportional_cycle(keyconf, keymap);
+ ED_keymap_proportional_editmode(keyconf, keymap, FALSE);
}
-void ED_object_generic_keymap(struct wmKeyConfig *UNUSED(keyconf), struct wmKeyMap *keymap, int do_pet)
+void ED_keymap_proportional_cycle(struct wmKeyConfig *UNUSED(keyconf), struct wmKeyMap *keymap)
{
wmKeyMapItem *kmi;
- /* used by mesh, curve & lattice only */
- if (do_pet) {
- /* context ops */
- kmi = WM_keymap_add_item(keymap, "WM_OT_context_cycle_enum", OKEY, KM_PRESS, KM_SHIFT, 0);
- RNA_string_set(kmi->ptr, "data_path", "tool_settings.proportional_edit_falloff");
-
- // Object mode
- if (do_pet == TRUE) {
-
- kmi = WM_keymap_add_item(keymap, "WM_OT_context_toggle", OKEY, KM_PRESS, 0, 0);
- RNA_string_set(kmi->ptr, "data_path", "tool_settings.use_proportional_edit_objects");
-
- }
- else { // Edit mode
-
- kmi = WM_keymap_add_item(keymap, "WM_OT_context_toggle_enum", OKEY, KM_PRESS, 0, 0);
- RNA_string_set(kmi->ptr, "data_path", "tool_settings.proportional_edit");
- RNA_string_set(kmi->ptr, "value_1", "DISABLED");
- RNA_string_set(kmi->ptr, "value_2", "ENABLED");
-
- /* for modes/object types that allow 'connected' mode, add the Alt O key */
- if (do_pet == 3) {
- kmi = WM_keymap_add_item(keymap, "WM_OT_context_toggle_enum", OKEY, KM_PRESS, KM_ALT, 0);
- RNA_string_set(kmi->ptr, "data_path", "tool_settings.proportional_edit");
- RNA_string_set(kmi->ptr, "value_1", "DISABLED");
- RNA_string_set(kmi->ptr, "value_2", "CONNECTED");
- }
- }
- }
+ kmi = WM_keymap_add_item(keymap, "WM_OT_context_cycle_enum", OKEY, KM_PRESS, KM_SHIFT, 0);
+ RNA_string_set(kmi->ptr, "data_path", "tool_settings.proportional_edit_falloff");
+}
+
+void ED_keymap_proportional_obmode(struct wmKeyConfig *UNUSED(keyconf), struct wmKeyMap *keymap)
+{
+ wmKeyMapItem *kmi;
+
+ kmi = WM_keymap_add_item(keymap, "WM_OT_context_toggle", OKEY, KM_PRESS, 0, 0);
+ RNA_string_set(kmi->ptr, "data_path", "tool_settings.use_proportional_edit_objects");
+}
+
+void ED_keymap_proportional_maskmode(struct wmKeyConfig *UNUSED(keyconf), struct wmKeyMap *keymap)
+{
+ wmKeyMapItem *kmi;
+
+ kmi = WM_keymap_add_item(keymap, "WM_OT_context_toggle", OKEY, KM_PRESS, 0, 0);
+ RNA_string_set(kmi->ptr, "data_path", "tool_settings.use_proportional_edit_mask");
}
+void ED_keymap_proportional_editmode(struct wmKeyConfig *UNUSED(keyconf), struct wmKeyMap *keymap,
+ const short do_connected)
+{
+ wmKeyMapItem *kmi;
+
+ kmi = WM_keymap_add_item(keymap, "WM_OT_context_toggle_enum", OKEY, KM_PRESS, 0, 0);
+ RNA_string_set(kmi->ptr, "data_path", "tool_settings.proportional_edit");
+ RNA_string_set(kmi->ptr, "value_1", "DISABLED");
+ RNA_string_set(kmi->ptr, "value_2", "ENABLED");
+
+ /* for modes/object types that allow 'connected' mode, add the Alt O key */
+ if (do_connected) {
+ kmi = WM_keymap_add_item(keymap, "WM_OT_context_toggle_enum", OKEY, KM_PRESS, KM_ALT, 0);
+ RNA_string_set(kmi->ptr, "data_path", "tool_settings.proportional_edit");
+ RNA_string_set(kmi->ptr, "value_1", "DISABLED");
+ RNA_string_set(kmi->ptr, "value_2", "CONNECTED");
+ }
+}
diff --git a/source/blender/editors/object/object_relations.c b/source/blender/editors/object/object_relations.c
index 2b622b21d2c..fc0aa39e733 100644
--- a/source/blender/editors/object/object_relations.c
+++ b/source/blender/editors/object/object_relations.c
@@ -424,27 +424,35 @@ EnumPropertyItem prop_clear_parent_types[] = {
{0, NULL, 0, NULL, NULL}
};
-void ED_object_parent_clear(bContext *C, int type)
+void ED_object_parent_clear(Object *ob, int type)
+{
+
+ if (ob->parent == NULL)
+ return;
+
+ if (type == 0) {
+ ob->parent = NULL;
+ }
+ else if (type == 1) {
+ ob->parent = NULL;
+ BKE_object_apply_mat4(ob, ob->obmat, TRUE, FALSE);
+ }
+ else if (type == 2)
+ unit_m4(ob->parentinv);
+
+ ob->recalc |= OB_RECALC_OB | OB_RECALC_DATA | OB_RECALC_TIME;
+}
+
+/* note, poll should check for editable scene */
+static int parent_clear_exec(bContext *C, wmOperator *op)
{
Main *bmain = CTX_data_main(C);
Scene *scene = CTX_data_scene(C);
+ int type = RNA_enum_get(op->ptr, "type");
CTX_DATA_BEGIN (C, Object *, ob, selected_editable_objects)
{
- if (ob->parent == NULL)
- continue;
-
- if (type == 0) {
- ob->parent = NULL;
- }
- else if (type == 1) {
- ob->parent = NULL;
- BKE_object_apply_mat4(ob, ob->obmat, TRUE, FALSE);
- }
- else if (type == 2)
- unit_m4(ob->parentinv);
-
- ob->recalc |= OB_RECALC_OB | OB_RECALC_DATA | OB_RECALC_TIME;
+ ED_object_parent_clear(ob, type);
}
CTX_DATA_END;
@@ -452,13 +460,6 @@ void ED_object_parent_clear(bContext *C, int type)
DAG_ids_flush_update(bmain, 0);
WM_event_add_notifier(C, NC_OBJECT | ND_TRANSFORM, NULL);
WM_event_add_notifier(C, NC_OBJECT | ND_PARENT, NULL);
-}
-
-/* note, poll should check for editable scene */
-static int parent_clear_exec(bContext *C, wmOperator *op)
-{
- ED_object_parent_clear(C, RNA_enum_get(op->ptr, "type"));
-
return OPERATOR_FINISHED;
}
@@ -541,7 +542,7 @@ int ED_object_parent_set(ReportList *reports, Main *bmain, Scene *scene, Object
if (partype == PAR_FOLLOW) {
/* get or create F-Curve */
bAction *act = verify_adt_action(&cu->id, 1);
- FCurve *fcu = verify_fcurve(act, NULL, "eval_time", 0, 1);
+ FCurve *fcu = verify_fcurve(act, NULL, NULL, "eval_time", 0, 1);
/* setup dummy 'generator' modifier here to get 1-1 correspondence still working */
if (!fcu->bezt && !fcu->fpt && !fcu->modifiers.first)
@@ -1195,13 +1196,27 @@ static void link_to_scene(Main *UNUSED(bmain), unsigned short UNUSED(nr))
}
#endif
+Base *ED_object_scene_link(Scene *scene, Object *ob)
+{
+ Base *base;
+
+ if (BKE_scene_base_find(scene, ob)) {
+ return NULL;
+ }
+
+ base = BKE_scene_base_add(scene, ob);
+ id_us_plus(&ob->id);
+
+ return base;
+}
+
static int make_links_scene_exec(bContext *C, wmOperator *op)
{
Main *bmain = CTX_data_main(C);
Scene *scene_to = BLI_findlink(&CTX_data_main(C)->scene, RNA_enum_get(op->ptr, "scene"));
if (scene_to == NULL) {
- BKE_report(op->reports, RPT_ERROR, "Scene not found");
+ BKE_report(op->reports, RPT_ERROR, "Couldn't find scene");
return OPERATOR_CANCELLED;
}
@@ -1217,12 +1232,7 @@ static int make_links_scene_exec(bContext *C, wmOperator *op)
CTX_DATA_BEGIN (C, Base *, base, selected_bases)
{
- if (!BKE_scene_base_find(scene_to, base->object)) {
- Base *nbase = MEM_mallocN(sizeof(Base), "newbase");
- *nbase = *base;
- BLI_addhead(&(scene_to->base), nbase);
- id_us_plus((ID *)base->object);
- }
+ ED_object_scene_link(scene_to, base->object);
}
CTX_DATA_END;
@@ -1919,6 +1929,7 @@ static int drop_named_material_invoke(bContext *C, wmOperator *op, wmEvent *even
DAG_ids_flush_update(bmain, 0);
WM_event_add_notifier(C, NC_SPACE | ND_SPACE_VIEW3D, CTX_wm_view3d(C));
+ WM_event_add_notifier(C, NC_MATERIAL | ND_SHADING, ma);
return OPERATOR_FINISHED;
}
diff --git a/source/blender/editors/object/object_select.c b/source/blender/editors/object/object_select.c
index fa86f089387..89f018a1b76 100644
--- a/source/blender/editors/object/object_select.c
+++ b/source/blender/editors/object/object_select.c
@@ -708,10 +708,11 @@ void OBJECT_OT_select_grouped(wmOperatorType *ot)
static int object_select_by_layer_exec(bContext *C, wmOperator *op)
{
unsigned int layernum;
- short extend;
+ short extend, match;
extend = RNA_boolean_get(op->ptr, "extend");
layernum = RNA_int_get(op->ptr, "layers");
+ match = RNA_enum_get(op->ptr, "match");
if (extend == 0) {
CTX_DATA_BEGIN (C, Base *, base, visible_bases)
@@ -723,7 +724,14 @@ static int object_select_by_layer_exec(bContext *C, wmOperator *op)
CTX_DATA_BEGIN (C, Base *, base, visible_bases)
{
- if (base->lay == (1 << (layernum - 1)))
+ int ok = 0;
+
+ if (match == 1) /* exact */
+ ok = (base->lay == (1 << (layernum - 1)));
+ else /* shared layers */
+ ok = (base->lay & (1 << (layernum - 1)));
+
+ if (ok)
ED_base_object_select(base, BA_SELECT);
}
CTX_DATA_END;
@@ -736,6 +744,12 @@ static int object_select_by_layer_exec(bContext *C, wmOperator *op)
void OBJECT_OT_select_by_layer(wmOperatorType *ot)
{
+ static EnumPropertyItem match_items[] = {
+ {1, "EXACT", 0, "Exact Match", ""},
+ {2, "SHARED", 0, "Shared Layers", ""},
+ {0, NULL, 0, NULL, NULL}
+ };
+
/* identifiers */
ot->name = "Select by Layer";
ot->description = "Select all visible objects on a layer";
@@ -750,6 +764,7 @@ void OBJECT_OT_select_by_layer(wmOperatorType *ot)
ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
/* properties */
+ RNA_def_enum(ot->srna, "match", match_items, 0, "Match", "");
RNA_def_boolean(ot->srna, "extend", FALSE, "Extend", "Extend selection instead of deselecting everything first");
RNA_def_int(ot->srna, "layers", 1, 1, 20, "Layer", "", 1, 20);
}
diff --git a/source/blender/editors/object/object_shapekey.c b/source/blender/editors/object/object_shapekey.c
index 19864ed58cf..40b653a62fd 100644
--- a/source/blender/editors/object/object_shapekey.c
+++ b/source/blender/editors/object/object_shapekey.c
@@ -455,7 +455,7 @@ static int shape_key_move_exec(bContext *C, wmOperator *op)
ob->shapenr++;
}
- SWAP(float, kb_other->pos, kb->pos) /* for absolute shape keys */
+ SWAP(float, kb_other->pos, kb->pos); /* for absolute shape keys */
}
DAG_id_tag_update(&ob->id, OB_RECALC_DATA);
diff --git a/source/blender/editors/object/object_vgroup.c b/source/blender/editors/object/object_vgroup.c
index 5a2a9a06e39..f56f9f657bc 100644
--- a/source/blender/editors/object/object_vgroup.c
+++ b/source/blender/editors/object/object_vgroup.c
@@ -2085,7 +2085,6 @@ static void vgroup_active_remove_verts(Object *ob, const int allverts, bDeformGr
}
else {
MVert *mv;
- MDeformVert *dv;
int i;
if (!me->dvert) {
diff --git a/source/blender/editors/physics/physics_ops.c b/source/blender/editors/physics/physics_ops.c
index 272e13e2a62..89ddfe02208 100644
--- a/source/blender/editors/physics/physics_ops.c
+++ b/source/blender/editors/physics/physics_ops.c
@@ -136,7 +136,8 @@ static void keymap_particle(wmKeyConfig *keyconf)
WM_keymap_add_item(keymap, "PARTICLE_OT_weight_set", KKEY, KM_PRESS, KM_SHIFT, 0);
- ED_object_generic_keymap(keyconf, keymap, 2);
+ ED_keymap_proportional_cycle(keyconf, keymap);
+ ED_keymap_proportional_editmode(keyconf, keymap, FALSE);
}
/******************************* boids *************************************/
diff --git a/source/blender/editors/render/render_internal.c b/source/blender/editors/render/render_internal.c
index b7bd027ba7f..8fa3c6f992f 100644
--- a/source/blender/editors/render/render_internal.c
+++ b/source/blender/editors/render/render_internal.c
@@ -288,11 +288,12 @@ static void make_renderinfo_string(RenderStats *rs, Scene *scene, char *str)
else if (scene->r.scemode & R_SINGLE_LAYER)
spos += sprintf(spos, "Single Layer | ");
+ spos += sprintf(spos, "Frame:%d ", (scene->r.cfra));
+
if (rs->statstr) {
- spos += sprintf(spos, "%s ", rs->statstr);
+ spos += sprintf(spos, "| %s ", rs->statstr);
}
else {
- spos += sprintf(spos, "Fra:%d ", (scene->r.cfra));
if (rs->totvert) spos += sprintf(spos, "Ve:%d ", rs->totvert);
if (rs->totface) spos += sprintf(spos, "Fa:%d ", rs->totface);
if (rs->tothalo) spos += sprintf(spos, "Ha:%d ", rs->tothalo);
@@ -407,8 +408,12 @@ static void render_endjob(void *rjv)
free_main(rj->main);
/* else the frame will not update for the original value */
- if (!(rj->scene->r.scemode & R_NO_FRAME_UPDATE))
- ED_update_for_newframe(G.main, rj->scene, 1);
+ if (!(rj->scene->r.scemode & R_NO_FRAME_UPDATE)) {
+ /* possible this fails of loading new file while rendering */
+ if (G.main->wm.first) {
+ ED_update_for_newframe(G.main, rj->scene, 1);
+ }
+ }
/* XXX above function sets all tags in nodes */
ntreeCompositClearTags(rj->scene->nodetree);
diff --git a/source/blender/editors/screen/screen_ops.c b/source/blender/editors/screen/screen_ops.c
index 5faa2deb266..4e98d2ae967 100644
--- a/source/blender/editors/screen/screen_ops.c
+++ b/source/blender/editors/screen/screen_ops.c
@@ -46,6 +46,7 @@
#include "DNA_scene_types.h"
#include "DNA_meta_types.h"
#include "DNA_mesh_types.h"
+#include "DNA_mask_types.h"
#include "DNA_userdef_types.h"
#include "BKE_context.h"
@@ -59,6 +60,7 @@
#include "BKE_screen.h"
#include "BKE_tessmesh.h"
#include "BKE_sound.h"
+#include "BKE_mask.h"
#include "WM_api.h"
#include "WM_types.h"
@@ -71,6 +73,7 @@
#include "ED_screen_types.h"
#include "ED_keyframes_draw.h"
#include "ED_view3d.h"
+#include "ED_clip.h"
#include "RNA_access.h"
#include "RNA_define.h"
@@ -304,13 +307,15 @@ int ED_operator_object_active_editable(bContext *C)
int ED_operator_object_active_editable_mesh(bContext *C)
{
Object *ob = ED_object_active_context(C);
- return ((ob != NULL) && !(ob->id.lib) && !(ob->restrictflag & OB_RESTRICT_VIEW) && ob->type == OB_MESH && !(((ID *)ob->data)->lib));
+ return ((ob != NULL) && !(ob->id.lib) && !(ob->restrictflag & OB_RESTRICT_VIEW) &&
+ (ob->type == OB_MESH) && !(((ID *)ob->data)->lib));
}
int ED_operator_object_active_editable_font(bContext *C)
{
Object *ob = ED_object_active_context(C);
- return ((ob != NULL) && !(ob->id.lib) && !(ob->restrictflag & OB_RESTRICT_VIEW) && ob->type == OB_FONT);
+ return ((ob != NULL) && !(ob->id.lib) && !(ob->restrictflag & OB_RESTRICT_VIEW) &&
+ (ob->type == OB_FONT));
}
int ED_operator_editmesh(bContext *C)
@@ -451,6 +456,13 @@ int ED_operator_editmball(bContext *C)
return 0;
}
+int ED_operator_mask(bContext *C)
+{
+ SpaceClip *sc= CTX_wm_space_clip(C);
+
+ return ED_space_clip_show_maskedit(sc);
+}
+
/* *************************** action zone operator ************************** */
/* operator state vars used:
@@ -1601,10 +1613,16 @@ static int area_max_regionsize(ScrArea *sa, ARegion *scalear, AZEdge edge)
/* case of regions in regions, like operator properties panel */
/* these can sit on top of other regions such as headers, so account for this */
- else if (edge == AE_BOTTOM_TO_TOPLEFT && scalear->alignment & RGN_ALIGN_TOP && ar->alignment == RGN_ALIGN_TOP && ar->regiontype == RGN_TYPE_HEADER)
+ else if (edge == AE_BOTTOM_TO_TOPLEFT && scalear->alignment & RGN_ALIGN_TOP &&
+ ar->alignment == RGN_ALIGN_TOP && ar->regiontype == RGN_TYPE_HEADER)
+ {
dist -= ar->winy;
- else if (edge == AE_TOP_TO_BOTTOMRIGHT && scalear->alignment & RGN_ALIGN_BOTTOM && ar->alignment == RGN_ALIGN_BOTTOM && ar->regiontype == RGN_TYPE_HEADER)
+ }
+ else if (edge == AE_TOP_TO_BOTTOMRIGHT && scalear->alignment & RGN_ALIGN_BOTTOM &&
+ ar->alignment == RGN_ALIGN_BOTTOM && ar->regiontype == RGN_TYPE_HEADER)
+ {
dist -= ar->winy;
+ }
}
return dist;
@@ -1929,7 +1947,17 @@ static int keyframe_jump_exec(bContext *C, wmOperator *op)
if (ob)
ob_to_keylist(&ads, ob, &keys, NULL);
-
+
+ {
+ SpaceClip *sc = CTX_wm_space_clip(C);
+ if (sc) {
+ if ((sc->mode == SC_MODE_MASKEDIT) && sc->mask) {
+ MaskLayer *masklay = BKE_mask_layer_active(sc->mask);
+ mask_to_keylist(&ads, masklay, &keys);
+ }
+ }
+ }
+
/* build linked-list for searching */
BLI_dlrbTree_linkedlist_sync(&keys);
@@ -1951,20 +1979,24 @@ static int keyframe_jump_exec(bContext *C, wmOperator *op)
cfra = ak->cfra;
}
}
- } while ((ak != NULL) && (done == 0));
-
- /* any success? */
- if (done == 0)
- BKE_report(op->reports, RPT_INFO, "No more keyframes to jump to in this direction");
-
+ } while ((ak != NULL) && (done == FALSE));
+
/* free temp stuff */
BLI_dlrbTree_free(&keys);
-
- sound_seek_scene(bmain, scene);
- WM_event_add_notifier(C, NC_SCENE | ND_FRAME, scene);
-
- return OPERATOR_FINISHED;
+ /* any success? */
+ if (done == FALSE) {
+ BKE_report(op->reports, RPT_INFO, "No more keyframes to jump to in this direction");
+
+ return OPERATOR_CANCELLED;
+ }
+ else {
+ sound_seek_scene(bmain, scene);
+
+ WM_event_add_notifier(C, NC_SCENE | ND_FRAME, scene);
+
+ return OPERATOR_FINISHED;
+ }
}
static void SCREEN_OT_keyframe_jump(wmOperatorType *ot)
@@ -2571,6 +2603,15 @@ static void SCREEN_OT_redo_last(wmOperatorType *ot)
/* ************** region four-split operator ***************************** */
+static void view3d_localview_update_rv3d(struct RegionView3D *rv3d)
+{
+ if (rv3d->localvd) {
+ rv3d->localvd->view = rv3d->view;
+ rv3d->localvd->persp = rv3d->persp;
+ copy_qt_qt(rv3d->localvd->viewquat, rv3d->viewquat);
+ }
+}
+
/* insert a region in the area region list */
static int region_quadview_exec(bContext *C, wmOperator *op)
{
@@ -2627,29 +2668,29 @@ static int region_quadview_exec(bContext *C, wmOperator *op)
* We could avoid manipulating rv3d->localvd here if exiting
* localview with a 4-split would assign these view locks */
RegionView3D *rv3d;
-
+
rv3d = ar->regiondata;
rv3d->viewlock = RV3D_LOCKED; rv3d->view = RV3D_VIEW_FRONT; rv3d->persp = RV3D_ORTHO;
ED_view3d_lock(rv3d);
- if (rv3d->localvd) { rv3d->localvd->view = rv3d->view; rv3d->localvd->persp = rv3d->persp; copy_qt_qt(rv3d->localvd->viewquat, rv3d->viewquat); }
+ view3d_localview_update_rv3d(rv3d);
ar = ar->next;
rv3d = ar->regiondata;
rv3d->viewlock = RV3D_LOCKED; rv3d->view = RV3D_VIEW_TOP; rv3d->persp = RV3D_ORTHO;
ED_view3d_lock(rv3d);
- if (rv3d->localvd) { rv3d->localvd->view = rv3d->view; rv3d->localvd->persp = rv3d->persp; copy_qt_qt(rv3d->localvd->viewquat, rv3d->viewquat); }
+ view3d_localview_update_rv3d(rv3d);
ar = ar->next;
rv3d = ar->regiondata;
rv3d->viewlock = RV3D_LOCKED; rv3d->view = RV3D_VIEW_RIGHT; rv3d->persp = RV3D_ORTHO;
ED_view3d_lock(rv3d);
- if (rv3d->localvd) { rv3d->localvd->view = rv3d->view; rv3d->localvd->persp = rv3d->persp; copy_qt_qt(rv3d->localvd->viewquat, rv3d->viewquat); }
+ view3d_localview_update_rv3d(rv3d);
ar = ar->next;
rv3d = ar->regiondata;
rv3d->view = RV3D_VIEW_CAMERA; rv3d->persp = RV3D_CAMOB;
ED_view3d_lock(rv3d);
- if (rv3d->localvd) {rv3d->localvd->view = rv3d->view; rv3d->localvd->persp = rv3d->persp; copy_qt_qt(rv3d->localvd->viewquat, rv3d->viewquat); }
+ view3d_localview_update_rv3d(rv3d);
}
ED_area_tag_redraw(sa);
WM_event_add_notifier(C, NC_SCREEN | NA_EDITED, NULL);
diff --git a/source/blender/editors/sculpt_paint/paint_cursor.c b/source/blender/editors/sculpt_paint/paint_cursor.c
index b5d44676cf6..5ca436b07b2 100644
--- a/source/blender/editors/sculpt_paint/paint_cursor.c
+++ b/source/blender/editors/sculpt_paint/paint_cursor.c
@@ -333,7 +333,7 @@ static int sculpt_get_brush_geometry(bContext *C, ViewContext *vc,
float location[3])
{
Scene *scene = CTX_data_scene(C);
- Paint *paint = paint_get_active(scene);
+ Paint *paint = paint_get_active_from_context(C);
Brush *brush = paint_brush(paint);
float window[2];
int hit;
@@ -503,7 +503,7 @@ static void paint_cursor_on_hit(Sculpt *sd, Brush *brush, ViewContext *vc,
static void paint_draw_cursor(bContext *C, int x, int y, void *UNUSED(unused))
{
Scene *scene = CTX_data_scene(C);
- Paint *paint = paint_get_active(scene);
+ Paint *paint = paint_get_active_from_context(C);
Brush *brush = paint_brush(paint);
ViewContext vc;
float final_radius;
@@ -605,7 +605,7 @@ static void paint_draw_cursor(bContext *C, int x, int y, void *UNUSED(unused))
void paint_cursor_start(bContext *C, int (*poll)(bContext *C))
{
- Paint *p = paint_get_active(CTX_data_scene(C));
+ Paint *p = paint_get_active_from_context(C);
if (p && !p->paint_cursor)
p->paint_cursor = WM_paint_cursor_activate(CTX_wm_manager(C), poll, paint_draw_cursor, NULL);
diff --git a/source/blender/editors/sculpt_paint/paint_hide.c b/source/blender/editors/sculpt_paint/paint_hide.c
index cd8b9164862..89c328e71d8 100644
--- a/source/blender/editors/sculpt_paint/paint_hide.c
+++ b/source/blender/editors/sculpt_paint/paint_hide.c
@@ -265,7 +265,7 @@ static void get_pbvh_nodes(PBVH *pbvh,
float clip_planes[4][4],
PartialVisArea mode)
{
- BLI_pbvh_SearchCallback cb;
+ BLI_pbvh_SearchCallback cb = NULL;
/* select search callback */
switch (mode) {
@@ -277,7 +277,6 @@ static void get_pbvh_nodes(PBVH *pbvh,
break;
case PARTIALVIS_ALL:
case PARTIALVIS_MASKED:
- cb = NULL;
break;
}
diff --git a/source/blender/editors/sculpt_paint/paint_image.c b/source/blender/editors/sculpt_paint/paint_image.c
index 88fb728f334..4dee83dbb82 100644
--- a/source/blender/editors/sculpt_paint/paint_image.c
+++ b/source/blender/editors/sculpt_paint/paint_image.c
@@ -2242,11 +2242,11 @@ static void project_bucket_clip_face(
*
* i = l
* while i < len(me.verts):
- * ii = i+1
- * if ii==len(me.verts):
+ * ii = i + 1
+ * if ii == len(me.verts):
* ii = l
* me.edges.extend([i, ii])
- * i+=1
+ * i += 1
*
* if __name__ == '__main__':
* main()
@@ -5215,7 +5215,7 @@ static void brush_drawcursor(bContext *C, int x, int y, void *UNUSED(customdata)
Scene *scene = CTX_data_scene(C);
//Brush *brush= image_paint_brush(C);
- Paint *paint = paint_get_active(scene);
+ Paint *paint = paint_get_active_from_context(C);
Brush *brush = paint_brush(paint);
if (paint && brush && paint->flags & PAINT_SHOW_BRUSH) {
@@ -5420,13 +5420,12 @@ void PAINT_OT_grab_clone(wmOperatorType *ot)
static int sample_color_exec(bContext *C, wmOperator *op)
{
- Scene *scene = CTX_data_scene(C);
Brush *brush = image_paint_brush(C);
ARegion *ar = CTX_wm_region(C);
int location[2];
RNA_int_get_array(op->ptr, "location", location);
- paint_sample_color(scene, ar, location[0], location[1]);
+ paint_sample_color(C, ar, location[0], location[1]);
WM_event_add_notifier(C, NC_BRUSH | NA_EDITED, brush);
diff --git a/source/blender/editors/sculpt_paint/paint_intern.h b/source/blender/editors/sculpt_paint/paint_intern.h
index de149bf2806..794e7755636 100644
--- a/source/blender/editors/sculpt_paint/paint_intern.h
+++ b/source/blender/editors/sculpt_paint/paint_intern.h
@@ -137,7 +137,7 @@ float paint_get_tex_pixel(struct Brush *br, float u, float v);
int imapaint_pick_face(struct ViewContext *vc, const int mval[2], unsigned int *index, unsigned int totface);
void imapaint_pick_uv(struct Scene *scene, struct Object *ob, unsigned int faceindex, const int xy[2], float uv[2]);
-void paint_sample_color(struct Scene *scene, struct ARegion *ar, int x, int y);
+void paint_sample_color(const struct bContext *C, struct ARegion *ar, int x, int y);
void BRUSH_OT_curve_preset(struct wmOperatorType *ot);
void PAINT_OT_face_select_linked(struct wmOperatorType *ot);
diff --git a/source/blender/editors/sculpt_paint/paint_mask.c b/source/blender/editors/sculpt_paint/paint_mask.c
index 298ecf764d6..e309bdb99cb 100644
--- a/source/blender/editors/sculpt_paint/paint_mask.c
+++ b/source/blender/editors/sculpt_paint/paint_mask.c
@@ -61,16 +61,16 @@
#include <stdlib.h>
static void mask_flood_fill_set_elem(float *elem,
- PaintMaskFloodMode mode,
- float value)
+ PaintMaskFloodMode mode,
+ float value)
{
switch (mode) {
- case PAINT_MASK_FLOOD_VALUE:
- (*elem) = value;
- break;
- case PAINT_MASK_INVERT:
- (*elem) = 1.0f - (*elem);
- break;
+ case PAINT_MASK_FLOOD_VALUE:
+ (*elem) = value;
+ break;
+ case PAINT_MASK_INVERT:
+ (*elem) = 1.0f - (*elem);
+ break;
}
}
diff --git a/source/blender/editors/sculpt_paint/paint_ops.c b/source/blender/editors/sculpt_paint/paint_ops.c
index 23d1c0090a0..7df6a893b5c 100644
--- a/source/blender/editors/sculpt_paint/paint_ops.c
+++ b/source/blender/editors/sculpt_paint/paint_ops.c
@@ -60,7 +60,7 @@
static int brush_add_exec(bContext *C, wmOperator *UNUSED(op))
{
/*int type = RNA_enum_get(op->ptr, "type");*/
- Paint *paint = paint_get_active(CTX_data_scene(C));
+ Paint *paint = paint_get_active_from_context(C);
struct Brush *br = paint_brush(paint);
if (br)
@@ -68,7 +68,7 @@ static int brush_add_exec(bContext *C, wmOperator *UNUSED(op))
else
br = BKE_brush_add("Brush");
- paint_brush_set(paint_get_active(CTX_data_scene(C)), br);
+ paint_brush_set(paint, br);
return OPERATOR_FINISHED;
}
@@ -91,7 +91,7 @@ static void BRUSH_OT_add(wmOperatorType *ot)
static int brush_scale_size_exec(bContext *C, wmOperator *op)
{
Scene *scene = CTX_data_scene(C);
- Paint *paint = paint_get_active(scene);
+ Paint *paint = paint_get_active_from_context(C);
struct Brush *brush = paint_brush(paint);
// Object *ob= CTX_data_active_object(C);
float scalar = RNA_float_get(op->ptr, "scalar");
@@ -173,7 +173,7 @@ static void PAINT_OT_vertex_color_set(wmOperatorType *ot)
static int brush_reset_exec(bContext *C, wmOperator *UNUSED(op))
{
- Paint *paint = paint_get_active(CTX_data_scene(C));
+ Paint *paint = paint_get_active_from_context(C);
struct Brush *brush = paint_brush(paint);
Object *ob = CTX_data_active_object(C);
diff --git a/source/blender/editors/sculpt_paint/paint_stroke.c b/source/blender/editors/sculpt_paint/paint_stroke.c
index 987ab932fd6..b53edeadb51 100644
--- a/source/blender/editors/sculpt_paint/paint_stroke.c
+++ b/source/blender/editors/sculpt_paint/paint_stroke.c
@@ -100,10 +100,11 @@ typedef struct PaintStroke {
/*** Cursor ***/
static void paint_draw_smooth_stroke(bContext *C, int x, int y, void *customdata)
{
- Brush *brush = paint_brush(paint_get_active(CTX_data_scene(C)));
+ Paint *paint = paint_get_active_from_context(C);
+ Brush *brush = paint_brush(paint);
PaintStroke *stroke = customdata;
- glColor4ubv(paint_get_active(CTX_data_scene(C))->paint_cursor_col);
+ glColor4ubv(paint->paint_cursor_col);
glEnable(GL_LINE_SMOOTH);
glEnable(GL_BLEND);
@@ -141,7 +142,7 @@ static float event_tablet_data(wmEvent *event, int *pen_flip)
static void paint_brush_stroke_add_step(bContext *C, wmOperator *op, wmEvent *event, float mouse_in[2])
{
Scene *scene = CTX_data_scene(C);
- Paint *paint = paint_get_active(scene);
+ Paint *paint = paint_get_active_from_context(C);
Brush *brush = paint_brush(paint);
PaintStroke *stroke = op->customdata;
float mouse[3];
@@ -202,10 +203,10 @@ static int paint_smooth_stroke(PaintStroke *stroke, float output[2],
if ((stroke->brush->flag & BRUSH_SMOOTH_STROKE) &&
!ELEM4(stroke->brush->sculpt_tool,
- SCULPT_TOOL_GRAB,
- SCULPT_TOOL_THUMB,
- SCULPT_TOOL_ROTATE,
- SCULPT_TOOL_SNAKE_HOOK) &&
+ SCULPT_TOOL_GRAB,
+ SCULPT_TOOL_THUMB,
+ SCULPT_TOOL_ROTATE,
+ SCULPT_TOOL_SNAKE_HOOK) &&
!(stroke->brush->flag & BRUSH_ANCHORED) &&
!(stroke->brush->flag & BRUSH_RESTORE_MESH))
{
@@ -281,7 +282,7 @@ PaintStroke *paint_stroke_new(bContext *C,
{
PaintStroke *stroke = MEM_callocN(sizeof(PaintStroke), "PaintStroke");
- stroke->brush = paint_brush(paint_get_active(CTX_data_scene(C)));
+ stroke->brush = paint_brush(paint_get_active_from_context(C));
view3d_set_viewcontext(C, &stroke->vc);
view3d_get_transformation(stroke->vc.ar, stroke->vc.rv3d, stroke->vc.obact, &stroke->mats);
@@ -358,12 +359,12 @@ struct wmKeyMap *paint_stroke_modal_keymap(struct wmKeyConfig *keyconf)
}
static void paint_stroke_add_sample(const Paint *paint,
- PaintStroke *stroke,
- float x, float y)
+ PaintStroke *stroke,
+ float x, float y)
{
PaintSample *sample = &stroke->samples[stroke->cur_sample];
int max_samples = MIN2(PAINT_MAX_INPUT_SAMPLES,
- MAX2(paint->num_input_samples, 1));
+ MAX2(paint->num_input_samples, 1));
sample->mouse[0] = x;
sample->mouse[1] = y;
@@ -376,7 +377,7 @@ static void paint_stroke_add_sample(const Paint *paint,
}
static void paint_stroke_sample_average(const PaintStroke *stroke,
- PaintSample *average)
+ PaintSample *average)
{
int i;
@@ -394,7 +395,7 @@ static void paint_stroke_sample_average(const PaintStroke *stroke,
int paint_stroke_modal(bContext *C, wmOperator *op, wmEvent *event)
{
- Paint *p = paint_get_active(CTX_data_scene(C));
+ Paint *p = paint_get_active_from_context(C);
PaintStroke *stroke = op->customdata;
PaintSample sample_average;
float mouse[2];
@@ -518,7 +519,7 @@ void paint_stroke_set_mode_data(PaintStroke *stroke, void *mode_data)
int paint_poll(bContext *C)
{
- Paint *p = paint_get_active(CTX_data_scene(C));
+ Paint *p = paint_get_active_from_context(C);
Object *ob = CTX_data_active_object(C);
return p && ob && paint_brush(p) &&
diff --git a/source/blender/editors/sculpt_paint/paint_utils.c b/source/blender/editors/sculpt_paint/paint_utils.c
index 4c374674c9a..082e40f8e4c 100644
--- a/source/blender/editors/sculpt_paint/paint_utils.c
+++ b/source/blender/editors/sculpt_paint/paint_utils.c
@@ -333,9 +333,9 @@ int imapaint_pick_face(ViewContext *vc, const int mval[2], unsigned int *index,
}
/* used for both 3d view and image window */
-void paint_sample_color(Scene *scene, ARegion *ar, int x, int y) /* frontbuf */
+void paint_sample_color(const bContext *C, ARegion *ar, int x, int y) /* frontbuf */
{
- Brush *br = paint_brush(paint_get_active(scene));
+ Brush *br = paint_brush(paint_get_active_from_context(C));
unsigned int col;
char *cp;
@@ -357,7 +357,7 @@ void paint_sample_color(Scene *scene, ARegion *ar, int x, int y) /* frontbuf
static int brush_curve_preset_exec(bContext *C, wmOperator *op)
{
- Brush *br = paint_brush(paint_get_active(CTX_data_scene(C)));
+ Brush *br = paint_brush(paint_get_active_from_context(C));
BKE_brush_curve_preset(br, RNA_enum_get(op->ptr, "shape"));
return OPERATOR_FINISHED;
@@ -365,7 +365,7 @@ static int brush_curve_preset_exec(bContext *C, wmOperator *op)
static int brush_curve_preset_poll(bContext *C)
{
- Brush *br = paint_brush(paint_get_active(CTX_data_scene(C)));
+ Brush *br = paint_brush(paint_get_active_from_context(C));
return br && br->curve;
}
diff --git a/source/blender/editors/sculpt_paint/paint_vertex.c b/source/blender/editors/sculpt_paint/paint_vertex.c
index c5c08a94ae5..3c37ad8cf2a 100644
--- a/source/blender/editors/sculpt_paint/paint_vertex.c
+++ b/source/blender/editors/sculpt_paint/paint_vertex.c
@@ -1877,7 +1877,8 @@ static void do_weight_paint_vertex(
/* use locks and/or multipaint */
float oldw;
float neww;
- float testw = 0;
+ /* float testw = 0; */ /* UNUSED */
+ float observedChange = 0;
float change = 0;
float oldChange = 0;
int i;
@@ -1889,13 +1890,14 @@ static void do_weight_paint_vertex(
wpi->brush_alpha_value, wpi->do_flip, do_multipaint_totsel);
/* setup multi-paint */
- if (do_multipaint_totsel) {
+ observedChange = neww - oldw;
+ if (do_multipaint_totsel && observedChange) {
dv_copy.dw = MEM_dupallocN(dv->dw);
dv_copy.flag = dv->flag;
dv_copy.totweight = dv->totweight;
tdw = dw;
tdw_prev = dw_prev;
- change = get_mp_change(&wp->wpaint_prev[index], wpi->defbase_tot, wpi->defbase_sel, neww - oldw);
+ change = get_mp_change(&wp->wpaint_prev[index], wpi->defbase_tot, wpi->defbase_sel, observedChange);
if (change) {
if (!tdw->weight) {
i = get_first_selected_nonzero_weight(dv, wpi->defbase_tot, wpi->defbase_sel);
@@ -1910,8 +1912,8 @@ static void do_weight_paint_vertex(
if (change && tdw_prev->weight && tdw_prev->weight * change) {
if (tdw->weight != tdw_prev->weight) {
oldChange = tdw->weight / tdw_prev->weight;
- testw = tdw_prev->weight * change;
- if (testw > tdw_prev->weight) {
+ /* testw = tdw_prev->weight * change; */ /* UNUSED */
+ if (observedChange > 0) {
if (change > oldChange) {
/* reset the weights and use the new change */
defvert_reset_to_prev(wp->wpaint_prev + index, dv);
@@ -2100,8 +2102,7 @@ static char *wpaint_make_validmap(Object *ob)
if (chan->bone->flag & BONE_NO_DEFORM)
continue;
- if (BLI_ghash_haskey(gh, chan->name)) {
- BLI_ghash_remove(gh, chan->name, NULL, NULL);
+ if (BLI_ghash_remove(gh, chan->name, NULL, NULL)) {
BLI_ghash_insert(gh, chan->name, SET_INT_IN_POINTER(1));
}
}
@@ -2460,6 +2461,8 @@ static void wpaint_stroke_done(const bContext *C, struct PaintStroke *stroke)
}
DAG_id_tag_update(ob->data, 0);
+
+ WM_event_add_notifier(C, NC_OBJECT | ND_DRAW, ob);
}
@@ -2621,10 +2624,10 @@ void PAINT_OT_vertex_paint_toggle(wmOperatorType *ot)
* - revise whether op->customdata should be added in object, in set_vpaint
*/
-typedef struct polyfacemap_e {
- struct polyfacemap_e *next, *prev;
+typedef struct PolyFaceMap {
+ struct PolyFaceMap *next, *prev;
int facenr;
-} polyfacemap_e;
+} PolyFaceMap;
typedef struct VPaintData {
ViewContext vc;
@@ -2645,7 +2648,7 @@ typedef struct VPaintData {
static void vpaint_build_poly_facemap(struct VPaintData *vd, Mesh *me)
{
MFace *mf;
- polyfacemap_e *e;
+ PolyFaceMap *e;
int *origIndex;
int i;
@@ -2664,7 +2667,7 @@ static void vpaint_build_poly_facemap(struct VPaintData *vd, Mesh *me)
if (*origIndex == ORIGINDEX_NONE)
continue;
- e = BLI_memarena_alloc(vd->polyfacemap_arena, sizeof(polyfacemap_e));
+ e = BLI_memarena_alloc(vd->polyfacemap_arena, sizeof(PolyFaceMap));
e->facenr = i;
BLI_addtail(&vd->polyfacemap[*origIndex], e);
@@ -2781,7 +2784,7 @@ static void vpaint_paint_poly(VPaint *vp, VPaintData *vpd, Object *ob,
MCol *mc;
MLoop *ml;
MLoopCol *mlc;
- polyfacemap_e *e;
+ PolyFaceMap *e;
unsigned int *lcol = ((unsigned int *)me->mloopcol) + mpoly->loopstart;
unsigned int *lcolorig = ((unsigned int *)vp->vpaint_prev) + mpoly->loopstart;
float alpha;
@@ -2953,6 +2956,8 @@ static void vpaint_stroke_done(const bContext *C, struct PaintStroke *stroke)
{
ToolSettings *ts = CTX_data_tool_settings(C);
struct VPaintData *vpd = paint_stroke_mode_data(stroke);
+ ViewContext *vc = &vpd->vc;
+ Object *ob = vc->obact;
if (vpd->vertexcosnos)
MEM_freeN(vpd->vertexcosnos);
@@ -2965,6 +2970,8 @@ static void vpaint_stroke_done(const bContext *C, struct PaintStroke *stroke)
BLI_memarena_free(vpd->polyfacemap_arena);
}
+ WM_event_add_notifier(C, NC_OBJECT | ND_DRAW, ob);
+
MEM_freeN(vpd);
}
diff --git a/source/blender/editors/sculpt_paint/sculpt.c b/source/blender/editors/sculpt_paint/sculpt.c
index 7b8337ff957..89dbe14f62a 100644
--- a/source/blender/editors/sculpt_paint/sculpt.c
+++ b/source/blender/editors/sculpt_paint/sculpt.c
@@ -212,6 +212,11 @@ typedef struct StrokeCache {
float clip_tolerance[3];
float initial_mouse[2];
+ /* Pre-allocated temporary storage used during smoothing */
+ int num_threads;
+ float (**tmpgrid_co)[3], (**tmprow_co)[3];
+ float **tmpgrid_mask, **tmprow_mask;
+
/* Variants */
float radius;
float radius_squared;
@@ -753,8 +758,8 @@ static float tex_strength(SculptSession *ss, Brush *br, float point[3],
else if (ss->texcache) {
float rotation = -mtex->rot;
float symm_point[3], point_2d[2];
- float x, y;
- float radius;
+ float x = 0.0f, y = 0.0f; /* Quite warnings */
+ float radius = 1.0f; /* Quite warnings */
/* if the active area is being applied for symmetry, flip it
* across the symmetry axis and rotate it back to the original
@@ -919,7 +924,7 @@ static void calc_area_normal(Sculpt *sd, Object *ob, float an[3], PBVHNode **nod
/* Grab brush requires to test on original data (see r33888 and
* bug #25371) */
original = (paint_brush(&sd->paint)->sculpt_tool == SCULPT_TOOL_GRAB ?
- TRUE : ss->cache->original);
+ TRUE : ss->cache->original);
(void)sd; /* unused w/o openmp */
@@ -981,8 +986,8 @@ static void calc_area_normal(Sculpt *sd, Object *ob, float an[3], PBVHNode **nod
/* Calculate primary direction of movement for many brushes */
static void calc_sculpt_normal(Sculpt *sd, Object *ob,
- PBVHNode **nodes, int totnode,
- float an[3])
+ PBVHNode **nodes, int totnode,
+ float an[3])
{
const Brush *brush = paint_brush(&sd->paint);
const SculptSession *ss = ob->sculpt;
@@ -990,8 +995,8 @@ static void calc_sculpt_normal(Sculpt *sd, Object *ob,
switch (brush->sculpt_plane) {
case SCULPT_DISP_DIR_VIEW:
ED_view3d_global_to_vector(ss->cache->vc->rv3d,
- ss->cache->vc->rv3d->twmat[3],
- an);
+ ss->cache->vc->rv3d->twmat[3],
+ an);
break;
case SCULPT_DISP_DIR_X:
@@ -1021,7 +1026,7 @@ static void calc_sculpt_normal(Sculpt *sd, Object *ob,
}
static void update_sculpt_normal(Sculpt *sd, Object *ob,
- PBVHNode **nodes, int totnode)
+ PBVHNode **nodes, int totnode)
{
const Brush *brush = paint_brush(&sd->paint);
StrokeCache *cache = ob->sculpt->cache;
@@ -1056,7 +1061,7 @@ static void calc_local_y(ViewContext *vc, const float center[3], float y[3])
}
static void calc_brush_local_mat(const Brush *brush, Object *ob,
- float local_mat[4][4])
+ float local_mat[4][4])
{
const StrokeCache *cache = ob->sculpt->cache;
float tmat[4][4];
@@ -1105,10 +1110,10 @@ static void update_brush_local_mat(Sculpt *sd, Object *ob)
StrokeCache *cache = ob->sculpt->cache;
if (cache->mirror_symmetry_pass == 0 &&
- cache->radial_symmetry_pass == 0)
+ cache->radial_symmetry_pass == 0)
{
calc_brush_local_mat(paint_brush(&sd->paint), ob,
- cache->brush_local_mat);
+ cache->brush_local_mat);
}
}
@@ -1117,21 +1122,21 @@ static void update_brush_local_mat(Sculpt *sd, Object *ob)
static int brush_needs_sculpt_normal(const Brush *brush)
{
return ((ELEM(brush->sculpt_tool,
- SCULPT_TOOL_GRAB,
- SCULPT_TOOL_SNAKE_HOOK) &&
- ((brush->normal_weight > 0) ||
- (brush->flag & BRUSH_FRONTFACE))) ||
-
- ELEM7(brush->sculpt_tool,
- SCULPT_TOOL_BLOB,
- SCULPT_TOOL_CREASE,
- SCULPT_TOOL_DRAW,
- SCULPT_TOOL_LAYER,
- SCULPT_TOOL_NUDGE,
- SCULPT_TOOL_ROTATE,
- SCULPT_TOOL_THUMB) ||
-
- (brush->mtex.brush_map_mode == MTEX_MAP_MODE_AREA));
+ SCULPT_TOOL_GRAB,
+ SCULPT_TOOL_SNAKE_HOOK) &&
+ ((brush->normal_weight > 0) ||
+ (brush->flag & BRUSH_FRONTFACE))) ||
+
+ ELEM7(brush->sculpt_tool,
+ SCULPT_TOOL_BLOB,
+ SCULPT_TOOL_CREASE,
+ SCULPT_TOOL_DRAW,
+ SCULPT_TOOL_LAYER,
+ SCULPT_TOOL_NUDGE,
+ SCULPT_TOOL_ROTATE,
+ SCULPT_TOOL_THUMB) ||
+
+ (brush->mtex.brush_map_mode == MTEX_MAP_MODE_AREA));
}
/* For the smooth brush, uses the neighboring vertices around vert to calculate
@@ -1257,6 +1262,7 @@ static void do_multires_smooth_brush(Sculpt *sd, SculptSession *ss, PBVHNode *no
float (*tmpgrid_co)[3], (*tmprow_co)[3];
float *tmpgrid_mask, *tmprow_mask;
int v1, v2, v3, v4;
+ int thread_num;
int *grid_indices, totgrid, gridsize, i, x, y;
sculpt_brush_test_init(ss, &test);
@@ -1267,17 +1273,15 @@ static void do_multires_smooth_brush(Sculpt *sd, SculptSession *ss, PBVHNode *no
NULL, &gridsize, &griddata, &gridadj);
BLI_pbvh_get_grid_key(ss->pbvh, &key);
- #pragma omp critical
- {
- if (smooth_mask) {
- tmpgrid_mask = MEM_mallocN(sizeof(float) * gridsize * gridsize, "tmpgrid_mask");
- tmprow_mask = MEM_mallocN(sizeof(float) * gridsize, "tmprow_mask");
- }
- else {
- tmpgrid_co = MEM_mallocN(sizeof(float) * 3 * gridsize * gridsize, "tmpgrid_co");
- tmprow_co = MEM_mallocN(sizeof(float) * 3 * gridsize, "tmprow_co");
- }
- }
+ thread_num = 0;
+#ifdef _OPENMP
+ if (sd->flags & SCULPT_USE_OPENMP)
+ thread_num = omp_get_thread_num();
+#endif
+ tmpgrid_co = ss->cache->tmpgrid_co[thread_num];
+ tmprow_co = ss->cache->tmprow_co[thread_num];
+ tmpgrid_mask = ss->cache->tmpgrid_mask[thread_num];
+ tmprow_mask = ss->cache->tmprow_mask[thread_num];
for (i = 0; i < totgrid; ++i) {
data = griddata[grid_indices[i]];
@@ -1393,18 +1397,6 @@ static void do_multires_smooth_brush(Sculpt *sd, SculptSession *ss, PBVHNode *no
}
}
}
-
- #pragma omp critical
- {
- if (smooth_mask) {
- MEM_freeN(tmpgrid_mask);
- MEM_freeN(tmprow_mask);
- }
- else {
- MEM_freeN(tmpgrid_co);
- MEM_freeN(tmprow_co);
- }
- }
}
static void smooth(Sculpt *sd, Object *ob, PBVHNode **nodes, int totnode,
@@ -1413,6 +1405,7 @@ static void smooth(Sculpt *sd, Object *ob, PBVHNode **nodes, int totnode,
SculptSession *ss = ob->sculpt;
const int max_iterations = 4;
const float fract = 1.0f / max_iterations;
+ PBVHType type = BLI_pbvh_type(ss->pbvh);
int iteration, n, count;
float last;
@@ -1421,16 +1414,25 @@ static void smooth(Sculpt *sd, Object *ob, PBVHNode **nodes, int totnode,
count = (int)(bstrength * max_iterations);
last = max_iterations * (bstrength - count * fract);
+ if (type == PBVH_FACES && !ss->pmap) {
+ BLI_assert(!"sculpt smooth: pmap missing");
+ return;
+ }
+
for (iteration = 0; iteration <= count; ++iteration) {
+ float strength = (iteration != count) ? 1.0f : last;
+
#pragma omp parallel for schedule(guided) if (sd->flags & SCULPT_USE_OPENMP)
for (n = 0; n < totnode; n++) {
- if (ss->multires) {
- do_multires_smooth_brush(sd, ss, nodes[n],
- iteration != count ? 1.0f : last, smooth_mask);
- }
- else if (ss->pmap) {
- do_mesh_smooth_brush(sd, ss, nodes[n],
- iteration != count ? 1.0f : last, smooth_mask);
+ switch (type) {
+ case PBVH_GRIDS:
+ do_multires_smooth_brush(sd, ss, nodes[n], strength,
+ smooth_mask);
+ break;
+ case PBVH_FACES:
+ do_mesh_smooth_brush(sd, ss, nodes[n], strength,
+ smooth_mask);
+ break;
}
}
@@ -1522,7 +1524,7 @@ static void do_draw_brush(Sculpt *sd, Object *ob, PBVHNode **nodes, int totnode)
/* offset vertex */
float fade = tex_strength(ss, brush, vd.co, test.dist,
ss->cache->sculpt_normal_symm, vd.no,
- vd.fno, *vd.mask);
+ vd.fno, *vd.mask);
mul_v3_v3fl(proxy[vd.i], offset, fade);
@@ -1578,7 +1580,7 @@ static void do_crease_brush(Sculpt *sd, Object *ob, PBVHNode **nodes, int totnod
/* offset vertex */
const float fade = tex_strength(ss, brush, vd.co, test.dist,
ss->cache->sculpt_normal_symm,
- vd.no, vd.fno, *vd.mask);
+ vd.no, vd.fno, *vd.mask);
float val1[3];
float val2[3];
@@ -1716,7 +1718,7 @@ static void do_nudge_brush(Sculpt *sd, Object *ob, PBVHNode **nodes, int totnode
if (sculpt_brush_test(&test, vd.co)) {
const float fade = bstrength * tex_strength(ss, brush, vd.co, test.dist,
ss->cache->sculpt_normal_symm,
- vd.no, vd.fno, *vd.mask);
+ vd.no, vd.fno, *vd.mask);
mul_v3_v3fl(proxy[vd.i], cono, fade);
@@ -1765,7 +1767,7 @@ static void do_snake_hook_brush(Sculpt *sd, Object *ob, PBVHNode **nodes, int to
if (sculpt_brush_test(&test, vd.co)) {
const float fade = bstrength * tex_strength(ss, brush, vd.co, test.dist,
ss->cache->sculpt_normal_symm,
- vd.no, vd.fno, *vd.mask);
+ vd.no, vd.fno, *vd.mask);
mul_v3_v3fl(proxy[vd.i], grab_delta, fade);
@@ -1813,7 +1815,7 @@ static void do_thumb_brush(Sculpt *sd, Object *ob, PBVHNode **nodes, int totnode
if (sculpt_brush_test(&test, origco[vd.i])) {
const float fade = bstrength * tex_strength(ss, brush, origco[vd.i], test.dist,
ss->cache->sculpt_normal_symm,
- origno[vd.i], NULL, *vd.mask);
+ origno[vd.i], NULL, *vd.mask);
mul_v3_v3fl(proxy[vd.i], cono, fade);
@@ -1866,7 +1868,7 @@ static void do_rotate_brush(Sculpt *sd, Object *ob, PBVHNode **nodes, int totnod
if (sculpt_brush_test(&test, origco[vd.i])) {
const float fade = bstrength * tex_strength(ss, brush, origco[vd.i], test.dist,
ss->cache->sculpt_normal_symm,
- origno[vd.i], NULL, *vd.mask);
+ origno[vd.i], NULL, *vd.mask);
mul_v3_m4v3(proxy[vd.i], m, origco[vd.i]);
sub_v3_v3(proxy[vd.i], origco[vd.i]);
@@ -1919,7 +1921,7 @@ static void do_layer_brush(Sculpt *sd, Object *ob, PBVHNode **nodes, int totnode
if (sculpt_brush_test(&test, origco[vd.i])) {
const float fade = bstrength * tex_strength(ss, brush, vd.co, test.dist,
ss->cache->sculpt_normal_symm,
- vd.no, vd.fno, *vd.mask);
+ vd.no, vd.fno, *vd.mask);
float *disp = &layer_disp[vd.i];
float val[3];
@@ -3223,6 +3225,69 @@ static void sculpt_init_mirror_clipping(Object *ob, SculptSession *ss)
}
}
+static void sculpt_omp_start(Sculpt *sd, SculptSession *ss)
+{
+ StrokeCache *cache = ss->cache;
+
+#ifdef _OPENMP
+ /* If using OpenMP then create a number of threads two times the
+ * number of processor cores.
+ * Justification: Empirically I've found that two threads per
+ * processor gives higher throughput. */
+ if (sd->flags & SCULPT_USE_OPENMP) {
+ cache->num_threads = 2 * omp_get_num_procs();
+ omp_set_num_threads(cache->num_threads);
+ }
+ else
+#endif
+ {
+ (void)sd;
+ cache->num_threads = 1;
+ }
+
+ if (ss->multires) {
+ int i, gridsize, array_mem_size;
+ BLI_pbvh_node_get_grids(ss->pbvh, NULL, NULL, NULL, NULL,
+ &gridsize, NULL, NULL);
+
+ array_mem_size = cache->num_threads * sizeof(void*);
+
+ cache->tmpgrid_co = MEM_mallocN(array_mem_size, "tmpgrid_co array");
+ cache->tmprow_co = MEM_mallocN(array_mem_size, "tmprow_co array");
+ cache->tmpgrid_mask = MEM_mallocN(array_mem_size, "tmpgrid_mask array");
+ cache->tmprow_mask = MEM_mallocN(array_mem_size, "tmprow_mask array");
+
+ for (i = 0; i < cache->num_threads; i++) {
+ const size_t row_size = sizeof(float) * gridsize;
+ const size_t co_row_size = 3 * row_size;
+
+ cache->tmprow_co[i] = MEM_mallocN(co_row_size, "tmprow_co");
+ cache->tmpgrid_co[i] = MEM_mallocN(co_row_size * gridsize, "tmpgrid_co");
+ cache->tmprow_mask[i] = MEM_mallocN(row_size, "tmprow_mask");
+ cache->tmpgrid_mask[i] = MEM_mallocN(row_size * gridsize, "tmpgrid_mask");
+ }
+ }
+}
+
+static void sculpt_omp_done(SculptSession *ss)
+{
+ if (ss->multires) {
+ int i;
+
+ for (i = 0; i < ss->cache->num_threads; i++) {
+ MEM_freeN(ss->cache->tmpgrid_co[i]);
+ MEM_freeN(ss->cache->tmprow_co[i]);
+ MEM_freeN(ss->cache->tmpgrid_mask[i]);
+ MEM_freeN(ss->cache->tmprow_mask[i]);
+ }
+
+ MEM_freeN(ss->cache->tmpgrid_co);
+ MEM_freeN(ss->cache->tmprow_co);
+ MEM_freeN(ss->cache->tmpgrid_mask);
+ MEM_freeN(ss->cache->tmprow_mask);
+ }
+}
+
/* Initialize the stroke cache invariants from operator properties */
static void sculpt_update_cache_invariants(bContext *C, Sculpt *sd, SculptSession *ss, wmOperator *op, const float mouse[2])
{
@@ -3336,6 +3401,8 @@ static void sculpt_update_cache_invariants(bContext *C, Sculpt *sd, SculptSessio
cache->first_time = 1;
cache->vertex_rotation = 0;
+
+ sculpt_omp_start(sd, ss);
}
static void sculpt_update_brush_delta(Sculpt *sd, Object *ob, Brush *brush)
@@ -3571,6 +3638,21 @@ static void sculpt_update_cache_variants(bContext *C, Sculpt *sd, Object *ob,
sd->special_rotation = cache->special_rotation;
}
+/* Returns true iff any of the smoothing modes are active (currently
+ one of smooth brush, autosmooth, mask smooth, or shift-key
+ smooth) */
+static int sculpt_any_smooth_mode(const Brush *brush,
+ StrokeCache *cache,
+ int stroke_mode)
+{
+ return ((stroke_mode == BRUSH_STROKE_SMOOTH) ||
+ (cache && cache->alt_smooth) ||
+ (brush->sculpt_tool == SCULPT_TOOL_SMOOTH) ||
+ (brush->autosmooth_factor > 0) ||
+ ((brush->sculpt_tool == SCULPT_TOOL_MASK) &&
+ (brush->mask_tool == BRUSH_MASK_SMOOTH)));
+}
+
static void sculpt_stroke_modifiers_check(const bContext *C, Object *ob)
{
SculptSession *ss = ob->sculpt;
@@ -3579,7 +3661,8 @@ static void sculpt_stroke_modifiers_check(const bContext *C, Object *ob)
Sculpt *sd = CTX_data_tool_settings(C)->sculpt;
Brush *brush = paint_brush(&sd->paint);
- sculpt_update_mesh_elements(CTX_data_scene(C), sd, ob, brush->sculpt_tool == SCULPT_TOOL_SMOOTH);
+ sculpt_update_mesh_elements(CTX_data_scene(C), sd, ob,
+ sculpt_any_smooth_mode(brush, ss->cache, 0));
}
}
@@ -3689,11 +3772,7 @@ static int sculpt_brush_stroke_init(bContext *C, wmOperator *op)
view3d_operator_needs_opengl(C);
sculpt_brush_init_tex(scene, sd, ss);
- is_smooth |= mode == BRUSH_STROKE_SMOOTH;
- is_smooth |= brush->sculpt_tool == SCULPT_TOOL_SMOOTH;
- is_smooth |= ((brush->sculpt_tool == SCULPT_TOOL_MASK) &&
- (brush->mask_tool == BRUSH_MASK_SMOOTH));
-
+ is_smooth = sculpt_any_smooth_mode(brush, NULL, mode);
sculpt_update_mesh_elements(scene, sd, ob, is_smooth);
return 1;
@@ -3776,19 +3855,6 @@ static int sculpt_stroke_test_start(bContext *C, struct wmOperator *op,
sculpt_undo_push_begin(sculpt_tool_name(sd));
-#ifdef _OPENMP
- /* If using OpenMP then create a number of threads two times the
- * number of processor cores.
- * Justification: Empirically I've found that two threads per
- * processor gives higher throughput. */
- if (sd->flags & SCULPT_USE_OPENMP) {
- int num_procs;
-
- num_procs = omp_get_num_procs();
- omp_set_num_threads(2 * num_procs);
- }
-#endif
-
return 1;
}
else
@@ -3825,6 +3891,8 @@ static void sculpt_stroke_done(const bContext *C, struct PaintStroke *UNUSED(str
SculptSession *ss = ob->sculpt;
Sculpt *sd = CTX_data_tool_settings(C)->sculpt;
+ sculpt_omp_done(ss);
+
/* reset values used to draw brush after completing the stroke */
sd->draw_anchored = 0;
sd->draw_pressure = 0;
diff --git a/source/blender/editors/sound/sound_ops.c b/source/blender/editors/sound/sound_ops.c
index af7f3bd4aed..9827ffdc324 100644
--- a/source/blender/editors/sound/sound_ops.c
+++ b/source/blender/editors/sound/sound_ops.c
@@ -676,7 +676,7 @@ static int sound_poll(bContext *C)
{
Editing *ed = CTX_data_scene(C)->ed;
- if (!ed || !ed->act_seq || ed->act_seq->type != SEQ_SOUND)
+ if (!ed || !ed->act_seq || ed->act_seq->type != SEQ_TYPE_SOUND_RAM)
return 0;
return 1;
@@ -689,7 +689,7 @@ static int sound_pack_exec(bContext *C, wmOperator *op)
Editing *ed = CTX_data_scene(C)->ed;
bSound *sound;
- if (!ed || !ed->act_seq || ed->act_seq->type != SEQ_SOUND)
+ if (!ed || !ed->act_seq || ed->act_seq->type != SEQ_TYPE_SOUND_RAM)
return OPERATOR_CANCELLED;
sound = ed->act_seq->sound;
@@ -751,7 +751,7 @@ static int sound_unpack_invoke(bContext *C, wmOperator *op, wmEvent *UNUSED(even
if (RNA_struct_property_is_set(op->ptr, "id"))
return sound_unpack_exec(C, op);
- if (!ed || !ed->act_seq || ed->act_seq->type != SEQ_SOUND)
+ if (!ed || !ed->act_seq || ed->act_seq->type != SEQ_TYPE_SOUND_RAM)
return OPERATOR_CANCELLED;
sound = ed->act_seq->sound;
diff --git a/source/blender/editors/space_action/action_draw.c b/source/blender/editors/space_action/action_draw.c
index 3961e566f80..edec57d9e93 100644
--- a/source/blender/editors/space_action/action_draw.c
+++ b/source/blender/editors/space_action/action_draw.c
@@ -236,8 +236,8 @@ void draw_channel_strips(bAnimContext *ac, SpaceAction *saction, ARegion *ar)
switch (ale->type) {
case ANIMTYPE_SUMMARY:
{
- // FIXME: hardcoded colors - reddish color from NLA
- glColor4f(0.8f, 0.2f, 0.0f, 0.4f);
+ /* reddish color from NLA */
+ UI_ThemeColor4(TH_ANIM_ACTIVE);
}
break;
@@ -290,6 +290,18 @@ void draw_channel_strips(bAnimContext *ac, SpaceAction *saction, ARegion *ar)
else glColor4ub(col2[0], col2[1], col2[2], 0x44);
glRectf(v2d->cur.xmin, (float)y - ACHANNEL_HEIGHT_HALF, v2d->cur.xmax + EXTRA_SCROLL_PAD, (float)y + ACHANNEL_HEIGHT_HALF);
}
+ else if (ac->datatype == ANIMCONT_MASK) {
+ /* TODO --- this is a copy of gpencil */
+ /* frames less than one get less saturated background */
+ if (sel) glColor4ub(col1[0], col1[1], col1[2], 0x22);
+ else glColor4ub(col2[0], col2[1], col2[2], 0x22);
+ glRectf(0.0f, (float)y - ACHANNEL_HEIGHT_HALF, v2d->cur.xmin, (float)y + ACHANNEL_HEIGHT_HALF);
+
+ /* frames one and higher get a saturated background */
+ if (sel) glColor4ub(col1[0], col1[1], col1[2], 0x44);
+ else glColor4ub(col2[0], col2[1], col2[2], 0x44);
+ glRectf(v2d->cur.xmin, (float)y - ACHANNEL_HEIGHT_HALF, v2d->cur.xmax + EXTRA_SCROLL_PAD, (float)y + ACHANNEL_HEIGHT_HALF);
+ }
}
}
@@ -340,6 +352,9 @@ void draw_channel_strips(bAnimContext *ac, SpaceAction *saction, ARegion *ar)
case ALE_GPFRAME:
draw_gpl_channel(v2d, ads, ale->data, y);
break;
+ case ALE_MASKLAY:
+ draw_masklay_channel(v2d, ads, ale->data, y);
+ break;
}
}
}
diff --git a/source/blender/editors/space_action/action_edit.c b/source/blender/editors/space_action/action_edit.c
index 73c36fd8086..b5cd49cc15c 100644
--- a/source/blender/editors/space_action/action_edit.c
+++ b/source/blender/editors/space_action/action_edit.c
@@ -44,6 +44,7 @@
#include "DNA_gpencil_types.h"
#include "DNA_object_types.h"
#include "DNA_scene_types.h"
+#include "DNA_mask_types.h"
#include "RNA_access.h"
#include "RNA_define.h"
@@ -64,6 +65,7 @@
#include "ED_screen.h"
#include "ED_transform.h"
#include "ED_markers.h"
+#include "ED_mask.h"
#include "WM_api.h"
#include "WM_types.h"
@@ -256,6 +258,19 @@ static void get_keyframe_extents(bAnimContext *ac, float *min, float *max, const
*max = MAX2(*max, gpf->framenum);
}
}
+ else if (ale->datatype == ALE_MASKLAY) {
+ MaskLayer *masklay = ale->data;
+ MaskLayerShape *masklay_shape;
+
+ /* find mask layer which is less than or equal to cframe */
+ for (masklay_shape = masklay->splines_shapes.first;
+ masklay_shape;
+ masklay_shape = masklay_shape->next)
+ {
+ *min = MIN2(*min, masklay_shape->frame);
+ *max = MAX2(*max, masklay_shape->frame);
+ }
+ }
else {
FCurve *fcu = (FCurve *)ale->key_data;
float tmin, tmax;
@@ -445,9 +460,16 @@ static short paste_action_keys(bAnimContext *ac,
ListBase anim_data = {NULL, NULL};
int filter, ok = 0;
- /* filter data */
- filter = (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_SEL | ANIMFILTER_FOREDIT /*| ANIMFILTER_CURVESONLY*/ | ANIMFILTER_NODUPLIS);
- ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
+ /* filter data
+ * - First time we try to filter more strictly, allowing only selected channels
+ * to allow copying animation between channels
+ * - Second time, we loosen things up if nothing was found the first time, allowing
+ * users to just paste keyframes back into the original curve again [#31670]
+ */
+ filter = (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_FOREDIT /*| ANIMFILTER_CURVESONLY*/ | ANIMFILTER_NODUPLIS);
+
+ if (ANIM_animdata_filter(ac, &anim_data, filter | ANIMFILTER_SEL, ac->data, ac->datatype) == 0)
+ ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* paste keyframes */
ok = paste_animedit_keys(ac, &anim_data, offset_mode, merge_mode);
@@ -469,11 +491,16 @@ static int actkeys_copy_exec(bContext *C, wmOperator *op)
return OPERATOR_CANCELLED;
/* copy keyframes */
- if (ac.datatype == ANIMCONT_GPENCIL) {
+ if (ELEM(ac.datatype, ANIMCONT_GPENCIL, ANIMCONT_MASK)) {
// FIXME...
BKE_report(op->reports, RPT_ERROR, "Keyframe pasting is not available for Grease Pencil mode");
return OPERATOR_CANCELLED;
}
+ else if (ac.datatype == ANIMCONT_MASK) {
+ // FIXME...
+ BKE_report(op->reports, RPT_ERROR, "Keyframe pasting is not available for mask mode");
+ return OPERATOR_CANCELLED;
+ }
else {
if (copy_action_keys(&ac)) {
BKE_report(op->reports, RPT_ERROR, "No keyframes copied to keyframes copy/paste buffer");
@@ -514,9 +541,9 @@ static int actkeys_paste_exec(bContext *C, wmOperator *op)
ac.reports = op->reports;
/* paste keyframes */
- if (ac.datatype == ANIMCONT_GPENCIL) {
+ if (ELEM(ac.datatype, ANIMCONT_GPENCIL, ANIMCONT_MASK)) {
// FIXME...
- BKE_report(op->reports, RPT_ERROR, "Keyframe pasting is not available for Grease Pencil mode");
+ BKE_report(op->reports, RPT_ERROR, "Keyframe pasting is not available for Grease Pencil or Mask mode");
return OPERATOR_CANCELLED;
}
else {
@@ -618,7 +645,7 @@ static int actkeys_insertkey_exec(bContext *C, wmOperator *op)
/* get editor data */
if (ANIM_animdata_get_context(C, &ac) == 0)
return OPERATOR_CANCELLED;
- if (ac.datatype == ANIMCONT_GPENCIL)
+ if (ELEM(ac.datatype, ANIMCONT_GPENCIL, ANIMCONT_MASK))
return OPERATOR_CANCELLED;
/* what channels to affect? */
@@ -664,7 +691,7 @@ static void duplicate_action_keys(bAnimContext *ac)
int filter;
/* filter data */
- if (ac->datatype == ANIMCONT_GPENCIL)
+ if (ELEM(ac->datatype, ANIMCONT_GPENCIL, ANIMCONT_MASK))
filter = (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_NODUPLIS);
else
filter = (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_FOREDIT /*| ANIMFILTER_CURVESONLY*/ | ANIMFILTER_NODUPLIS);
@@ -674,8 +701,12 @@ static void duplicate_action_keys(bAnimContext *ac)
for (ale = anim_data.first; ale; ale = ale->next) {
if (ale->type == ANIMTYPE_FCURVE)
duplicate_fcurve_keys((FCurve *)ale->key_data);
+ else if (ale->type == ANIMTYPE_GPLAYER)
+ ED_gplayer_frames_duplicate((bGPDlayer *)ale->data);
+ else if (ale->type == ANIMTYPE_MASKLAYER)
+ ED_masklayer_frames_duplicate((MaskLayer *)ale->data);
else
- duplicate_gplayer_frames((bGPDlayer *)ale->data);
+ BLI_assert(0);
}
/* free filtered list */
@@ -696,7 +727,7 @@ static int actkeys_duplicate_exec(bContext *C, wmOperator *UNUSED(op))
duplicate_action_keys(&ac);
/* validate keyframes after editing */
- if (ac.datatype != ANIMCONT_GPENCIL)
+ if (!ELEM(ac.datatype, ANIMCONT_GPENCIL, ANIMCONT_MASK))
ANIM_editkeyframes_refresh(&ac);
/* set notifier that keyframes have changed */
@@ -737,7 +768,7 @@ static void delete_action_keys(bAnimContext *ac)
int filter;
/* filter data */
- if (ac->datatype == ANIMCONT_GPENCIL)
+ if (ELEM(ac->datatype, ANIMCONT_GPENCIL, ANIMCONT_MASK))
filter = (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_NODUPLIS);
else
filter = (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_FOREDIT /*| ANIMFILTER_CURVESONLY*/ | ANIMFILTER_NODUPLIS);
@@ -745,7 +776,13 @@ static void delete_action_keys(bAnimContext *ac)
/* loop through filtered data and delete selected keys */
for (ale = anim_data.first; ale; ale = ale->next) {
- if (ale->type != ANIMTYPE_GPLAYER) {
+ if (ale->type == ANIMTYPE_GPLAYER) {
+ ED_gplayer_frames_delete((bGPDlayer *)ale->data);
+ }
+ else if (ale->type == ANIMTYPE_MASKLAYER) {
+ ED_masklayer_frames_delete((MaskLayer *)ale->data);
+ }
+ else {
FCurve *fcu = (FCurve *)ale->key_data;
AnimData *adt = ale->adt;
@@ -756,8 +793,6 @@ static void delete_action_keys(bAnimContext *ac)
if ((fcu->totvert == 0) && (list_has_suitable_fmodifier(&fcu->modifiers, 0, FMI_TYPE_GENERATE_CURVE) == 0))
ANIM_fcurve_delete_from_animdata(ac, adt, fcu);
}
- else
- delete_gplayer_frames((bGPDlayer *)ale->data);
}
/* free filtered list */
@@ -778,7 +813,7 @@ static int actkeys_delete_exec(bContext *C, wmOperator *UNUSED(op))
delete_action_keys(&ac);
/* validate keyframes after editing */
- if (ac.datatype != ANIMCONT_GPENCIL)
+ if (!ELEM(ac.datatype, ANIMCONT_GPENCIL, ANIMCONT_MASK))
ANIM_editkeyframes_refresh(&ac);
/* set notifier that keyframes have changed */
@@ -833,7 +868,7 @@ static int actkeys_clean_exec(bContext *C, wmOperator *op)
/* get editor data */
if (ANIM_animdata_get_context(C, &ac) == 0)
return OPERATOR_CANCELLED;
- if (ac.datatype == ANIMCONT_GPENCIL)
+ if (ELEM(ac.datatype, ANIMCONT_GPENCIL, ANIMCONT_MASK))
return OPERATOR_PASS_THROUGH;
/* get cleaning threshold */
@@ -900,7 +935,7 @@ static int actkeys_sample_exec(bContext *C, wmOperator *UNUSED(op))
/* get editor data */
if (ANIM_animdata_get_context(C, &ac) == 0)
return OPERATOR_CANCELLED;
- if (ac.datatype == ANIMCONT_GPENCIL)
+ if (ELEM(ac.datatype, ANIMCONT_GPENCIL, ANIMCONT_MASK))
return OPERATOR_PASS_THROUGH;
/* sample keyframes */
@@ -1007,7 +1042,7 @@ static int actkeys_expo_exec(bContext *C, wmOperator *op)
/* get editor data */
if (ANIM_animdata_get_context(C, &ac) == 0)
return OPERATOR_CANCELLED;
- if (ac.datatype == ANIMCONT_GPENCIL)
+ if (ELEM(ac.datatype, ANIMCONT_GPENCIL, ANIMCONT_MASK))
return OPERATOR_PASS_THROUGH;
/* get handle setting mode */
@@ -1078,7 +1113,7 @@ static int actkeys_ipo_exec(bContext *C, wmOperator *op)
/* get editor data */
if (ANIM_animdata_get_context(C, &ac) == 0)
return OPERATOR_CANCELLED;
- if (ac.datatype == ANIMCONT_GPENCIL)
+ if (ELEM(ac.datatype, ANIMCONT_GPENCIL, ANIMCONT_MASK))
return OPERATOR_PASS_THROUGH;
/* get handle setting mode */
@@ -1158,7 +1193,7 @@ static int actkeys_handletype_exec(bContext *C, wmOperator *op)
/* get editor data */
if (ANIM_animdata_get_context(C, &ac) == 0)
return OPERATOR_CANCELLED;
- if (ac.datatype == ANIMCONT_GPENCIL)
+ if (ELEM(ac.datatype, ANIMCONT_GPENCIL, ANIMCONT_MASK))
return OPERATOR_PASS_THROUGH;
/* get handle setting mode */
@@ -1229,7 +1264,7 @@ static int actkeys_keytype_exec(bContext *C, wmOperator *op)
/* get editor data */
if (ANIM_animdata_get_context(C, &ac) == 0)
return OPERATOR_CANCELLED;
- if (ac.datatype == ANIMCONT_GPENCIL)
+ if (ELEM(ac.datatype, ANIMCONT_GPENCIL, ANIMCONT_MASK))
return OPERATOR_PASS_THROUGH;
/* get handle setting mode */
@@ -1352,7 +1387,7 @@ static void snap_action_keys(bAnimContext *ac, short mode)
KeyframeEditFunc edit_cb;
/* filter data */
- if (ac->datatype == ANIMCONT_GPENCIL)
+ if (ELEM(ac->datatype, ANIMCONT_GPENCIL, ANIMCONT_MASK))
filter = (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_FOREDIT);
else
filter = (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_FOREDIT /*| ANIMFILTER_CURVESONLY*/ | ANIMFILTER_NODUPLIS);
@@ -1397,7 +1432,7 @@ static int actkeys_snap_exec(bContext *C, wmOperator *op)
return OPERATOR_CANCELLED;
// XXX...
- if (ac.datatype == ANIMCONT_GPENCIL)
+ if (ELEM(ac.datatype, ANIMCONT_GPENCIL, ANIMCONT_MASK))
return OPERATOR_PASS_THROUGH;
/* get snapping mode */
@@ -1475,7 +1510,7 @@ static void mirror_action_keys(bAnimContext *ac, short mode)
}
/* filter data */
- if (ac->datatype == ANIMCONT_GPENCIL)
+ if (ELEM(ac->datatype, ANIMCONT_GPENCIL, ANIMCONT_MASK))
filter = (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_NODUPLIS);
else
filter = (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_FOREDIT /*| ANIMFILTER_CURVESONLY*/ | ANIMFILTER_NODUPLIS);
@@ -1511,7 +1546,7 @@ static int actkeys_mirror_exec(bContext *C, wmOperator *op)
return OPERATOR_CANCELLED;
// XXX...
- if (ac.datatype == ANIMCONT_GPENCIL)
+ if (ELEM(ac.datatype, ANIMCONT_GPENCIL, ANIMCONT_MASK))
return OPERATOR_PASS_THROUGH;
/* get mirroring mode */
diff --git a/source/blender/editors/space_action/action_select.c b/source/blender/editors/space_action/action_select.c
index 0c6b0f5eb3d..539a32161e5 100644
--- a/source/blender/editors/space_action/action_select.c
+++ b/source/blender/editors/space_action/action_select.c
@@ -43,6 +43,7 @@
#include "DNA_gpencil_types.h"
#include "DNA_object_types.h"
#include "DNA_scene_types.h"
+#include "DNA_mask_types.h"
#include "RNA_access.h"
#include "RNA_define.h"
@@ -55,6 +56,7 @@
#include "ED_anim_api.h"
#include "ED_gpencil.h"
+#include "ED_mask.h"
#include "ED_keyframes_draw.h"
#include "ED_keyframes_edit.h"
#include "ED_markers.h"
@@ -92,7 +94,7 @@ static void deselect_action_keys(bAnimContext *ac, short test, short sel)
KeyframeEditFunc test_cb, sel_cb;
/* determine type-based settings */
- if (ac->datatype == ANIMCONT_GPENCIL)
+ if (ELEM(ac->datatype, ANIMCONT_GPENCIL, ANIMCONT_MASK))
filter = (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_NODUPLIS);
else
filter = (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE /*| ANIMFILTER_CURVESONLY*/ | ANIMFILTER_NODUPLIS);
@@ -107,7 +109,13 @@ static void deselect_action_keys(bAnimContext *ac, short test, short sel)
if (test) {
for (ale = anim_data.first; ale; ale = ale->next) {
if (ale->type == ANIMTYPE_GPLAYER) {
- if (is_gplayer_frame_selected(ale->data)) {
+ if (ED_gplayer_frame_select_check(ale->data)) {
+ sel = SELECT_SUBTRACT;
+ break;
+ }
+ }
+ else if (ale->type == ANIMTYPE_MASKLAYER) {
+ if (ED_masklayer_frame_select_check(ale->data)) {
sel = SELECT_SUBTRACT;
break;
}
@@ -127,7 +135,9 @@ static void deselect_action_keys(bAnimContext *ac, short test, short sel)
/* Now set the flags */
for (ale = anim_data.first; ale; ale = ale->next) {
if (ale->type == ANIMTYPE_GPLAYER)
- set_gplayer_frame_selection(ale->data, sel);
+ ED_gplayer_frame_select_set(ale->data, sel);
+ else if (ale->type == ANIMTYPE_MASKLAYER)
+ ED_masklayer_frame_select_set(ale->data, sel);
else
ANIM_fcurve_keyframes_loop(&ked, ale->key_data, NULL, sel_cb, NULL);
}
@@ -249,7 +259,9 @@ static void borderselect_action(bAnimContext *ac, rcti rect, short mode, short s
{
/* loop over data selecting */
if (ale->type == ANIMTYPE_GPLAYER)
- borderselect_gplayer_frames(ale->data, rectf.xmin, rectf.xmax, selectmode);
+ ED_gplayer_frames_select_border(ale->data, rectf.xmin, rectf.xmax, selectmode);
+ else if (ale->type == ANIMTYPE_MASKLAYER)
+ ED_masklayer_frames_select_border(ale->data, rectf.xmin, rectf.xmax, selectmode);
else
ANIM_animchannel_keyframes_loop(&ked, ac->ads, ale, ok_cb, select_cb, NULL);
}
@@ -398,7 +410,10 @@ static void markers_selectkeys_between(bAnimContext *ac)
ANIM_nla_mapping_apply_fcurve(adt, ale->key_data, 1, 1);
}
else if (ale->type == ANIMTYPE_GPLAYER) {
- borderselect_gplayer_frames(ale->data, min, max, SELECT_ADD);
+ ED_gplayer_frames_select_border(ale->data, min, max, SELECT_ADD);
+ }
+ else if (ale->type == ANIMTYPE_MASKLAYER) {
+ ED_masklayer_frames_select_border(ale->data, min, max, SELECT_ADD);
}
else {
ANIM_fcurve_keyframes_loop(&ked, ale->key_data, ok_cb, select_cb, NULL);
@@ -432,7 +447,7 @@ static void columnselect_action_keys(bAnimContext *ac, short mode)
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
for (ale = anim_data.first; ale; ale = ale->next)
- gplayer_make_cfra_list(ale->data, &ked.list, 1);
+ ED_gplayer_make_cfra_list(ale->data, &ked.list, 1);
}
else {
filter = (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE /*| ANIMFILTER_CURVESONLY*/);
@@ -467,7 +482,7 @@ static void columnselect_action_keys(bAnimContext *ac, short mode)
/* loop through all of the keys and select additional keyframes
* based on the keys found to be selected above
*/
- if (ac->datatype == ANIMCONT_GPENCIL)
+ if (ELEM(ac->datatype, ANIMCONT_GPENCIL, ANIMCONT_MASK))
filter = (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE);
else
filter = (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE /*| ANIMFILTER_CURVESONLY*/);
@@ -488,7 +503,9 @@ static void columnselect_action_keys(bAnimContext *ac, short mode)
/* select elements with frame number matching cfraelem */
if (ale->type == ANIMTYPE_GPLAYER)
- select_gpencil_frame(ale->data, ce->cfra, SELECT_ADD);
+ ED_gpencil_select_frame(ale->data, ce->cfra, SELECT_ADD);
+ else if (ale->type == ANIMTYPE_MASKLAYER)
+ ED_mask_select_frame(ale->data, ce->cfra, SELECT_ADD);
else
ANIM_fcurve_keyframes_loop(&ked, ale->key_data, ok_cb, select_cb, NULL);
}
@@ -755,7 +772,7 @@ static void actkeys_select_leftright(bAnimContext *ac, short leftright, short se
}
/* filter data */
- if (ac->datatype == ANIMCONT_GPENCIL)
+ if (ELEM(ac->datatype, ANIMCONT_GPENCIL, ANIMCONT_MASK))
filter = (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_NODUPLIS);
else
filter = (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE /*| ANIMFILTER_CURVESONLY*/ | ANIMFILTER_NODUPLIS);
@@ -771,7 +788,9 @@ static void actkeys_select_leftright(bAnimContext *ac, short leftright, short se
ANIM_nla_mapping_apply_fcurve(adt, ale->key_data, 1, 1);
}
else if (ale->type == ANIMTYPE_GPLAYER)
- borderselect_gplayer_frames(ale->data, ked.f1, ked.f2, select_mode);
+ ED_gplayer_frames_select_border(ale->data, ked.f1, ked.f2, select_mode);
+ else if (ale->type == ANIMTYPE_MASKLAYER)
+ ED_masklayer_frames_select_border(ale->data, ked.f1, ked.f2, select_mode);
else
ANIM_fcurve_keyframes_loop(&ked, ale->key_data, ok_cb, select_cb, NULL);
}
@@ -908,7 +927,9 @@ static void actkeys_mselect_single(bAnimContext *ac, bAnimListElem *ale, short s
/* select the nominated keyframe on the given frame */
if (ale->type == ANIMTYPE_GPLAYER)
- select_gpencil_frame(ale->data, selx, select_mode);
+ ED_gpencil_select_frame(ale->data, selx, select_mode);
+ else if (ale->type == ANIMTYPE_MASKLAYER)
+ ED_mask_select_frame(ale->data, selx, select_mode);
else
ANIM_animchannel_keyframes_loop(&ked, ac->ads, ale, ok_cb, select_cb, NULL);
}
@@ -933,7 +954,7 @@ static void actkeys_mselect_column(bAnimContext *ac, short select_mode, float se
/* loop through all of the keys and select additional keyframes
* based on the keys found to be selected above
*/
- if (ac->datatype == ANIMCONT_GPENCIL)
+ if (ELEM(ac->datatype, ANIMCONT_GPENCIL, ANIMCONT_MASK))
filter = (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE /*| ANIMFILTER_CURVESONLY */ | ANIMFILTER_NODUPLIS);
else
filter = (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_NODUPLIS);
@@ -950,8 +971,10 @@ static void actkeys_mselect_column(bAnimContext *ac, short select_mode, float se
/* select elements with frame number matching cfra */
if (ale->type == ANIMTYPE_GPLAYER)
- select_gpencil_frame(ale->key_data, selx, select_mode);
- else
+ ED_gpencil_select_frame(ale->key_data, selx, select_mode);
+ else if (ale->type == ANIMTYPE_MASKLAYER)
+ ED_mask_select_frame(ale->key_data, selx, select_mode);
+ else
ANIM_fcurve_keyframes_loop(&ked, ale->key_data, ok_cb, select_cb, NULL);
}
@@ -1051,7 +1074,12 @@ static void mouse_action_keys(bAnimContext *ac, const int mval[2], short select_
bGPDlayer *gpl = (bGPDlayer *)ale->data;
gpl_to_keylist(ads, gpl, &anim_keys);
}
-
+ else if (ale->type == ANIMTYPE_MASKLAYER) {
+ // TODO: why don't we just give masklayers key_data too?
+ MaskLayer *masklay = (MaskLayer *)ale->data;
+ mask_to_keylist(ads, masklay, &anim_keys);
+ }
+
/* start from keyframe at root of BST, traversing until we find one within the range that was clicked on */
for (ak = anim_keys.root; ak; ak = akn) {
if (IN_RANGE(ak->cfra, rectf.xmin, rectf.xmax)) {
@@ -1120,6 +1148,18 @@ static void mouse_action_keys(bAnimContext *ac, const int mval[2], short select_
//gpencil_layer_setactive(gpd, gpl);
}
}
+ else if (ac->datatype == ANIMCONT_MASK) {
+ /* deselect all other channels first */
+ ANIM_deselect_anim_channels(ac, ac->data, ac->datatype, 0, ACHANNEL_SETFLAG_CLEAR);
+
+ /* Highlight GPencil Layer */
+ if ((ale && ale->data) && (ale->type == ANIMTYPE_MASKLAYER)) {
+ MaskLayer *masklay = ale->data;
+
+ masklay->flag |= MASK_LAYERFLAG_SELECT;
+ //gpencil_layer_setactive(gpd, gpl);
+ }
+ }
}
/* only select keyframes if we clicked on a valid channel and hit something */
diff --git a/source/blender/editors/space_action/space_action.c b/source/blender/editors/space_action/space_action.c
index ae4020aaaba..db1d4ed1155 100644
--- a/source/blender/editors/space_action/space_action.c
+++ b/source/blender/editors/space_action/space_action.c
@@ -361,7 +361,7 @@ static void action_listener(ScrArea *sa, wmNotifier *wmn)
case NC_SCREEN:
if (wmn->data == ND_GPENCIL) {
/* only handle this event in GPencil mode for performance considerations */
- if (saction->mode == SACTCONT_GPENCIL)
+ if (saction->mode == SACTCONT_GPENCIL)
ED_area_tag_redraw(sa);
}
break;
@@ -405,6 +405,18 @@ static void action_listener(ScrArea *sa, wmNotifier *wmn)
break;
}
break;
+ case NC_MASK:
+ if (saction->mode == SACTCONT_MASK) {
+ switch (wmn->data) {
+ case ND_DATA:
+ ED_area_tag_refresh(sa);
+ break;
+ default: /* just redrawing the view will do */
+ ED_area_tag_redraw(sa);
+ break;
+ }
+ }
+ break;
case NC_NODE:
if (wmn->action == NA_SELECTED) {
/* selection changed, so force refresh to flush (needs flag set to do syncing) */
@@ -423,6 +435,12 @@ static void action_listener(ScrArea *sa, wmNotifier *wmn)
break;
}
break;
+ case NC_WINDOW:
+ if (saction->flag & SACTION_TEMP_NEEDCHANSYNC) {
+ /* force redraw/refresh after undo/redo - [#28962] */
+ ED_area_tag_refresh(sa);
+ }
+ break;
}
}
@@ -452,9 +470,21 @@ static void action_refresh(const bContext *C, ScrArea *sa)
* NOTE: the temp flag is used to indicate when this needs to be done, and will be cleared once handled
*/
if (saction->flag & SACTION_TEMP_NEEDCHANSYNC) {
+ ARegion *ar;
+
+ /* Perform syncing of channel state incl. selection
+ * Active action setting also occurs here (as part of anim channel filtering in anim_filter.c)
+ */
ANIM_sync_animchannels_to_data(C);
saction->flag &= ~SACTION_TEMP_NEEDCHANSYNC;
+
+ /* Tag everything for redraw
+ * - Regions (such as header) need to be manually tagged for redraw too
+ * or else they don't update [#28962]
+ */
ED_area_tag_redraw(sa);
+ for (ar = sa->regionbase.first; ar; ar = ar->next)
+ ED_region_tag_redraw(ar);
}
/* region updates? */
diff --git a/source/blender/editors/space_api/CMakeLists.txt b/source/blender/editors/space_api/CMakeLists.txt
index 611322fc1ab..137cda9c285 100644
--- a/source/blender/editors/space_api/CMakeLists.txt
+++ b/source/blender/editors/space_api/CMakeLists.txt
@@ -35,7 +35,6 @@ set(INC_SYS
)
set(SRC
- space.c
spacetypes.c
)
diff --git a/source/blender/editors/space_api/space.c b/source/blender/editors/space_api/space.c
deleted file mode 100644
index e677014decf..00000000000
--- a/source/blender/editors/space_api/space.c
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * ***** BEGIN GPL LICENSE BLOCK *****
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- * The Original Code is Copyright (C) 2007 Blender Foundation.
- * All rights reserved.
- *
- *
- * Contributor(s): Blender Foundation
- *
- * ***** END GPL LICENSE BLOCK *****
- */
-
-/** \file blender/editors/space_api/space.c
- * \ingroup spapi
- */
-
-
-#include <string.h>
-#include <stdio.h>
-
-
-#include "BLI_blenlib.h"
-#include "BLI_math.h"
-
-
-
-/* */
-
-
-
diff --git a/source/blender/editors/space_api/spacetypes.c b/source/blender/editors/space_api/spacetypes.c
index 956aee84fd3..fa77249a7a1 100644
--- a/source/blender/editors/space_api/spacetypes.c
+++ b/source/blender/editors/space_api/spacetypes.c
@@ -62,6 +62,7 @@
#include "ED_mball.h"
#include "ED_logic.h"
#include "ED_clip.h"
+#include "ED_mask.h"
/* only call once on startup, storage is global in BKE kernel listbase */
void ED_spacetypes_init(void)
@@ -111,6 +112,7 @@ void ED_spacetypes_init(void)
ED_operatortypes_sound();
ED_operatortypes_render();
ED_operatortypes_logic();
+ ED_operatortypes_mask();
UI_view2d_operatortypes();
UI_buttons_operatortypes();
@@ -133,6 +135,7 @@ void ED_spacetypes_init(void)
ED_operatormacros_action();
ED_operatormacros_clip();
ED_operatormacros_curve();
+ ED_operatormacros_mask();
/* register dropboxes (can use macros) */
spacetypes = BKE_spacetypes_list();
@@ -164,6 +167,7 @@ void ED_spacetypes_keymap(wmKeyConfig *keyconf)
ED_keymap_physics(keyconf);
ED_keymap_metaball(keyconf);
ED_keymap_paint(keyconf);
+ ED_keymap_mask(keyconf);
ED_marker_keymap(keyconf);
UI_view2d_keymap(keyconf);
diff --git a/source/blender/editors/space_buttons/buttons_header.c b/source/blender/editors/space_buttons/buttons_header.c
index 661f7ad7d0f..b13ba9a1aa3 100644
--- a/source/blender/editors/space_buttons/buttons_header.c
+++ b/source/blender/editors/space_buttons/buttons_header.c
@@ -125,9 +125,9 @@ void buttons_header_buttons(const bContext *C, ARegion *ar)
if (sbuts->pathflag & (1 << _ctx)) { \
but = uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, _icon, xco += BUT_UNIT_X, yco, BUT_UNIT_X, UI_UNIT_Y, &(sbuts->mainb), 0.0, (float)_ctx, 0, 0, TIP_(_tip)); \
uiButClearFlag(but, UI_BUT_UNDO); \
- } \
+ } (void)0
- BUTTON_HEADER_CTX(BCONTEXT_RENDER, ICON_SCENE, N_("Render"))
+ BUTTON_HEADER_CTX(BCONTEXT_RENDER, ICON_SCENE, N_("Render"));
BUTTON_HEADER_CTX(BCONTEXT_SCENE, ICON_SCENE_DATA, N_("Scene"));
BUTTON_HEADER_CTX(BCONTEXT_WORLD, ICON_WORLD, N_("World"));
BUTTON_HEADER_CTX(BCONTEXT_OBJECT, ICON_OBJECT_DATA, N_("Object"));
diff --git a/source/blender/editors/space_buttons/buttons_texture.c b/source/blender/editors/space_buttons/buttons_texture.c
index 5c5c24f7bc1..cdecda63432 100644
--- a/source/blender/editors/space_buttons/buttons_texture.c
+++ b/source/blender/editors/space_buttons/buttons_texture.c
@@ -175,7 +175,7 @@ static void buttons_texture_users_from_context(ListBase *users, const bContext *
if (!(pinid || pinid == &scene->id)) {
ob = (scene->basact) ? scene->basact->object : NULL;
wrld = scene->world;
- brush = paint_brush(paint_get_active(scene));
+ brush = paint_brush(paint_get_active_from_context(C));
}
if (ob && ob->type == OB_LAMP && !la)
diff --git a/source/blender/editors/space_clip/CMakeLists.txt b/source/blender/editors/space_clip/CMakeLists.txt
index ec5e81e4b2c..ecc4dea8b05 100644
--- a/source/blender/editors/space_clip/CMakeLists.txt
+++ b/source/blender/editors/space_clip/CMakeLists.txt
@@ -52,6 +52,7 @@ set(SRC
clip_utils.c
space_clip.c
tracking_ops.c
+ tracking_select.c
clip_intern.h
)
diff --git a/source/blender/editors/space_clip/clip_buttons.c b/source/blender/editors/space_clip/clip_buttons.c
index 18f191a46a6..9b3d713d040 100644
--- a/source/blender/editors/space_clip/clip_buttons.c
+++ b/source/blender/editors/space_clip/clip_buttons.c
@@ -59,7 +59,7 @@
#include "WM_api.h"
#include "WM_types.h"
-#include "clip_intern.h" // own include
+#include "clip_intern.h" /* own include */
/* Panels */
@@ -165,34 +165,36 @@ void uiTemplateTrack(uiLayout *layout, PointerRNA *ptr, const char *propname)
block = uiLayoutAbsoluteBlock(layout);
- scopes->track_preview_height = (scopes->track_preview_height <= UI_UNIT_Y)?UI_UNIT_Y : scopes->track_preview_height;
+ scopes->track_preview_height =
+ (scopes->track_preview_height <= UI_UNIT_Y) ? UI_UNIT_Y : scopes->track_preview_height;
uiDefBut(block, TRACKPREVIEW, 0, "", rect.xmin, rect.ymin, rect.xmax - rect.xmin,
- scopes->track_preview_height, scopes, 0, 0, 0, 0, "");
+ scopes->track_preview_height, scopes, 0, 0, 0, 0, "");
}
/********************* Marker Template ************************/
-#define B_MARKER_POS 3
-#define B_MARKER_OFFSET 4
-#define B_MARKER_PAT_DIM 5
-#define B_MARKER_SEARCH_POS 6
-#define B_MARKER_SEARCH_DIM 7
-#define B_MARKER_FLAG 8
+#define B_MARKER_POS 3
+#define B_MARKER_OFFSET 4
+#define B_MARKER_PAT_DIM 5
+#define B_MARKER_SEARCH_POS 6
+#define B_MARKER_SEARCH_DIM 7
+#define B_MARKER_FLAG 8
typedef struct {
- int compact; /* compact mode */
+ int compact; /* compact mode */
MovieClip *clip;
- MovieClipUser *user; /* user of clip */
+ MovieClipUser *user; /* user of clip */
MovieTrackingTrack *track;
+ MovieTrackingMarker *marker;
- int framenr; /* current frame number */
- float marker_pos[2]; /* position of marker in pixel coords */
- float track_pat[2]; /* position and dimensions of marker pattern in pixel coords */
- float track_offset[2]; /* offset of "parenting" point */
- float track_search_pos[2], track_search[2]; /* position and dimensions of marker search in pixel coords */
- int marker_flag; /* marker's flags */
+ int framenr; /* current frame number */
+ float marker_pos[2]; /* position of marker in pixel coords */
+ float marker_pat[2]; /* position and dimensions of marker pattern in pixel coords */
+ float track_offset[2]; /* offset of "parenting" point */
+ float marker_search_pos[2], marker_search[2]; /* position and dimensions of marker search in pixel coords */
+ int marker_flag; /* marker's flags */
} MarkerUpdateCb;
static void to_pixel_space(float r[2], float a[2], int width, int height)
@@ -204,13 +206,13 @@ static void to_pixel_space(float r[2], float a[2], int width, int height)
static void marker_update_cb(bContext *C, void *arg_cb, void *UNUSED(arg))
{
- MarkerUpdateCb *cb = (MarkerUpdateCb*) arg_cb;
+ MarkerUpdateCb *cb = (MarkerUpdateCb *) arg_cb;
MovieTrackingMarker *marker;
if (!cb->compact)
return;
- marker = BKE_tracking_ensure_marker(cb->track, cb->framenr);
+ marker = BKE_tracking_marker_ensure(cb->track, cb->framenr);
marker->flag = cb->marker_flag;
@@ -219,13 +221,13 @@ static void marker_update_cb(bContext *C, void *arg_cb, void *UNUSED(arg))
static void marker_block_handler(bContext *C, void *arg_cb, int event)
{
- MarkerUpdateCb *cb = (MarkerUpdateCb*) arg_cb;
+ MarkerUpdateCb *cb = (MarkerUpdateCb *) arg_cb;
MovieTrackingMarker *marker;
int width, height, ok = FALSE;
BKE_movieclip_get_size(cb->clip, cb->user, &width, &height);
- marker = BKE_tracking_ensure_marker(cb->track, cb->framenr);
+ marker = BKE_tracking_marker_ensure(cb->track, cb->framenr);
if (event == B_MARKER_POS) {
marker->pos[0] = cb->marker_pos[0] / width;
@@ -238,60 +240,63 @@ static void marker_block_handler(bContext *C, void *arg_cb, int event)
ok = TRUE;
}
else if (event == B_MARKER_PAT_DIM) {
- float dim[2], pat_dim[2];
+ float dim[2], pat_dim[2], pat_min[2], pat_max[2];
+ float scale_x, scale_y;
+ int a;
- sub_v2_v2v2(pat_dim, cb->track->pat_max, cb->track->pat_min);
+ BKE_tracking_marker_pattern_minmax(cb->marker, pat_min, pat_max);
- dim[0] = cb->track_pat[0] / width;
- dim[1] = cb->track_pat[1] / height;
+ sub_v2_v2v2(pat_dim, pat_max, pat_min);
- sub_v2_v2(dim, pat_dim);
- mul_v2_fl(dim, 0.5f);
+ dim[0] = cb->marker_pat[0] / width;
+ dim[1] = cb->marker_pat[1] / height;
- cb->track->pat_min[0] -= dim[0];
- cb->track->pat_min[1] -= dim[1];
+ scale_x = dim[0] / pat_dim[0];
+ scale_y = dim[1] / pat_dim[1];
- cb->track->pat_max[0] += dim[0];
- cb->track->pat_max[1] += dim[1];
+ for (a = 0; a < 4; a++) {
+ cb->marker->pattern_corners[a][0] *= scale_x;
+ cb->marker->pattern_corners[a][1] *= scale_y;
+ }
- BKE_tracking_clamp_track(cb->track, CLAMP_PAT_DIM);
+ BKE_tracking_marker_clamp(cb->marker, CLAMP_PAT_DIM);
ok = TRUE;
}
else if (event == B_MARKER_SEARCH_POS) {
float delta[2], side[2];
- sub_v2_v2v2(side, cb->track->search_max, cb->track->search_min);
+ sub_v2_v2v2(side, cb->marker->search_max, cb->marker->search_min);
mul_v2_fl(side, 0.5f);
- delta[0] = cb->track_search_pos[0] / width;
- delta[1] = cb->track_search_pos[1] / height;
+ delta[0] = cb->marker_search_pos[0] / width;
+ delta[1] = cb->marker_search_pos[1] / height;
- sub_v2_v2v2(cb->track->search_min, delta, side);
- add_v2_v2v2(cb->track->search_max, delta, side);
+ sub_v2_v2v2(cb->marker->search_min, delta, side);
+ add_v2_v2v2(cb->marker->search_max, delta, side);
- BKE_tracking_clamp_track(cb->track, CLAMP_SEARCH_POS);
+ BKE_tracking_marker_clamp(cb->marker, CLAMP_SEARCH_POS);
ok = TRUE;
}
else if (event == B_MARKER_SEARCH_DIM) {
float dim[2], search_dim[2];
- sub_v2_v2v2(search_dim, cb->track->search_max, cb->track->search_min);
+ sub_v2_v2v2(search_dim, cb->marker->search_max, cb->marker->search_min);
- dim[0] = cb->track_search[0] / width;
- dim[1] = cb->track_search[1] / height;
+ dim[0] = cb->marker_search[0] / width;
+ dim[1] = cb->marker_search[1] / height;
sub_v2_v2(dim, search_dim);
mul_v2_fl(dim, 0.5f);
- cb->track->search_min[0] -= dim[0];
- cb->track->search_min[1] -= dim[1];
+ cb->marker->search_min[0] -= dim[0];
+ cb->marker->search_min[1] -= dim[1];
- cb->track->search_max[0] += dim[0];
- cb->track->search_max[1] += dim[1];
+ cb->marker->search_max[0] += dim[0];
+ cb->marker->search_max[1] += dim[1];
- BKE_tracking_clamp_track(cb->track, CLAMP_SEARCH_DIM);
+ BKE_tracking_marker_clamp(cb->marker, CLAMP_SEARCH_DIM);
ok = TRUE;
}
@@ -337,6 +342,7 @@ void uiTemplateMarker(uiLayout *layout, PointerRNA *ptr, const char *propname, P
MovieTrackingMarker *marker;
MarkerUpdateCb *cb;
const char *tip;
+ float pat_min[2], pat_max[2];
if (!ptr->data)
return;
@@ -359,13 +365,14 @@ void uiTemplateMarker(uiLayout *layout, PointerRNA *ptr, const char *propname, P
user = userptr->data;
track = trackptr->data;
- marker = BKE_tracking_get_marker(track, user->framenr);
+ marker = BKE_tracking_marker_get(track, user->framenr);
cb = MEM_callocN(sizeof(MarkerUpdateCb), "uiTemplateMarker update_cb");
cb->compact = compact;
cb->clip = clip;
cb->user = user;
cb->track = track;
+ cb->marker = marker;
cb->marker_flag = marker->flag;
cb->framenr = user->framenr;
@@ -383,7 +390,7 @@ void uiTemplateMarker(uiLayout *layout, PointerRNA *ptr, const char *propname, P
}
else {
int width, height, step, digits;
- float pat_dim[2], pat_pos[2], search_dim[2], search_pos[2];
+ float pat_dim[2], search_dim[2], search_pos[2];
uiLayout *col;
BKE_movieclip_get_size(clip, user, &width, &height);
@@ -399,19 +406,18 @@ void uiTemplateMarker(uiLayout *layout, PointerRNA *ptr, const char *propname, P
step = 100;
digits = 2;
- sub_v2_v2v2(pat_dim, track->pat_max, track->pat_min);
- sub_v2_v2v2(search_dim, track->search_max, track->search_min);
+ BKE_tracking_marker_pattern_minmax(marker, pat_min, pat_max);
- add_v2_v2v2(search_pos, track->search_max, track->search_min);
- mul_v2_fl(search_pos, 0.5);
+ sub_v2_v2v2(pat_dim, pat_max, pat_min);
+ sub_v2_v2v2(search_dim, marker->search_max, marker->search_min);
- add_v2_v2v2(pat_pos, track->pat_max, track->pat_min);
- mul_v2_fl(pat_pos, 0.5);
+ add_v2_v2v2(search_pos, marker->search_max, marker->search_min);
+ mul_v2_fl(search_pos, 0.5);
to_pixel_space(cb->marker_pos, marker->pos, width, height);
- to_pixel_space(cb->track_pat, pat_dim, width, height);
- to_pixel_space(cb->track_search, search_dim, width, height);
- to_pixel_space(cb->track_search_pos, search_pos, width, height);
+ to_pixel_space(cb->marker_pat, pat_dim, width, height);
+ to_pixel_space(cb->marker_search, search_dim, width, height);
+ to_pixel_space(cb->marker_search_pos, search_pos, width, height);
to_pixel_space(cb->track_offset, track->offset, width, height);
cb->marker_flag = marker->flag;
@@ -426,7 +432,7 @@ void uiTemplateMarker(uiLayout *layout, PointerRNA *ptr, const char *propname, P
tip = "Marker is enabled at current frame";
uiDefButBitI(block, OPTIONN, MARKER_DISABLED, B_MARKER_FLAG, "Enabled", 10, 190, 145, 19, &cb->marker_flag,
- 0, 0, 0, 0, tip);
+ 0, 0, 0, 0, tip);
col = uiLayoutColumn(layout, 1);
uiLayoutSetActive(col, (cb->marker_flag & MARKER_DISABLED) == 0);
@@ -436,31 +442,31 @@ void uiTemplateMarker(uiLayout *layout, PointerRNA *ptr, const char *propname, P
uiDefBut(block, LABEL, 0, "Position:", 0, 190, 300, 19, NULL, 0, 0, 0, 0, "");
uiDefButF(block, NUM, B_MARKER_POS, "X:", 10, 171, 145, 19, &cb->marker_pos[0],
- -10*width, 10.0*width, step, digits, "X-position of marker at frame in screen coordinates");
+ -10 * width, 10.0 * width, step, digits, "X-position of marker at frame in screen coordinates");
uiDefButF(block, NUM, B_MARKER_POS, "Y:", 165, 171, 145, 19, &cb->marker_pos[1],
- -10*height, 10.0*height, step, digits, "Y-position of marker at frame in screen coordinates");
+ -10 * height, 10.0 * height, step, digits, "Y-position of marker at frame in screen coordinates");
uiDefBut(block, LABEL, 0, "Offset:", 0, 152, 300, 19, NULL, 0, 0, 0, 0, "");
uiDefButF(block, NUM, B_MARKER_OFFSET, "X:", 10, 133, 145, 19, &cb->track_offset[0],
- -10*width, 10.0*width, step, digits, "X-offset to parenting point");
+ -10 * width, 10.0 * width, step, digits, "X-offset to parenting point");
uiDefButF(block, NUM, B_MARKER_OFFSET, "Y:", 165, 133, 145, 19, &cb->track_offset[1],
- -10*height, 10.0*height, step, digits, "Y-offset to parenting point");
+ -10 * height, 10.0 * height, step, digits, "Y-offset to parenting point");
uiDefBut(block, LABEL, 0, "Pattern Area:", 0, 114, 300, 19, NULL, 0, 0, 0, 0, "");
- uiDefButF(block, NUM, B_MARKER_PAT_DIM, "Width:", 10, 95, 300, 19, &cb->track_pat[0], 3.0f,
- 10.0*width, step, digits, "Width of marker's pattern in screen coordinates");
- uiDefButF(block, NUM, B_MARKER_PAT_DIM, "Height:", 10, 76, 300, 19, &cb->track_pat[1], 3.0f,
- 10.0*height, step, digits, "Height of marker's pattern in screen coordinates");
+ uiDefButF(block, NUM, B_MARKER_PAT_DIM, "Width:", 10, 95, 300, 19, &cb->marker_pat[0], 3.0f,
+ 10.0 * width, step, digits, "Width of marker's pattern in screen coordinates");
+ uiDefButF(block, NUM, B_MARKER_PAT_DIM, "Height:", 10, 76, 300, 19, &cb->marker_pat[1], 3.0f,
+ 10.0 * height, step, digits, "Height of marker's pattern in screen coordinates");
uiDefBut(block, LABEL, 0, "Search Area:", 0, 57, 300, 19, NULL, 0, 0, 0, 0, "");
- uiDefButF(block, NUM, B_MARKER_SEARCH_POS, "X:", 10, 38, 145, 19, &cb->track_search_pos[0],
- -width, width, step, digits, "X-position of search at frame relative to marker's position");
- uiDefButF(block, NUM, B_MARKER_SEARCH_POS, "Y:", 165, 38, 145, 19, &cb->track_search_pos[1],
- -height, height, step, digits, "X-position of search at frame relative to marker's position");
- uiDefButF(block, NUM, B_MARKER_SEARCH_DIM, "Width:", 10, 19, 300, 19, &cb->track_search[0], 3.0f,
- 10.0*width, step, digits, "Width of marker's search in screen soordinates");
- uiDefButF(block, NUM, B_MARKER_SEARCH_DIM, "Height:", 10, 0, 300, 19, &cb->track_search[1], 3.0f,
- 10.0*height, step, digits, "Height of marker's search in screen soordinates");
+ uiDefButF(block, NUM, B_MARKER_SEARCH_POS, "X:", 10, 38, 145, 19, &cb->marker_search_pos[0],
+ -width, width, step, digits, "X-position of search at frame relative to marker's position");
+ uiDefButF(block, NUM, B_MARKER_SEARCH_POS, "Y:", 165, 38, 145, 19, &cb->marker_search_pos[1],
+ -height, height, step, digits, "X-position of search at frame relative to marker's position");
+ uiDefButF(block, NUM, B_MARKER_SEARCH_DIM, "Width:", 10, 19, 300, 19, &cb->marker_search[0], 3.0f,
+ 10.0 * width, step, digits, "Width of marker's search in screen soordinates");
+ uiDefButF(block, NUM, B_MARKER_SEARCH_DIM, "Height:", 10, 0, 300, 19, &cb->marker_search[1], 3.0f,
+ 10.0 * height, step, digits, "Height of marker's search in screen soordinates");
uiBlockEndAlign(block);
}
diff --git a/source/blender/editors/space_clip/clip_dopesheet_draw.c b/source/blender/editors/space_clip/clip_dopesheet_draw.c
index 84209f7b744..361a3a7d906 100644
--- a/source/blender/editors/space_clip/clip_dopesheet_draw.c
+++ b/source/blender/editors/space_clip/clip_dopesheet_draw.c
@@ -25,12 +25,12 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/editors/space_clip/clip_graph_draw.c
+/** \file blender/editors/space_clip/clip_dopesheet_draw.c
* \ingroup spclip
*/
#include "DNA_movieclip_types.h"
-#include "DNA_object_types.h" /* SELECT */
+#include "DNA_object_types.h" /* SELECT */
#include "DNA_scene_types.h"
#include "MEM_guardedalloc.h"
@@ -61,7 +61,7 @@
#include "RNA_access.h"
-#include "clip_intern.h" // own include
+#include "clip_intern.h" /* own include */
static void track_channel_color(MovieTrackingTrack *track, float default_color[3], float color[3])
{
@@ -83,10 +83,10 @@ static void draw_keyframe_shape(float x, float y, float xscale, float yscale, sh
{
/* coordinates for diamond shape */
static const float _unit_diamond_shape[4][2] = {
- {0.0f, 1.0f}, /* top vert */
- {1.0f, 0.0f}, /* mid-right */
- {0.0f, -1.0f}, /* bottom vert */
- {-1.0f, 0.0f} /* mid-left */
+ {0.0f, 1.0f}, /* top vert */
+ {1.0f, 0.0f}, /* mid-right */
+ {0.0f, -1.0f}, /* bottom vert */
+ {-1.0f, 0.0f} /* mid-left */
};
static GLuint displist1 = 0;
static GLuint displist2 = 0;
@@ -95,26 +95,26 @@ static void draw_keyframe_shape(float x, float y, float xscale, float yscale, sh
/* initialize 2 display lists for diamond shape - one empty, one filled */
if (displist1 == 0) {
displist1 = glGenLists(1);
- glNewList(displist1, GL_COMPILE);
-
- glBegin(GL_LINE_LOOP);
- glVertex2fv(_unit_diamond_shape[0]);
- glVertex2fv(_unit_diamond_shape[1]);
- glVertex2fv(_unit_diamond_shape[2]);
- glVertex2fv(_unit_diamond_shape[3]);
- glEnd();
+ glNewList(displist1, GL_COMPILE);
+
+ glBegin(GL_LINE_LOOP);
+ glVertex2fv(_unit_diamond_shape[0]);
+ glVertex2fv(_unit_diamond_shape[1]);
+ glVertex2fv(_unit_diamond_shape[2]);
+ glVertex2fv(_unit_diamond_shape[3]);
+ glEnd();
glEndList();
}
if (displist2 == 0) {
displist2 = glGenLists(1);
- glNewList(displist2, GL_COMPILE);
-
- glBegin(GL_QUADS);
- glVertex2fv(_unit_diamond_shape[0]);
- glVertex2fv(_unit_diamond_shape[1]);
- glVertex2fv(_unit_diamond_shape[2]);
- glVertex2fv(_unit_diamond_shape[3]);
- glEnd();
+ glNewList(displist2, GL_COMPILE);
+
+ glBegin(GL_QUADS);
+ glVertex2fv(_unit_diamond_shape[0]);
+ glVertex2fv(_unit_diamond_shape[1]);
+ glVertex2fv(_unit_diamond_shape[2]);
+ glVertex2fv(_unit_diamond_shape[3]);
+ glEnd();
glEndList();
}
@@ -158,6 +158,12 @@ void clip_draw_dopesheet_main(SpaceClip *sc, ARegion *ar, Scene *scene)
MovieTrackingDopesheetChannel *channel;
float y, xscale, yscale;
float strip[4], selected_strip[4];
+ float height = (dopesheet->tot_channel * CHANNEL_STEP) + (CHANNEL_HEIGHT * 2);
+
+ /* don't use totrect set, as the width stays the same
+ * (NOTE: this is ok here, the configuration is pretty straightforward)
+ */
+ v2d->tot.ymin = (float)(-height);
y = (float) CHANNEL_FIRST;
@@ -200,8 +206,8 @@ void clip_draw_dopesheet_main(SpaceClip *sc, ARegion *ar, Scene *scene)
/* tracked segments */
for (i = 0; i < channel->tot_segment; i++) {
- int start_frame = channel->segments[2 * i];
- int end_frame = channel->segments[2 * i + 1];
+ int start_frame = BKE_movieclip_remap_clip_to_scene_frame(clip, channel->segments[2 * i]);
+ int end_frame = BKE_movieclip_remap_clip_to_scene_frame(clip, channel->segments[2 * i + 1]);
if (sel)
glColor4fv(selected_strip);
@@ -210,7 +216,7 @@ void clip_draw_dopesheet_main(SpaceClip *sc, ARegion *ar, Scene *scene)
if (start_frame != end_frame) {
glRectf(start_frame, (float) y - STRIP_HEIGHT_HALF,
- end_frame, (float) y + STRIP_HEIGHT_HALF);
+ end_frame, (float) y + STRIP_HEIGHT_HALF);
draw_keyframe_shape(start_frame, y, xscale, yscale, sel, alpha);
draw_keyframe_shape(end_frame, y, xscale, yscale, sel, alpha);
}
@@ -224,8 +230,11 @@ void clip_draw_dopesheet_main(SpaceClip *sc, ARegion *ar, Scene *scene)
while (i < track->markersnr) {
MovieTrackingMarker *marker = &track->markers[i];
- if ((marker->flag & (MARKER_DISABLED | MARKER_TRACKED)) == 0)
- draw_keyframe_shape(marker->framenr, y, xscale, yscale, sel, alpha);
+ if ((marker->flag & (MARKER_DISABLED | MARKER_TRACKED)) == 0) {
+ int framenr = BKE_movieclip_remap_clip_to_scene_frame(clip, marker->framenr);
+
+ draw_keyframe_shape(framenr, y, xscale, yscale, sel, alpha);
+ }
i++;
}
@@ -304,10 +313,10 @@ void clip_draw_dopesheet_channels(const bContext *C, ARegion *ar)
else
UI_ThemeColor(TH_TEXT);
- font_height = BLF_height(fontid, track->name);
+ font_height = BLF_height(fontid, channel->name);
BLF_position(fontid, v2d->cur.xmin + CHANNEL_PAD,
- y - font_height / 2.0f, 0.0f);
- BLF_draw(fontid, track->name, strlen(track->name));
+ y - font_height / 2.0f, 0.0f);
+ BLF_draw(fontid, channel->name, strlen(channel->name));
}
/* adjust y-position for next one */
@@ -328,21 +337,15 @@ void clip_draw_dopesheet_channels(const bContext *C, ARegion *ar)
IN_RANGE(ymaxc, v2d->cur.ymin, v2d->cur.ymax))
{
MovieTrackingTrack *track = channel->track;
- uiBut *but;
+ const int icon = (track->flag & TRACK_LOCKED) ? ICON_LOCKED : ICON_UNLOCKED;
PointerRNA ptr;
- int icon;
RNA_pointer_create(&clip->id, &RNA_MovieTrackingTrack, track, &ptr);
- if (track->flag & TRACK_LOCKED)
- icon = ICON_LOCKED;
- else
- icon = ICON_UNLOCKED;
-
uiBlockSetEmboss(block, UI_EMBOSSN);
- but = uiDefIconButR(block, ICONTOG, 1, icon,
- v2d->cur.xmax - UI_UNIT_X - CHANNEL_PAD, y - UI_UNIT_Y / 2.0f,
- UI_UNIT_X, UI_UNIT_Y, &ptr, "lock", 0, 0, 0, 0, 0, NULL);
+ uiDefIconButR(block, ICONTOG, 1, icon,
+ v2d->cur.xmax - UI_UNIT_X - CHANNEL_PAD, y - UI_UNIT_Y / 2.0f,
+ UI_UNIT_X, UI_UNIT_Y, &ptr, "lock", 0, 0, 0, 0, 0, NULL);
uiBlockSetEmboss(block, UI_EMBOSS);
}
diff --git a/source/blender/editors/space_clip/clip_dopesheet_ops.c b/source/blender/editors/space_clip/clip_dopesheet_ops.c
index 0fd17523425..716994f7487 100644
--- a/source/blender/editors/space_clip/clip_dopesheet_ops.c
+++ b/source/blender/editors/space_clip/clip_dopesheet_ops.c
@@ -25,7 +25,7 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/editors/space_clip/clip_graph_ops.c
+/** \file blender/editors/space_clip/clip_dopesheet_ops.c
* \ingroup spclip
*/
@@ -59,6 +59,23 @@
#include "clip_intern.h" // own include
+#if 0
+static int ED_space_clip_dopesheet_poll(bContext *C)
+{
+ SpaceClip *sc = CTX_wm_space_clip(C);
+
+ if (sc && sc->clip) {
+ if (sc->view == SC_VIEW_DOPESHEET) {
+ ARegion *ar = CTX_wm_region(C);
+
+ return ar->regiontype == RGN_TYPE_PREVIEW;
+ }
+ }
+
+ return FALSE;
+}
+#endif
+
/********************** select channel operator *********************/
static int dopesheet_select_channel_poll(bContext *C)
@@ -76,8 +93,10 @@ static int dopesheet_select_channel_exec(bContext *C, wmOperator *op)
SpaceClip *sc = CTX_wm_space_clip(C);
MovieClip *clip = ED_space_clip(sc);
MovieTracking *tracking = &clip->tracking;
+ MovieTrackingObject *object = BKE_tracking_object_get_active(tracking);
MovieTrackingDopesheet *dopesheet = &tracking->dopesheet;
MovieTrackingDopesheetChannel *channel;
+ ListBase *tracksbase = BKE_tracking_object_get_tracks(tracking, object);
float location[2];
int extend = RNA_boolean_get(op->ptr, "extend");
int current_channel_index = 0, channel_index;
@@ -93,6 +112,11 @@ static int dopesheet_select_channel_exec(bContext *C, wmOperator *op)
track->flag ^= TRACK_DOPE_SEL;
else
track->flag |= TRACK_DOPE_SEL;
+
+ if (track->flag & TRACK_DOPE_SEL) {
+ tracking->act_track = track;
+ BKE_tracking_track_select(tracksbase, track, TRACK_AREA_ALL, TRUE);
+ }
}
else if (!extend)
track->flag &= ~TRACK_DOPE_SEL;
diff --git a/source/blender/editors/space_clip/clip_draw.c b/source/blender/editors/space_clip/clip_draw.c
index c00359f0f32..1679f784e8c 100644
--- a/source/blender/editors/space_clip/clip_draw.c
+++ b/source/blender/editors/space_clip/clip_draw.c
@@ -32,13 +32,15 @@
#include "DNA_gpencil_types.h"
#include "DNA_movieclip_types.h"
#include "DNA_scene_types.h"
-#include "DNA_object_types.h" /* SELECT */
+#include "DNA_object_types.h" /* SELECT */
+#include "DNA_mask_types.h"
#include "MEM_guardedalloc.h"
#include "BKE_context.h"
#include "BKE_movieclip.h"
#include "BKE_tracking.h"
+#include "BKE_mask.h"
#include "IMB_imbuf_types.h"
#include "IMB_imbuf.h"
@@ -67,7 +69,7 @@
#include "BLF_api.h"
-#include "clip_intern.h" // own include
+#include "clip_intern.h" // own include
/*********************** main area drawing *************************/
@@ -96,8 +98,8 @@ static void draw_movieclip_cache(SpaceClip *sc, ARegion *ar, MovieClip *clip, Sc
float x;
int *points, totseg, i, a;
float sfra = SFRA, efra = EFRA, framelen = ar->winx / (efra - sfra + 1);
- MovieTrackingTrack *act_track = BKE_tracking_active_track(&clip->tracking);
- MovieTrackingReconstruction *reconstruction = BKE_tracking_get_reconstruction(&clip->tracking);
+ MovieTrackingTrack *act_track = BKE_tracking_track_get_active(&clip->tracking);
+ MovieTrackingReconstruction *reconstruction = BKE_tracking_get_active_reconstruction(&clip->tracking);
glEnable(GL_BLEND);
@@ -124,7 +126,7 @@ static void draw_movieclip_cache(SpaceClip *sc, ARegion *ar, MovieClip *clip, Sc
if (act_track) {
MovieTrackingTrack *track = act_track;
- for (i = sfra, a = 0; i <= efra; i++) {
+ for (i = sfra - clip->start_frame + 1, a = 0; i <= efra - clip->start_frame + 1; i++) {
int framenr;
MovieTrackingMarker *marker;
@@ -153,7 +155,7 @@ static void draw_movieclip_cache(SpaceClip *sc, ARegion *ar, MovieClip *clip, Sc
else
glColor4ub(255, 255, 0, 96);
- glRecti((i - sfra) * framelen, 0, (i - sfra + 1)*framelen, 4);
+ glRecti((i - sfra + clip->start_frame - 1) * framelen, 0, (i - sfra + clip->start_frame) * framelen, 4);
}
}
}
@@ -181,7 +183,7 @@ static void draw_movieclip_cache(SpaceClip *sc, ARegion *ar, MovieClip *clip, Sc
}
if (!ok)
- glRecti((i - sfra) * framelen, 0, (i - sfra + 1) * framelen, 8);
+ glRecti((i - sfra + clip->start_frame - 1) * framelen, 0, (i - sfra + clip->start_frame) * framelen, 8);
}
}
@@ -194,6 +196,32 @@ static void draw_movieclip_cache(SpaceClip *sc, ARegion *ar, MovieClip *clip, Sc
glRecti(x, 0, x + framelen, 8);
clip_draw_curfra_label(sc, x, 8.0f);
+
+ /* movie clip animation */
+ if ((sc->mode == SC_MODE_MASKEDIT) && sc->mask) {
+ MaskLayer *masklay = BKE_mask_layer_active(sc->mask);
+ if (masklay) {
+ MaskLayerShape *masklay_shape;
+
+ glColor4ub(255, 175, 0, 255);
+ glBegin(GL_LINES);
+
+ for (masklay_shape = masklay->splines_shapes.first;
+ masklay_shape;
+ masklay_shape = masklay_shape->next)
+ {
+ i = masklay_shape->frame;
+
+ /* glRecti((i - sfra) * framelen, 0, (i - sfra + 1) * framelen, 4); */
+
+ /* use a line so we always see the keyframes */
+ glVertex2i((i - sfra) * framelen, 0);
+ glVertex2i((i - sfra) * framelen, (i == CFRA) ? 22 : 10);
+ }
+
+ glEnd();
+ }
+ }
}
static void draw_movieclip_notes(SpaceClip *sc, ARegion *ar)
@@ -249,10 +277,10 @@ static void draw_movieclip_buffer(SpaceClip *sc, ARegion *ar, ImBuf *ibuf,
glScalef(zoomx, zoomy, 1.0f);
glBegin(GL_QUADS);
- glTexCoord2f(0.0f, 0.0f); glVertex2f(0.0f, 0.0f);
- glTexCoord2f(1.0f, 0.0f); glVertex2f(width, 0.0f);
- glTexCoord2f(1.0f, 1.0f); glVertex2f(width, height);
- glTexCoord2f(0.0f, 1.0f); glVertex2f(0.0f, height);
+ glTexCoord2f(0.0f, 0.0f); glVertex2f(0.0f, 0.0f);
+ glTexCoord2f(1.0f, 0.0f); glVertex2f(width, 0.0f);
+ glTexCoord2f(1.0f, 1.0f); glVertex2f(width, height);
+ glTexCoord2f(0.0f, 1.0f); glVertex2f(0.0f, height);
glEnd();
glPopMatrix();
@@ -292,10 +320,10 @@ static void draw_movieclip_buffer(SpaceClip *sc, ARegion *ar, ImBuf *ibuf,
glMultMatrixf(sc->stabmat);
glBegin(GL_LINE_LOOP);
- glVertex2f(0.0f, 0.0f);
- glVertex2f(width, 0.0f);
- glVertex2f(width, height);
- glVertex2f(0.0f, height);
+ glVertex2f(0.0f, 0.0f);
+ glVertex2f(width, 0.0f);
+ glVertex2f(width, height);
+ glVertex2f(0.0f, height);
glEnd();
glPopMatrix();
@@ -310,22 +338,22 @@ static void draw_track_path(SpaceClip *sc, MovieClip *UNUSED(clip), MovieTrackin
int count = sc->path_length;
int i, a, b, curindex = -1;
float path[102][2];
- int tiny = sc->flag & SC_SHOW_TINY_MARKER, framenr;
+ int tiny = sc->flag & SC_SHOW_TINY_MARKER, framenr, start_frame;
MovieTrackingMarker *marker;
if (count == 0)
return;
- marker = BKE_tracking_get_marker(track, sc->user.framenr);
- if (marker->framenr != sc->user.framenr || marker->flag & MARKER_DISABLED)
- return;
+ start_frame = framenr = ED_space_clip_clip_framenr(sc);
- framenr = marker->framenr;
+ marker = BKE_tracking_marker_get(track, framenr);
+ if (marker->framenr != framenr || marker->flag & MARKER_DISABLED)
+ return;
a = count;
i = framenr - 1;
while (i >= framenr - count) {
- marker = BKE_tracking_get_marker(track, i);
+ marker = BKE_tracking_marker_get(track, i);
if (!marker || marker->flag & MARKER_DISABLED)
break;
@@ -334,7 +362,7 @@ static void draw_track_path(SpaceClip *sc, MovieClip *UNUSED(clip), MovieTrackin
add_v2_v2v2(path[--a], marker->pos, track->offset);
ED_clip_point_undistorted_pos(sc, path[a], path[a]);
- if (marker->framenr == sc->user.framenr)
+ if (marker->framenr == start_frame)
curindex = a;
}
else {
@@ -347,13 +375,13 @@ static void draw_track_path(SpaceClip *sc, MovieClip *UNUSED(clip), MovieTrackin
b = count;
i = framenr;
while (i <= framenr + count) {
- marker = BKE_tracking_get_marker(track, i);
+ marker = BKE_tracking_marker_get(track, i);
if (!marker || marker->flag & MARKER_DISABLED)
break;
if (marker->framenr == i) {
- if (marker->framenr == sc->user.framenr)
+ if (marker->framenr == start_frame)
curindex = b;
add_v2_v2v2(path[b++], marker->pos, track->offset);
@@ -371,17 +399,17 @@ static void draw_track_path(SpaceClip *sc, MovieClip *UNUSED(clip), MovieTrackin
if (TRACK_VIEW_SELECTED(sc, track)) {
glPointSize(5.0f);
glBegin(GL_POINTS);
- for (i = a; i < b; i++) {
- if (i != curindex)
- glVertex2f(path[i][0], path[i][1]);
- }
+ for (i = a; i < b; i++) {
+ if (i != curindex)
+ glVertex2f(path[i][0], path[i][1]);
+ }
glEnd();
}
glLineWidth(3.0f);
glBegin(GL_LINE_STRIP);
- for (i = a; i < b; i++)
- glVertex2f(path[i][0], path[i][1]);
+ for (i = a; i < b; i++)
+ glVertex2f(path[i][0], path[i][1]);
glEnd();
glLineWidth(1.0f);
}
@@ -391,25 +419,25 @@ static void draw_track_path(SpaceClip *sc, MovieClip *UNUSED(clip), MovieTrackin
if (TRACK_VIEW_SELECTED(sc, track)) {
glPointSize(3.0f);
glBegin(GL_POINTS);
- for (i = a; i < b; i++) {
- if (i == count + 1)
- UI_ThemeColor(TH_PATH_AFTER);
+ for (i = a; i < b; i++) {
+ if (i == count + 1)
+ UI_ThemeColor(TH_PATH_AFTER);
- if (i != curindex)
- glVertex2f(path[i][0], path[i][1]);
- }
+ if (i != curindex)
+ glVertex2f(path[i][0], path[i][1]);
+ }
glEnd();
}
UI_ThemeColor(TH_PATH_BEFORE);
glBegin(GL_LINE_STRIP);
- for (i = a; i < b; i++) {
- if (i == count + 1)
- UI_ThemeColor(TH_PATH_AFTER);
+ for (i = a; i < b; i++) {
+ if (i == count + 1)
+ UI_ThemeColor(TH_PATH_AFTER);
- glVertex2f(path[i][0], path[i][1]);
- }
+ glVertex2f(path[i][0], path[i][1]);
+ }
glEnd();
glPointSize(1.0f);
}
@@ -428,35 +456,38 @@ static void draw_marker_outline(SpaceClip *sc, MovieTrackingTrack *track, MovieT
if ((marker->flag & MARKER_DISABLED) == 0) {
float pos[2];
- rctf r;
+ float p[2];
- BLI_init_rctf(&r, track->pat_min[0], track->pat_max[0], track->pat_min[1], track->pat_max[1]);
add_v2_v2v2(pos, marker->pos, track->offset);
ED_clip_point_undistorted_pos(sc, pos, pos);
- if (BLI_in_rctf(&r, pos[0] - marker_pos[0], pos[1] - marker_pos[1])) {
+ sub_v2_v2v2(p, pos, marker_pos);
+
+ if (isect_point_quad_v2(p, marker->pattern_corners[0], marker->pattern_corners[1],
+ marker->pattern_corners[2], marker->pattern_corners[3]))
+ {
if (tiny) glPointSize(3.0f);
else glPointSize(4.0f);
glBegin(GL_POINTS);
- glVertex2f(pos[0], pos[1]);
+ glVertex2f(pos[0], pos[1]);
glEnd();
glPointSize(1.0f);
}
else {
if (!tiny) glLineWidth(3.0f);
glBegin(GL_LINES);
- glVertex2f(pos[0] + px[0]*2, pos[1]);
- glVertex2f(pos[0] + px[0]*8, pos[1]);
+ glVertex2f(pos[0] + px[0] * 2, pos[1]);
+ glVertex2f(pos[0] + px[0] * 8, pos[1]);
- glVertex2f(pos[0] - px[0]*2, pos[1]);
- glVertex2f(pos[0] - px[0]*8, pos[1]);
+ glVertex2f(pos[0] - px[0] * 2, pos[1]);
+ glVertex2f(pos[0] - px[0] * 8, pos[1]);
- glVertex2f(pos[0], pos[1] - px[1]*2);
- glVertex2f(pos[0], pos[1] - px[1]*8);
+ glVertex2f(pos[0], pos[1] - px[1] * 2);
+ glVertex2f(pos[0], pos[1] - px[1] * 8);
- glVertex2f(pos[0], pos[1] + px[1]*2);
- glVertex2f(pos[0], pos[1] + px[1]*8);
+ glVertex2f(pos[0], pos[1] + px[1] * 2);
+ glVertex2f(pos[0], pos[1] + px[1] * 8);
glEnd();
if (!tiny) glLineWidth(1.0f);
}
@@ -471,10 +502,10 @@ static void draw_marker_outline(SpaceClip *sc, MovieTrackingTrack *track, MovieT
if (sc->flag & SC_SHOW_MARKER_PATTERN) {
glBegin(GL_LINE_LOOP);
- glVertex2f(track->pat_min[0], track->pat_min[1]);
- glVertex2f(track->pat_max[0], track->pat_min[1]);
- glVertex2f(track->pat_max[0], track->pat_max[1]);
- glVertex2f(track->pat_min[0], track->pat_max[1]);
+ glVertex2fv(marker->pattern_corners[0]);
+ glVertex2fv(marker->pattern_corners[1]);
+ glVertex2fv(marker->pattern_corners[2]);
+ glVertex2fv(marker->pattern_corners[3]);
glEnd();
}
@@ -482,10 +513,10 @@ static void draw_marker_outline(SpaceClip *sc, MovieTrackingTrack *track, MovieT
((marker->flag & MARKER_DISABLED) == 0 || (sc->flag & SC_SHOW_MARKER_PATTERN) == 0);
if (sc->flag & SC_SHOW_MARKER_SEARCH && show_search) {
glBegin(GL_LINE_LOOP);
- glVertex2f(track->search_min[0], track->search_min[1]);
- glVertex2f(track->search_max[0], track->search_min[1]);
- glVertex2f(track->search_max[0], track->search_max[1]);
- glVertex2f(track->search_min[0], track->search_max[1]);
+ glVertex2f(marker->search_min[0], marker->search_min[1]);
+ glVertex2f(marker->search_max[0], marker->search_min[1]);
+ glVertex2f(marker->search_max[0], marker->search_max[1]);
+ glVertex2f(marker->search_min[0], marker->search_max[1]);
glEnd();
}
glPopMatrix();
@@ -515,7 +546,7 @@ static void track_colors(MovieTrackingTrack *track, int act, float col[3], float
}
static void draw_marker_areas(SpaceClip *sc, MovieTrackingTrack *track, MovieTrackingMarker *marker,
- float marker_pos[2], int width, int height, int act, int sel)
+ float marker_pos[2], int width, int height, int act, int sel)
{
int tiny = sc->flag & SC_SHOW_TINY_MARKER;
int show_search = 0;
@@ -528,8 +559,7 @@ static void draw_marker_areas(SpaceClip *sc, MovieTrackingTrack *track, MovieTra
/* marker position and offset position */
if ((track->flag & SELECT) == sel && (marker->flag & MARKER_DISABLED) == 0) {
- float pos[2];
- rctf r;
+ float pos[2], p[2];
if (track->flag & TRACK_LOCKED) {
if (act)
@@ -546,16 +576,19 @@ static void draw_marker_areas(SpaceClip *sc, MovieTrackingTrack *track, MovieTra
glColor3fv(col);
}
- BLI_init_rctf(&r, track->pat_min[0], track->pat_max[0], track->pat_min[1], track->pat_max[1]);
add_v2_v2v2(pos, marker->pos, track->offset);
ED_clip_point_undistorted_pos(sc, pos, pos);
- if (BLI_in_rctf(&r, pos[0] - marker_pos[0], pos[1] - marker_pos[1])) {
+ sub_v2_v2v2(p, pos, marker_pos);
+
+ if (isect_point_quad_v2(p, marker->pattern_corners[0], marker->pattern_corners[1],
+ marker->pattern_corners[2], marker->pattern_corners[3]))
+ {
if (!tiny)
glPointSize(2.0f);
glBegin(GL_POINTS);
- glVertex2f(pos[0], pos[1]);
+ glVertex2f(pos[0], pos[1]);
glEnd();
if (!tiny)
@@ -563,17 +596,17 @@ static void draw_marker_areas(SpaceClip *sc, MovieTrackingTrack *track, MovieTra
}
else {
glBegin(GL_LINES);
- glVertex2f(pos[0] + px[0]*3, pos[1]);
- glVertex2f(pos[0] + px[0]*7, pos[1]);
+ glVertex2f(pos[0] + px[0] * 3, pos[1]);
+ glVertex2f(pos[0] + px[0] * 7, pos[1]);
- glVertex2f(pos[0] - px[0]*3, pos[1]);
- glVertex2f(pos[0] - px[0]*7, pos[1]);
+ glVertex2f(pos[0] - px[0] * 3, pos[1]);
+ glVertex2f(pos[0] - px[0] * 7, pos[1]);
- glVertex2f(pos[0], pos[1] - px[1]*3);
- glVertex2f(pos[0], pos[1] - px[1]*7);
+ glVertex2f(pos[0], pos[1] - px[1] * 3);
+ glVertex2f(pos[0], pos[1] - px[1] * 7);
- glVertex2f(pos[0], pos[1] + px[1]*3);
- glVertex2f(pos[0], pos[1] + px[1]*7);
+ glVertex2f(pos[0], pos[1] + px[1] * 3);
+ glVertex2f(pos[0], pos[1] + px[1] * 7);
glEnd();
glColor3f(0.0f, 0.0f, 0.0f);
@@ -583,8 +616,8 @@ static void draw_marker_areas(SpaceClip *sc, MovieTrackingTrack *track, MovieTra
glLogicOp(GL_NOR);
glBegin(GL_LINES);
- glVertex2fv(pos);
- glVertex2fv(marker_pos);
+ glVertex2fv(pos);
+ glVertex2fv(marker_pos);
glEnd();
glDisable(GL_COLOR_LOGIC_OP);
@@ -623,16 +656,16 @@ static void draw_marker_areas(SpaceClip *sc, MovieTrackingTrack *track, MovieTra
}
glBegin(GL_LINE_LOOP);
- glVertex2f(track->pat_min[0], track->pat_min[1]);
- glVertex2f(track->pat_max[0], track->pat_min[1]);
- glVertex2f(track->pat_max[0], track->pat_max[1]);
- glVertex2f(track->pat_min[0], track->pat_max[1]);
+ glVertex2fv(marker->pattern_corners[0]);
+ glVertex2fv(marker->pattern_corners[1]);
+ glVertex2fv(marker->pattern_corners[2]);
+ glVertex2fv(marker->pattern_corners[3]);
glEnd();
}
/* search */
show_search = TRACK_VIEW_SELECTED(sc, track) &&
- ((marker->flag & MARKER_DISABLED) == 0 || (sc->flag & SC_SHOW_MARKER_PATTERN) == 0);
+ ((marker->flag & MARKER_DISABLED) == 0 || (sc->flag & SC_SHOW_MARKER_PATTERN) == 0);
if ((track->search_flag & SELECT) == sel && (sc->flag & SC_SHOW_MARKER_SEARCH) && show_search) {
if (track->flag & TRACK_LOCKED) {
if (act)
@@ -656,70 +689,82 @@ static void draw_marker_areas(SpaceClip *sc, MovieTrackingTrack *track, MovieTra
}
glBegin(GL_LINE_LOOP);
- glVertex2f(track->search_min[0], track->search_min[1]);
- glVertex2f(track->search_max[0], track->search_min[1]);
- glVertex2f(track->search_max[0], track->search_max[1]);
- glVertex2f(track->search_min[0], track->search_max[1]);
+ glVertex2f(marker->search_min[0], marker->search_min[1]);
+ glVertex2f(marker->search_max[0], marker->search_min[1]);
+ glVertex2f(marker->search_max[0], marker->search_max[1]);
+ glVertex2f(marker->search_min[0], marker->search_max[1]);
glEnd();
}
- /* pyramid */
- if (sel && TRACK_VIEW_SELECTED(sc, track) &&
- (track->tracker == TRACKER_KLT) &&
- (marker->flag & MARKER_DISABLED) == 0)
- {
- if (track->flag & TRACK_LOCKED) {
- if (act)
- UI_ThemeColor(TH_ACT_MARKER);
- else if (track->pat_flag & SELECT)
- UI_ThemeColorShade(TH_LOCK_MARKER, 64);
- else UI_ThemeColor(TH_LOCK_MARKER);
- }
- else if (marker->flag & MARKER_DISABLED) {
- if (act)
- UI_ThemeColor(TH_ACT_MARKER);
- else if (track->pat_flag & SELECT)
- UI_ThemeColorShade(TH_DIS_MARKER, 128);
- else UI_ThemeColor(TH_DIS_MARKER);
- }
- else {
- if (track->pat_flag & SELECT)
- glColor3fv(scol);
- else
- glColor3fv(col);
- }
-
- {
- int i = 0;
- glPushMatrix();
- glEnable(GL_LINE_STIPPLE);
- for (i = 1; i < track->pyramid_levels; ++i) {
- glScalef(2.0f, 2.0f, 1.0);
- }
- /* only draw a pattern for the coarsest level */
- glBegin(GL_LINE_LOOP);
- glVertex2f(track->pat_min[0], track->pat_min[1]);
- glVertex2f(track->pat_max[0], track->pat_min[1]);
- glVertex2f(track->pat_max[0], track->pat_max[1]);
- glVertex2f(track->pat_min[0], track->pat_max[1]);
- glEnd();
- glDisable(GL_LINE_STIPPLE);
- glPopMatrix();
- }
- }
-
if (tiny)
glDisable(GL_LINE_STIPPLE);
glPopMatrix();
}
+static float get_shortest_pattern_side(MovieTrackingMarker *marker)
+{
+ int i, next;
+ float len = FLT_MAX;
+
+ for (i = 0; i < 4; i++) {
+ float cur_len;
+
+ next = (i + 1) % 4;
+
+ cur_len = len_v2v2(marker->pattern_corners[i], marker->pattern_corners[next]);
+
+ len = MIN2(cur_len, len);
+ }
+
+ return len;
+}
+
+static void draw_marker_slide_square(float x, float y, float dx, float dy, int outline, float px[2])
+{
+ float tdx, tdy;
+
+ tdx = dx;
+ tdy = dy;
+
+ if (outline) {
+ tdx += px[0];
+ tdy += px[1];
+ }
+
+ glBegin(GL_QUADS);
+ glVertex3f(x - tdx, y + tdy, 0.0f);
+ glVertex3f(x + tdx, y + tdy, 0.0f);
+ glVertex3f(x + tdx, y - tdy, 0.0f);
+ glVertex3f(x - tdx, y - tdy, 0.0f);
+ glEnd();
+}
+
+static void draw_marker_slide_triangle(float x, float y, float dx, float dy, int outline, float px[2])
+{
+ float tdx, tdy;
+
+ tdx = dx * 2.0f;
+ tdy = dy * 2.0f;
+
+ if (outline) {
+ tdx += px[0];
+ tdy += px[1];
+ }
+
+ glBegin(GL_TRIANGLES);
+ glVertex3f(x, y, 0.0f);
+ glVertex3f(x - tdx, y, 0.0f);
+ glVertex3f(x, y + tdy, 0.0f);
+ glEnd();
+}
+
static void draw_marker_slide_zones(SpaceClip *sc, MovieTrackingTrack *track, MovieTrackingMarker *marker,
float marker_pos[2], int outline, int sel, int act, int width, int height)
{
- float x, y, dx, dy, patdx, patdy, searchdx, searchdy, tdx, tdy;
+ float dx, dy, patdx, patdy, searchdx, searchdy;
int tiny = sc->flag & SC_SHOW_TINY_MARKER;
- float col[3], scol[3], px[2];
+ float col[3], scol[3], px[2], side;
if ((tiny && outline) || (marker->flag & MARKER_DISABLED))
return;
@@ -740,11 +785,12 @@ static void draw_marker_slide_zones(SpaceClip *sc, MovieTrackingTrack *track, Mo
dx = 6.0f / width / sc->zoom;
dy = 6.0f / height / sc->zoom;
- patdx = MIN2(dx * 2.0f / 3.0f, (track->pat_max[0] - track->pat_min[0]) / 6.0f);
- patdy = MIN2(dy * 2.0f / 3.0f, (track->pat_max[1] - track->pat_min[1]) / 6.0f);
+ side = get_shortest_pattern_side(marker);
+ patdx = MIN2(dx * 2.0f / 3.0f, side / 6.0f);
+ patdy = MIN2(dy * 2.0f / 3.0f, side * width / height / 6.0f);
- searchdx = MIN2(dx, (track->search_max[0] - track->search_min[0]) / 6.0f);
- searchdy = MIN2(dy, (track->search_max[1] - track->search_min[1]) / 6.0f);
+ searchdx = MIN2(dx, (marker->search_max[0] - marker->search_min[0]) / 6.0f);
+ searchdy = MIN2(dy, (marker->search_max[1] - marker->search_min[1]) / 6.0f);
px[0] = 1.0f / sc->zoom / width / sc->scale;
px[1] = 1.0f / sc->zoom / height / sc->scale;
@@ -758,44 +804,18 @@ static void draw_marker_slide_zones(SpaceClip *sc, MovieTrackingTrack *track, Mo
}
/* search offset square */
- x = track->search_min[0];
- y = track->search_max[1];
-
- tdx = searchdx;
- tdy = searchdy;
-
- if (outline) {
- tdx += px[0];
- tdy += px[1];
- }
-
- glBegin(GL_QUADS);
- glVertex3f(x - tdx, y + tdy, 0);
- glVertex3f(x + tdx, y + tdy, 0);
- glVertex3f(x + tdx, y - tdy, 0);
- glVertex3f(x - tdx, y - tdy, 0);
- glEnd();
+ draw_marker_slide_square(marker->search_min[0], marker->search_max[1], searchdx, searchdy, outline, px);
/* search re-sizing triangle */
- x = track->search_max[0];
- y = track->search_min[1];
-
- tdx = searchdx * 2.0f;
- tdy = searchdy * 2.0f;
-
- if (outline) {
- tdx += px[0];
- tdy += px[1];
- }
-
- glBegin(GL_TRIANGLES);
- glVertex3f(x, y, 0);
- glVertex3f(x - tdx, y, 0);
- glVertex3f(x, y + tdy, 0);
- glEnd();
+ draw_marker_slide_triangle(marker->search_max[0], marker->search_min[1], searchdx, searchdy, outline, px);
}
if ((sc->flag & SC_SHOW_MARKER_PATTERN) && ((track->pat_flag & SELECT) == sel || outline)) {
+ int i;
+ float pat_min[2], pat_max[2];
+ float dx = 12.0f / width, dy = 12.0f / height;
+ float tilt_ctrl[2];
+
if (!outline) {
if (track->pat_flag & SELECT)
glColor3fv(scol);
@@ -803,42 +823,42 @@ static void draw_marker_slide_zones(SpaceClip *sc, MovieTrackingTrack *track, Mo
glColor3fv(col);
}
- /* pattern offset square */
- x = track->pat_min[0];
- y = track->pat_max[1];
+ /* pattern's corners sliding squares */
+ for (i = 0; i < 4; i++) {
+ draw_marker_slide_square(marker->pattern_corners[i][0], marker->pattern_corners[i][1],
+ patdx / 1.5f, patdy / 1.5f, outline, px);
+ }
- tdx = patdx;
- tdy = patdy;
+ /* ** sliders to control overall pattern ** */
+ add_v2_v2v2(tilt_ctrl, marker->pattern_corners[1], marker->pattern_corners[2]);
- if (outline) {
- tdx += px[0];
- tdy += px[1];
- }
+ BKE_tracking_marker_pattern_minmax(marker, pat_min, pat_max);
+
+ glEnable(GL_LINE_STIPPLE);
+ glLineStipple(3, 0xaaaa);
- glBegin(GL_QUADS);
- glVertex3f(x - tdx, y + tdy, 0);
- glVertex3f(x + tdx, y + tdy, 0);
- glVertex3f(x + tdx, y - tdy, 0);
- glVertex3f(x - tdx, y - tdy, 0);
+ glBegin(GL_LINE_LOOP);
+ glVertex2f(pat_min[0] - dx, pat_min[1] - dy);
+ glVertex2f(pat_max[0] + dx, pat_min[1] - dy);
+ glVertex2f(pat_max[0] + dx, pat_max[1] + dy);
+ glVertex2f(pat_min[0] - dx, pat_max[1] + dy);
glEnd();
- /* pattern re-sizing triangle */
- x = track->pat_max[0];
- y = track->pat_min[1];
+ glBegin(GL_LINES);
+ glVertex2f(0.0f, 0.0f);
+ glVertex2fv(tilt_ctrl);
+ glEnd();
- tdx = patdx*2.0f;
- tdy = patdy*2.0f;
+ glDisable(GL_LINE_STIPPLE);
- if (outline) {
- tdx += px[0];
- tdy += px[1];
- }
+ /* marker's offset slider */
+ draw_marker_slide_square(pat_min[0] - dx, pat_max[1] + dy, patdx, patdy, outline, px);
- glBegin(GL_TRIANGLES);
- glVertex3f(x, y, 0);
- glVertex3f(x - tdx, y, 0);
- glVertex3f(x, y + tdy, 0);
- glEnd();
+ /* pattern re-sizing triangle */
+ draw_marker_slide_triangle(pat_max[0] + dx, pat_min[1] - dy, patdx, patdy, outline, px);
+
+ /* slider to control pattern tilt */
+ draw_marker_slide_square(tilt_ctrl[0], tilt_ctrl[1], patdx, patdy, outline, px);
}
glPopMatrix();
@@ -875,14 +895,17 @@ static void draw_marker_texts(SpaceClip *sc, MovieTrackingTrack *track, MovieTra
}
if ((sc->flag & SC_SHOW_MARKER_SEARCH) &&
- ((marker->flag & MARKER_DISABLED) == 0 || (sc->flag & SC_SHOW_MARKER_PATTERN) == 0))
+ ((marker->flag & MARKER_DISABLED) == 0 || (sc->flag & SC_SHOW_MARKER_PATTERN) == 0))
{
- dx = track->search_min[0];
- dy = track->search_min[1];
+ dx = marker->search_min[0];
+ dy = marker->search_min[1];
}
else if (sc->flag & SC_SHOW_MARKER_PATTERN) {
- dx = track->pat_min[0];
- dy = track->pat_min[1];
+ float pat_min[2], pat_max[2];
+
+ BKE_tracking_marker_pattern_minmax(marker, pat_min, pat_max);
+ dx = pat_min[0];
+ dy = pat_min[1];
}
pos[0] = (marker_pos[0] + dx) * width;
@@ -891,12 +914,12 @@ static void draw_marker_texts(SpaceClip *sc, MovieTrackingTrack *track, MovieTra
mul_m4_v3(sc->stabmat, pos);
- pos[0] = pos[0]*zoomx;
- pos[1] = pos[1]*zoomy - fontsize;
+ pos[0] = pos[0] * zoomx;
+ pos[1] = pos[1] * zoomy - fontsize;
if (marker->flag & MARKER_DISABLED)
strcpy(state, "disabled");
- else if (marker->framenr != sc->user.framenr)
+ else if (marker->framenr != ED_space_clip_clip_framenr(sc))
strcpy(state, "estimated");
else if (marker->flag & MARKER_TRACKED)
strcpy(state, "tracked");
@@ -932,8 +955,8 @@ static void view2d_to_region_float(View2D *v2d, float x, float y, float *regionx
y = -v2d->cur.ymin / (v2d->cur.ymax - v2d->cur.ymin);
/* convert proportional distances to screen coordinates */
- *regionx = v2d->mask.xmin + x*(v2d->mask.xmax - v2d->mask.xmin);
- *regiony = v2d->mask.ymin + y*(v2d->mask.ymax - v2d->mask.ymin);
+ *regionx = v2d->mask.xmin + x * (v2d->mask.xmax - v2d->mask.xmin);
+ *regiony = v2d->mask.ymin + y * (v2d->mask.ymax - v2d->mask.ymin);
}
static void draw_tracking_tracks(SpaceClip *sc, ARegion *ar, MovieClip *clip,
@@ -941,10 +964,10 @@ static void draw_tracking_tracks(SpaceClip *sc, ARegion *ar, MovieClip *clip,
{
float x, y;
MovieTracking *tracking = &clip->tracking;
- ListBase *tracksbase = BKE_tracking_get_tracks(tracking);
+ ListBase *tracksbase = BKE_tracking_get_active_tracks(tracking);
MovieTrackingTrack *track, *act_track;
MovieTrackingMarker *marker;
- int framenr = sc->user.framenr;
+ int framenr = ED_space_clip_clip_framenr(sc);
int undistort = sc->user.render_flag & MCLIP_PROXY_RENDER_UNDISTORT;
float *marker_pos = NULL, *fp, *active_pos = NULL, cur_pos[2];
@@ -965,7 +988,7 @@ static void draw_tracking_tracks(SpaceClip *sc, ARegion *ar, MovieClip *clip,
glMultMatrixf(sc->stabmat);
glScalef(width, height, 0);
- act_track = BKE_tracking_active_track(tracking);
+ act_track = BKE_tracking_track_get_active(tracking);
if (sc->user.render_flag & MCLIP_PROXY_RENDER_UNDISTORT) {
int count = 0;
@@ -974,7 +997,7 @@ static void draw_tracking_tracks(SpaceClip *sc, ARegion *ar, MovieClip *clip,
track = tracksbase->first;
while (track) {
if ((track->flag & TRACK_HIDDEN) == 0) {
- marker = BKE_tracking_get_marker(track, framenr);
+ marker = BKE_tracking_marker_get(track, framenr);
if (MARKER_VISIBLE(sc, track, marker))
count++;
@@ -985,13 +1008,13 @@ static void draw_tracking_tracks(SpaceClip *sc, ARegion *ar, MovieClip *clip,
/* undistort */
if (count) {
- marker_pos = MEM_callocN(2*sizeof(float)*count, "draw_tracking_tracks marker_pos");
+ marker_pos = MEM_callocN(2 * sizeof(float) * count, "draw_tracking_tracks marker_pos");
track = tracksbase->first;
fp = marker_pos;
while (track) {
if ((track->flag & TRACK_HIDDEN) == 0) {
- marker = BKE_tracking_get_marker(track, framenr);
+ marker = BKE_tracking_marker_get(track, framenr);
if (MARKER_VISIBLE(sc, track, marker)) {
ED_clip_point_undistorted_pos(sc, marker->pos, fp);
@@ -1023,7 +1046,7 @@ static void draw_tracking_tracks(SpaceClip *sc, ARegion *ar, MovieClip *clip,
fp = marker_pos;
while (track) {
if ((track->flag & TRACK_HIDDEN) == 0) {
- marker = BKE_tracking_get_marker(track, framenr);
+ marker = BKE_tracking_marker_get(track, framenr);
if (MARKER_VISIBLE(sc, track, marker)) {
copy_v2_v2(cur_pos, fp ? fp : marker->pos);
@@ -1048,7 +1071,7 @@ static void draw_tracking_tracks(SpaceClip *sc, ARegion *ar, MovieClip *clip,
while (track) {
if ((track->flag & TRACK_HIDDEN) == 0) {
int act = track == act_track;
- marker = BKE_tracking_get_marker(track, framenr);
+ marker = BKE_tracking_marker_get(track, framenr);
if (MARKER_VISIBLE(sc, track, marker)) {
if (!act) {
@@ -1069,7 +1092,7 @@ static void draw_tracking_tracks(SpaceClip *sc, ARegion *ar, MovieClip *clip,
/* active marker would be displayed on top of everything else */
if (act_track) {
if ((act_track->flag & TRACK_HIDDEN) == 0) {
- marker = BKE_tracking_get_marker(act_track, framenr);
+ marker = BKE_tracking_marker_get(act_track, framenr);
if (MARKER_VISIBLE(sc, act_track, marker)) {
copy_v2_v2(cur_pos, active_pos ? active_pos : marker->pos);
@@ -1081,19 +1104,19 @@ static void draw_tracking_tracks(SpaceClip *sc, ARegion *ar, MovieClip *clip,
}
if (sc->flag & SC_SHOW_BUNDLES) {
- MovieTrackingObject *object = BKE_tracking_active_object(tracking);
+ MovieTrackingObject *object = BKE_tracking_object_get_active(tracking);
float pos[4], vec[4], mat[4][4], aspy;
glEnable(GL_POINT_SMOOTH);
glPointSize(3.0f);
aspy = 1.0f / clip->tracking.camera.pixel_aspect;
- BKE_tracking_projection_matrix(tracking, object, framenr, width, height, mat);
+ BKE_tracking_get_projection_matrix(tracking, object, framenr, width, height, mat);
track = tracksbase->first;
while (track) {
if ((track->flag & TRACK_HIDDEN) == 0 && track->flag & TRACK_HAS_BUNDLE) {
- marker = BKE_tracking_get_marker(track, framenr);
+ marker = BKE_tracking_marker_get(track, framenr);
if (MARKER_VISIBLE(sc, track, marker)) {
float npos[2];
@@ -1105,7 +1128,7 @@ static void draw_tracking_tracks(SpaceClip *sc, ARegion *ar, MovieClip *clip,
pos[0] = (pos[0] / (pos[3] * 2.0f) + 0.5f) * width;
pos[1] = (pos[1] / (pos[3] * 2.0f) + 0.5f) * height * aspy;
- BKE_tracking_apply_intrinsics(tracking, pos, npos);
+ BKE_tracking_distort_v2(tracking, pos, npos);
if (npos[0] >= 0.0f && npos[1] >= 0.0f && npos[0] <= width && npos[1] <= height * aspy) {
vec[0] = (marker->pos[0] + track->offset[0]) * width;
@@ -1119,10 +1142,10 @@ static void draw_tracking_tracks(SpaceClip *sc, ARegion *ar, MovieClip *clip,
glColor3f(1.0f, 0.0f, 0.0f);
glBegin(GL_POINTS);
- if (undistort)
- glVertex3f(pos[0] / width, pos[1] / (height * aspy), 0);
- else
- glVertex3f(npos[0] / width, npos[1] / (height * aspy), 0);
+ if (undistort)
+ glVertex3f(pos[0] / width, pos[1] / (height * aspy), 0);
+ else
+ glVertex3f(npos[0] / width, npos[1] / (height * aspy), 0);
glEnd();
}
}
@@ -1143,7 +1166,7 @@ static void draw_tracking_tracks(SpaceClip *sc, ARegion *ar, MovieClip *clip,
fp = marker_pos;
while (track) {
if ((track->flag & TRACK_HIDDEN) == 0) {
- marker = BKE_tracking_get_marker(track, framenr);
+ marker = BKE_tracking_marker_get(track, framenr);
if (MARKER_VISIBLE(sc, track, marker)) {
int act = track == act_track;
@@ -1175,8 +1198,10 @@ static void draw_distortion(SpaceClip *sc, ARegion *ar, MovieClip *clip,
int i, j, a;
float pos[2], tpos[2], grid[11][11][2];
MovieTracking *tracking = &clip->tracking;
+ bGPdata *gpd = NULL;
float aspy = 1.0f / tracking->camera.pixel_aspect;
float dx = (float)width / n, dy = (float)height / n * aspy;
+ float offsx = 0.0f, offsy = 0.0f;
if (sc->mode != SC_MODE_DISTORTION)
return;
@@ -1211,7 +1236,7 @@ static void draw_distortion(SpaceClip *sc, ARegion *ar, MovieClip *clip,
for (i = 0; i <= n; i++) {
for (j = 0; j <= n; j++) {
if (i == 0 || j == 0 || i == n || j == n) {
- BKE_tracking_apply_intrinsics(tracking, pos, tpos);
+ BKE_tracking_distort_v2(tracking, pos, tpos);
for (a = 0; a < 4; a++) {
int ok;
@@ -1242,7 +1267,7 @@ static void draw_distortion(SpaceClip *sc, ARegion *ar, MovieClip *clip,
pos[0] = idx[a][0] * dx;
pos[1] = idx[a][1] * dy;
- BKE_tracking_invert_intrinsics(tracking, pos, tpos);
+ BKE_tracking_undistort_v2(tracking, pos, tpos);
DO_MINMAX2(tpos, min, max);
}
@@ -1253,10 +1278,10 @@ static void draw_distortion(SpaceClip *sc, ARegion *ar, MovieClip *clip,
for (i = 0; i <= n; i++) {
for (j = 0; j <= n; j++) {
- BKE_tracking_apply_intrinsics(tracking, pos, grid[i][j]);
+ BKE_tracking_distort_v2(tracking, pos, grid[i][j]);
grid[i][j][0] /= width;
- grid[i][j][1] /= height*aspy;
+ grid[i][j][1] /= height * aspy;
pos[0] += dx;
}
@@ -1269,23 +1294,41 @@ static void draw_distortion(SpaceClip *sc, ARegion *ar, MovieClip *clip,
for (i = 0; i <= n; i++) {
glBegin(GL_LINE_STRIP);
- for (j = 0; j <= n; j++) {
- glVertex2fv(grid[i][j]);
- }
+ for (j = 0; j <= n; j++) {
+ glVertex2fv(grid[i][j]);
+ }
glEnd();
}
for (j = 0; j <= n; j++) {
glBegin(GL_LINE_STRIP);
- for (i = 0; i <= n; i++) {
- glVertex2fv(grid[i][j]);
- }
+ for (i = 0; i <= n; i++) {
+ glVertex2fv(grid[i][j]);
+ }
glEnd();
}
}
- if (sc->flag & SC_MANUAL_CALIBRATION && clip->gpd) {
- bGPDlayer *layer = clip->gpd->layers.first;
+ if (sc->gpencil_src == SC_GPENCIL_SRC_TRACK) {
+ MovieTrackingTrack *track = BKE_tracking_track_get_active(&sc->clip->tracking);
+
+ if (track) {
+ int framenr = sc->user.framenr;
+ MovieTrackingMarker *marker = BKE_tracking_marker_get_exact(track, framenr);
+
+ offsx = marker->pos[0];
+ offsy = marker->pos[1];
+
+ gpd = track->gpd;
+ }
+
+ }
+ else {
+ gpd = clip->gpd;
+ }
+
+ if (sc->flag & SC_MANUAL_CALIBRATION && gpd) {
+ bGPDlayer *layer = gpd->layers.first;
while (layer) {
bGPDframe *frame = layer->frames.first;
@@ -1306,40 +1349,40 @@ static void draw_distortion(SpaceClip *sc, ARegion *ar, MovieClip *clip,
if (stroke->flag & GP_STROKE_2DSPACE) {
if (stroke->totpoints > 1) {
glBegin(GL_LINE_STRIP);
- for (i = 0; i < stroke->totpoints - 1; i++) {
- float npos[2], dpos[2], len;
- int steps;
+ for (i = 0; i < stroke->totpoints - 1; i++) {
+ float npos[2], dpos[2], len;
+ int steps;
- pos[0] = stroke->points[i].x * width;
- pos[1] = stroke->points[i].y * height * aspy;
+ pos[0] = (stroke->points[i].x + offsx) * width;
+ pos[1] = (stroke->points[i].y + offsy) * height * aspy;
- npos[0] = stroke->points[i + 1].x * width;
- npos[1] = stroke->points[i + 1].y * height * aspy;
+ npos[0] = (stroke->points[i + 1].x + offsx) * width;
+ npos[1] = (stroke->points[i + 1].y + offsy) * height * aspy;
- len = len_v2v2(pos, npos);
- steps = ceil(len / 5.0f);
+ len = len_v2v2(pos, npos);
+ steps = ceil(len / 5.0f);
- /* we want to distort only long straight lines */
- if (stroke->totpoints == 2) {
- BKE_tracking_invert_intrinsics(tracking, pos, pos);
- BKE_tracking_invert_intrinsics(tracking, npos, npos);
- }
+ /* we want to distort only long straight lines */
+ if (stroke->totpoints == 2) {
+ BKE_tracking_undistort_v2(tracking, pos, pos);
+ BKE_tracking_undistort_v2(tracking, npos, npos);
+ }
- sub_v2_v2v2(dpos, npos, pos);
- mul_v2_fl(dpos, 1.0f / steps);
+ sub_v2_v2v2(dpos, npos, pos);
+ mul_v2_fl(dpos, 1.0f / steps);
- for (j = 0; j <= steps; j++) {
- BKE_tracking_apply_intrinsics(tracking, pos, tpos);
- glVertex2f(tpos[0] / width, tpos[1] / (height*aspy));
+ for (j = 0; j <= steps; j++) {
+ BKE_tracking_distort_v2(tracking, pos, tpos);
+ glVertex2f(tpos[0] / width, tpos[1] / (height * aspy));
- add_v2_v2(pos, dpos);
- }
+ add_v2_v2(pos, dpos);
}
+ }
glEnd();
}
else if (stroke->totpoints == 1) {
glBegin(GL_POINTS);
- glVertex2f(stroke->points[0].x, stroke->points[0].y);
+ glVertex2f(stroke->points[0].x + offsx, stroke->points[0].y + offsy);
glEnd();
}
}
@@ -1388,7 +1431,7 @@ void clip_draw_main(SpaceClip *sc, ARegion *ar, Scene *scene)
else
copy_v2_v2(loc, sc->loc);
- BKE_tracking_stabdata_to_mat4(width, height, aspect, loc, sc->scale, sc->angle, sc->stabmat);
+ BKE_tracking_stabilization_data_to_mat4(width, height, aspect, loc, sc->scale, sc->angle, sc->stabmat);
unit_m4(smat);
smat[0][0] = 1.0f / width;
@@ -1429,7 +1472,6 @@ void clip_draw_grease_pencil(bContext *C, int onlyv2d)
{
SpaceClip *sc = CTX_wm_space_clip(C);
MovieClip *clip = ED_space_clip(sc);
- ImBuf *ibuf;
if (!clip)
return;
@@ -1438,16 +1480,25 @@ void clip_draw_grease_pencil(bContext *C, int onlyv2d)
/* if manual calibration is used then grease pencil data is already
* drawed in draw_distortion */
if ((sc->flag & SC_MANUAL_CALIBRATION) == 0 || sc->mode != SC_MODE_DISTORTION) {
- ibuf = ED_space_clip_get_buffer(sc);
+ glPushMatrix();
+ glMultMatrixf(sc->unistabmat);
- if (ibuf) {
- glPushMatrix();
- glMultMatrixf(sc->unistabmat);
- draw_gpencil_2dimage(C, ibuf);
+ if (sc->gpencil_src == SC_GPENCIL_SRC_TRACK) {
+ MovieTrackingTrack *track = BKE_tracking_track_get_active(&sc->clip->tracking);
- IMB_freeImBuf(ibuf);
- glPopMatrix();
+ if (track) {
+ int framenr = sc->user.framenr;
+ /* don't get the exact marker since it may not exist for the frame */
+ MovieTrackingMarker *marker = BKE_tracking_marker_get(track, framenr);
+ if (marker) {
+ glTranslatef(marker->pos[0], marker->pos[1], 0.0f);
+ }
+ }
}
+
+ draw_gpencil_2dimage(C);
+
+ glPopMatrix();
}
}
else {
diff --git a/source/blender/editors/space_clip/clip_editor.c b/source/blender/editors/space_clip/clip_editor.c
index a477a7435fd..0bad9f86ea1 100644
--- a/source/blender/editors/space_clip/clip_editor.c
+++ b/source/blender/editors/space_clip/clip_editor.c
@@ -34,10 +34,12 @@
#include "MEM_guardedalloc.h"
#include "BKE_main.h"
+#include "BKE_mask.h"
#include "BKE_movieclip.h"
#include "BKE_context.h"
#include "BKE_tracking.h"
+#include "DNA_mask_types.h"
#include "DNA_object_types.h" /* SELECT */
#include "BLI_utildefines.h"
@@ -94,33 +96,26 @@ int ED_space_clip_tracking_poll(bContext *C)
return FALSE;
}
-int ED_space_clip_tracking_size_poll(bContext *C)
+int ED_space_clip_maskedit_poll(bContext *C)
{
- if (ED_space_clip_tracking_poll(C)) {
- MovieClip *clip = CTX_data_edit_movieclip(C);
-
- if (clip) {
- SpaceClip *sc = CTX_wm_space_clip(C);
- int width, height;
-
- BKE_movieclip_get_size(clip, &sc->user, &width, &height);
+ SpaceClip *sc = CTX_wm_space_clip(C);
- return width > 0 && height > 0;
- }
+ if (sc && sc->clip) {
+ return ED_space_clip_show_maskedit(sc);
}
return FALSE;
}
-int ED_space_clip_tracking_frame_poll(bContext *C)
+int ED_space_clip_maskedit_mask_poll(bContext *C)
{
- if (ED_space_clip_tracking_poll(C)) {
+ if (ED_space_clip_maskedit_poll(C)) {
MovieClip *clip = CTX_data_edit_movieclip(C);
if (clip) {
SpaceClip *sc = CTX_wm_space_clip(C);
- return BKE_movieclip_has_frame(clip, &sc->user);
+ return sc->mask != NULL;
}
}
@@ -170,6 +165,11 @@ MovieClip *ED_space_clip(SpaceClip *sc)
return sc->clip;
}
+Mask *ED_space_clip_mask(SpaceClip *sc)
+{
+ return sc->mask;
+}
+
ImBuf *ED_space_clip_get_buffer(SpaceClip *sc)
{
if (sc->clip) {
@@ -214,6 +214,51 @@ void ED_space_clip_size(SpaceClip *sc, int *width, int *height)
}
}
+void ED_space_clip_mask_size(SpaceClip *sc, int *width, int *height)
+{
+ /* quite the same as ED_space_clip_size, but it also runs aspect correction on output resolution
+ * this is needed because mask should be rasterized with exactly the same resolution as
+ * currently displaying frame and it doesn't have access to aspect correction currently
+ * used for display. (sergey)
+ */
+
+ if (!sc->mask) {
+ *width = 0;
+ *height = 0;
+ } else {
+ float aspx, aspy;
+
+ ED_space_clip_size(sc, width, height);
+ ED_space_clip_aspect(sc, &aspx, &aspy);
+
+ *width *= aspx;
+ *height *= aspy;
+ }
+}
+
+void ED_space_clip_mask_aspect(SpaceClip *sc, float *aspx, float *aspy)
+{
+ int w, h;
+
+ ED_space_clip_aspect(sc, aspx, aspy);
+ ED_space_clip_size(sc, &w, &h);
+
+ /* now this is not accounted for! */
+#if 0
+ *aspx *= (float)w;
+ *aspy *= (float)h;
+#endif
+
+ if (*aspx < *aspy) {
+ *aspy = *aspy / *aspx;
+ *aspx = 1.0f;
+ }
+ else {
+ *aspx = *aspx / *aspy;
+ *aspy = 1.0f;
+ }
+}
+
void ED_space_clip_zoom(SpaceClip *sc, ARegion *ar, float *zoomx, float *zoomy)
{
int width, height;
@@ -234,6 +279,33 @@ void ED_space_clip_aspect(SpaceClip *sc, float *aspx, float *aspy)
*aspx = *aspy = 1.0f;
}
+void ED_space_clip_aspect_dimension_aware(SpaceClip *sc, float *aspx, float *aspy)
+{
+ int w, h;
+
+ /* most of tools does not require aspect to be returned with dimensions correction
+ * due to they're invariant to this stuff, but some transformation tools like rotation
+ * should be aware of aspect correction caused by different resolution in different
+ * directions.
+ * mainly this is sued for transformation stuff
+ */
+
+ ED_space_clip_aspect(sc, aspx, aspy);
+ ED_space_clip_size(sc, &w, &h);
+
+ *aspx *= (float)w;
+ *aspy *= (float)h;
+
+ if (*aspx < *aspy) {
+ *aspy = *aspy / *aspx;
+ *aspx = 1.0f;
+ }
+ else {
+ *aspx = *aspx / *aspy;
+ *aspy = 1.0f;
+ }
+}
+
void ED_clip_update_frame(const Main *mainp, int cfra)
{
wmWindowManager *wm;
@@ -257,12 +329,20 @@ void ED_clip_update_frame(const Main *mainp, int cfra)
}
}
+/* return current frame number in clip space */
+int ED_space_clip_clip_framenr(SpaceClip *sc)
+{
+ MovieClip *clip = ED_space_clip(sc);
+
+ return BKE_movieclip_remap_scene_to_clip_frame(clip, sc->user.framenr);
+}
+
static int selected_boundbox(SpaceClip *sc, float min[2], float max[2])
{
MovieClip *clip = ED_space_clip(sc);
MovieTrackingTrack *track;
int width, height, ok = FALSE;
- ListBase *tracksbase = BKE_tracking_get_tracks(&clip->tracking);
+ ListBase *tracksbase = BKE_tracking_get_active_tracks(&clip->tracking);
INIT_MINMAX2(min, max);
@@ -271,7 +351,7 @@ static int selected_boundbox(SpaceClip *sc, float min[2], float max[2])
track = tracksbase->first;
while (track) {
if (TRACK_VIEW_SELECTED(sc, track)) {
- MovieTrackingMarker *marker = BKE_tracking_get_marker(track, sc->user.framenr);
+ MovieTrackingMarker *marker = BKE_tracking_marker_get(track, sc->user.framenr);
if (marker) {
float pos[3];
@@ -345,9 +425,9 @@ int ED_clip_view_selection(SpaceClip *sc, ARegion *ar, int fit)
return TRUE;
}
-void ED_clip_point_undistorted_pos(SpaceClip *sc, float co[2], float nco[2])
+void ED_clip_point_undistorted_pos(SpaceClip *sc, const float co[2], float r_co[2])
{
- copy_v2_v2(nco, co);
+ copy_v2_v2(r_co, co);
if (sc->user.render_flag & MCLIP_PROXY_RENDER_UNDISTORT) {
MovieClip *clip = ED_space_clip(sc);
@@ -356,13 +436,13 @@ void ED_clip_point_undistorted_pos(SpaceClip *sc, float co[2], float nco[2])
ED_space_clip_size(sc, &width, &height);
- nco[0] *= width;
- nco[1] *= height * aspy;
+ r_co[0] *= width;
+ r_co[1] *= height * aspy;
- BKE_tracking_invert_intrinsics(&clip->tracking, nco, nco);
+ BKE_tracking_undistort_v2(&clip->tracking, r_co, r_co);
- nco[0] /= width;
- nco[1] /= height * aspy;
+ r_co[0] /= width;
+ r_co[1] /= height * aspy;
}
}
@@ -371,7 +451,7 @@ void ED_clip_point_stable_pos(bContext *C, float x, float y, float *xr, float *y
ARegion *ar = CTX_wm_region(C);
SpaceClip *sc = CTX_wm_space_clip(C);
int sx, sy, width, height;
- float zoomx, zoomy, pos[3] = {0.0f, 0.0f, 0.0f}, imat[4][4];
+ float zoomx, zoomy, pos[3], imat[4][4];
ED_space_clip_zoom(sc, ar, &zoomx, &zoomy);
ED_space_clip_size(sc, &width, &height);
@@ -380,6 +460,7 @@ void ED_clip_point_stable_pos(bContext *C, float x, float y, float *xr, float *y
pos[0] = (x - sx) / zoomx;
pos[1] = (y - sy) / zoomy;
+ pos[2] = 0.0f;
invert_m4_m4(imat, sc->stabmat);
mul_v3_m4v3(pos, imat, pos);
@@ -393,7 +474,7 @@ void ED_clip_point_stable_pos(bContext *C, float x, float y, float *xr, float *y
float aspy = 1.0f / tracking->camera.pixel_aspect;
float tmp[2] = {*xr * width, *yr * height * aspy};
- BKE_tracking_apply_intrinsics(tracking, tmp, tmp);
+ BKE_tracking_distort_v2(tracking, tmp, tmp);
*xr = tmp[0] / width;
*yr = tmp[1] / (height * aspy);
@@ -404,7 +485,7 @@ void ED_clip_point_stable_pos(bContext *C, float x, float y, float *xr, float *y
* \brief the reverse of ED_clip_point_stable_pos(), gets the marker region coords.
* better name here? view_to_track / track_to_view or so?
*/
-void ED_clip_point_stable_pos__reverse(SpaceClip *sc, ARegion *ar, float co[2], float nco[2])
+void ED_clip_point_stable_pos__reverse(SpaceClip *sc, ARegion *ar, const float co[2], float r_co[2])
{
float zoomx, zoomy;
float pos[3];
@@ -416,12 +497,13 @@ void ED_clip_point_stable_pos__reverse(SpaceClip *sc, ARegion *ar, float co[2],
ED_space_clip_zoom(sc, ar, &zoomx, &zoomy);
ED_clip_point_undistorted_pos(sc, co, pos);
+ pos[2] = 0.0f;
/* untested */
mul_v3_m4v3(pos, sc->stabmat, pos);
- nco[0] = (pos[0] * width * zoomx) + (float)sx;
- nco[1] = (pos[1] * height * zoomy) + (float)sy;
+ r_co[0] = (pos[0] * width * zoomx) + (float)sx;
+ r_co[1] = (pos[1] * height * zoomy) + (float)sy;
}
void ED_clip_mouse_pos(bContext *C, wmEvent *event, float co[2])
@@ -439,7 +521,10 @@ typedef struct SpaceClipDrawContext {
struct ImBuf *texture_ibuf; /* image buffer for which texture was created */
int image_width, image_height; /* image width and height for which texture was created */
unsigned last_texture; /* ID of previously used texture, so it'll be restored after clip drawing */
- int framenr;
+
+ /* fields to check if cache is still valid */
+ int framenr, start_frame, frame_offset;
+ short render_size, render_flag;
} SpaceClipDrawContext;
int ED_space_clip_texture_buffer_supported(SpaceClip *sc)
@@ -477,6 +562,10 @@ int ED_space_clip_load_movieclip_buffer(SpaceClip *sc, ImBuf *ibuf)
* so not changed image buffer pointer means unchanged image content */
need_rebind |= context->texture_ibuf != ibuf;
need_rebind |= context->framenr != sc->user.framenr;
+ need_rebind |= context->render_size != sc->user.render_size;
+ need_rebind |= context->render_flag != sc->user.render_flag;
+ need_rebind |= context->start_frame != clip->start_frame;
+ need_rebind |= context->frame_offset != clip->frame_offset;
if (need_rebind) {
int width = ibuf->x, height = ibuf->y;
@@ -531,6 +620,10 @@ int ED_space_clip_load_movieclip_buffer(SpaceClip *sc, ImBuf *ibuf)
context->image_width = ibuf->x;
context->image_height = ibuf->y;
context->framenr = sc->user.framenr;
+ context->render_size = sc->user.render_size;
+ context->render_flag = sc->user.render_flag;
+ context->start_frame = clip->start_frame;
+ context->frame_offset = clip->frame_offset;
}
else {
/* displaying exactly the same image which was loaded t oa texture,
@@ -562,6 +655,8 @@ void ED_space_clip_free_texture_buffer(SpaceClip *sc)
}
}
+/* ******** masking editing related functions ******** */
+
int ED_space_clip_show_trackedit(SpaceClip *sc)
{
if (sc) {
@@ -570,3 +665,25 @@ int ED_space_clip_show_trackedit(SpaceClip *sc)
return FALSE;
}
+
+int ED_space_clip_show_maskedit(SpaceClip *sc)
+{
+ if (sc) {
+ return sc->mode == SC_MODE_MASKEDIT;
+ }
+
+ return FALSE;
+}
+
+void ED_space_clip_set_mask(bContext *C, SpaceClip *sc, Mask *mask)
+{
+ sc->mask = mask;
+
+ if (sc->mask && sc->mask->id.us == 0) {
+ sc->clip->id.us = 1;
+ }
+
+ if (C) {
+ WM_event_add_notifier(C, NC_MASK | NA_SELECTED, mask);
+ }
+}
diff --git a/source/blender/editors/space_clip/clip_graph_draw.c b/source/blender/editors/space_clip/clip_graph_draw.c
index 853a7d7cad1..323594ea469 100644
--- a/source/blender/editors/space_clip/clip_graph_draw.c
+++ b/source/blender/editors/space_clip/clip_graph_draw.c
@@ -31,7 +31,7 @@
#include "DNA_movieclip_types.h"
#include "DNA_scene_types.h"
-#include "DNA_object_types.h" /* SELECT */
+#include "DNA_object_types.h" /* SELECT */
#include "MEM_guardedalloc.h"
@@ -57,7 +57,7 @@
#include "BLF_api.h"
-#include "clip_intern.h" // own include
+#include "clip_intern.h" // own include
static void draw_curve_knot(float x, float y, float xscale, float yscale, float hsize)
{
@@ -88,9 +88,10 @@ static void draw_curve_knot(float x, float y, float xscale, float yscale, float
}
static void tracking_segment_point_cb(void *UNUSED(userdata), MovieTrackingTrack *UNUSED(track),
- MovieTrackingMarker *marker, int UNUSED(coord), float val)
+ MovieTrackingMarker *UNUSED(marker), int UNUSED(coord),
+ int scene_framenr, float val)
{
- glVertex2f(marker->framenr, val);
+ glVertex2f(scene_framenr, val);
}
void tracking_segment_start_cb(void *userdata, MovieTrackingTrack *track, int coord)
@@ -123,7 +124,7 @@ void tracking_segment_end_cb(void *UNUSED(userdata))
}
static void tracking_segment_knot_cb(void *userdata, MovieTrackingTrack *track,
- MovieTrackingMarker *marker, int coord, float val)
+ MovieTrackingMarker *marker, int coord, int scene_framenr, float val)
{
struct { MovieTrackingTrack *act_track; int sel; float xscale, yscale, hsize; } *data = userdata;
int sel = 0, sel_flag;
@@ -140,7 +141,7 @@ static void tracking_segment_knot_cb(void *userdata, MovieTrackingTrack *track,
else
UI_ThemeColor(TH_HANDLE_VERTEX);
- draw_curve_knot(marker->framenr, val, data->xscale, data->yscale, data->hsize);
+ draw_curve_knot(scene_framenr, val, data->xscale, data->yscale, data->hsize);
}
}
@@ -148,7 +149,7 @@ static void draw_tracks_curves(View2D *v2d, SpaceClip *sc)
{
MovieClip *clip = ED_space_clip(sc);
MovieTracking *tracking = &clip->tracking;
- MovieTrackingTrack *act_track = BKE_tracking_active_track(tracking);
+ MovieTrackingTrack *act_track = BKE_tracking_track_get_active(tracking);
int width, height;
struct { MovieTrackingTrack *act_track; int sel; float xscale, yscale, hsize; } userdata;
@@ -162,30 +163,34 @@ static void draw_tracks_curves(View2D *v2d, SpaceClip *sc)
userdata.sel = FALSE;
userdata.act_track = act_track;
UI_view2d_getscale(v2d, &userdata.xscale, &userdata.yscale);
- clip_graph_tracking_values_iterate(sc, &userdata, tracking_segment_knot_cb, NULL, NULL);
+ clip_graph_tracking_values_iterate(sc, sc->flag & SC_SHOW_GRAPH_SEL_ONLY, sc->flag & SC_SHOW_GRAPH_HIDDEN,
+ &userdata, tracking_segment_knot_cb, NULL, NULL);
/* draw graph lines */
glEnable(GL_BLEND);
- clip_graph_tracking_values_iterate(sc, act_track, tracking_segment_point_cb,
- tracking_segment_start_cb, tracking_segment_end_cb);
+ clip_graph_tracking_values_iterate(sc, sc->flag & SC_SHOW_GRAPH_SEL_ONLY, sc->flag & SC_SHOW_GRAPH_HIDDEN,
+ act_track, tracking_segment_point_cb, tracking_segment_start_cb,
+ tracking_segment_end_cb);
glDisable(GL_BLEND);
/* selected knot handles on top of curves */
userdata.sel = TRUE;
- clip_graph_tracking_values_iterate(sc, &userdata, tracking_segment_knot_cb, NULL, NULL);
+ clip_graph_tracking_values_iterate(sc, sc->flag & SC_SHOW_GRAPH_SEL_ONLY, sc->flag & SC_SHOW_GRAPH_HIDDEN,
+ &userdata, tracking_segment_knot_cb, NULL, NULL);
}
static void draw_frame_curves(SpaceClip *sc)
{
MovieClip *clip = ED_space_clip(sc);
MovieTracking *tracking = &clip->tracking;
- MovieTrackingReconstruction *reconstruction = BKE_tracking_get_reconstruction(tracking);
+ MovieTrackingReconstruction *reconstruction = BKE_tracking_get_active_reconstruction(tracking);
int i, lines = 0, prevfra = 0;
glColor3f(0.0f, 0.0f, 1.0f);
for (i = 0; i < reconstruction->camnr; i++) {
MovieReconstructedCamera *camera = &reconstruction->cameras[i];
+ int framenr;
if (lines && camera->framenr != prevfra + 1) {
glEnd();
@@ -197,7 +202,8 @@ static void draw_frame_curves(SpaceClip *sc)
lines = 1;
}
- glVertex2f(camera->framenr, camera->error);
+ framenr = BKE_movieclip_remap_clip_to_scene_frame(clip, camera->framenr);
+ glVertex2f(framenr, camera->error);
prevfra = camera->framenr;
}
diff --git a/source/blender/editors/space_clip/clip_graph_ops.c b/source/blender/editors/space_clip/clip_graph_ops.c
index 10692ada5d9..b7687eba717 100644
--- a/source/blender/editors/space_clip/clip_graph_ops.c
+++ b/source/blender/editors/space_clip/clip_graph_ops.c
@@ -29,7 +29,7 @@
* \ingroup spclip
*/
-#include "DNA_object_types.h" /* SELECT */
+#include "DNA_object_types.h" /* SELECT */
#include "DNA_scene_types.h"
#include "MEM_guardedalloc.h"
@@ -57,7 +57,7 @@
#include "UI_view2d.h"
-#include "clip_intern.h" // own include
+#include "clip_intern.h" // own include
/******************** common graph-editing utilities ********************/
@@ -96,23 +96,24 @@ static void toggle_selection_cb(void *userdata, MovieTrackingMarker *marker)
/******************** mouse select operator ********************/
typedef struct {
- int coord, /* coordinate index of found entuty (0 = X-axis, 1 = Y-axis) */
- has_prev; /* if there's valid coordinate of previous point of curve segment */
+ int coord, /* coordinate index of found entuty (0 = X-axis, 1 = Y-axis) */
+ has_prev; /* if there's valid coordinate of previous point of curve segment */
- float min_dist, /* minimal distance between mouse and currently found entuty */
- mouse_co[2], /* mouse coordinate */
- prev_co[2], /* coordinate of previeous point of segment */
- min_co[2]; /* coordinate of entity with minimal distance */
+ float min_dist, /* minimal distance between mouse and currently found entuty */
+ mouse_co[2], /* mouse coordinate */
+ prev_co[2], /* coordinate of previeous point of segment */
+ min_co[2]; /* coordinate of entity with minimal distance */
- MovieTrackingTrack *track; /* nearest found track */
- MovieTrackingMarker *marker; /* nearest found marker */
+ MovieTrackingTrack *track; /* nearest found track */
+ MovieTrackingMarker *marker; /* nearest found marker */
} MouseSelectUserData;
static void find_nearest_tracking_segment_cb(void *userdata, MovieTrackingTrack *track,
- MovieTrackingMarker *marker, int coord, float val)
+ MovieTrackingMarker *UNUSED(marker),
+ int coord, int scene_framenr, float val)
{
MouseSelectUserData *data = userdata;
- float co[2] = {marker->framenr, val};
+ float co[2] = {scene_framenr, val};
if (data->has_prev) {
float d = dist_to_line_segment_v2(data->mouse_co, data->prev_co, co);
@@ -137,14 +138,14 @@ void find_nearest_tracking_segment_end_cb(void *userdata)
}
static void find_nearest_tracking_knot_cb(void *userdata, MovieTrackingTrack *track,
- MovieTrackingMarker *marker, int coord, float val)
+ MovieTrackingMarker *marker, int coord, int scene_framenr, float val)
{
MouseSelectUserData *data = userdata;
- float dx = marker->framenr - data->mouse_co[0], dy = val - data->mouse_co[1];
+ float dx = scene_framenr - data->mouse_co[0], dy = val - data->mouse_co[1];
float d = dx * dx + dy * dy;
if (data->marker == NULL || d < data->min_dist) {
- float co[2] = {marker->framenr, val};
+ float co[2] = {scene_framenr, val};
data->track = track;
data->marker = marker;
@@ -169,7 +170,7 @@ static int mouse_select_knot(bContext *C, float co[2], int extend)
ARegion *ar = CTX_wm_region(C);
View2D *v2d = &ar->v2d;
MovieTracking *tracking = &clip->tracking;
- MovieTrackingTrack *act_track = BKE_tracking_active_track(tracking);
+ MovieTrackingTrack *act_track = BKE_tracking_track_get_active(tracking);
static const int delta = 6;
if (act_track) {
@@ -189,7 +190,9 @@ static int mouse_select_knot(bContext *C, float co[2], int extend)
if (!extend) {
SelectUserData selectdata = {SEL_DESELECT};
- clip_graph_tracking_iterate(sc, &selectdata, toggle_selection_cb);
+ clip_graph_tracking_iterate(sc, sc->flag & SC_SHOW_GRAPH_SEL_ONLY,
+ sc->flag & SC_SHOW_GRAPH_HIDDEN, &selectdata,
+ toggle_selection_cb);
}
if (userdata.coord == 0)
@@ -210,11 +213,12 @@ static int mouse_select_curve(bContext *C, float co[2], int extend)
SpaceClip *sc = CTX_wm_space_clip(C);
MovieClip *clip = ED_space_clip(sc);
MovieTracking *tracking = &clip->tracking;
- MovieTrackingTrack *act_track = BKE_tracking_active_track(tracking);
+ MovieTrackingTrack *act_track = BKE_tracking_track_get_active(tracking);
MouseSelectUserData userdata;
mouse_select_init_data(&userdata, co);
- clip_graph_tracking_values_iterate(sc, &userdata, find_nearest_tracking_segment_cb,
+ clip_graph_tracking_values_iterate(sc, sc->flag & SC_SHOW_GRAPH_SEL_ONLY, sc->flag & SC_SHOW_GRAPH_HIDDEN,
+ &userdata, find_nearest_tracking_segment_cb,
NULL, find_nearest_tracking_segment_end_cb);
if (userdata.track) {
@@ -226,11 +230,16 @@ static int mouse_select_curve(bContext *C, float co[2], int extend)
}
else if (act_track != userdata.track) {
SelectUserData selectdata = {SEL_DESELECT};
+ MovieTrackingObject *object = BKE_tracking_object_get_active(tracking);
+ ListBase *tracksbase = BKE_tracking_object_get_tracks(tracking, object);
tracking->act_track = userdata.track;
+ BKE_tracking_track_select(tracksbase, userdata.track, TRACK_AREA_ALL, TRUE);
/* deselect all knots on newly selected curve */
- clip_graph_tracking_iterate(sc, &selectdata, toggle_selection_cb);
+ clip_graph_tracking_iterate(sc, sc->flag & SC_SHOW_GRAPH_SEL_ONLY,
+ sc->flag & SC_SHOW_GRAPH_HIDDEN, &selectdata,
+ toggle_selection_cb);
}
return TRUE;
@@ -260,7 +269,7 @@ static int mouse_select(bContext *C, float co[2], int extend)
static int select_exec(bContext *C, wmOperator *op)
{
float co[2];
- int extend = RNA_boolean_get(op->ptr, "extend");
+ int extend = RNA_boolean_get(op->ptr, "extend");
RNA_float_get_array(op->ptr, "location", co);
@@ -295,9 +304,9 @@ void CLIP_OT_graph_select(wmOperatorType *ot)
/* properties */
RNA_def_float_vector(ot->srna, "location", 2, NULL, -FLT_MAX, FLT_MAX,
- "Location", "Mouse location to select nearest entity", -100.0f, 100.0f);
+ "Location", "Mouse location to select nearest entity", -100.0f, 100.0f);
RNA_def_boolean(ot->srna, "extend", 0,
- "Extend", "Extend selection rather than clearing the existing selection");
+ "Extend", "Extend selection rather than clearing the existing selection");
}
/********************** border select operator *********************/
@@ -308,11 +317,11 @@ typedef struct BorderSelectuserData {
} BorderSelectuserData;
static void border_select_cb(void *userdata, MovieTrackingTrack *UNUSED(track),
- MovieTrackingMarker *marker, int coord, float val)
+ MovieTrackingMarker *marker, int coord, int scene_framenr, float val)
{
BorderSelectuserData *data = (BorderSelectuserData *) userdata;
- if (BLI_in_rctf(&data->rect, marker->framenr, val)) {
+ if (BLI_in_rctf(&data->rect, scene_framenr, val)) {
int flag = 0;
if (coord == 0)
@@ -338,7 +347,7 @@ static int border_select_graph_exec(bContext *C, wmOperator *op)
ARegion *ar = CTX_wm_region(C);
MovieClip *clip = ED_space_clip(sc);
MovieTracking *tracking = &clip->tracking;
- MovieTrackingTrack *act_track = BKE_tracking_active_track(tracking);
+ MovieTrackingTrack *act_track = BKE_tracking_track_get_active(tracking);
BorderSelectuserData userdata;
rcti rect;
@@ -393,7 +402,7 @@ static int graph_select_all_markers_exec(bContext *C, wmOperator *op)
SpaceClip *sc = CTX_wm_space_clip(C);
MovieClip *clip = ED_space_clip(sc);
MovieTracking *tracking = &clip->tracking;
- MovieTrackingTrack *act_track = BKE_tracking_active_track(tracking);
+ MovieTrackingTrack *act_track = BKE_tracking_track_get_active(tracking);
MovieTrackingMarker *marker;
int action = RNA_enum_get(op->ptr, "action");
int a;
@@ -459,8 +468,8 @@ static int delete_curve_exec(bContext *C, wmOperator *UNUSED(op))
SpaceClip *sc = CTX_wm_space_clip(C);
MovieClip *clip = ED_space_clip(sc);
MovieTracking *tracking = &clip->tracking;
- ListBase *tracksbase = BKE_tracking_get_tracks(tracking);
- MovieTrackingTrack *act_track = BKE_tracking_active_track(tracking);
+ ListBase *tracksbase = BKE_tracking_get_active_tracks(tracking);
+ MovieTrackingTrack *act_track = BKE_tracking_track_get_active(tracking);
if (act_track)
clip_delete_track(C, clip, tracksbase, act_track);
@@ -491,8 +500,8 @@ static int delete_knot_exec(bContext *C, wmOperator *UNUSED(op))
SpaceClip *sc = CTX_wm_space_clip(C);
MovieClip *clip = ED_space_clip(sc);
MovieTracking *tracking = &clip->tracking;
- ListBase *tracksbase = BKE_tracking_get_tracks(tracking);
- MovieTrackingTrack *act_track = BKE_tracking_active_track(tracking);
+ ListBase *tracksbase = BKE_tracking_get_active_tracks(tracking);
+ MovieTrackingTrack *act_track = BKE_tracking_track_get_active(tracking);
if (act_track) {
int a = 0;
@@ -532,7 +541,7 @@ typedef struct {
} ViewAllUserData;
static void view_all_cb(void *userdata, MovieTrackingTrack *UNUSED(track), MovieTrackingMarker *UNUSED(marker),
- int UNUSED(coord), float val)
+ int UNUSED(coord), int UNUSED(scene_framenr), float val)
{
ViewAllUserData *data = (ViewAllUserData *) userdata;
@@ -555,7 +564,9 @@ static int view_all_exec(bContext *C, wmOperator *UNUSED(op))
userdata.max = -FLT_MAX;
userdata.min = FLT_MAX;
- clip_graph_tracking_values_iterate(sc, &userdata, view_all_cb, NULL, NULL);
+ clip_graph_tracking_values_iterate(sc, sc->flag & SC_SHOW_GRAPH_SEL_ONLY,
+ sc->flag & SC_SHOW_GRAPH_HIDDEN, &userdata,
+ view_all_cb, NULL, NULL);
/* set extents of view to start/end frames */
v2d->cur.xmin = (float) SFRA;
@@ -639,7 +650,7 @@ static int graph_disable_markers_exec(bContext *C, wmOperator *op)
SpaceClip *sc = CTX_wm_space_clip(C);
MovieClip *clip = ED_space_clip(sc);
MovieTracking *tracking = &clip->tracking;
- MovieTrackingTrack *act_track = BKE_tracking_active_track(tracking);
+ MovieTrackingTrack *act_track = BKE_tracking_track_get_active(tracking);
MovieTrackingMarker *marker;
int action = RNA_enum_get(op->ptr, "action");
int a;
@@ -670,10 +681,10 @@ static int graph_disable_markers_exec(bContext *C, wmOperator *op)
void CLIP_OT_graph_disable_markers(wmOperatorType *ot)
{
static EnumPropertyItem actions_items[] = {
- {0, "DISABLE", 0, "Disable", "Disable selected markers"},
- {1, "ENABLE", 0, "Enable", "Enable selected markers"},
- {2, "TOGGLE", 0, "Toggle", "Toggle disabled flag for selected markers"},
- {0, NULL, 0, NULL, NULL}
+ {0, "DISABLE", 0, "Disable", "Disable selected markers"},
+ {1, "ENABLE", 0, "Enable", "Enable selected markers"},
+ {2, "TOGGLE", 0, "Toggle", "Toggle disabled flag for selected markers"},
+ {0, NULL, 0, NULL, NULL}
};
/* identifiers */
diff --git a/source/blender/editors/space_clip/clip_intern.h b/source/blender/editors/space_clip/clip_intern.h
index 00105fb8561..5bc195a1ae2 100644
--- a/source/blender/editors/space_clip/clip_intern.h
+++ b/source/blender/editors/space_clip/clip_intern.h
@@ -43,18 +43,18 @@ struct SpaceClip;
struct wmOperatorType;
/* channel heights */
-#define CHANNEL_FIRST -UI_UNIT_Y
-#define CHANNEL_HEIGHT UI_UNIT_Y
-#define CHANNEL_HEIGHT_HALF (UI_UNIT_Y / 2.0f)
-#define CHANNEL_SKIP 2
-#define CHANNEL_STEP (CHANNEL_HEIGHT + CHANNEL_SKIP)
+#define CHANNEL_FIRST -UI_UNIT_Y
+#define CHANNEL_HEIGHT UI_UNIT_Y
+#define CHANNEL_HEIGHT_HALF (UI_UNIT_Y / 2.0f)
+#define CHANNEL_SKIP 2
+#define CHANNEL_STEP (CHANNEL_HEIGHT + CHANNEL_SKIP)
-#define CHANNEL_PAD 4
+#define CHANNEL_PAD 4
/* extra padding for lengths (to go under scrollers) */
-#define EXTRA_SCROLL_PAD 100.0f
+#define EXTRA_SCROLL_PAD 100.0f
-#define STRIP_HEIGHT_HALF 5
+#define STRIP_HEIGHT_HALF 5
/* internal exports only */
@@ -110,17 +110,17 @@ void ED_clip_tool_props_register(struct ARegionType *art);
/* clip_utils.c */
void clip_graph_tracking_values_iterate_track(struct SpaceClip *sc, struct MovieTrackingTrack *track, void *userdata,
- void (*func) (void *userdata, struct MovieTrackingTrack *track, struct MovieTrackingMarker *marker, int coord, float val),
- void (*segment_start) (void *userdata, struct MovieTrackingTrack *track, int coord),
- void (*segment_end) (void *userdata));
+ void (*func)(void *userdata, struct MovieTrackingTrack *track, struct MovieTrackingMarker *marker, int coord, int scene_framenr, float val),
+ void (*segment_start)(void *userdata, struct MovieTrackingTrack *track, int coord),
+ void (*segment_end)(void *userdata));
-void clip_graph_tracking_values_iterate(struct SpaceClip *sc, void *userdata,
- void (*func) (void *userdata, struct MovieTrackingTrack *track, struct MovieTrackingMarker *marker, int coord, float val),
- void (*segment_start) (void *userdata, struct MovieTrackingTrack *track, int coord),
- void (*segment_end) (void *userdata));
+void clip_graph_tracking_values_iterate(struct SpaceClip *sc, int selected_only, int include_hidden, void *userdata,
+ void (*func)(void *userdata, struct MovieTrackingTrack *track, struct MovieTrackingMarker *marker, int coord, int scene_framenr, float val),
+ void (*segment_start)(void *userdata, struct MovieTrackingTrack *track, int coord),
+ void (*segment_end)(void *userdata));
-void clip_graph_tracking_iterate(struct SpaceClip *sc, void *userdata,
- void (*func) (void *userdata, struct MovieTrackingMarker *marker));
+void clip_graph_tracking_iterate(struct SpaceClip *sc, int selected_only, int include_hidden, void *userdata,
+ void (*func)(void *userdata, struct MovieTrackingMarker *marker));
void clip_delete_track(struct bContext *C, struct MovieClip *clip, struct ListBase *tracksbase, struct MovieTrackingTrack *track);
void clip_delete_marker(struct bContext *C, struct MovieClip *clip, struct ListBase *tracksbase, struct MovieTrackingTrack *track, struct MovieTrackingMarker *marker);
@@ -131,12 +131,8 @@ void clip_draw_cfra(struct SpaceClip *sc, struct ARegion *ar, struct Scene *scen
void clip_draw_sfra_efra(struct View2D *v2d, struct Scene *scene);
/* tracking_ops.c */
-void CLIP_OT_select(struct wmOperatorType *ot);
-void CLIP_OT_select_all(struct wmOperatorType *ot);
-void CLIP_OT_select_border(struct wmOperatorType *ot);
-void CLIP_OT_select_lasso(struct wmOperatorType *ot);
-void CLIP_OT_select_circle(struct wmOperatorType *ot);
-void CLIP_OT_select_grouped(struct wmOperatorType *ot);
+struct MovieTrackingTrack *tracking_marker_check_slide(struct bContext *C, struct wmEvent *event,
+ int *area_r, int *action_r, int *corner_r);
void CLIP_OT_add_marker(struct wmOperatorType *ot);
void CLIP_OT_delete_track(struct wmOperatorType *ot);
@@ -182,4 +178,12 @@ void CLIP_OT_tracking_object_remove(struct wmOperatorType *ot);
void CLIP_OT_copy_tracks(struct wmOperatorType *ot);
void CLIP_OT_paste_tracks(struct wmOperatorType *ot);
+/* tracking_select.c */
+void CLIP_OT_select(struct wmOperatorType *ot);
+void CLIP_OT_select_all(struct wmOperatorType *ot);
+void CLIP_OT_select_border(struct wmOperatorType *ot);
+void CLIP_OT_select_lasso(struct wmOperatorType *ot);
+void CLIP_OT_select_circle(struct wmOperatorType *ot);
+void CLIP_OT_select_grouped(struct wmOperatorType *ot);
+
#endif /* __CLIP_INTERN_H__ */
diff --git a/source/blender/editors/space_clip/clip_ops.c b/source/blender/editors/space_clip/clip_ops.c
index 73eb8ee77ff..d5ec65e68c7 100644
--- a/source/blender/editors/space_clip/clip_ops.c
+++ b/source/blender/editors/space_clip/clip_ops.c
@@ -986,7 +986,7 @@ static void proxy_startjob(void *pjv, short *stop, short *do_update, float *prog
}
if (build_undistort_count)
- distortion = BKE_tracking_distortion_create();
+ distortion = BKE_tracking_distortion_new();
for (cfra = sfra; cfra <= efra; cfra++) {
if (clip->source != MCLIP_SRC_MOVIE)
@@ -1003,7 +1003,7 @@ static void proxy_startjob(void *pjv, short *stop, short *do_update, float *prog
}
if (distortion)
- BKE_tracking_distortion_destroy(distortion);
+ BKE_tracking_distortion_free(distortion);
if (*stop)
pj->stop = 1;
diff --git a/source/blender/editors/space_clip/clip_utils.c b/source/blender/editors/space_clip/clip_utils.c
index 4142c30d825..3f8fd5966ec 100644
--- a/source/blender/editors/space_clip/clip_utils.c
+++ b/source/blender/editors/space_clip/clip_utils.c
@@ -30,7 +30,7 @@
*/
#include "DNA_scene_types.h"
-#include "DNA_object_types.h" /* SELECT */
+#include "DNA_object_types.h" /* SELECT */
#include "MEM_guardedalloc.h"
@@ -61,12 +61,13 @@
#include "UI_resources.h"
#include "UI_view2d.h"
-#include "clip_intern.h" // own include
+#include "clip_intern.h" // own include
void clip_graph_tracking_values_iterate_track(SpaceClip *sc, MovieTrackingTrack *track, void *userdata,
- void (*func) (void *userdata, MovieTrackingTrack *track, MovieTrackingMarker *marker, int coord, float val),
- void (*segment_start) (void *userdata, MovieTrackingTrack *track, int coord),
- void (*segment_end) (void *userdata))
+ void (*func)(void *userdata, MovieTrackingTrack *track, MovieTrackingMarker *marker, int coord,
+ int scene_framenr, float val),
+ void (*segment_start)(void *userdata, MovieTrackingTrack *track, int coord),
+ void (*segment_end)(void *userdata))
{
MovieClip *clip = ED_space_clip(sc);
int width, height, coord;
@@ -104,8 +105,11 @@ void clip_graph_tracking_values_iterate_track(SpaceClip *sc, MovieTrackingTrack
val = (marker->pos[coord] - prevval) * ((coord == 0) ? (width) : (height));
val /= marker->framenr - prevfra;
- if (func)
- func(userdata, track, marker, coord, val);
+ if (func) {
+ int scene_framenr = BKE_movieclip_remap_clip_to_scene_frame(clip, marker->framenr);
+
+ func(userdata, track, marker, coord, scene_framenr, val);
+ }
prevval = marker->pos[coord];
prevfra = marker->framenr;
@@ -118,51 +122,54 @@ void clip_graph_tracking_values_iterate_track(SpaceClip *sc, MovieTrackingTrack
}
}
-void clip_graph_tracking_values_iterate(SpaceClip *sc, void *userdata,
- void (*func) (void *userdata, MovieTrackingTrack *track, MovieTrackingMarker *marker, int coord, float val),
- void (*segment_start) (void *userdata, MovieTrackingTrack *track, int coord),
- void (*segment_end) (void *userdata))
+void clip_graph_tracking_values_iterate(SpaceClip *sc, int selected_only, int include_hidden, void *userdata,
+ void (*func)(void *userdata, MovieTrackingTrack *track, MovieTrackingMarker *marker,
+ int coord, int scene_framenr, float val),
+ void (*segment_start)(void *userdata, MovieTrackingTrack *track, int coord),
+ void (*segment_end)(void *userdata))
{
MovieClip *clip = ED_space_clip(sc);
MovieTracking *tracking = &clip->tracking;
- ListBase *tracksbase = BKE_tracking_get_tracks(tracking);
+ ListBase *tracksbase = BKE_tracking_get_active_tracks(tracking);
MovieTrackingTrack *track;
- track = tracksbase->first;
- while (track) {
- if (TRACK_VIEW_SELECTED(sc, track)) {
- clip_graph_tracking_values_iterate_track(sc, track, userdata, func, segment_start, segment_end);
- }
+ for (track = tracksbase->first; track; track = track->next) {
+ if (!include_hidden && (track->flag & TRACK_HIDDEN) != 0)
+ continue;
- track = track->next;
+ if (selected_only && !TRACK_SELECTED(track))
+ continue;
+
+ clip_graph_tracking_values_iterate_track(sc, track, userdata, func, segment_start, segment_end);
}
}
-void clip_graph_tracking_iterate(SpaceClip *sc, void *userdata,
- void (*func) (void *userdata, MovieTrackingMarker *marker))
+void clip_graph_tracking_iterate(SpaceClip *sc, int selected_only, int include_hidden, void *userdata,
+ void (*func)(void *userdata, MovieTrackingMarker *marker))
{
MovieClip *clip = ED_space_clip(sc);
MovieTracking *tracking = &clip->tracking;
- ListBase *tracksbase = BKE_tracking_get_tracks(tracking);
+ ListBase *tracksbase = BKE_tracking_get_active_tracks(tracking);
MovieTrackingTrack *track;
- track = tracksbase->first;
- while (track) {
- if (TRACK_VIEW_SELECTED(sc, track)) {
- int i;
+ for (track = tracksbase->first; track; track = track->next) {
+ int i;
- for (i = 0; i < track->markersnr; i++) {
- MovieTrackingMarker *marker = &track->markers[i];
+ if (!include_hidden && (track->flag & TRACK_HIDDEN) != 0)
+ continue;
- if (marker->flag & MARKER_DISABLED)
- continue;
+ if (selected_only && !TRACK_SELECTED(track))
+ continue;
- if (func)
- func(userdata, marker);
- }
- }
+ for (i = 0; i < track->markersnr; i++) {
+ MovieTrackingMarker *marker = &track->markers[i];
+
+ if (marker->flag & MARKER_DISABLED)
+ continue;
- track = track->next;
+ if (func)
+ func(userdata, marker);
+ }
}
}
@@ -170,7 +177,7 @@ void clip_delete_track(bContext *C, MovieClip *clip, ListBase *tracksbase, Movie
{
MovieTracking *tracking = &clip->tracking;
MovieTrackingStabilization *stab = &tracking->stabilization;
- MovieTrackingTrack *act_track = BKE_tracking_active_track(tracking);
+ MovieTrackingTrack *act_track = BKE_tracking_track_get_active(tracking);
int has_bundle = FALSE, update_stab = FALSE;
@@ -187,7 +194,7 @@ void clip_delete_track(bContext *C, MovieClip *clip, ListBase *tracksbase, Movie
if (track->flag & TRACK_HAS_BUNDLE)
has_bundle = TRUE;
- BKE_tracking_free_track(track);
+ BKE_tracking_track_free(track);
BLI_freelinkN(tracksbase, track);
WM_event_add_notifier(C, NC_MOVIECLIP | NA_EDITED, clip);
@@ -210,7 +217,7 @@ void clip_delete_marker(bContext *C, MovieClip *clip, ListBase *tracksbase,
clip_delete_track(C, clip, tracksbase, track);
}
else {
- BKE_tracking_delete_marker(track, marker->framenr);
+ BKE_tracking_marker_delete(track, marker->framenr);
WM_event_add_notifier(C, NC_MOVIECLIP | NA_EDITED, clip);
}
@@ -241,11 +248,11 @@ void clip_draw_cfra(SpaceClip *sc, ARegion *ar, Scene *scene)
glLineWidth(2.0);
glBegin(GL_LINE_STRIP);
- vec[1] = v2d->cur.ymin;
- glVertex2fv(vec);
+ vec[1] = v2d->cur.ymin;
+ glVertex2fv(vec);
- vec[1] = v2d->cur.ymax;
- glVertex2fv(vec);
+ vec[1] = v2d->cur.ymax;
+ glVertex2fv(vec);
glEnd();
glLineWidth(1.0);
@@ -269,10 +276,10 @@ void clip_draw_sfra_efra(View2D *v2d, Scene *scene)
/* currently clip editor supposes that editing clip length is equal to scene frame range */
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glEnable(GL_BLEND);
- glColor4f(0.0f, 0.0f, 0.0f, 0.4f);
+ glColor4f(0.0f, 0.0f, 0.0f, 0.4f);
- glRectf(v2d->cur.xmin, v2d->cur.ymin, (float)SFRA, v2d->cur.ymax);
- glRectf((float)EFRA, v2d->cur.ymin, v2d->cur.xmax, v2d->cur.ymax);
+ glRectf(v2d->cur.xmin, v2d->cur.ymin, (float)SFRA, v2d->cur.ymax);
+ glRectf((float)EFRA, v2d->cur.ymin, v2d->cur.xmax, v2d->cur.ymax);
glDisable(GL_BLEND);
UI_ThemeColorShade(TH_BACK, -60);
diff --git a/source/blender/editors/space_clip/space_clip.c b/source/blender/editors/space_clip/space_clip.c
index a6fda200ff4..174b7fcb373 100644
--- a/source/blender/editors/space_clip/space_clip.c
+++ b/source/blender/editors/space_clip/space_clip.c
@@ -33,7 +33,9 @@
#include <stdio.h>
#include "DNA_scene_types.h"
+#include "DNA_mask_types.h"
#include "DNA_movieclip_types.h"
+#include "DNA_view3d_types.h" /* for pivot point */
#include "MEM_guardedalloc.h"
@@ -49,6 +51,8 @@
#include "IMB_imbuf_types.h"
+#include "ED_mask.h"
+#include "ED_space_api.h"
#include "ED_screen.h"
#include "ED_clip.h"
#include "ED_transform.h"
@@ -67,7 +71,7 @@
#include "RNA_access.h"
-#include "clip_intern.h" // own include
+#include "clip_intern.h" /* own include */
static void init_preview_region(const bContext *C, ARegion *ar)
{
@@ -211,6 +215,15 @@ static void clip_scopes_tag_refresh(ScrArea *sa)
sc->scopes.ok = FALSE;
}
+static void clip_scopes_check_gpencil_change(ScrArea *sa)
+{
+ SpaceClip *sc = (SpaceClip *)sa->spacedata.first;
+
+ if (sc->gpencil_src == SC_GPENCIL_SRC_TRACK) {
+ clip_scopes_tag_refresh(sa);
+ }
+}
+
static void clip_stabilization_tag_refresh(ScrArea *sa)
{
SpaceClip *sc = (SpaceClip *) sa->spacedata.first;
@@ -237,6 +250,7 @@ static SpaceLink *clip_new(const bContext *C)
sc->zoom = 1.0f;
sc->path_length = 20;
sc->scopes.track_preview_height = 120;
+ sc->around = V3D_LOCAL;
/* header */
ar = MEM_callocN(sizeof(ARegion), "header for clip");
@@ -294,13 +308,16 @@ static SpaceLink *clip_new(const bContext *C)
/* not spacelink itself */
static void clip_free(SpaceLink *sl)
{
- SpaceClip *sc = (SpaceClip*) sl;
+ SpaceClip *sc = (SpaceClip *) sl;
sc->clip = NULL;
if (sc->scopes.track_preview)
IMB_freeImBuf(sc->scopes.track_preview);
+ if (sc->scopes.track_search)
+ IMB_freeImBuf(sc->scopes.track_search);
+
ED_space_clip_free_texture_buffer(sc);
}
@@ -318,6 +335,7 @@ static SpaceLink *clip_duplicate(SpaceLink *sl)
SpaceClip *scn = MEM_dupallocN(sl);
/* clear or remove stuff from old */
+ scn->scopes.track_search = NULL;
scn->scopes.track_preview = NULL;
scn->scopes.ok = FALSE;
scn->draw_context = NULL;
@@ -361,6 +379,24 @@ static void clip_listener(ScrArea *sa, wmNotifier *wmn)
break;
}
break;
+ case NC_MASK:
+ switch (wmn->data) {
+ case ND_SELECT:
+ case ND_DATA:
+ case ND_DRAW:
+ ED_area_tag_redraw(sa);
+ break;
+ }
+ switch (wmn->action) {
+ case NA_SELECTED:
+ clip_scopes_tag_refresh(sa);
+ ED_area_tag_redraw(sa);
+ break;
+ case NA_EDITED:
+ ED_area_tag_redraw(sa);
+ break;
+ }
+ break;
case NC_GEOM:
switch (wmn->data) {
case ND_SELECT:
@@ -369,9 +405,13 @@ static void clip_listener(ScrArea *sa, wmNotifier *wmn)
break;
}
break;
- case NC_SCREEN:
- if (wmn->data == ND_ANIMPLAY) {
- ED_area_tag_redraw(sa);
+ case NC_SCREEN:
+ switch (wmn->data) {
+ case ND_ANIMPLAY:
+ case ND_GPENCIL:
+ clip_scopes_check_gpencil_change(sa);
+ ED_area_tag_redraw(sa);
+ break;
}
break;
case NC_SPACE:
@@ -532,7 +572,7 @@ static void clip_keymap(struct wmKeyConfig *keyconf)
/* ******** Hotkeys avalaible for main region only ******** */
keymap = WM_keymap_find(keyconf, "Clip Editor", SPACE_CLIP, 0);
-
+// keymap->poll = ED_space_clip_tracking_poll;
/* ** View/navigation ** */
WM_keymap_add_item(keymap, "CLIP_OT_view_pan", MIDDLEMOUSE, KM_PRESS, 0, 0);
@@ -604,17 +644,17 @@ static void clip_keymap(struct wmKeyConfig *keyconf)
WM_keymap_add_item(keymap, "CLIP_OT_slide_marker", LEFTMOUSE, KM_PRESS, 0, 0);
kmi = WM_keymap_add_item(keymap, "CLIP_OT_disable_markers", DKEY, KM_PRESS, KM_SHIFT, 0);
- RNA_enum_set(kmi->ptr, "action", 2); /* toggle */
+ RNA_enum_set(kmi->ptr, "action", 2); /* toggle */
/* tracks */
WM_keymap_add_item(keymap, "CLIP_OT_delete_track", DELKEY, KM_PRESS, 0, 0);
WM_keymap_add_item(keymap, "CLIP_OT_delete_track", XKEY, KM_PRESS, 0, 0);
kmi = WM_keymap_add_item(keymap, "CLIP_OT_lock_tracks", LKEY, KM_PRESS, KM_CTRL, 0);
- RNA_enum_set(kmi->ptr, "action", 0); /* lock */
+ RNA_enum_set(kmi->ptr, "action", 0); /* lock */
kmi = WM_keymap_add_item(keymap, "CLIP_OT_lock_tracks", LKEY, KM_PRESS, KM_ALT, 0);
- RNA_enum_set(kmi->ptr, "action", 1); /* unlock */
+ RNA_enum_set(kmi->ptr, "action", 1); /* unlock */
kmi = WM_keymap_add_item(keymap, "CLIP_OT_hide_tracks", HKEY, KM_PRESS, 0, 0);
RNA_boolean_set(kmi->ptr, "unselected", FALSE);
@@ -703,7 +743,7 @@ static void clip_keymap(struct wmKeyConfig *keyconf)
/* tracks */
kmi = WM_keymap_add_item(keymap, "CLIP_OT_graph_disable_markers", DKEY, KM_PRESS, KM_SHIFT, 0);
- RNA_enum_set(kmi->ptr, "action", 2); /* toggle */
+ RNA_enum_set(kmi->ptr, "action", 2); /* toggle */
transform_keymap_for_space(keyconf, keymap, SPACE_CLIP);
@@ -712,10 +752,10 @@ static void clip_keymap(struct wmKeyConfig *keyconf)
keymap = WM_keymap_find(keyconf, "Clip Dopesheet Editor", SPACE_CLIP, 0);
kmi = WM_keymap_add_item(keymap, "CLIP_OT_dopesheet_select_channel", ACTIONMOUSE, KM_PRESS, 0, 0);
- RNA_boolean_set(kmi->ptr, "extend", TRUE); /* toggle */
+ RNA_boolean_set(kmi->ptr, "extend", TRUE); /* toggle */
}
-const char *clip_context_dir[] = {"edit_movieclip", NULL};
+const char *clip_context_dir[] = {"edit_movieclip", "edit_mask", NULL};
static int clip_context(const bContext *C, const char *member, bContextDataResult *result)
{
@@ -729,7 +769,11 @@ static int clip_context(const bContext *C, const char *member, bContextDataResul
else if (CTX_data_equals(member, "edit_movieclip")) {
if (sc->clip)
CTX_data_id_pointer_set(result, &sc->clip->id);
-
+ return TRUE;
+ }
+ else if (CTX_data_equals(member, "edit_mask")) {
+ if (sc->mask)
+ CTX_data_id_pointer_set(result, &sc->mask->id);
return TRUE;
}
@@ -1020,6 +1064,9 @@ static void clip_main_area_init(wmWindowManager *wm, ARegion *ar)
UI_view2d_region_reinit(&ar->v2d, V2D_COMMONVIEW_STANDARD, ar->winx, ar->winy);
/* own keymap */
+ keymap = WM_keymap_find(wm->defaultconf, "Mask Editing", 0, 0);
+ WM_event_add_keymap_handler_bb(&ar->handlers, keymap, &ar->v2d.mask, &ar->winrct);
+
keymap = WM_keymap_find(wm->defaultconf, "Clip", SPACE_CLIP, 0);
WM_event_add_keymap_handler_bb(&ar->handlers, keymap, &ar->v2d.mask, &ar->winrct);
@@ -1037,7 +1084,7 @@ static void clip_main_area_draw(const bContext *C, ARegion *ar)
/* if tracking is in progress, we should synchronize framenr from clipuser
* so latest tracked frame would be shown */
if (clip && clip->tracking_context)
- BKE_tracking_sync_user(&sc->user, clip->tracking_context);
+ BKE_tracking_context_sync_user(clip->tracking_context, &sc->user);
if (sc->flag & SC_LOCK_SELECTION) {
ImBuf *tmpibuf = NULL;
@@ -1064,6 +1111,49 @@ static void clip_main_area_draw(const bContext *C, ARegion *ar)
clip_draw_main(sc, ar, scene);
+ if (sc->mode == SC_MODE_MASKEDIT) {
+ int x, y;
+ int width, height;
+ float zoomx, zoomy, aspx, aspy;
+
+ /* frame image */
+ float maxdim;
+ float xofs, yofs;
+
+ /* find window pixel coordinates of origin */
+ UI_view2d_to_region_no_clip(&ar->v2d, 0.0f, 0.0f, &x, &y);
+
+ ED_space_clip_size(sc, &width, &height);
+ ED_space_clip_zoom(sc, ar, &zoomx, &zoomy);
+ ED_space_clip_aspect(sc, &aspx, &aspy);
+
+ /* frame the image */
+ maxdim = maxf(width, height);
+ if (width == height) {
+ xofs = yofs = 0;
+ }
+ else if (width < height) {
+ xofs = ((height - width) / -2.0f) * zoomx;
+ yofs = 0.0f;
+ }
+ else { /* (width > height) */
+ xofs = 0.0f;
+ yofs = ((width - height) / -2.0f) * zoomy;
+ }
+
+ /* apply transformation so mask editing tools will assume drawing from the origin in normalized space */
+ glPushMatrix();
+ glTranslatef(x + xofs, y + yofs, 0);
+ glScalef(maxdim * zoomx, maxdim * zoomy, 0);
+ glMultMatrixf(sc->stabmat);
+
+ ED_mask_draw((bContext *)C, sc->mask_draw_flag, sc->mask_draw_type);
+
+ ED_region_draw_cb_draw(C, ar, REGION_DRAW_POST_VIEW);
+
+ glPopMatrix();
+ }
+
/* Grease Pencil */
clip_draw_grease_pencil((bContext *)C, 1);
@@ -1081,7 +1171,7 @@ static void clip_main_area_listener(ARegion *ar, wmNotifier *wmn)
case NC_SCREEN:
if (wmn->data == ND_GPENCIL)
ED_region_tag_redraw(ar);
- break;
+ break;
}
}
@@ -1125,7 +1215,7 @@ static void graph_area_draw(const bContext *C, ARegion *ar)
UI_view2d_view_restore(C);
/* scrollers */
- unitx = (sc->flag & SC_SHOW_SECONDS)? V2D_UNIT_SECONDS : V2D_UNIT_FRAMES;
+ unitx = (sc->flag & SC_SHOW_SECONDS) ? V2D_UNIT_SECONDS : V2D_UNIT_FRAMES;
unity = V2D_UNIT_VALUES;
scrollers = UI_view2d_scrollers_calc(C, v2d, unitx, V2D_GRID_NOCLAMP, unity, V2D_GRID_NOCLAMP);
UI_view2d_scrollers_draw(C, v2d, scrollers);
@@ -1143,7 +1233,7 @@ static void dopesheet_area_draw(const bContext *C, ARegion *ar)
short unit = 0;
if (clip)
- BKE_tracking_dopesheet_update(&clip->tracking, sc->dope_sort, sc->dope_flag & SC_DOPE_SORT_INVERSE);
+ BKE_tracking_dopesheet_update(&clip->tracking);
/* clear and setup matrix */
UI_ThemeClearColor(TH_BACK);
@@ -1152,7 +1242,7 @@ static void dopesheet_area_draw(const bContext *C, ARegion *ar)
UI_view2d_view_ortho(v2d);
/* time grid */
- unit = (sc->flag & SC_SHOW_SECONDS)? V2D_UNIT_SECONDS : V2D_UNIT_FRAMES;
+ unit = (sc->flag & SC_SHOW_SECONDS) ? V2D_UNIT_SECONDS : V2D_UNIT_FRAMES;
grid = UI_view2d_grid_calc(CTX_data_scene(C), v2d, unit, V2D_GRID_CLAMP,
V2D_ARG_DUMMY, V2D_ARG_DUMMY, ar->winx, ar->winy);
UI_view2d_grid_draw(v2d, grid, V2D_GRIDLINES_ALL);
@@ -1204,7 +1294,7 @@ static void clip_channels_area_draw(const bContext *C, ARegion *ar)
View2DScrollers *scrollers;
if (clip)
- BKE_tracking_dopesheet_update(&clip->tracking, sc->dope_sort, sc->dope_flag & SC_DOPE_SORT_INVERSE);
+ BKE_tracking_dopesheet_update(&clip->tracking);
/* clear and setup matrix */
UI_ThemeClearColor(TH_BACK);
@@ -1241,6 +1331,26 @@ static void clip_header_area_draw(const bContext *C, ARegion *ar)
ED_region_header(C, ar);
}
+static void clip_header_area_listener(ARegion *ar, wmNotifier *wmn)
+{
+ /* context changes */
+ switch (wmn->category) {
+ case NC_SCENE:
+ switch (wmn->data) {
+ /* for proportional editmode only */
+ case ND_TOOLSETTINGS:
+ /* TODO - should do this when in mask mode only but no datas available */
+ // if (sc->mode == SC_MODE_MASKEDIT)
+ {
+ ED_region_tag_redraw(ar);
+ }
+ break;
+ }
+ break;
+ }
+}
+
+
/****************** tools region ******************/
/* add handlers, stuff you only do once or on area/region changes */
@@ -1402,6 +1512,7 @@ void ED_spacetype_clip(void)
art->init = clip_header_area_init;
art->draw = clip_header_area_draw;
+ art->listener = clip_header_area_listener;
BLI_addhead(&st->regiontypes, art);
diff --git a/source/blender/editors/space_clip/tracking_ops.c b/source/blender/editors/space_clip/tracking_ops.c
index f6dbae596b8..8ca483c94d3 100644
--- a/source/blender/editors/space_clip/tracking_ops.c
+++ b/source/blender/editors/space_clip/tracking_ops.c
@@ -35,7 +35,7 @@
#include "DNA_constraint_types.h"
#include "DNA_gpencil_types.h"
#include "DNA_movieclip_types.h"
-#include "DNA_object_types.h" /* SELECT */
+#include "DNA_object_types.h" /* SELECT */
#include "DNA_scene_types.h"
#include "BLI_utildefines.h"
@@ -77,7 +77,7 @@
#include "UI_view2d.h"
-#include "clip_intern.h" // own include
+#include "clip_intern.h" // own include
/********************** add marker operator *********************/
@@ -85,15 +85,16 @@ static void add_marker(SpaceClip *sc, float x, float y)
{
MovieClip *clip = ED_space_clip(sc);
MovieTracking *tracking = &clip->tracking;
- ListBase *tracksbase = BKE_tracking_get_tracks(tracking);
+ ListBase *tracksbase = BKE_tracking_get_active_tracks(tracking);
MovieTrackingTrack *track;
int width, height;
+ int framenr = ED_space_clip_clip_framenr(sc);
ED_space_clip_size(sc, &width, &height);
- track = BKE_tracking_add_track(tracking, tracksbase, x, y, sc->user.framenr, width, height);
+ track = BKE_tracking_track_add(tracking, tracksbase, x, y, framenr, width, height);
- BKE_tracking_select_track(tracksbase, track, TRACK_AREA_ALL, 0);
+ BKE_tracking_track_select(tracksbase, track, TRACK_AREA_ALL, 0);
clip->tracking.act_track = track;
}
@@ -106,6 +107,7 @@ static int add_marker_exec(bContext *C, wmOperator *op)
int width, height;
ED_space_clip_size(sc, &width, &height);
+
if (!width || !height)
return OPERATOR_CANCELLED;
@@ -143,14 +145,14 @@ void CLIP_OT_add_marker(wmOperatorType *ot)
/* api callbacks */
ot->invoke = add_marker_invoke;
ot->exec = add_marker_exec;
- ot->poll = ED_space_clip_tracking_size_poll;
+ ot->poll = ED_space_clip_tracking_poll;
/* flags */
ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
/* properties */
RNA_def_float_vector(ot->srna, "location", 2, NULL, -FLT_MIN, FLT_MAX,
- "Location", "Location of marker on frame", -1.0f, 1.0f);
+ "Location", "Location of marker on frame", -1.0f, 1.0f);
}
/********************** delete track operator *********************/
@@ -160,7 +162,7 @@ static int delete_track_exec(bContext *C, wmOperator *UNUSED(op))
SpaceClip *sc = CTX_wm_space_clip(C);
MovieClip *clip = ED_space_clip(sc);
MovieTracking *tracking = &clip->tracking;
- ListBase *tracksbase = BKE_tracking_get_tracks(tracking);
+ ListBase *tracksbase = BKE_tracking_get_active_tracks(tracking);
MovieTrackingTrack *track = tracksbase->first, *next;
while (track) {
@@ -200,16 +202,16 @@ static int delete_marker_exec(bContext *C, wmOperator *UNUSED(op))
{
SpaceClip *sc = CTX_wm_space_clip(C);
MovieClip *clip = ED_space_clip(sc);
- ListBase *tracksbase = BKE_tracking_get_tracks(&clip->tracking);
+ ListBase *tracksbase = BKE_tracking_get_active_tracks(&clip->tracking);
MovieTrackingTrack *track = tracksbase->first, *next;
- int framenr = sc->user.framenr;
+ int framenr = ED_space_clip_clip_framenr(sc);
int has_selection = 0;
while (track) {
next = track->next;
if (TRACK_VIEW_SELECTED(sc, track)) {
- MovieTrackingMarker *marker = BKE_tracking_exact_marker(track, framenr);
+ MovieTrackingMarker *marker = BKE_tracking_marker_get_exact(track, framenr);
if (marker) {
has_selection |= track->markersnr > 1;
@@ -247,30 +249,43 @@ void CLIP_OT_delete_marker(wmOperatorType *ot)
/********************** slide marker operator *********************/
-#define SLIDE_ACTION_POS 0
-#define SLIDE_ACTION_SIZE 1
-#define SLIDE_ACTION_OFFSET 2
+#define SLIDE_ACTION_POS 0
+#define SLIDE_ACTION_SIZE 1
+#define SLIDE_ACTION_OFFSET 2
+#define SLIDE_ACTION_TILT_SIZE 3
typedef struct {
- int area, action;
+ short area, action;
MovieTrackingTrack *track;
MovieTrackingMarker *marker;
int mval[2];
int width, height;
- float *min, *max, *pos, *offset;
- float smin[2], smax[2], spos[2], soff[2];
- float (*smarkers)[2];
+ float *min, *max, *pos, *offset, (*corners)[2];
+ float spos[2];
+
+ short lock, accurate;
- int lock, accurate;
+ /* data to restore on cancel */
+ float old_search_min[2], old_search_max[2], old_pos[2], old_offset[2];
+ float old_corners[4][2];
+ float (*old_markers)[2];
} SlideMarkerData;
+static void slide_marker_tilt_slider(MovieTrackingMarker *marker, float slider[2])
+{
+ add_v2_v2v2(slider, marker->pattern_corners[1], marker->pattern_corners[2]);
+ add_v2_v2(slider, marker->pos);
+}
+
static SlideMarkerData *create_slide_marker_data(SpaceClip *sc, MovieTrackingTrack *track,
- MovieTrackingMarker *marker, wmEvent *event, int area, int action, int width, int height)
+ MovieTrackingMarker *marker, wmEvent *event,
+ int area, int corner, int action, int width, int height)
{
SlideMarkerData *data = MEM_callocN(sizeof(SlideMarkerData), "slide marker data");
+ int framenr = ED_space_clip_clip_framenr(sc);
- marker = BKE_tracking_ensure_marker(track, sc->user.framenr);
+ marker = BKE_tracking_marker_ensure(track, framenr);
data->area = area;
data->action = action;
@@ -280,35 +295,34 @@ static SlideMarkerData *create_slide_marker_data(SpaceClip *sc, MovieTrackingTra
if (area == TRACK_AREA_POINT) {
data->pos = marker->pos;
data->offset = track->offset;
- copy_v2_v2(data->spos, marker->pos);
- copy_v2_v2(data->soff, track->offset);
}
else if (area == TRACK_AREA_PAT) {
if (action == SLIDE_ACTION_SIZE) {
- data->min = track->pat_min;
- data->max = track->pat_max;
+ data->corners = marker->pattern_corners;
}
- else {
+ else if (action == SLIDE_ACTION_OFFSET) {
int a;
data->pos = marker->pos;
data->offset = track->offset;
- copy_v2_v2(data->soff, track->offset);
-
- data->smarkers = MEM_callocN(sizeof(*data->smarkers)*track->markersnr, "slide marekrs");
+ data->old_markers = MEM_callocN(sizeof(*data->old_markers) * track->markersnr, "slide marekrs");
for (a = 0; a < track->markersnr; a++)
- copy_v2_v2(data->smarkers[a], track->markers[a].pos);
+ copy_v2_v2(data->old_markers[a], track->markers[a].pos);
+ }
+ else if (action == SLIDE_ACTION_POS) {
+ data->corners = marker->pattern_corners;
+ data->pos = marker->pattern_corners[corner];
+ copy_v2_v2(data->spos, data->pos);
+ }
+ else if (action == SLIDE_ACTION_TILT_SIZE) {
+ data->corners = marker->pattern_corners;
+ slide_marker_tilt_slider(marker, data->spos);
}
}
else if (area == TRACK_AREA_SEARCH) {
- data->min = track->search_min;
- data->max = track->search_max;
- }
-
- if (area == TRACK_AREA_SEARCH || (area == TRACK_AREA_PAT && action != SLIDE_ACTION_OFFSET)) {
- copy_v2_v2(data->smin, data->min);
- copy_v2_v2(data->smax, data->max);
+ data->min = marker->search_min;
+ data->max = marker->search_max;
}
data->mval[0] = event->mval[0];
@@ -320,69 +334,179 @@ static SlideMarkerData *create_slide_marker_data(SpaceClip *sc, MovieTrackingTra
if (action == SLIDE_ACTION_SIZE)
data->lock = 1;
+ /* backup marker's settings */
+ memcpy(data->old_corners, marker->pattern_corners, sizeof(data->old_corners));
+ copy_v2_v2(data->old_search_min, marker->search_min);
+ copy_v2_v2(data->old_search_max, marker->search_max);
+ copy_v2_v2(data->old_pos, marker->pos);
+ copy_v2_v2(data->old_offset, track->offset);
+
return data;
}
-/* corner = 0: right-bottom corner,
- * corner = 1: left-top corner */
-static int mouse_on_corner(SpaceClip *sc, MovieTrackingTrack *track, MovieTrackingMarker *marker,
- int area, float co[2], int corner, int width, int height)
+static int mouse_on_slide_zone(SpaceClip *sc, MovieTrackingMarker *marker,
+ int area, float co[2], float slide_zone[2],
+ float padding, int width, int height)
{
+ const float size = 12.0f;
int inside = 0;
- float size = 12.0f;
float min[2], max[2];
- float crn[2], dx, dy, tdx, tdy;
+ float dx, dy;
if (area == TRACK_AREA_SEARCH) {
- copy_v2_v2(min, track->search_min);
- copy_v2_v2(max, track->search_max);
+ copy_v2_v2(min, marker->search_min);
+ copy_v2_v2(max, marker->search_max);
}
else {
- copy_v2_v2(min, track->pat_min);
- copy_v2_v2(max, track->pat_max);
+ BKE_tracking_marker_pattern_minmax(marker, min, max);
}
+ min[0] -= padding / width;
+ min[1] -= padding / height;
+ max[0] += padding / width;
+ max[1] += padding / height;
+
dx = size / width / sc->zoom;
dy = size / height / sc->zoom;
- tdx = 5.0f / width / sc->zoom;
- tdy = 5.0f / height / sc->zoom;
+ dx = MIN2(dx, (max[0] - min[0]) / 6.0f);
+ dy = MIN2(dy, (max[1] - min[1]) / 6.0f);
+
+ return IN_RANGE_INCL(co[0], slide_zone[0] - dx, slide_zone[0] + dx) &&
+ IN_RANGE_INCL(co[1], slide_zone[1] - dy, slide_zone[1] + dy);
- dx = MIN2(dx, (max[0] - min[0]) / 6.0f) + tdx;
- dy = MIN2(dy, (max[1] - min[1]) / 6.0f) + tdy;
+ return inside;
+}
+
+static int mouse_on_corner(SpaceClip *sc, MovieTrackingMarker *marker,
+ int area, float co[2], int corner, float padding,
+ int width, int height)
+{
+ float min[2], max[2], crn[2];
+
+ if (area == TRACK_AREA_SEARCH) {
+ copy_v2_v2(min, marker->search_min);
+ copy_v2_v2(max, marker->search_max);
+ }
+ else {
+ BKE_tracking_marker_pattern_minmax(marker, min, max);
+ }
+
+ min[0] -= padding / width;
+ min[1] -= padding / height;
+ max[0] += padding / width;
+ max[1] += padding / height;
if (corner == 0) {
crn[0] = marker->pos[0] + max[0];
crn[1] = marker->pos[1] + min[1];
-
- inside = co[0] >= crn[0] - dx && co[0] <= crn[0] + tdx && co[1] >= crn[1] - tdy && co[1] <= crn[1] + dy;
}
else {
crn[0] = marker->pos[0] + min[0];
crn[1] = marker->pos[1] + max[1];
+ }
+
+ return mouse_on_slide_zone(sc, marker, area, co, crn, padding, width, height);
+}
+
+static int get_mouse_pattern_corner(SpaceClip *sc, MovieTrackingMarker *marker, float co[2], int width, int height)
+{
+ int i, next;
+ float len = FLT_MAX, dx, dy;
+
+ for (i = 0; i < 4; i++) {
+ float cur_len;
+
+ next = (i + 1) % 4;
- inside = co[0] >= crn[0] - dx && co[0] <= crn[0] + dx && co[1] >= crn[1] - dy && co[1] <= crn[1] + dy;
+ cur_len = len_v2v2(marker->pattern_corners[i], marker->pattern_corners[next]);
+
+ len = MIN2(cur_len, len);
}
- return inside;
+ dx = 12.0f / width / sc->zoom;
+ dy = 12.0f / height / sc->zoom;
+
+ dx = MIN2(dx, len * 2.0f / 3.0f);
+ dy = MIN2(dy, len * width / height * 2.0f / 3.0f);
+
+ for (i = 0; i < 4; i++) {
+ float crn[2];
+ int inside;
+
+ add_v2_v2v2(crn, marker->pattern_corners[i], marker->pos);
+
+ inside = IN_RANGE_INCL(co[0], crn[0] - dx, crn[0] + dx) &&
+ IN_RANGE_INCL(co[1], crn[1] - dy, crn[1] + dy);
+
+ if (inside)
+ return i;
+ }
+
+ return -1;
}
static int mouse_on_offset(SpaceClip *sc, MovieTrackingTrack *track, MovieTrackingMarker *marker,
- float co[2], int width, int height)
+ float co[2], int width, int height)
{
float pos[2], dx, dy;
+ float pat_min[2], pat_max[2];
+
+ BKE_tracking_marker_pattern_minmax(marker, pat_min, pat_max);
add_v2_v2v2(pos, marker->pos, track->offset);
dx = 12.0f / width / sc->zoom;
dy = 12.0f / height / sc->zoom;
- dx = MIN2(dx, (track->pat_max[0] - track->pat_min[0]) / 2.0f);
- dy = MIN2(dy, (track->pat_max[1] - track->pat_min[1]) / 2.0f);
+ dx = MIN2(dx, (pat_max[0] - pat_min[0]) / 2.0f);
+ dy = MIN2(dy, (pat_max[1] - pat_min[1]) / 2.0f);
return co[0] >= pos[0] - dx && co[0] <= pos[0] + dx && co[1] >= pos[1] - dy && co[1] <= pos[1] + dy;
}
+static int mouse_on_tilt(SpaceClip *sc, MovieTrackingMarker *marker, float co[2], int width, int height)
+{
+ float slider[2];
+
+ slide_marker_tilt_slider(marker, slider);
+
+ return mouse_on_slide_zone(sc, marker, TRACK_AREA_PAT, co, slider, 0.0f, width, height);
+}
+
+static int slide_check_corners(float (*corners)[2])
+{
+ int i, next, prev;
+ float cross = 0.0f;
+ float p[2] = {0.0f, 0.0f};
+
+ if (!isect_point_quad_v2(p, corners[0], corners[1], corners[2], corners[3]))
+ return FALSE;
+
+ for (i = 0; i < 4; i++) {
+ float v1[2], v2[2], cur_cross;
+
+ next = (i + 1) % 4;
+ prev = (4 + i - 1) % 4;
+
+ sub_v2_v2v2(v1, corners[i], corners[prev]);
+ sub_v2_v2v2(v2, corners[next], corners[i]);
+
+ cur_cross = cross_v2v2(v1, v2);
+
+ if (fabsf(cur_cross) > FLT_EPSILON) {
+ if (cross == 0.0f) {
+ cross = cur_cross;
+ }
+ else if (cross * cur_cross < 0.0f) {
+ return FALSE;
+ }
+ }
+ }
+
+ return TRUE;
+}
+
static void hide_cursor(bContext *C)
{
wmWindow *win = CTX_wm_window(C);
@@ -397,15 +521,16 @@ static void show_cursor(bContext *C)
WM_cursor_set(win, CURSOR_STD);
}
-static void *slide_marker_customdata(bContext *C, wmEvent *event)
+MovieTrackingTrack *tracking_marker_check_slide(bContext *C, wmEvent *event, int *area_r, int *action_r, int *corner_r)
{
SpaceClip *sc = CTX_wm_space_clip(C);
MovieClip *clip = ED_space_clip(sc);
MovieTrackingTrack *track;
int width, height;
float co[2];
- void *customdata = NULL;
- ListBase *tracksbase = BKE_tracking_get_tracks(&clip->tracking);
+ ListBase *tracksbase = BKE_tracking_get_active_tracks(&clip->tracking);
+ int framenr = ED_space_clip_clip_framenr(sc);
+ int action = -1, area = 0, corner = -1;
ED_space_clip_size(sc, &width, &height);
@@ -417,41 +542,102 @@ static void *slide_marker_customdata(bContext *C, wmEvent *event)
track = tracksbase->first;
while (track) {
if (TRACK_VIEW_SELECTED(sc, track) && (track->flag & TRACK_LOCKED) == 0) {
- MovieTrackingMarker *marker = BKE_tracking_get_marker(track, sc->user.framenr);
+ MovieTrackingMarker *marker = BKE_tracking_marker_get(track, framenr);
+ int ok = FALSE;
if ((marker->flag & MARKER_DISABLED) == 0) {
- if (!customdata)
- if (mouse_on_offset(sc, track, marker, co, width, height))
- customdata = create_slide_marker_data(sc, track, marker, event, TRACK_AREA_POINT,
- SLIDE_ACTION_POS, width, height);
-
- if (sc->flag & SC_SHOW_MARKER_SEARCH) {
- if (mouse_on_corner(sc, track, marker, TRACK_AREA_SEARCH, co, 1, width, height))
- customdata = create_slide_marker_data(sc, track, marker, event, TRACK_AREA_SEARCH,
- SLIDE_ACTION_OFFSET, width, height);
- else if (mouse_on_corner(sc, track, marker, TRACK_AREA_SEARCH, co, 0, width, height))
- customdata = create_slide_marker_data(sc, track, marker, event, TRACK_AREA_SEARCH,
- SLIDE_ACTION_SIZE, width, height);
+ if (mouse_on_offset(sc, track, marker, co, width, height)) {
+ area = TRACK_AREA_POINT;
+ action = SLIDE_ACTION_POS;
+ ok = TRUE;
+ }
+
+ if (!ok && (sc->flag & SC_SHOW_MARKER_SEARCH)) {
+ if (mouse_on_corner(sc, marker, TRACK_AREA_SEARCH, co, 1, 0.0f, width, height)) {
+ area = TRACK_AREA_SEARCH;
+ action = SLIDE_ACTION_OFFSET;
+ ok = TRUE;
+ }
+ else if (mouse_on_corner(sc, marker, TRACK_AREA_SEARCH, co, 0, 0.0f, width, height)) {
+ area = TRACK_AREA_SEARCH;
+ action = SLIDE_ACTION_SIZE;
+ ok = TRUE;
+ }
}
- if (!customdata && (sc->flag & SC_SHOW_MARKER_PATTERN)) {
- if (mouse_on_corner(sc, track, marker, TRACK_AREA_PAT, co, 1, width, height))
- customdata = create_slide_marker_data(sc, track, marker, event, TRACK_AREA_PAT,
- SLIDE_ACTION_OFFSET, width, height);
+ if (!ok && (sc->flag & SC_SHOW_MARKER_PATTERN)) {
+ int current_corner = get_mouse_pattern_corner(sc, marker, co, width, height);
- if (!customdata && mouse_on_corner(sc, track, marker, TRACK_AREA_PAT, co, 0, width, height))
- customdata = create_slide_marker_data(sc, track, marker, event, TRACK_AREA_PAT,
- SLIDE_ACTION_SIZE, width, height);
+ if (current_corner != -1) {
+ area = TRACK_AREA_PAT;
+ action = SLIDE_ACTION_POS;
+ corner = current_corner;
+ ok = TRUE;
+ }
+ else {
+ if (mouse_on_corner(sc, marker, TRACK_AREA_PAT, co, 1, 12.0f, width, height)) {
+ area = TRACK_AREA_PAT;
+ action = SLIDE_ACTION_OFFSET;
+ ok = TRUE;
+ }
+ if (!ok && mouse_on_corner(sc, marker, TRACK_AREA_PAT, co, 0, 12.0f, width, height)) {
+ area = TRACK_AREA_PAT;
+ action = SLIDE_ACTION_SIZE;
+ ok = TRUE;
+ }
+ if (!ok && mouse_on_tilt(sc, marker, co, width, height)) {
+ area = TRACK_AREA_PAT;
+ action = SLIDE_ACTION_TILT_SIZE;
+ ok = TRUE;
+ }
+ }
}
- if (customdata)
- break;
+ if (ok) {
+ if (area_r)
+ *area_r = area;
+
+ if (action_r)
+ *action_r = action;
+
+ if (corner_r)
+ *corner_r = corner;
+
+ return track;
+ }
}
}
track = track->next;
}
+ return NULL;
+}
+
+static void *slide_marker_customdata(bContext *C, wmEvent *event)
+{
+ SpaceClip *sc = CTX_wm_space_clip(C);
+ MovieTrackingTrack *track;
+ int width, height;
+ float co[2];
+ void *customdata = NULL;
+ int framenr = ED_space_clip_clip_framenr(sc);
+ int area, action, corner;
+
+ ED_space_clip_size(sc, &width, &height);
+
+ if (width == 0 || height == 0)
+ return NULL;
+
+ ED_clip_mouse_pos(C, event, co);
+
+ track = tracking_marker_check_slide(C, event, &area, &action, &corner);
+ if (track) {
+ MovieTrackingMarker *marker = BKE_tracking_marker_get(track, framenr);
+
+ customdata = create_slide_marker_data(sc, track, marker, event, area, corner, action, width, height);
+ }
+
return customdata;
}
@@ -481,33 +667,27 @@ static int slide_marker_invoke(bContext *C, wmOperator *op, wmEvent *event)
static void cancel_mouse_slide(SlideMarkerData *data)
{
- /* cancel sliding */
- if (data->area == TRACK_AREA_POINT) {
- if (data->action == SLIDE_ACTION_OFFSET)
- copy_v2_v2(data->offset, data->soff);
- else
- copy_v2_v2(data->pos, data->spos);
- }
- else {
- if (data->action == SLIDE_ACTION_SIZE) {
- copy_v2_v2(data->min, data->smin);
- copy_v2_v2(data->max, data->smax);
- }
- else {
- int a;
+ MovieTrackingTrack *track = data->track;
+ MovieTrackingMarker *marker = data->marker;
- for (a = 0; a < data->track->markersnr; a++)
- copy_v2_v2(data->track->markers[a].pos, data->smarkers[a]);
+ memcpy(marker->pattern_corners, data->old_corners, sizeof(marker->pattern_corners));
+ copy_v2_v2(marker->search_min, data->old_search_min);
+ copy_v2_v2(marker->search_max, data->old_search_max);
+ copy_v2_v2(marker->pos, data->old_pos);
+ copy_v2_v2(track->offset, data->old_offset);
- copy_v2_v2(data->offset, data->soff);
- }
+ if (data->old_markers) {
+ int a;
+
+ for (a = 0; a < data->track->markersnr; a++)
+ copy_v2_v2(data->track->markers[a].pos, data->old_markers[a]);
}
}
static void free_slide_data(SlideMarkerData *data)
{
- if (data->smarkers)
- MEM_freeN(data->smarkers);
+ if (data->old_markers)
+ MEM_freeN(data->old_markers);
MEM_freeN(data);
}
@@ -530,7 +710,7 @@ static int slide_marker_modal(bContext *C, wmOperator *op, wmEvent *event)
if (ELEM(event->type, LEFTSHIFTKEY, RIGHTSHIFTKEY))
data->accurate = event->val == KM_PRESS;
- /* no break! update area size */
+ /* no break! update area size */
case MOUSEMOVE:
mdelta[0] = event->mval[0] - data->mval[0];
@@ -550,772 +730,206 @@ static int slide_marker_modal(bContext *C, wmOperator *op, wmEvent *event)
if (data->area == TRACK_AREA_POINT) {
if (data->action == SLIDE_ACTION_OFFSET) {
- data->offset[0] = data->soff[0] + dx;
- data->offset[1] = data->soff[1] + dy;
+ data->offset[0] = data->old_offset[0] + dx;
+ data->offset[1] = data->old_offset[1] + dy;
}
else {
- data->pos[0] = data->spos[0] + dx;
- data->pos[1] = data->spos[1] + dy;
-
- data->marker->flag &= ~MARKER_TRACKED;
+ data->pos[0] = data->old_pos[0] + dx;
+ data->pos[1] = data->old_pos[1] + dy;
}
WM_event_add_notifier(C, NC_OBJECT | ND_TRANSFORM, NULL);
DAG_id_tag_update(&sc->clip->id, 0);
}
- else {
+ else if (data->area == TRACK_AREA_PAT) {
if (data->action == SLIDE_ACTION_SIZE) {
- data->min[0] = data->smin[0] - dx;
- data->max[0] = data->smax[0] + dx;
+ float start[2], end[2];
+ float scale;
- data->min[1] = data->smin[1] + dy;
- data->max[1] = data->smax[1] - dy;
+ ED_clip_point_stable_pos(C, data->mval[0], data->mval[1], &start[0], &start[1]);
- if (data->area == TRACK_AREA_SEARCH)
- BKE_tracking_clamp_track(data->track, CLAMP_SEARCH_DIM);
- else
- BKE_tracking_clamp_track(data->track, CLAMP_PAT_DIM);
- }
- else {
- float d[2] = {dx, dy};
-
- if (data->area == TRACK_AREA_SEARCH) {
- add_v2_v2v2(data->min, data->smin, d);
- add_v2_v2v2(data->max, data->smax, d);
- }
- else {
- int a;
+ sub_v2_v2(start, data->old_pos);
- for (a = 0; a < data->track->markersnr; a++)
- add_v2_v2v2(data->track->markers[a].pos, data->smarkers[a], d);
+ if (len_v2(start) > 0.0f) {
+ float mval[2];
- sub_v2_v2v2(data->offset, data->soff, d);
- }
-
- if (data->area == TRACK_AREA_SEARCH)
- BKE_tracking_clamp_track(data->track, CLAMP_SEARCH_POS);
- }
- }
+ if (data->accurate) {
+ mval[0] = data->mval[0] + (event->mval[0] - data->mval[0]) / 5.0f;
+ mval[1] = data->mval[1] + (event->mval[1] - data->mval[1]) / 5.0f;
+ }
+ else {
+ mval[0] = event->mval[0];
+ mval[1] = event->mval[1];
+ }
- WM_event_add_notifier(C, NC_MOVIECLIP | NA_EDITED, NULL);
+ ED_clip_point_stable_pos(C, mval[0], mval[1], &end[0], &end[1]);
- break;
+ sub_v2_v2(end, data->old_pos);
- case LEFTMOUSE:
- if (event->val == KM_RELEASE) {
- free_slide_data(op->customdata);
+ scale = len_v2(end) / len_v2(start);
- show_cursor(C);
+ if (scale > 0.0f) {
+ int a;
- return OPERATOR_FINISHED;
- }
-
- break;
-
- case ESCKEY:
- cancel_mouse_slide(op->customdata);
-
- free_slide_data(op->customdata);
-
- show_cursor(C);
-
- WM_event_add_notifier(C, NC_MOVIECLIP | NA_EDITED, NULL);
-
- return OPERATOR_CANCELLED;
- }
-
- return OPERATOR_RUNNING_MODAL;
-}
-
-void CLIP_OT_slide_marker(wmOperatorType *ot)
-{
- /* identifiers */
- ot->name = "Slide Marker";
- ot->description = "Slide marker areas";
- ot->idname = "CLIP_OT_slide_marker";
-
- /* api callbacks */
- ot->poll = ED_space_clip_tracking_size_poll;
- ot->invoke = slide_marker_invoke;
- ot->modal = slide_marker_modal;
-
- /* flags */
- ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO | OPTYPE_GRAB_POINTER | OPTYPE_BLOCKING;
-
- /* properties */
- RNA_def_float_vector(ot->srna, "offset", 2, NULL, -FLT_MAX, FLT_MAX,
- "Offset", "Offset in floating point units, 1.0 is the width and height of the image", -FLT_MAX, FLT_MAX);
-}
-
-/********************** mouse select operator *********************/
-
-static int mouse_on_side(float co[2], float x1, float y1, float x2, float y2, float epsx, float epsy)
-{
- if (x1 > x2)
-
- SWAP(float, x1, x2);
-
- if (y1 > y2)
- SWAP(float, y1, y2);
-
- return (co[0] >= x1 - epsx && co[0] <= x2 + epsx) && (co[1] >= y1 - epsy && co[1] <= y2 + epsy);
-}
-
-static int mouse_on_rect(float co[2], float pos[2], float min[2], float max[2], float epsx, float epsy)
-{
- return mouse_on_side(co, pos[0] + min[0], pos[1] + min[1], pos[0] + max[0], pos[1] + min[1], epsx, epsy) ||
- mouse_on_side(co, pos[0] + min[0], pos[1] + min[1], pos[0] + min[0], pos[1] + max[1], epsx, epsy) ||
- mouse_on_side(co, pos[0] + min[0], pos[1] + max[1], pos[0] + max[0], pos[1] + max[1], epsx, epsy) ||
- mouse_on_side(co, pos[0] + max[0], pos[1] + min[1], pos[0] + max[0], pos[1] + max[1], epsx, epsy);
-}
-
-static int track_mouse_area(SpaceClip *sc, float co[2], MovieTrackingTrack *track)
-{
- MovieTrackingMarker *marker = BKE_tracking_get_marker(track, sc->user.framenr);
- float epsx, epsy;
- int width, height;
-
- ED_space_clip_size(sc, &width, &height);
-
- epsx = MIN4(track->pat_min[0] - track->search_min[0], track->search_max[0] - track->pat_max[0],
- fabsf(track->pat_min[0]), fabsf(track->pat_max[0])) / 2;
- epsy = MIN4(track->pat_min[1] - track->search_min[1], track->search_max[1] - track->pat_max[1],
- fabsf(track->pat_min[1]), fabsf(track->pat_max[1])) / 2;
-
- epsx = MAX2(epsx, 2.0f / width);
- epsy = MAX2(epsy, 2.0f / height);
-
- if (sc->flag & SC_SHOW_MARKER_SEARCH) {
- if (mouse_on_rect(co, marker->pos, track->search_min, track->search_max, epsx, epsy))
- return TRACK_AREA_SEARCH;
- }
-
- if ((marker->flag & MARKER_DISABLED) == 0) {
- if (sc->flag & SC_SHOW_MARKER_PATTERN)
- if (mouse_on_rect(co, marker->pos, track->pat_min, track->pat_max, epsx, epsy))
- return TRACK_AREA_PAT;
-
- epsx = 12.0f / width;
- epsy = 12.0f / height;
-
- if (fabsf(co[0] - marker->pos[0] - track->offset[0]) < epsx &&
- fabsf(co[1] - marker->pos[1] - track->offset[1]) <= epsy)
- {
- return TRACK_AREA_POINT;
- }
- }
-
- return TRACK_AREA_NONE;
-}
-
-static float dist_to_rect(float co[2], float pos[2], float min[2], float max[2])
-{
- float d1, d2, d3, d4;
- float p[2] = {co[0] - pos[0], co[1] - pos[1]};
- float v1[2] = {min[0], min[1]}, v2[2] = {max[0], min[1]};
- float v3[2] = {max[0], max[1]}, v4[2] = {min[0], max[1]};
-
- d1 = dist_to_line_segment_v2(p, v1, v2);
- d2 = dist_to_line_segment_v2(p, v2, v3);
- d3 = dist_to_line_segment_v2(p, v3, v4);
- d4 = dist_to_line_segment_v2(p, v4, v1);
-
- return MIN4(d1, d2, d3, d4);
-}
-
-static MovieTrackingTrack *find_nearest_track(SpaceClip *sc, ListBase *tracksbase, float co[2])
-{
- MovieTrackingTrack *track = NULL, *cur;
- float mindist = 0.0f;
-
- cur = tracksbase->first;
- while (cur) {
- MovieTrackingMarker *marker = BKE_tracking_get_marker(cur, sc->user.framenr);
-
- if (((cur->flag & TRACK_HIDDEN) == 0) && MARKER_VISIBLE(sc, cur, marker)) {
- float dist, d1, d2 = FLT_MAX, d3 = FLT_MAX;
-
- /* distance to marker point */
- d1 = sqrtf((co[0] - marker->pos[0] - cur->offset[0]) * (co[0] - marker->pos[0] - cur->offset[0]) +
- (co[1] - marker->pos[1] - cur->offset[1]) * (co[1] - marker->pos[1] - cur->offset[1]));
-
- /* distance to pattern boundbox */
- if (sc->flag & SC_SHOW_MARKER_PATTERN)
- d2 = dist_to_rect(co, marker->pos, cur->pat_min, cur->pat_max);
-
- /* distance to search boundbox */
- if (sc->flag & SC_SHOW_MARKER_SEARCH && TRACK_VIEW_SELECTED(sc, cur))
- d3 = dist_to_rect(co, marker->pos, cur->search_min, cur->search_max);
-
- /* choose minimal distance. useful for cases of overlapped markers. */
- dist = MIN3(d1, d2, d3);
-
- if (track == NULL || dist < mindist) {
- track = cur;
- mindist = dist;
- }
- }
-
- cur = cur->next;
- }
-
- return track;
-}
-
-static int mouse_select(bContext *C, float co[2], int extend)
-{
- SpaceClip *sc = CTX_wm_space_clip(C);
- MovieClip *clip = ED_space_clip(sc);
- MovieTracking *tracking = &clip->tracking;
- ListBase *tracksbase = BKE_tracking_get_tracks(tracking);
- MovieTrackingTrack *act_track = BKE_tracking_active_track(tracking);
- MovieTrackingTrack *track = NULL; /* selected marker */
-
- track = find_nearest_track(sc, tracksbase, co);
-
- if (track) {
- int area = track_mouse_area(sc, co, track);
-
- if (!extend || !TRACK_VIEW_SELECTED(sc, track))
- area = TRACK_AREA_ALL;
-
- if (extend && TRACK_AREA_SELECTED(track, area)) {
- if (track == act_track)
- BKE_tracking_deselect_track(track, area);
- else
- clip->tracking.act_track = track;
- }
- else {
- if (area == TRACK_AREA_POINT)
- area = TRACK_AREA_ALL;
-
- BKE_tracking_select_track(tracksbase, track, area, extend);
- clip->tracking.act_track = track;
- }
- }
-
- if (!extend) {
- sc->xlockof = 0.0f;
- sc->ylockof = 0.0f;
- }
-
- BKE_tracking_dopesheet_tag_update(tracking);
-
- WM_event_add_notifier(C, NC_GEOM | ND_SELECT, NULL);
-
- return OPERATOR_FINISHED;
-}
-
-static int select_exec(bContext *C, wmOperator *op)
-{
- float co[2];
- int extend;
-
- RNA_float_get_array(op->ptr, "location", co);
- extend = RNA_boolean_get(op->ptr, "extend");
-
- return mouse_select(C, co, extend);
-}
-
-static int select_invoke(bContext *C, wmOperator *op, wmEvent *event)
-{
- float co[2];
- int extend = RNA_boolean_get(op->ptr, "extend");
-
- if (!extend) {
- SlideMarkerData *slidedata = slide_marker_customdata(C, event);
+ for (a = 0; a < 4; a++) {
+ mul_v2_v2fl(data->corners[a], data->old_corners[a], scale);
+ }
+ }
+ }
- if (slidedata) {
- SpaceClip *sc = CTX_wm_space_clip(C);
- MovieClip *clip = ED_space_clip(sc);
+ BKE_tracking_marker_clamp(data->marker, CLAMP_PAT_DIM);
+ }
+ else if (data->action == SLIDE_ACTION_OFFSET) {
+ float d[2] = {dx, dy};
+ int a;
- clip->tracking.act_track = slidedata->track;
+ for (a = 0; a < data->track->markersnr; a++)
+ add_v2_v2v2(data->track->markers[a].pos, data->old_markers[a], d);
- WM_event_add_notifier(C, NC_GEOM | ND_SELECT, NULL);
+ sub_v2_v2v2(data->offset, data->old_offset, d);
+ }
+ else if (data->action == SLIDE_ACTION_POS) {
+ float spos[2];
- MEM_freeN(slidedata);
+ copy_v2_v2(spos, data->pos);
- return OPERATOR_PASS_THROUGH;
- }
- }
+ data->pos[0] = data->spos[0] + dx;
+ data->pos[1] = data->spos[1] + dy;
- ED_clip_mouse_pos(C, event, co);
- RNA_float_set_array(op->ptr, "location", co);
+ if (!slide_check_corners(data->corners)) {
+ copy_v2_v2(data->pos, spos);
+ }
- return select_exec(C, op);
-}
+ /* currently only patterns are allowed to have such combination of event and data */
+ BKE_tracking_marker_clamp(data->marker, CLAMP_PAT_DIM);
+ }
+ else if (data->action == SLIDE_ACTION_TILT_SIZE) {
+ float start[2], end[2];
+ float scale = 1.0f, angle = 0.0f;
+ int a;
+ float mval[2];
+
+ if (data->accurate) {
+ mval[0] = data->mval[0] + (event->mval[0] - data->mval[0]) / 5.0f;
+ mval[1] = data->mval[1] + (event->mval[1] - data->mval[1]) / 5.0f;
+ }
+ else {
+ mval[0] = event->mval[0];
+ mval[1] = event->mval[1];
+ }
-void CLIP_OT_select(wmOperatorType *ot)
-{
- /* identifiers */
- ot->name = "Select";
- ot->description = "Select tracking markers";
- ot->idname = "CLIP_OT_select";
+ sub_v2_v2v2(start, data->spos, data->old_pos);
- /* api callbacks */
- ot->exec = select_exec;
- ot->invoke = select_invoke;
- ot->poll = ED_space_clip_tracking_poll;
+ ED_clip_point_stable_pos(C, mval[0], mval[1], &end[0], &end[1]);
+ sub_v2_v2(end, data->old_pos);
- /* flags */
- ot->flag = OPTYPE_UNDO;
+ if (len_v2(start) > 0.0f) {
+ scale = len_v2(end) / len_v2(start);
- /* properties */
- RNA_def_boolean(ot->srna, "extend", 0,
- "Extend", "Extend selection rather than clearing the existing selection");
- RNA_def_float_vector(ot->srna, "location", 2, NULL, -FLT_MAX, FLT_MAX,
- "Location", "Mouse location in normalized coordinates, 0.0 to 1.0 is within the image bounds", -100.0f, 100.0f);
-}
+ if (scale < 0.0f) {
+ scale = 0.0;
+ }
+ }
-/********************** border select operator *********************/
+ angle = -angle_signed_v2v2(start, end);
-static int border_select_exec(bContext *C, wmOperator *op)
-{
- SpaceClip *sc = CTX_wm_space_clip(C);
- MovieClip *clip = ED_space_clip(sc);
- MovieTracking *tracking = &clip->tracking;
- MovieTrackingTrack *track;
- ListBase *tracksbase = BKE_tracking_get_tracks(tracking);
- rcti rect;
- rctf rectf;
- int change = FALSE, mode, extend;
+ for (a = 0; a < 4; a++) {
+ float vec[2];
- /* get rectangle from operator */
- rect.xmin = RNA_int_get(op->ptr, "xmin");
- rect.ymin = RNA_int_get(op->ptr, "ymin");
- rect.xmax = RNA_int_get(op->ptr, "xmax");
- rect.ymax = RNA_int_get(op->ptr, "ymax");
+ mul_v2_v2fl(data->corners[a], data->old_corners[a], scale);
- ED_clip_point_stable_pos(C, rect.xmin, rect.ymin, &rectf.xmin, &rectf.ymin);
- ED_clip_point_stable_pos(C, rect.xmax, rect.ymax, &rectf.xmax, &rectf.ymax);
+ copy_v2_v2(vec, data->corners[a]);
+ vec[0] *= data->width;
+ vec[1] *= data->height;
- mode = RNA_int_get(op->ptr, "gesture_mode");
- extend = RNA_boolean_get(op->ptr, "extend");
+ data->corners[a][0] = (vec[0] * cos(angle) - vec[1] * sin(angle)) / data->width;
+ data->corners[a][1] = (vec[1] * cos(angle) + vec[0] * sin(angle)) / data->height;
+ }
- /* do actual selection */
- track = tracksbase->first;
- while (track) {
- if ((track->flag & TRACK_HIDDEN) == 0) {
- MovieTrackingMarker *marker = BKE_tracking_get_marker(track, sc->user.framenr);
+ BKE_tracking_marker_clamp(data->marker, CLAMP_PAT_DIM);
- if (MARKER_VISIBLE(sc, track, marker)) {
- if (BLI_in_rctf(&rectf, marker->pos[0], marker->pos[1])) {
- BKE_tracking_track_flag(track, TRACK_AREA_ALL, SELECT, mode != GESTURE_MODAL_SELECT);
}
- else if (!extend) {
- BKE_tracking_track_flag(track, TRACK_AREA_ALL, SELECT, 1);
- }
-
- change = TRUE;
}
- }
-
- track = track->next;
- }
-
- if (change) {
- BKE_tracking_dopesheet_tag_update(tracking);
-
- WM_event_add_notifier(C, NC_GEOM | ND_SELECT, NULL);
-
- return OPERATOR_FINISHED;
- }
-
- return OPERATOR_CANCELLED;
-}
-
-void CLIP_OT_select_border(wmOperatorType *ot)
-{
- /* identifiers */
- ot->name = "Border Select";
- ot->description = "Select markers using border selection";
- ot->idname = "CLIP_OT_select_border";
-
- /* api callbacks */
- ot->invoke = WM_border_select_invoke;
- ot->exec = border_select_exec;
- ot->modal = WM_border_select_modal;
- ot->poll = ED_space_clip_tracking_poll;
-
- /* flags */
- ot->flag = OPTYPE_UNDO;
-
- /* properties */
- WM_operator_properties_gesture_border(ot, TRUE);
-}
-
-
-static int do_lasso_select_marker(bContext *C, int mcords[][2], short moves, short select)
-{
- ARegion *ar = CTX_wm_region(C);
- SpaceClip *sc = CTX_wm_space_clip(C);
- MovieClip *clip = ED_space_clip(sc);
- MovieTracking *tracking = &clip->tracking;
- MovieTrackingTrack *track;
- ListBase *tracksbase = BKE_tracking_get_tracks(tracking);
- rcti rect;
- int change = FALSE;
-
- /* get rectangle from operator */
- BLI_lasso_boundbox(&rect, mcords, moves);
-
- /* do actual selection */
- track = tracksbase->first;
- while (track) {
- if ((track->flag & TRACK_HIDDEN) == 0) {
- MovieTrackingMarker *marker = BKE_tracking_get_marker(track, sc->user.framenr);
+ else if (data->area == TRACK_AREA_SEARCH) {
+ if (data->action == SLIDE_ACTION_SIZE) {
+ data->min[0] = data->old_search_min[0] - dx;
+ data->max[0] = data->old_search_max[0] + dx;
- if (MARKER_VISIBLE(sc, track, marker)) {
- float screen_co[2];
+ data->min[1] = data->old_search_min[1] + dy;
+ data->max[1] = data->old_search_max[1] - dy;
- /* marker in screen coords */
- ED_clip_point_stable_pos__reverse(sc, ar, marker->pos, screen_co);
+ BKE_tracking_marker_clamp(data->marker, CLAMP_SEARCH_DIM);
+ }
+ else if (data->area == TRACK_AREA_SEARCH) {
+ float d[2] = {dx, dy};
- if (BLI_in_rcti(&rect, screen_co[0], screen_co[1]) &&
- BLI_lasso_is_point_inside(mcords, moves, screen_co[0], screen_co[1], V2D_IS_CLIPPED))
- {
- BKE_tracking_track_flag(track, TRACK_AREA_ALL, SELECT, !select);
+ add_v2_v2v2(data->min, data->old_search_min, d);
+ add_v2_v2v2(data->max, data->old_search_max, d);
}
- change = TRUE;
+ BKE_tracking_marker_clamp(data->marker, CLAMP_SEARCH_POS);
}
- }
-
- track = track->next;
- }
-
- if (change) {
- BKE_tracking_dopesheet_tag_update(tracking);
-
- WM_event_add_notifier(C, NC_GEOM | ND_SELECT, NULL);
- }
-
- return change;
-}
-static int clip_lasso_select_exec(bContext *C, wmOperator *op)
-{
- int mcords_tot;
- int (*mcords)[2] = WM_gesture_lasso_path_to_array(C, op, &mcords_tot);
-
- if (mcords) {
- short select;
-
- select = !RNA_boolean_get(op->ptr, "deselect");
- do_lasso_select_marker(C, mcords, mcords_tot, select);
-
- MEM_freeN(mcords);
-
- return OPERATOR_FINISHED;
- }
- return OPERATOR_PASS_THROUGH;
-}
-
-void CLIP_OT_select_lasso(wmOperatorType *ot)
-{
- /* identifiers */
- ot->name = "Lasso Select";
- ot->description = "Select markers using lasso selection";
- ot->idname = "CLIP_OT_select_lasso";
-
- /* api callbacks */
- ot->invoke = WM_gesture_lasso_invoke;
- ot->modal = WM_gesture_lasso_modal;
- ot->exec = clip_lasso_select_exec;
- ot->poll = ED_space_clip_tracking_poll;
- ot->cancel = WM_gesture_lasso_cancel;
-
- /* flags */
- ot->flag = OPTYPE_UNDO;
-
- /* properties */
- RNA_def_collection_runtime(ot->srna, "path", &RNA_OperatorMousePath, "Path", "");
- RNA_def_boolean(ot->srna, "deselect", 0, "Deselect", "Deselect rather than select items");
- RNA_def_boolean(ot->srna, "extend", 1, "Extend", "Extend selection instead of deselecting everything first");
-}
-
-/********************** circle select operator *********************/
-
-static int marker_inside_ellipse(MovieTrackingMarker *marker, float offset[2], float ellipse[2])
-{
- /* normalized ellipse: ell[0] = scaleX, ell[1] = scaleY */
- float x, y;
-
- x = (marker->pos[0] - offset[0])*ellipse[0];
- y = (marker->pos[1] - offset[1])*ellipse[1];
-
- return x*x + y*y < 1.0f;
-}
-
-static int circle_select_exec(bContext *C, wmOperator *op)
-{
- SpaceClip *sc = CTX_wm_space_clip(C);
- MovieClip *clip = ED_space_clip(sc);
- ARegion *ar = CTX_wm_region(C);
- MovieTracking *tracking = &clip->tracking;
- MovieTrackingTrack *track;
- ListBase *tracksbase = BKE_tracking_get_tracks(tracking);
- int x, y, radius, width, height, mode, change = FALSE;
- float zoomx, zoomy, offset[2], ellipse[2];
-
- /* get operator properties */
- x = RNA_int_get(op->ptr, "x");
- y = RNA_int_get(op->ptr, "y");
- radius = RNA_int_get(op->ptr, "radius");
+ data->marker->flag &= ~MARKER_TRACKED;
- mode = RNA_int_get(op->ptr, "gesture_mode");
-
- /* compute ellipse and position in unified coordinates */
- ED_space_clip_size(sc, &width, &height);
- ED_space_clip_zoom(sc, ar, &zoomx, &zoomy);
-
- ellipse[0] = width * zoomx / radius;
- ellipse[1] = height * zoomy / radius;
+ WM_event_add_notifier(C, NC_MOVIECLIP | NA_EDITED, NULL);
- ED_clip_point_stable_pos(C, x, y, &offset[0], &offset[1]);
+ break;
- /* do selection */
- track = tracksbase->first;
- while (track) {
- if ((track->flag & TRACK_HIDDEN) == 0) {
- MovieTrackingMarker *marker = BKE_tracking_get_marker(track, sc->user.framenr);
+ case LEFTMOUSE:
+ if (event->val == KM_RELEASE) {
+ free_slide_data(op->customdata);
- if (MARKER_VISIBLE(sc, track, marker) && marker_inside_ellipse(marker, offset, ellipse)) {
- BKE_tracking_track_flag(track, TRACK_AREA_ALL, SELECT, mode != GESTURE_MODAL_SELECT);
+ show_cursor(C);
- change = TRUE;
+ return OPERATOR_FINISHED;
}
- }
-
- track = track->next;
- }
-
- if (change) {
- BKE_tracking_dopesheet_tag_update(tracking);
- WM_event_add_notifier(C, NC_GEOM | ND_SELECT, NULL);
-
- return OPERATOR_FINISHED;
- }
-
- return OPERATOR_CANCELLED;
-}
-
-void CLIP_OT_select_circle(wmOperatorType *ot)
-{
- /* identifiers */
- ot->name = "Circle Select";
- ot->description = "Select markers using circle selection";
- ot->idname = "CLIP_OT_select_circle";
-
- /* api callbacks */
- ot->invoke = WM_gesture_circle_invoke;
- ot->modal = WM_gesture_circle_modal;
- ot->exec = circle_select_exec;
- ot->poll = ED_space_clip_tracking_poll;
-
- /* flags */
- ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
-
- /* properties */
- RNA_def_int(ot->srna, "x", 0, INT_MIN, INT_MAX, "X", "", INT_MIN, INT_MAX);
- RNA_def_int(ot->srna, "y", 0, INT_MIN, INT_MAX, "Y", "", INT_MIN, INT_MAX);
- RNA_def_int(ot->srna, "radius", 0, INT_MIN, INT_MAX, "Radius", "", INT_MIN, INT_MAX);
- RNA_def_int(ot->srna, "gesture_mode", 0, INT_MIN, INT_MAX, "Gesture Mode", "", INT_MIN, INT_MAX);
-}
-
-/********************** select all operator *********************/
-
-static int select_all_exec(bContext *C, wmOperator *op)
-{
- SpaceClip *sc = CTX_wm_space_clip(C);
- MovieClip *clip = ED_space_clip(sc);
- MovieTracking *tracking = &clip->tracking;
- MovieTrackingTrack *track = NULL; /* selected track */
- MovieTrackingMarker *marker;
- ListBase *tracksbase = BKE_tracking_get_tracks(tracking);
- int action = RNA_enum_get(op->ptr, "action");
- int framenr = sc->user.framenr;
- int has_selection = FALSE;
-
- if (action == SEL_TOGGLE) {
- action = SEL_SELECT;
- track = tracksbase->first;
- while (track) {
- if (TRACK_VIEW_SELECTED(sc, track)) {
- marker = BKE_tracking_get_marker(track, framenr);
+ break;
- if (MARKER_VISIBLE(sc, track, marker)) {
- action = SEL_DESELECT;
- break;
- }
- }
+ case ESCKEY:
+ cancel_mouse_slide(op->customdata);
- track = track->next;
- }
- }
+ free_slide_data(op->customdata);
- track = tracksbase->first;
- while (track) {
- if ((track->flag & TRACK_HIDDEN) == 0) {
- marker = BKE_tracking_get_marker(track, framenr);
-
- if (MARKER_VISIBLE(sc, track, marker)) {
- switch (action) {
- case SEL_SELECT:
- track->flag |= SELECT;
- track->pat_flag |= SELECT;
- track->search_flag |= SELECT;
- break;
- case SEL_DESELECT:
- track->flag &= ~SELECT;
- track->pat_flag &= ~SELECT;
- track->search_flag &= ~SELECT;
- break;
- case SEL_INVERT:
- track->flag ^= SELECT;
- track->pat_flag ^= SELECT;
- track->search_flag ^= SELECT;
- break;
- }
- }
- }
+ show_cursor(C);
- if (TRACK_VIEW_SELECTED(sc, track))
- has_selection = TRUE;
+ WM_event_add_notifier(C, NC_MOVIECLIP | NA_EDITED, NULL);
- track = track->next;
+ return OPERATOR_CANCELLED;
}
- if (!has_selection)
- sc->flag &= ~SC_LOCK_SELECTION;
-
- BKE_tracking_dopesheet_tag_update(tracking);
-
- WM_event_add_notifier(C, NC_GEOM | ND_SELECT, NULL);
-
- return OPERATOR_FINISHED;
+ return OPERATOR_RUNNING_MODAL;
}
-void CLIP_OT_select_all(wmOperatorType *ot)
+void CLIP_OT_slide_marker(wmOperatorType *ot)
{
/* identifiers */
- ot->name = "(De)select All";
- ot->description = "Change selection of all tracking markers";
- ot->idname = "CLIP_OT_select_all";
+ ot->name = "Slide Marker";
+ ot->description = "Slide marker areas";
+ ot->idname = "CLIP_OT_slide_marker";
/* api callbacks */
- ot->exec = select_all_exec;
ot->poll = ED_space_clip_tracking_poll;
+ ot->invoke = slide_marker_invoke;
+ ot->modal = slide_marker_modal;
/* flags */
- ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
-
- WM_operator_properties_select_all(ot);
-}
-
-/********************** select grouped operator *********************/
-
-static int select_groped_exec(bContext *C, wmOperator *op)
-{
- SpaceClip *sc = CTX_wm_space_clip(C);
- MovieClip *clip = ED_space_clip(sc);
- MovieTrackingTrack *track;
- MovieTrackingMarker *marker;
- MovieTracking *tracking = &clip->tracking;
- ListBase *tracksbase = BKE_tracking_get_tracks(tracking);
- int group = RNA_enum_get(op->ptr, "group");
-
- track = tracksbase->first;
- while (track) {
- int ok = FALSE;
-
- marker = BKE_tracking_get_marker(track, sc->user.framenr);
-
- if (group == 0) { /* Keyframed */
- ok = marker->framenr == sc->user.framenr && (marker->flag & MARKER_TRACKED) == 0;
- }
- else if (group == 1) { /* Estimated */
- ok = marker->framenr != sc->user.framenr;
- }
- else if (group == 2) { /* tracked */
- ok = marker->framenr == sc->user.framenr && (marker->flag & MARKER_TRACKED);
- }
- else if (group == 3) { /* locked */
- ok = track->flag & TRACK_LOCKED;
- }
- else if (group == 4) { /* disabled */
- ok = marker->flag & MARKER_DISABLED;
- }
- else if (group == 5) { /* color */
- MovieTrackingTrack *act_track = BKE_tracking_active_track(tracking);
-
- if (act_track) {
- ok = (track->flag & TRACK_CUSTOMCOLOR) == (act_track->flag & TRACK_CUSTOMCOLOR);
-
- if (ok && track->flag & TRACK_CUSTOMCOLOR)
- ok = equals_v3v3(track->color, act_track->color);
- }
- }
- else if (group == 6) { /* failed */
- ok = (track->flag & TRACK_HAS_BUNDLE) == 0;
- }
-
- if (ok) {
- track->flag |= SELECT;
- if (sc->flag & SC_SHOW_MARKER_PATTERN)
- track->pat_flag |= SELECT;
- if (sc->flag & SC_SHOW_MARKER_SEARCH)
- track->search_flag |= SELECT;
- }
-
- track = track->next;
- }
-
- BKE_tracking_dopesheet_tag_update(tracking);
-
- WM_event_add_notifier(C, NC_MOVIECLIP | ND_DISPLAY, clip);
-
- return OPERATOR_FINISHED;
-}
-
-void CLIP_OT_select_grouped(wmOperatorType *ot)
-{
- static EnumPropertyItem select_group_items[] = {
- {0, "KEYFRAMED", 0, "Keyframed tracks", "Select all keyframed tracks"},
- {1, "ESTIMATED", 0, "Estimated tracks", "Select all estimated tracks"},
- {2, "TRACKED", 0, "Tracked tracks", "Select all tracked tracks"},
- {3, "LOCKED", 0, "Locked tracks", "Select all locked tracks"},
- {4, "DISABLED", 0, "Disabled tracks", "Select all disabled tracks"},
- {5, "COLOR", 0, "Tracks with same color", "Select all tracks with same color as active track"},
- {6, "FAILED", 0, "Failed Tracks", "Select all tracks which failed to be reconstructed"},
- {0, NULL, 0, NULL, NULL}
- };
-
- /* identifiers */
- ot->name = "Select Grouped";
- ot->description = "Select all tracks from specified group";
- ot->idname = "CLIP_OT_select_grouped";
-
- /* api callbacks */
- ot->exec = select_groped_exec;
- ot->poll = ED_space_clip_tracking_size_poll;
-
- /* flags */
- ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
+ ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO | OPTYPE_GRAB_POINTER | OPTYPE_BLOCKING;
- /* proeprties */
- RNA_def_enum(ot->srna, "group", select_group_items, TRACK_CLEAR_REMAINED, "Action", "Clear action to execute");
+ /* properties */
+ RNA_def_float_vector(ot->srna, "offset", 2, NULL, -FLT_MAX, FLT_MAX,
+ "Offset", "Offset in floating point units, 1.0 is the width and height of the image", -FLT_MAX, FLT_MAX);
}
/********************** track operator *********************/
typedef struct TrackMarkersJob {
- struct MovieTrackingContext *context; /* tracking context */
- int sfra, efra, lastfra; /* Start, end and recently tracked frames */
- int backwards; /* Backwards tracking flag */
- MovieClip *clip; /* Clip which is tracking */
- float delay; /* Delay in milliseconds to allow tracking at fixed FPS */
+ struct MovieTrackingContext *context; /* tracking context */
+ int sfra, efra, lastfra; /* Start, end and recently tracked frames */
+ int backwards; /* Backwards tracking flag */
+ MovieClip *clip; /* Clip which is tracking */
+ float delay; /* Delay in milliseconds to allow tracking at fixed FPS */
struct Main *main;
struct Scene *scene;
@@ -1330,14 +944,14 @@ static int track_markers_testbreak(void)
static int track_count_markers(SpaceClip *sc, MovieClip *clip)
{
int tot = 0;
- ListBase *tracksbase = BKE_tracking_get_tracks(&clip->tracking);
+ ListBase *tracksbase = BKE_tracking_get_active_tracks(&clip->tracking);
MovieTrackingTrack *track;
- int framenr = sc->user.framenr;
+ int framenr = ED_space_clip_clip_framenr(sc);
track = tracksbase->first;
while (track) {
if (TRACK_VIEW_SELECTED(sc, track) && (track->flag & TRACK_LOCKED) == 0) {
- MovieTrackingMarker *marker = BKE_tracking_get_marker(track, framenr);
+ MovieTrackingMarker *marker = BKE_tracking_marker_get(track, framenr);
if (!marker || (marker->flag & MARKER_DISABLED) == 0)
tot++;
@@ -1351,7 +965,7 @@ static int track_count_markers(SpaceClip *sc, MovieClip *clip)
static void clear_invisible_track_selection(SpaceClip *sc, MovieClip *clip)
{
- ListBase *tracksbase = BKE_tracking_get_tracks(&clip->tracking);
+ ListBase *tracksbase = BKE_tracking_get_active_tracks(&clip->tracking);
int hidden = 0;
if ((sc->flag & SC_SHOW_MARKER_PATTERN) == 0)
@@ -1365,7 +979,7 @@ static void clear_invisible_track_selection(SpaceClip *sc, MovieClip *clip)
while (track) {
if ((track->flag & TRACK_HIDDEN) == 0)
- BKE_tracking_track_flag(track, hidden, SELECT, 1);
+ BKE_tracking_track_flag_clear(track, hidden, SELECT);
track = track->next;
}
@@ -1374,9 +988,9 @@ static void clear_invisible_track_selection(SpaceClip *sc, MovieClip *clip)
static void track_init_markers(SpaceClip *sc, MovieClip *clip, int *frames_limit_r)
{
- ListBase *tracksbase = BKE_tracking_get_tracks(&clip->tracking);
+ ListBase *tracksbase = BKE_tracking_get_active_tracks(&clip->tracking);
MovieTrackingTrack *track;
- int framenr = sc->user.framenr;
+ int framenr = ED_space_clip_clip_framenr(sc);
int frames_limit = 0;
clear_invisible_track_selection(sc, clip);
@@ -1385,7 +999,7 @@ static void track_init_markers(SpaceClip *sc, MovieClip *clip, int *frames_limit
while (track) {
if (TRACK_VIEW_SELECTED(sc, track)) {
if ((track->flag & TRACK_HIDDEN) == 0 && (track->flag & TRACK_LOCKED) == 0) {
- BKE_tracking_ensure_marker(track, framenr);
+ BKE_tracking_marker_ensure(track, framenr);
if (track->frames_limit) {
if (frames_limit == 0)
@@ -1426,7 +1040,7 @@ static int track_markers_initjob(bContext *C, TrackMarkersJob *tmj, int backward
track_init_markers(sc, clip, &frames_limit);
- tmj->sfra = sc->user.framenr;
+ tmj->sfra = ED_space_clip_clip_framenr(sc);
tmj->clip = clip;
tmj->backwards = backwards;
@@ -1443,6 +1057,8 @@ static int track_markers_initjob(bContext *C, TrackMarkersJob *tmj, int backward
tmj->efra = MIN2(tmj->efra, tmj->sfra + frames_limit);
}
+ tmj->efra = BKE_movieclip_remap_scene_to_clip_frame(clip, tmj->efra);
+
if (settings->speed != TRACKING_SPEED_FASTEST) {
tmj->delay = 1.0f / scene->r.frs_sec * 1000.0f;
@@ -1488,15 +1104,15 @@ static void track_markers_startjob(void *tmv, short *stop, short *do_update, flo
double start_time = PIL_check_seconds_timer(), exec_time;
- if (!BKE_tracking_next(tmj->context))
+ if (!BKE_tracking_context_step(tmj->context))
break;
exec_time = PIL_check_seconds_timer() - start_time;
if (tmj->delay > (float)exec_time)
PIL_sleep_ms(tmj->delay - (float)exec_time);
}
- else if (!BKE_tracking_next(tmj->context))
- break;
+ else if (!BKE_tracking_context_step(tmj->context))
+ break;
*do_update = TRUE;
*progress = (float)(framenr - tmj->sfra) / (tmj->efra - tmj->sfra);
@@ -1519,7 +1135,7 @@ static void track_markers_updatejob(void *tmv)
{
TrackMarkersJob *tmj = (TrackMarkersJob *)tmv;
- BKE_tracking_sync(tmj->context);
+ BKE_tracking_context_sync(tmj->context);
}
static void track_markers_freejob(void *tmv)
@@ -1527,10 +1143,10 @@ static void track_markers_freejob(void *tmv)
TrackMarkersJob *tmj = (TrackMarkersJob *)tmv;
tmj->clip->tracking_context = NULL;
- tmj->scene->r.cfra = tmj->lastfra;
+ tmj->scene->r.cfra = BKE_movieclip_remap_clip_to_scene_frame(tmj->clip, tmj->lastfra);
ED_update_for_newframe(tmj->main, tmj->scene, 0);
- BKE_tracking_sync(tmj->context);
+ BKE_tracking_context_sync(tmj->context);
BKE_tracking_context_free(tmj->context);
MEM_freeN(tmj);
@@ -1544,7 +1160,7 @@ static int track_markers_exec(bContext *C, wmOperator *op)
MovieClip *clip = ED_space_clip(sc);
Scene *scene = CTX_data_scene(C);
struct MovieTrackingContext *context;
- int framenr = sc->user.framenr;
+ int framenr = ED_space_clip_clip_framenr(sc);
int sfra = framenr, efra;
int backwards = RNA_boolean_get(op->ptr, "backwards");
int sequence = RNA_boolean_get(op->ptr, "sequence");
@@ -1568,6 +1184,8 @@ static int track_markers_exec(bContext *C, wmOperator *op)
efra = MIN2(efra, sfra + frames_limit);
}
+ efra = BKE_movieclip_remap_scene_to_clip_frame(clip, efra);
+
if (!track_markers_check_direction(backwards, framenr, efra))
return OPERATOR_CANCELLED;
@@ -1575,7 +1193,7 @@ static int track_markers_exec(bContext *C, wmOperator *op)
context = BKE_tracking_context_new(clip, &sc->user, backwards, sequence);
while (framenr != efra) {
- if (!BKE_tracking_next(context))
+ if (!BKE_tracking_context_step(context))
break;
if (backwards) framenr--;
@@ -1585,11 +1203,11 @@ static int track_markers_exec(bContext *C, wmOperator *op)
break;
}
- BKE_tracking_sync(context);
+ BKE_tracking_context_sync(context);
BKE_tracking_context_free(context);
/* update scene current frame to the lastes tracked frame */
- scene->r.cfra = framenr;
+ scene->r.cfra = BKE_movieclip_remap_clip_to_scene_frame(clip, framenr);
WM_event_add_notifier(C, NC_MOVIECLIP | NA_EVALUATED, clip);
WM_event_add_notifier(C, NC_SCENE | ND_FRAME, scene);
@@ -1680,7 +1298,7 @@ void CLIP_OT_track_markers(wmOperatorType *ot)
/* api callbacks */
ot->exec = track_markers_exec;
ot->invoke = track_markers_invoke;
- ot->poll = ED_space_clip_tracking_frame_poll;
+ ot->poll = ED_space_clip_tracking_poll;
ot->modal = track_markers_modal;
/* flags */
@@ -1712,10 +1330,10 @@ static int solve_camera_initjob(bContext *C, SolveCameraJob *scj, wmOperator *op
Scene *scene = CTX_data_scene(C);
MovieTracking *tracking = &clip->tracking;
MovieTrackingSettings *settings = &clip->tracking.settings;
- MovieTrackingObject *object = BKE_tracking_active_object(tracking);
+ MovieTrackingObject *object = BKE_tracking_object_get_active(tracking);
int width, height;
- if (!BKE_tracking_can_reconstruct(tracking, object, error_msg, max_error))
+ if (!BKE_tracking_reconstruction_check(tracking, object, error_msg, max_error))
return 0;
/* could fail if footage uses images with different sizes */
@@ -1727,7 +1345,7 @@ static int solve_camera_initjob(bContext *C, SolveCameraJob *scj, wmOperator *op
scj->user = sc->user;
scj->context = BKE_tracking_reconstruction_context_new(tracking, object,
- settings->keyframe1, settings->keyframe2, width, height);
+ settings->keyframe1, settings->keyframe2, width, height);
tracking->stats = MEM_callocN(sizeof(MovieTrackingStats), "solve camera stats");
@@ -1746,8 +1364,8 @@ static void solve_camera_startjob(void *scv, short *stop, short *do_update, floa
{
SolveCameraJob *scj = (SolveCameraJob *)scv;
- BKE_tracking_solve_reconstruction(scj->context, stop, do_update, progress,
- scj->stats_message, sizeof(scj->stats_message));
+ BKE_tracking_reconstruction_solve(scj->context, stop, do_update, progress,
+ scj->stats_message, sizeof(scj->stats_message));
}
static void solve_camera_freejob(void *scv)
@@ -1764,7 +1382,7 @@ static void solve_camera_freejob(void *scv)
return;
}
- solved = BKE_tracking_finish_reconstruction(scj->context, tracking);
+ solved = BKE_tracking_reconstruction_finish(scj->context, tracking);
if (!solved)
BKE_report(scj->reports, RPT_WARNING, "Some data failed to reconstruct, see console for details");
@@ -1780,7 +1398,7 @@ static void solve_camera_freejob(void *scv)
/* set blender camera focal length so result would look fine there */
if (scene->camera) {
- Camera *camera = (Camera*)scene->camera->data;
+ Camera *camera = (Camera *)scene->camera->data;
int width, height;
BKE_movieclip_get_size(clip, &scj->user, &width, &height);
@@ -1834,7 +1452,7 @@ static int solve_camera_invoke(bContext *C, wmOperator *op, wmEvent *UNUSED(even
SpaceClip *sc = CTX_wm_space_clip(C);
MovieClip *clip = ED_space_clip(sc);
MovieTracking *tracking = &clip->tracking;
- MovieTrackingReconstruction *reconstruction = BKE_tracking_get_reconstruction(tracking);
+ MovieTrackingReconstruction *reconstruction = BKE_tracking_get_active_reconstruction(tracking);
wmJob *steve;
char error_msg[256] = "\0";
@@ -1916,8 +1534,8 @@ static int clear_solution_exec(bContext *C, wmOperator *UNUSED(op))
SpaceClip *sc = CTX_wm_space_clip(C);
MovieClip *clip = ED_space_clip(sc);
MovieTracking *tracking = &clip->tracking;
- ListBase *tracksbase = BKE_tracking_get_tracks(&clip->tracking);
- MovieTrackingReconstruction *reconstruction = BKE_tracking_get_reconstruction(tracking);
+ ListBase *tracksbase = BKE_tracking_get_active_tracks(&clip->tracking);
+ MovieTrackingReconstruction *reconstruction = BKE_tracking_get_active_reconstruction(tracking);
MovieTrackingTrack *track = tracksbase->first;
while (track) {
@@ -1964,19 +1582,20 @@ static int clear_track_path_exec(bContext *C, wmOperator *op)
SpaceClip *sc = CTX_wm_space_clip(C);
MovieClip *clip = ED_space_clip(sc);
MovieTrackingTrack *track;
- ListBase *tracksbase = BKE_tracking_get_tracks(&clip->tracking);
+ ListBase *tracksbase = BKE_tracking_get_active_tracks(&clip->tracking);
int action = RNA_enum_get(op->ptr, "action");
int clear_active = RNA_boolean_get(op->ptr, "clear_active");
+ int framenr = ED_space_clip_clip_framenr(sc);
if (clear_active) {
- track = BKE_tracking_active_track(&clip->tracking);
- BKE_tracking_clear_path(track, sc->user.framenr, action);
+ track = BKE_tracking_track_get_active(&clip->tracking);
+ BKE_tracking_track_path_clear(track, framenr, action);
}
else {
track = tracksbase->first;
while (track) {
if (TRACK_VIEW_SELECTED(sc, track))
- BKE_tracking_clear_path(track, sc->user.framenr, action);
+ BKE_tracking_track_path_clear(track, framenr, action);
track = track->next;
}
@@ -1990,10 +1609,10 @@ static int clear_track_path_exec(bContext *C, wmOperator *op)
void CLIP_OT_clear_track_path(wmOperatorType *ot)
{
static EnumPropertyItem clear_path_actions[] = {
- {TRACK_CLEAR_UPTO, "UPTO", 0, "Clear up-to", "Clear path up to current frame"},
- {TRACK_CLEAR_REMAINED, "REMAINED", 0, "Clear remained", "Clear path at remaining frames (after current)"},
- {TRACK_CLEAR_ALL, "ALL", 0, "Clear all", "Clear the whole path"},
- {0, NULL, 0, NULL, NULL}
+ {TRACK_CLEAR_UPTO, "UPTO", 0, "Clear up-to", "Clear path up to current frame"},
+ {TRACK_CLEAR_REMAINED, "REMAINED", 0, "Clear remained", "Clear path at remaining frames (after current)"},
+ {TRACK_CLEAR_ALL, "ALL", 0, "Clear all", "Clear the whole path"},
+ {0, NULL, 0, NULL, NULL}
};
/* identifiers */
@@ -2020,13 +1639,14 @@ static int disable_markers_exec(bContext *C, wmOperator *op)
SpaceClip *sc = CTX_wm_space_clip(C);
MovieClip *clip = ED_space_clip(sc);
MovieTracking *tracking = &clip->tracking;
- ListBase *tracksbase = BKE_tracking_get_tracks(tracking);
+ ListBase *tracksbase = BKE_tracking_get_active_tracks(tracking);
MovieTrackingTrack *track = tracksbase->first;
int action = RNA_enum_get(op->ptr, "action");
+ int framenr = ED_space_clip_clip_framenr(sc);
while (track) {
if (TRACK_VIEW_SELECTED(sc, track) && (track->flag & TRACK_LOCKED) == 0) {
- MovieTrackingMarker *marker = BKE_tracking_ensure_marker(track, sc->user.framenr);
+ MovieTrackingMarker *marker = BKE_tracking_marker_ensure(track, framenr);
if (action == 0)
marker->flag |= MARKER_DISABLED;
@@ -2048,10 +1668,10 @@ static int disable_markers_exec(bContext *C, wmOperator *op)
void CLIP_OT_disable_markers(wmOperatorType *ot)
{
static EnumPropertyItem actions_items[] = {
- {0, "DISABLE", 0, "Disable", "Disable selected markers"},
- {1, "ENABLE", 0, "Enable", "Enable selected markers"},
- {2, "TOGGLE", 0, "Toggle", "Toggle disabled flag for selected markers"},
- {0, NULL, 0, NULL, NULL}
+ {0, "DISABLE", 0, "Disable", "Disable selected markers"},
+ {1, "ENABLE", 0, "Enable", "Enable selected markers"},
+ {2, "TOGGLE", 0, "Toggle", "Toggle disabled flag for selected markers"},
+ {0, NULL, 0, NULL, NULL}
};
/* identifiers */
@@ -2101,7 +1721,7 @@ static Object *get_orientation_object(bContext *C)
SpaceClip *sc = CTX_wm_space_clip(C);
MovieClip *clip = ED_space_clip(sc);
MovieTracking *tracking = &clip->tracking;
- MovieTrackingObject *tracking_object = BKE_tracking_active_object(tracking);
+ MovieTrackingObject *tracking_object = BKE_tracking_object_get_active(tracking);
Object *object = NULL;
if (tracking_object->flag & TRACKING_OBJECT_CAMERA) {
@@ -2119,18 +1739,22 @@ static Object *get_orientation_object(bContext *C)
static int set_orientation_poll(bContext *C)
{
- if (ED_space_clip_tracking_size_poll(C)) {
+ SpaceClip *sc = CTX_wm_space_clip(C);
+
+ if (sc) {
Scene *scene = CTX_data_scene(C);
- SpaceClip *sc = CTX_wm_space_clip(C);
MovieClip *clip = ED_space_clip(sc);
- MovieTracking *tracking = &clip->tracking;
- MovieTrackingObject *tracking_object = BKE_tracking_active_object(tracking);
- if (tracking_object->flag & TRACKING_OBJECT_CAMERA) {
- return TRUE;
- }
- else {
- return OBACT != NULL;
+ if (clip) {
+ MovieTracking *tracking = &clip->tracking;
+ MovieTrackingObject *tracking_object = BKE_tracking_object_get_active(tracking);
+
+ if (tracking_object->flag & TRACKING_OBJECT_CAMERA) {
+ return TRUE;
+ }
+ else {
+ return OBACT != NULL;
+ }
}
}
@@ -2141,7 +1765,7 @@ static int count_selected_bundles(bContext *C)
{
SpaceClip *sc = CTX_wm_space_clip(C);
MovieClip *clip = ED_space_clip(sc);
- ListBase *tracksbase = BKE_tracking_get_tracks(&clip->tracking);
+ ListBase *tracksbase = BKE_tracking_get_active_tracks(&clip->tracking);
MovieTrackingTrack *track;
int tot = 0;
@@ -2223,7 +1847,8 @@ static int set_origin_exec(bContext *C, wmOperator *op)
int selected_count = count_selected_bundles(C);
if (selected_count == 0) {
- BKE_report(op->reports, RPT_ERROR, "At least one track with bundle should be selected to define origin position");
+ BKE_report(op->reports, RPT_ERROR,
+ "At least one track with bundle should be selected to define origin position");
return OPERATOR_CANCELLED;
}
@@ -2235,9 +1860,9 @@ static int set_origin_exec(bContext *C, wmOperator *op)
return OPERATOR_CANCELLED;
}
- tracking_object = BKE_tracking_active_object(tracking);
+ tracking_object = BKE_tracking_object_get_active(tracking);
- tracksbase = BKE_tracking_object_tracks(tracking, tracking_object);
+ tracksbase = BKE_tracking_object_get_tracks(tracking, tracking_object);
track = tracksbase->first;
zero_v3(median);
@@ -2250,7 +1875,7 @@ static int set_origin_exec(bContext *C, wmOperator *op)
}
mul_v3_fl(median, 1.0f / selected_count);
- BKE_get_tracking_mat(scene, camera, mat);
+ BKE_tracking_get_camera_object_matrix(scene, camera, mat);
mul_v3_m4v3(vec, mat, median);
@@ -2293,16 +1918,16 @@ void CLIP_OT_set_origin(wmOperatorType *ot)
/********************** set floor operator *********************/
static void set_axis(Scene *scene, Object *ob, MovieClip *clip, MovieTrackingObject *tracking_object,
- MovieTrackingTrack *track, char axis)
+ MovieTrackingTrack *track, char axis)
{
Object *camera = get_camera_with_movieclip(scene, clip);
int is_camera = tracking_object->flag & TRACKING_OBJECT_CAMERA;
- int flip = FALSE;
+ int flip = FALSE;
float mat[4][4], vec[3], obmat[4][4], dvec[3];
BKE_object_to_mat4(ob, obmat);
- BKE_get_tracking_mat(scene, camera, mat);
+ BKE_tracking_get_camera_object_matrix(scene, camera, mat);
mul_v3_m4v3(vec, mat, track->bundle_pos);
copy_v3_v3(dvec, vec);
@@ -2420,7 +2045,7 @@ static int set_plane_exec(bContext *C, wmOperator *op)
float rot[4][4] = {{0.0f, 0.0f, -1.0f, 0.0f},
{0.0f, 1.0f, 0.0f, 0.0f},
{1.0f, 0.0f, 0.0f, 0.0f},
- {0.0f, 0.0f, 0.0f, 1.0f}}; /* 90 degrees Y-axis rotation matrix */
+ {0.0f, 0.0f, 0.0f, 1.0f}}; /* 90 degrees Y-axis rotation matrix */
if (count_selected_bundles(C) != 3) {
BKE_report(op->reports, RPT_ERROR, "Three tracks with bundles are needed to orient the floor");
@@ -2428,9 +2053,9 @@ static int set_plane_exec(bContext *C, wmOperator *op)
return OPERATOR_CANCELLED;
}
- tracking_object = BKE_tracking_active_object(tracking);
- tracksbase = BKE_tracking_object_tracks(tracking, tracking_object);
- act_track = BKE_tracking_active_track(tracking);
+ tracking_object = BKE_tracking_object_get_active(tracking);
+ tracksbase = BKE_tracking_object_get_tracks(tracking, tracking_object);
+ act_track = BKE_tracking_track_get_active(tracking);
object = get_orientation_object(C);
if (!object) {
@@ -2439,7 +2064,7 @@ static int set_plane_exec(bContext *C, wmOperator *op)
return OPERATOR_CANCELLED;
}
- BKE_get_tracking_mat(scene, camera, mat);
+ BKE_tracking_get_camera_object_matrix(scene, camera, mat);
/* get 3 bundles to use as reference */
track = tracksbase->first;
@@ -2518,9 +2143,9 @@ static int set_plane_exec(bContext *C, wmOperator *op)
void CLIP_OT_set_plane(wmOperatorType *ot)
{
static EnumPropertyItem plane_items[] = {
- {0, "FLOOR", 0, "Floor", "Set floor plane"},
- {1, "WALL", 0, "Wall", "Set wall plane"},
- {0, NULL, 0, NULL, NULL}
+ {0, "FLOOR", 0, "Floor", "Set floor plane"},
+ {1, "WALL", 0, "Wall", "Set wall plane"},
+ {0, NULL, 0, NULL, NULL}
};
/* identifiers */
@@ -2546,7 +2171,7 @@ static int set_axis_exec(bContext *C, wmOperator *op)
SpaceClip *sc = CTX_wm_space_clip(C);
MovieClip *clip = ED_space_clip(sc);
MovieTracking *tracking = &clip->tracking;
- MovieTrackingObject *tracking_object = BKE_tracking_active_object(tracking);
+ MovieTrackingObject *tracking_object = BKE_tracking_object_get_active(tracking);
MovieTrackingTrack *track;
Scene *scene = CTX_data_scene(C);
Object *object;
@@ -2566,7 +2191,7 @@ static int set_axis_exec(bContext *C, wmOperator *op)
return OPERATOR_CANCELLED;
}
- tracksbase = BKE_tracking_object_tracks(tracking, tracking_object);
+ tracksbase = BKE_tracking_object_get_tracks(tracking, tracking_object);
track = tracksbase->first;
while (track) {
@@ -2590,9 +2215,9 @@ static int set_axis_exec(bContext *C, wmOperator *op)
void CLIP_OT_set_axis(wmOperatorType *ot)
{
static EnumPropertyItem axis_actions[] = {
- {0, "X", 0, "X", "Align bundle align X axis"},
- {1, "Y", 0, "Y", "Align bundle align Y axis"},
- {0, NULL, 0, NULL, NULL}
+ {0, "X", 0, "X", "Align bundle align X axis"},
+ {1, "Y", 0, "Y", "Align bundle align Y axis"},
+ {0, NULL, 0, NULL, NULL}
};
/* identifiers */
@@ -2618,12 +2243,12 @@ static int do_set_scale(bContext *C, wmOperator *op, int scale_solution)
SpaceClip *sc = CTX_wm_space_clip(C);
MovieClip *clip = ED_space_clip(sc);
MovieTracking *tracking = &clip->tracking;
- MovieTrackingObject *tracking_object = BKE_tracking_active_object(tracking);
+ MovieTrackingObject *tracking_object = BKE_tracking_object_get_active(tracking);
MovieTrackingTrack *track;
Scene *scene = CTX_data_scene(C);
Object *object = NULL;
Object *camera = get_camera_with_movieclip(scene, clip);
- ListBase *tracksbase = BKE_tracking_get_tracks(tracking);
+ ListBase *tracksbase = BKE_tracking_get_active_tracks(tracking);
int tot = 0;
float vec[2][3], mat[4][4], scale;
float dist = RNA_float_get(op->ptr, "distance");
@@ -2641,7 +2266,7 @@ static int do_set_scale(bContext *C, wmOperator *op, int scale_solution)
return OPERATOR_CANCELLED;
}
- BKE_get_tracking_mat(scene, camera, mat);
+ BKE_tracking_get_camera_object_matrix(scene, camera, mat);
track = tracksbase->first;
while (track) {
@@ -2722,23 +2347,27 @@ void CLIP_OT_set_scale(wmOperatorType *ot)
/* properties */
RNA_def_float(ot->srna, "distance", 0.0f, -FLT_MAX, FLT_MAX,
- "Distance", "Distance between selected tracks", -100.0f, 100.0f);
+ "Distance", "Distance between selected tracks", -100.0f, 100.0f);
}
/********************** set solution scale operator *********************/
static int set_solution_scale_poll(bContext *C)
{
- if (ED_space_clip_tracking_size_poll(C)) {
- SpaceClip *sc = CTX_wm_space_clip(C);
+ SpaceClip *sc = CTX_wm_space_clip(C);
+
+ if (sc) {
MovieClip *clip = ED_space_clip(sc);
- MovieTracking *tracking = &clip->tracking;
- MovieTrackingObject *tracking_object = BKE_tracking_active_object(tracking);
- return (tracking_object->flag & TRACKING_OBJECT_CAMERA) == 0;
+ if (clip) {
+ MovieTracking *tracking = &clip->tracking;
+ MovieTrackingObject *tracking_object = BKE_tracking_object_get_active(tracking);
+
+ return (tracking_object->flag & TRACKING_OBJECT_CAMERA) == 0;
+ }
}
- return 0;
+ return FALSE;
}
static int set_solution_scale_exec(bContext *C, wmOperator *op)
@@ -2774,7 +2403,7 @@ void CLIP_OT_set_solution_scale(wmOperatorType *ot)
/* properties */
RNA_def_float(ot->srna, "distance", 0.0f, -FLT_MAX, FLT_MAX,
- "Distance", "Distance between selected tracks", -100.0f, 100.0f);
+ "Distance", "Distance between selected tracks", -100.0f, 100.0f);
}
/********************** set principal center operator *********************/
@@ -2821,8 +2450,8 @@ static int hide_tracks_exec(bContext *C, wmOperator *op)
MovieClip *clip = ED_space_clip(sc);
MovieTrackingTrack *track;
MovieTracking *tracking = &clip->tracking;
- ListBase *tracksbase = BKE_tracking_get_tracks(tracking);
- MovieTrackingTrack *act_track = BKE_tracking_active_track(tracking);
+ ListBase *tracksbase = BKE_tracking_get_active_tracks(tracking);
+ MovieTrackingTrack *act_track = BKE_tracking_track_get_active(tracking);
int unselected;
unselected = RNA_boolean_get(op->ptr, "unselected");
@@ -2879,7 +2508,7 @@ static int hide_tracks_clear_exec(bContext *C, wmOperator *UNUSED(op))
SpaceClip *sc = CTX_wm_space_clip(C);
MovieClip *clip = ED_space_clip(sc);
MovieTracking *tracking = &clip->tracking;
- ListBase *tracksbase = BKE_tracking_get_tracks(tracking);
+ ListBase *tracksbase = BKE_tracking_get_active_tracks(tracking);
MovieTrackingTrack *track;
track = tracksbase->first;
@@ -2938,15 +2567,21 @@ static int detect_features_exec(bContext *C, wmOperator *op)
int clip_flag = clip->flag & MCLIP_TIMECODE_FLAGS;
ImBuf *ibuf = BKE_movieclip_get_ibuf_flag(clip, &sc->user, clip_flag, MOVIECLIP_CACHE_SKIP);
MovieTracking *tracking = &clip->tracking;
- ListBase *tracksbase = BKE_tracking_get_tracks(tracking);
+ ListBase *tracksbase = BKE_tracking_get_active_tracks(tracking);
MovieTrackingTrack *track = tracksbase->first;
int placement = RNA_enum_get(op->ptr, "placement");
int margin = RNA_int_get(op->ptr, "margin");
int min_trackability = RNA_int_get(op->ptr, "min_trackability");
int min_distance = RNA_int_get(op->ptr, "min_distance");
int place_outside_layer = 0;
+ int framenr = ED_space_clip_clip_framenr(sc);
bGPDlayer *layer = NULL;
+ if (!ibuf) {
+ BKE_report(op->reports, RPT_ERROR, "Feature detection requires valid clip frame");
+ return OPERATOR_CANCELLED;
+ }
+
if (placement != 0) {
layer = detect_get_layer(clip);
place_outside_layer = placement == 2;
@@ -2961,8 +2596,8 @@ static int detect_features_exec(bContext *C, wmOperator *op)
track = track->next;
}
- BKE_tracking_detect_fast(tracking, tracksbase, ibuf, sc->user.framenr, margin,
- min_trackability, min_distance, layer, place_outside_layer);
+ BKE_tracking_detect_fast(tracking, tracksbase, ibuf, framenr, margin,
+ min_trackability, min_distance, layer, place_outside_layer);
IMB_freeImBuf(ibuf);
@@ -2974,10 +2609,10 @@ static int detect_features_exec(bContext *C, wmOperator *op)
void CLIP_OT_detect_features(wmOperatorType *ot)
{
static EnumPropertyItem placement_items[] = {
- {0, "FRAME", 0, "Whole Frame", "Place markers across the whole frame"},
- {1, "INSIDE_GPENCIL", 0, "Inside grease pencil", "Place markers only inside areas outlined with grease pencil"},
- {2, "OUTSIDE_GPENCIL", 0, "Outside grease pencil", "Place markers only outside areas outlined with grease pencil"},
- {0, NULL, 0, NULL, NULL}
+ {0, "FRAME", 0, "Whole Frame", "Place markers across the whole frame"},
+ {1, "INSIDE_GPENCIL", 0, "Inside grease pencil", "Place markers only inside areas outlined with grease pencil"},
+ {2, "OUTSIDE_GPENCIL", 0, "Outside grease pencil", "Place markers only outside areas outlined with grease pencil"},
+ {0, NULL, 0, NULL, NULL}
};
/* identifiers */
@@ -2987,7 +2622,7 @@ void CLIP_OT_detect_features(wmOperatorType *ot)
/* api callbacks */
ot->exec = detect_features_exec;
- ot->poll = ED_space_clip_tracking_frame_poll;
+ ot->poll = ED_space_clip_tracking_poll;
/* flags */
ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
@@ -3010,8 +2645,8 @@ static int frame_jump_exec(bContext *C, wmOperator *op)
int pos = RNA_enum_get(op->ptr, "position");
int delta;
- if (pos <= 1) { /* jump to path */
- track = BKE_tracking_active_track(&clip->tracking);
+ if (pos <= 1) { /* jump to path */
+ track = BKE_tracking_track_get_active(&clip->tracking);
if (!track)
return OPERATOR_CANCELLED;
@@ -3019,7 +2654,8 @@ static int frame_jump_exec(bContext *C, wmOperator *op)
delta = pos == 1 ? 1 : -1;
while (sc->user.framenr + delta >= SFRA && sc->user.framenr + delta <= EFRA) {
- MovieTrackingMarker *marker = BKE_tracking_exact_marker(track, sc->user.framenr + delta);
+ int framenr = BKE_movieclip_remap_scene_to_clip_frame(clip, sc->user.framenr + delta);
+ MovieTrackingMarker *marker = BKE_tracking_marker_get_exact(track, framenr);
if (!marker || marker->flag & MARKER_DISABLED)
break;
@@ -3027,11 +2663,11 @@ static int frame_jump_exec(bContext *C, wmOperator *op)
sc->user.framenr += delta;
}
}
- else { /* to to failed frame */
+ else { /* to to failed frame */
if (clip->tracking.reconstruction.flag & TRACKING_RECONSTRUCTED) {
- int a = sc->user.framenr;
+ int a = ED_space_clip_clip_framenr(sc);
MovieTracking *tracking = &clip->tracking;
- MovieTrackingObject *object = BKE_tracking_active_object(tracking);
+ MovieTrackingObject *object = BKE_tracking_object_get_active(tracking);
delta = pos == 3 ? 1 : -1;
@@ -3040,10 +2676,10 @@ static int frame_jump_exec(bContext *C, wmOperator *op)
while (a + delta >= SFRA && a + delta <= EFRA) {
MovieReconstructedCamera *cam;
- cam = BKE_tracking_get_reconstructed_camera(tracking, object, a);
+ cam = BKE_tracking_camera_get_reconstructed(tracking, object, a);
if (!cam) {
- sc->user.framenr = a;
+ sc->user.framenr = BKE_movieclip_remap_clip_to_scene_frame(clip, a);
break;
}
@@ -3068,11 +2704,11 @@ static int frame_jump_exec(bContext *C, wmOperator *op)
void CLIP_OT_frame_jump(wmOperatorType *ot)
{
static EnumPropertyItem position_items[] = {
- {0, "PATHSTART", 0, "Path Start", "Jump to start of current path"},
- {1, "PATHEND", 0, "Path End", "Jump to end of current path"},
- {2, "FAILEDPREV", 0, "Previous Failed", "Jump to previous failed frame"},
- {2, "FAILNEXT", 0, "Next Failed", "Jump to next failed frame"},
- {0, NULL, 0, NULL, NULL}
+ {0, "PATHSTART", 0, "Path Start", "Jump to start of current path"},
+ {1, "PATHEND", 0, "Path End", "Jump to end of current path"},
+ {2, "FAILEDPREV", 0, "Previous Failed", "Jump to previous failed frame"},
+ {2, "FAILNEXT", 0, "Next Failed", "Jump to next failed frame"},
+ {0, NULL, 0, NULL, NULL}
};
/* identifiers */
@@ -3098,10 +2734,10 @@ static int join_tracks_exec(bContext *C, wmOperator *op)
SpaceClip *sc = CTX_wm_space_clip(C);
MovieClip *clip = ED_space_clip(sc);
MovieTracking *tracking = &clip->tracking;
- ListBase *tracksbase = BKE_tracking_get_tracks(tracking);
+ ListBase *tracksbase = BKE_tracking_get_active_tracks(tracking);
MovieTrackingTrack *act_track, *track, *next;
- act_track = BKE_tracking_active_track(tracking);
+ act_track = BKE_tracking_track_get_active(tracking);
if (!act_track) {
BKE_report(op->reports, RPT_ERROR, "No active track to join to");
@@ -3113,12 +2749,12 @@ static int join_tracks_exec(bContext *C, wmOperator *op)
next = track->next;
if (TRACK_VIEW_SELECTED(sc, track) && track != act_track) {
- BKE_tracking_join_tracks(act_track, track);
+ BKE_tracking_tracks_join(act_track, track);
if (tracking->stabilization.rot_track == track)
tracking->stabilization.rot_track = act_track;
- BKE_tracking_free_track(track);
+ BKE_tracking_track_free(track);
BLI_freelinkN(tracksbase, track);
}
@@ -3139,7 +2775,7 @@ void CLIP_OT_join_tracks(wmOperatorType *ot)
/* api callbacks */
ot->exec = join_tracks_exec;
- ot->poll = ED_space_clip_tracking_size_poll;
+ ot->poll = ED_space_clip_tracking_poll;
/* flags */
ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
@@ -3152,7 +2788,7 @@ static int lock_tracks_exec(bContext *C, wmOperator *op)
SpaceClip *sc = CTX_wm_space_clip(C);
MovieClip *clip = ED_space_clip(sc);
MovieTracking *tracking = &clip->tracking;
- ListBase *tracksbase = BKE_tracking_get_tracks(tracking);
+ ListBase *tracksbase = BKE_tracking_get_active_tracks(tracking);
MovieTrackingTrack *track = tracksbase->first;
int action = RNA_enum_get(op->ptr, "action");
@@ -3176,10 +2812,10 @@ static int lock_tracks_exec(bContext *C, wmOperator *op)
void CLIP_OT_lock_tracks(wmOperatorType *ot)
{
static EnumPropertyItem actions_items[] = {
- {0, "LOCK", 0, "Lock", "Lock selected tracks"},
- {1, "UNLOCK", 0, "Unlock", "Unlock selected tracks"},
- {2, "TOGGLE", 0, "Toggle", "Toggle locked flag for selected tracks"},
- {0, NULL, 0, NULL, NULL}
+ {0, "LOCK", 0, "Lock", "Lock selected tracks"},
+ {1, "UNLOCK", 0, "Unlock", "Unlock selected tracks"},
+ {2, "TOGGLE", 0, "Toggle", "Toggle locked flag for selected tracks"},
+ {0, NULL, 0, NULL, NULL}
};
/* identifiers */
@@ -3205,8 +2841,8 @@ static int track_copy_color_exec(bContext *C, wmOperator *UNUSED(op))
SpaceClip *sc = CTX_wm_space_clip(C);
MovieClip *clip = ED_space_clip(sc);
MovieTracking *tracking = &clip->tracking;
- ListBase *tracksbase = BKE_tracking_get_tracks(tracking);
- MovieTrackingTrack *track, *act_track = BKE_tracking_active_track(tracking);
+ ListBase *tracksbase = BKE_tracking_get_active_tracks(tracking);
+ MovieTrackingTrack *track, *act_track = BKE_tracking_track_get_active(tracking);
if (!act_track)
return OPERATOR_CANCELLED;
@@ -3252,7 +2888,7 @@ static int stabilize_2d_add_exec(bContext *C, wmOperator *UNUSED(op))
SpaceClip *sc = CTX_wm_space_clip(C);
MovieClip *clip = ED_space_clip(sc);
MovieTracking *tracking = &clip->tracking;
- ListBase *tracksbase = BKE_tracking_get_tracks(tracking);
+ ListBase *tracksbase = BKE_tracking_get_active_tracks(tracking);
MovieTrackingTrack *track;
MovieTrackingStabilization *stab = &tracking->stabilization;
int update = 0;
@@ -3302,7 +2938,7 @@ static int stabilize_2d_remove_exec(bContext *C, wmOperator *UNUSED(op))
MovieClip *clip = ED_space_clip(sc);
MovieTracking *tracking = &clip->tracking;
MovieTrackingStabilization *stab = &tracking->stabilization;
- ListBase *tracksbase = BKE_tracking_get_tracks(tracking);
+ ListBase *tracksbase = BKE_tracking_get_active_tracks(tracking);
MovieTrackingTrack *track;
int a = 0, update = 0;
@@ -3361,14 +2997,14 @@ static int stabilize_2d_select_exec(bContext *C, wmOperator *UNUSED(op))
SpaceClip *sc = CTX_wm_space_clip(C);
MovieClip *clip = ED_space_clip(sc);
MovieTracking *tracking = &clip->tracking;
- ListBase *tracksbase = BKE_tracking_get_tracks(tracking);
+ ListBase *tracksbase = BKE_tracking_get_active_tracks(tracking);
MovieTrackingTrack *track;
int update = 0;
track = tracksbase->first;
while (track) {
if (track->flag & TRACK_USE_2D_STAB) {
- BKE_tracking_track_flag(track, TRACK_AREA_ALL, SELECT, 0);
+ BKE_tracking_track_flag_set(track, TRACK_AREA_ALL, SELECT);
update = 1;
}
@@ -3404,7 +3040,7 @@ static int stabilize_2d_set_rotation_exec(bContext *C, wmOperator *UNUSED(op))
SpaceClip *sc = CTX_wm_space_clip(C);
MovieClip *clip = ED_space_clip(sc);
MovieTracking *tracking = &clip->tracking;
- MovieTrackingTrack *act_track = BKE_tracking_active_track(tracking);
+ MovieTrackingTrack *act_track = BKE_tracking_track_get_active(tracking);
if (act_track) {
MovieTrackingStabilization *stab = &tracking->stabilization;
@@ -3444,7 +3080,7 @@ static int is_track_clean(MovieTrackingTrack *track, int frames, int del)
int markersnr = track->markersnr;
if (del)
- new_markers = MEM_callocN(markersnr*sizeof(MovieTrackingMarker), "track cleaned markers");
+ new_markers = MEM_callocN(markersnr * sizeof(MovieTrackingMarker), "track cleaned markers");
for (a = 0; a < markersnr; a++) {
int end = 0;
@@ -3534,8 +3170,8 @@ static int clean_tracks_exec(bContext *C, wmOperator *op)
SpaceClip *sc = CTX_wm_space_clip(C);
MovieClip *clip = ED_space_clip(sc);
MovieTracking *tracking = &clip->tracking;
- ListBase *tracksbase = BKE_tracking_get_tracks(tracking);
- MovieTrackingTrack *track, *next, *act_track = BKE_tracking_active_track(tracking);
+ ListBase *tracksbase = BKE_tracking_get_active_tracks(tracking);
+ MovieTrackingTrack *track, *next, *act_track = BKE_tracking_track_get_active(tracking);
int frames = RNA_int_get(op->ptr, "frames");
int action = RNA_enum_get(op->ptr, "action");
float error = RNA_float_get(op->ptr, "error");
@@ -3551,17 +3187,17 @@ static int clean_tracks_exec(bContext *C, wmOperator *op)
int ok = 1;
ok = (is_track_clean(track, frames, action == TRACKING_CLEAN_DELETE_SEGMENT)) &&
- (error == 0.0f || (track->flag & TRACK_HAS_BUNDLE) == 0 || track->error < error);
+ (error == 0.0f || (track->flag & TRACK_HAS_BUNDLE) == 0 || track->error < error);
if (!ok) {
if (action == TRACKING_CLEAN_SELECT) {
- BKE_tracking_track_flag(track, TRACK_AREA_ALL, SELECT, 0);
+ BKE_tracking_track_flag_set(track, TRACK_AREA_ALL, SELECT);
}
else if (action == TRACKING_CLEAN_DELETE_TRACK) {
if (track == act_track)
clip->tracking.act_track = NULL;
- BKE_tracking_free_track(track);
+ BKE_tracking_track_free(track);
BLI_freelinkN(tracksbase, track);
track = NULL;
}
@@ -3571,7 +3207,7 @@ static int clean_tracks_exec(bContext *C, wmOperator *op)
if (track == act_track)
clip->tracking.act_track = NULL;
- BKE_tracking_free_track(track);
+ BKE_tracking_track_free(track);
BLI_freelinkN(tracksbase, track);
}
}
@@ -3605,10 +3241,10 @@ static int clean_tracks_invoke(bContext *C, wmOperator *op, wmEvent *UNUSED(even
void CLIP_OT_clean_tracks(wmOperatorType *ot)
{
static EnumPropertyItem actions_items[] = {
- {TRACKING_CLEAN_SELECT, "SELECT", 0, "Select", "Select unclean tracks"},
- {TRACKING_CLEAN_DELETE_TRACK, "DELETE_TRACK", 0, "Delete Track", "Delete unclean tracks"},
- {TRACKING_CLEAN_DELETE_SEGMENT, "DELETE_SEGMENTS", 0, "Delete Segments", "Delete unclean segments of tracks"},
- {0, NULL, 0, NULL, NULL}
+ {TRACKING_CLEAN_SELECT, "SELECT", 0, "Select", "Select unclean tracks"},
+ {TRACKING_CLEAN_DELETE_TRACK, "DELETE_TRACK", 0, "Delete Track", "Delete unclean tracks"},
+ {TRACKING_CLEAN_DELETE_SEGMENT, "DELETE_SEGMENTS", 0, "Delete Segments", "Delete unclean segments of tracks"},
+ {0, NULL, 0, NULL, NULL}
};
/* identifiers */
@@ -3640,7 +3276,7 @@ static int tracking_object_new_exec(bContext *C, wmOperator *UNUSED(op))
MovieClip *clip = ED_space_clip(sc);
MovieTracking *tracking = &clip->tracking;
- BKE_tracking_new_object(tracking, "Object");
+ BKE_tracking_object_add(tracking, "Object");
WM_event_add_notifier(C, NC_MOVIECLIP | NA_EDITED, clip);
@@ -3671,14 +3307,14 @@ static int tracking_object_remove_exec(bContext *C, wmOperator *op)
MovieTracking *tracking = &clip->tracking;
MovieTrackingObject *object;
- object = BKE_tracking_active_object(tracking);
+ object = BKE_tracking_object_get_active(tracking);
if (object->flag & TRACKING_OBJECT_CAMERA) {
BKE_report(op->reports, RPT_WARNING, "Object used for camera tracking can't be deleted");
return OPERATOR_CANCELLED;
}
- BKE_tracking_remove_object(tracking, object);
+ BKE_tracking_object_delete(tracking, object);
WM_event_add_notifier(C, NC_MOVIECLIP | NA_EDITED, clip);
@@ -3707,7 +3343,7 @@ static int copy_tracks_exec(bContext *C, wmOperator *UNUSED(op))
SpaceClip *sc = CTX_wm_space_clip(C);
MovieClip *clip = ED_space_clip(sc);
MovieTracking *tracking = &clip->tracking;
- MovieTrackingObject *object = BKE_tracking_active_object(tracking);
+ MovieTrackingObject *object = BKE_tracking_object_get_active(tracking);
clear_invisible_track_selection(sc, clip);
@@ -3747,7 +3383,7 @@ static int paste_tracks_exec(bContext *C, wmOperator *UNUSED(op))
SpaceClip *sc = CTX_wm_space_clip(C);
MovieClip *clip = ED_space_clip(sc);
MovieTracking *tracking = &clip->tracking;
- MovieTrackingObject *object = BKE_tracking_active_object(tracking);
+ MovieTrackingObject *object = BKE_tracking_object_get_active(tracking);
BKE_tracking_clipboard_paste_tracks(tracking, object);
diff --git a/source/blender/editors/space_clip/tracking_select.c b/source/blender/editors/space_clip/tracking_select.c
new file mode 100644
index 00000000000..640af498c1f
--- /dev/null
+++ b/source/blender/editors/space_clip/tracking_select.c
@@ -0,0 +1,783 @@
+/*
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * The Original Code is Copyright (C) 2011 Blender Foundation.
+ * All rights reserved.
+ *
+ *
+ * Contributor(s): Blender Foundation,
+ * Sergey Sharybin
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file blender/editors/space_clip/tracking_select.c
+ * \ingroup spclip
+ */
+
+#include "MEM_guardedalloc.h"
+
+#include "DNA_camera_types.h"
+#include "DNA_constraint_types.h"
+#include "DNA_gpencil_types.h"
+#include "DNA_movieclip_types.h"
+#include "DNA_object_types.h" /* SELECT */
+#include "DNA_scene_types.h"
+
+#include "BLI_utildefines.h"
+#include "BLI_math.h"
+#include "BLI_listbase.h"
+#include "BLI_rect.h"
+#include "BLI_lasso.h"
+#include "BLI_blenlib.h"
+
+#include "BKE_main.h"
+#include "BKE_context.h"
+#include "BKE_constraint.h"
+#include "BKE_movieclip.h"
+#include "BKE_tracking.h"
+#include "BKE_global.h"
+#include "BKE_depsgraph.h"
+#include "BKE_object.h"
+#include "BKE_report.h"
+#include "BKE_scene.h"
+#include "BKE_library.h"
+#include "BKE_sound.h"
+
+#include "WM_api.h"
+#include "WM_types.h"
+
+#include "ED_screen.h"
+#include "ED_clip.h"
+#include "ED_keyframing.h"
+
+#include "IMB_imbuf_types.h"
+#include "IMB_imbuf.h"
+
+#include "UI_interface.h"
+
+#include "RNA_access.h"
+#include "RNA_define.h"
+
+#include "PIL_time.h"
+
+#include "UI_view2d.h"
+
+#include "clip_intern.h" // own include
+
+static float dist_to_crns(float co[2], float pos[2], float crns[4][2]);
+
+/********************** mouse select operator *********************/
+
+static int mouse_on_side(float co[2], float x1, float y1, float x2, float y2, float epsx, float epsy)
+{
+ if (x1 > x2)
+
+ SWAP(float, x1, x2);
+
+ if (y1 > y2)
+ SWAP(float, y1, y2);
+
+ return (co[0] >= x1 - epsx && co[0] <= x2 + epsx) && (co[1] >= y1 - epsy && co[1] <= y2 + epsy);
+}
+
+static int mouse_on_rect(float co[2], float pos[2], float min[2], float max[2], float epsx, float epsy)
+{
+ return mouse_on_side(co, pos[0] + min[0], pos[1] + min[1], pos[0] + max[0], pos[1] + min[1], epsx, epsy) ||
+ mouse_on_side(co, pos[0] + min[0], pos[1] + min[1], pos[0] + min[0], pos[1] + max[1], epsx, epsy) ||
+ mouse_on_side(co, pos[0] + min[0], pos[1] + max[1], pos[0] + max[0], pos[1] + max[1], epsx, epsy) ||
+ mouse_on_side(co, pos[0] + max[0], pos[1] + min[1], pos[0] + max[0], pos[1] + max[1], epsx, epsy);
+}
+
+static int mouse_on_crns(float co[2], float pos[2], float crns[4][2], float epsx, float epsy)
+{
+ float dist = dist_to_crns(co, pos, crns);
+
+ return dist < MAX2(epsx, epsy);
+}
+
+static int track_mouse_area(SpaceClip *sc, float co[2], MovieTrackingTrack *track)
+{
+ int framenr = ED_space_clip_clip_framenr(sc);
+ MovieTrackingMarker *marker = BKE_tracking_marker_get(track, framenr);
+ float pat_min[2], pat_max[2];
+ float epsx, epsy;
+ int width, height;
+
+ ED_space_clip_size(sc, &width, &height);
+
+ BKE_tracking_marker_pattern_minmax(marker, pat_min, pat_max);
+
+ epsx = MIN4(pat_min[0] - marker->search_min[0], marker->search_max[0] - pat_max[0],
+ fabsf(pat_min[0]), fabsf(pat_max[0])) / 2;
+ epsy = MIN4(pat_min[1] - marker->search_min[1], marker->search_max[1] - pat_max[1],
+ fabsf(pat_min[1]), fabsf(pat_max[1])) / 2;
+
+ epsx = MAX2(epsx, 2.0f / width);
+ epsy = MAX2(epsy, 2.0f / height);
+
+ if (sc->flag & SC_SHOW_MARKER_SEARCH) {
+ if (mouse_on_rect(co, marker->pos, marker->search_min, marker->search_max, epsx, epsy))
+ return TRACK_AREA_SEARCH;
+ }
+
+ if ((marker->flag & MARKER_DISABLED) == 0) {
+ if (sc->flag & SC_SHOW_MARKER_PATTERN)
+ if (mouse_on_crns(co, marker->pos, marker->pattern_corners, epsx, epsy))
+ return TRACK_AREA_PAT;
+
+ epsx = 12.0f / width;
+ epsy = 12.0f / height;
+
+ if (fabsf(co[0] - marker->pos[0] - track->offset[0]) < epsx &&
+ fabsf(co[1] - marker->pos[1] - track->offset[1]) <= epsy)
+ {
+ return TRACK_AREA_POINT;
+ }
+ }
+
+ return TRACK_AREA_NONE;
+}
+
+static float dist_to_rect(float co[2], float pos[2], float min[2], float max[2])
+{
+ float d1, d2, d3, d4;
+ float p[2] = {co[0] - pos[0], co[1] - pos[1]};
+ float v1[2] = {min[0], min[1]}, v2[2] = {max[0], min[1]};
+ float v3[2] = {max[0], max[1]}, v4[2] = {min[0], max[1]};
+
+ d1 = dist_to_line_segment_v2(p, v1, v2);
+ d2 = dist_to_line_segment_v2(p, v2, v3);
+ d3 = dist_to_line_segment_v2(p, v3, v4);
+ d4 = dist_to_line_segment_v2(p, v4, v1);
+
+ return MIN4(d1, d2, d3, d4);
+}
+
+static float dist_to_crns(float co[2], float pos[2], float crns[4][2])
+{
+ float d1, d2, d3, d4;
+ float p[2] = {co[0] - pos[0], co[1] - pos[1]};
+ float *v1 = crns[0], *v2 = crns[1];
+ float *v3 = crns[2], *v4 = crns[3];
+
+ d1 = dist_to_line_segment_v2(p, v1, v2);
+ d2 = dist_to_line_segment_v2(p, v2, v3);
+ d3 = dist_to_line_segment_v2(p, v3, v4);
+ d4 = dist_to_line_segment_v2(p, v4, v1);
+
+ return MIN4(d1, d2, d3, d4);
+}
+
+static MovieTrackingTrack *find_nearest_track(SpaceClip *sc, ListBase *tracksbase, float co[2])
+{
+ MovieTrackingTrack *track = NULL, *cur;
+ float mindist = 0.0f;
+ int framenr = ED_space_clip_clip_framenr(sc);
+
+ cur = tracksbase->first;
+ while (cur) {
+ MovieTrackingMarker *marker = BKE_tracking_marker_get(cur, framenr);
+
+ if (((cur->flag & TRACK_HIDDEN) == 0) && MARKER_VISIBLE(sc, cur, marker)) {
+ float dist, d1, d2 = FLT_MAX, d3 = FLT_MAX;
+
+ /* distance to marker point */
+ d1 = sqrtf((co[0] - marker->pos[0] - cur->offset[0]) * (co[0] - marker->pos[0] - cur->offset[0]) +
+ (co[1] - marker->pos[1] - cur->offset[1]) * (co[1] - marker->pos[1] - cur->offset[1]));
+
+ /* distance to pattern boundbox */
+ if (sc->flag & SC_SHOW_MARKER_PATTERN)
+ d2 = dist_to_crns(co, marker->pos, marker->pattern_corners);
+
+ /* distance to search boundbox */
+ if (sc->flag & SC_SHOW_MARKER_SEARCH && TRACK_VIEW_SELECTED(sc, cur))
+ d3 = dist_to_rect(co, marker->pos, marker->search_min, marker->search_max);
+
+ /* choose minimal distance. useful for cases of overlapped markers. */
+ dist = MIN3(d1, d2, d3);
+
+ if (track == NULL || dist < mindist) {
+ track = cur;
+ mindist = dist;
+ }
+ }
+
+ cur = cur->next;
+ }
+
+ return track;
+}
+
+static int mouse_select(bContext *C, float co[2], int extend)
+{
+ SpaceClip *sc = CTX_wm_space_clip(C);
+ MovieClip *clip = ED_space_clip(sc);
+ MovieTracking *tracking = &clip->tracking;
+ ListBase *tracksbase = BKE_tracking_get_active_tracks(tracking);
+ MovieTrackingTrack *act_track = BKE_tracking_track_get_active(tracking);
+ MovieTrackingTrack *track = NULL; /* selected marker */
+
+ track = find_nearest_track(sc, tracksbase, co);
+
+ if (track) {
+ int area = track_mouse_area(sc, co, track);
+
+ if (!extend || !TRACK_VIEW_SELECTED(sc, track))
+ area = TRACK_AREA_ALL;
+
+ if (extend && TRACK_AREA_SELECTED(track, area)) {
+ if (track == act_track)
+ BKE_tracking_track_deselect(track, area);
+ else
+ clip->tracking.act_track = track;
+ }
+ else {
+ if (area == TRACK_AREA_POINT)
+ area = TRACK_AREA_ALL;
+
+ BKE_tracking_track_select(tracksbase, track, area, extend);
+ clip->tracking.act_track = track;
+ }
+ }
+
+ if (!extend) {
+ sc->xlockof = 0.0f;
+ sc->ylockof = 0.0f;
+ }
+
+ BKE_tracking_dopesheet_tag_update(tracking);
+
+ WM_event_add_notifier(C, NC_GEOM | ND_SELECT, NULL);
+
+ return OPERATOR_FINISHED;
+}
+
+static int select_exec(bContext *C, wmOperator *op)
+{
+ float co[2];
+ int extend;
+
+ RNA_float_get_array(op->ptr, "location", co);
+ extend = RNA_boolean_get(op->ptr, "extend");
+
+ return mouse_select(C, co, extend);
+}
+
+static int select_invoke(bContext *C, wmOperator *op, wmEvent *event)
+{
+ float co[2];
+ int extend = RNA_boolean_get(op->ptr, "extend");
+
+ if (!extend) {
+ MovieTrackingTrack *track = tracking_marker_check_slide(C, event, NULL, NULL, NULL);
+
+ if (track) {
+ SpaceClip *sc = CTX_wm_space_clip(C);
+ MovieClip *clip = ED_space_clip(sc);
+
+ clip->tracking.act_track = track;
+
+ WM_event_add_notifier(C, NC_GEOM | ND_SELECT, NULL);
+
+ return OPERATOR_PASS_THROUGH;
+ }
+ }
+
+ ED_clip_mouse_pos(C, event, co);
+ RNA_float_set_array(op->ptr, "location", co);
+
+ return select_exec(C, op);
+}
+
+void CLIP_OT_select(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name = "Select";
+ ot->description = "Select tracking markers";
+ ot->idname = "CLIP_OT_select";
+
+ /* api callbacks */
+ ot->exec = select_exec;
+ ot->invoke = select_invoke;
+ //ot->poll = ED_space_clip_tracking_poll; // so mask view can Ctrl+RMB markers
+ ot->poll = ED_space_clip_view_clip_poll;
+
+ /* flags */
+ ot->flag = OPTYPE_UNDO;
+
+ /* properties */
+ RNA_def_boolean(ot->srna, "extend", 0,
+ "Extend", "Extend selection rather than clearing the existing selection");
+ RNA_def_float_vector(ot->srna, "location", 2, NULL, -FLT_MAX, FLT_MAX,
+ "Location", "Mouse location in normalized coordinates, 0.0 to 1.0 is within the image bounds", -100.0f, 100.0f);
+}
+
+/********************** border select operator *********************/
+
+static int border_select_exec(bContext *C, wmOperator *op)
+{
+ SpaceClip *sc = CTX_wm_space_clip(C);
+ MovieClip *clip = ED_space_clip(sc);
+ MovieTracking *tracking = &clip->tracking;
+ MovieTrackingTrack *track;
+ ListBase *tracksbase = BKE_tracking_get_active_tracks(tracking);
+ rcti rect;
+ rctf rectf;
+ int change = FALSE, mode, extend;
+ int framenr = ED_space_clip_clip_framenr(sc);
+
+ /* get rectangle from operator */
+ rect.xmin = RNA_int_get(op->ptr, "xmin");
+ rect.ymin = RNA_int_get(op->ptr, "ymin");
+ rect.xmax = RNA_int_get(op->ptr, "xmax");
+ rect.ymax = RNA_int_get(op->ptr, "ymax");
+
+ ED_clip_point_stable_pos(C, rect.xmin, rect.ymin, &rectf.xmin, &rectf.ymin);
+ ED_clip_point_stable_pos(C, rect.xmax, rect.ymax, &rectf.xmax, &rectf.ymax);
+
+ mode = RNA_int_get(op->ptr, "gesture_mode");
+ extend = RNA_boolean_get(op->ptr, "extend");
+
+ /* do actual selection */
+ track = tracksbase->first;
+ while (track) {
+ if ((track->flag & TRACK_HIDDEN) == 0) {
+ MovieTrackingMarker *marker = BKE_tracking_marker_get(track, framenr);
+
+ if (MARKER_VISIBLE(sc, track, marker)) {
+ if (BLI_in_rctf(&rectf, marker->pos[0], marker->pos[1])) {
+ if (mode == GESTURE_MODAL_SELECT)
+ BKE_tracking_track_flag_set(track, TRACK_AREA_ALL, SELECT);
+ else
+ BKE_tracking_track_flag_clear(track, TRACK_AREA_ALL, SELECT);
+ }
+ else if (!extend) {
+ BKE_tracking_track_flag_clear(track, TRACK_AREA_ALL, SELECT);
+ }
+
+ change = TRUE;
+ }
+ }
+
+ track = track->next;
+ }
+
+ if (change) {
+ BKE_tracking_dopesheet_tag_update(tracking);
+
+ WM_event_add_notifier(C, NC_GEOM | ND_SELECT, NULL);
+
+ return OPERATOR_FINISHED;
+ }
+
+ return OPERATOR_CANCELLED;
+}
+
+void CLIP_OT_select_border(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name = "Border Select";
+ ot->description = "Select markers using border selection";
+ ot->idname = "CLIP_OT_select_border";
+
+ /* api callbacks */
+ ot->invoke = WM_border_select_invoke;
+ ot->exec = border_select_exec;
+ ot->modal = WM_border_select_modal;
+ ot->poll = ED_space_clip_tracking_poll;
+
+ /* flags */
+ ot->flag = OPTYPE_UNDO;
+
+ /* properties */
+ WM_operator_properties_gesture_border(ot, TRUE);
+}
+
+/********************** lasso select operator *********************/
+
+static int do_lasso_select_marker(bContext *C, int mcords[][2], short moves, short select)
+{
+ ARegion *ar = CTX_wm_region(C);
+ SpaceClip *sc = CTX_wm_space_clip(C);
+ MovieClip *clip = ED_space_clip(sc);
+ MovieTracking *tracking = &clip->tracking;
+ MovieTrackingTrack *track;
+ ListBase *tracksbase = BKE_tracking_get_active_tracks(tracking);
+ rcti rect;
+ int change = FALSE;
+ int framenr = ED_space_clip_clip_framenr(sc);
+
+ /* get rectangle from operator */
+ BLI_lasso_boundbox(&rect, mcords, moves);
+
+ /* do actual selection */
+ track = tracksbase->first;
+ while (track) {
+ if ((track->flag & TRACK_HIDDEN) == 0) {
+ MovieTrackingMarker *marker = BKE_tracking_marker_get(track, framenr);
+
+ if (MARKER_VISIBLE(sc, track, marker)) {
+ float screen_co[2];
+
+ /* marker in screen coords */
+ ED_clip_point_stable_pos__reverse(sc, ar, marker->pos, screen_co);
+
+ if (BLI_in_rcti(&rect, screen_co[0], screen_co[1]) &&
+ BLI_lasso_is_point_inside(mcords, moves, screen_co[0], screen_co[1], V2D_IS_CLIPPED))
+ {
+ if (select)
+ BKE_tracking_track_flag_set(track, TRACK_AREA_ALL, SELECT);
+ else
+ BKE_tracking_track_flag_clear(track, TRACK_AREA_ALL, SELECT);
+ }
+
+ change = TRUE;
+ }
+ }
+
+ track = track->next;
+ }
+
+ if (change) {
+ BKE_tracking_dopesheet_tag_update(tracking);
+
+ WM_event_add_notifier(C, NC_GEOM | ND_SELECT, NULL);
+ }
+
+ return change;
+}
+
+static int clip_lasso_select_exec(bContext *C, wmOperator *op)
+{
+ int mcords_tot;
+ int (*mcords)[2] = WM_gesture_lasso_path_to_array(C, op, &mcords_tot);
+
+ if (mcords) {
+ short select;
+
+ select = !RNA_boolean_get(op->ptr, "deselect");
+ do_lasso_select_marker(C, mcords, mcords_tot, select);
+
+ MEM_freeN(mcords);
+
+ return OPERATOR_FINISHED;
+ }
+ return OPERATOR_PASS_THROUGH;
+}
+
+void CLIP_OT_select_lasso(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name = "Lasso Select";
+ ot->description = "Select markers using lasso selection";
+ ot->idname = "CLIP_OT_select_lasso";
+
+ /* api callbacks */
+ ot->invoke = WM_gesture_lasso_invoke;
+ ot->modal = WM_gesture_lasso_modal;
+ ot->exec = clip_lasso_select_exec;
+ ot->poll = ED_space_clip_tracking_poll;
+ ot->cancel = WM_gesture_lasso_cancel;
+
+ /* flags */
+ ot->flag = OPTYPE_UNDO;
+
+ /* properties */
+ RNA_def_collection_runtime(ot->srna, "path", &RNA_OperatorMousePath, "Path", "");
+ RNA_def_boolean(ot->srna, "deselect", 0, "Deselect", "Deselect rather than select items");
+ RNA_def_boolean(ot->srna, "extend", 1, "Extend", "Extend selection instead of deselecting everything first");
+}
+
+/********************** circle select operator *********************/
+
+static int marker_inside_ellipse(MovieTrackingMarker *marker, float offset[2], float ellipse[2])
+{
+ /* normalized ellipse: ell[0] = scaleX, ell[1] = scaleY */
+ float x, y;
+
+ x = (marker->pos[0] - offset[0]) * ellipse[0];
+ y = (marker->pos[1] - offset[1]) * ellipse[1];
+
+ return x * x + y * y < 1.0f;
+}
+
+static int circle_select_exec(bContext *C, wmOperator *op)
+{
+ SpaceClip *sc = CTX_wm_space_clip(C);
+ MovieClip *clip = ED_space_clip(sc);
+ ARegion *ar = CTX_wm_region(C);
+ MovieTracking *tracking = &clip->tracking;
+ MovieTrackingTrack *track;
+ ListBase *tracksbase = BKE_tracking_get_active_tracks(tracking);
+ int x, y, radius, width, height, mode, change = FALSE;
+ float zoomx, zoomy, offset[2], ellipse[2];
+ int framenr = ED_space_clip_clip_framenr(sc);
+
+ /* get operator properties */
+ x = RNA_int_get(op->ptr, "x");
+ y = RNA_int_get(op->ptr, "y");
+ radius = RNA_int_get(op->ptr, "radius");
+
+ mode = RNA_int_get(op->ptr, "gesture_mode");
+
+ /* compute ellipse and position in unified coordinates */
+ ED_space_clip_size(sc, &width, &height);
+ ED_space_clip_zoom(sc, ar, &zoomx, &zoomy);
+
+ ellipse[0] = width * zoomx / radius;
+ ellipse[1] = height * zoomy / radius;
+
+ ED_clip_point_stable_pos(C, x, y, &offset[0], &offset[1]);
+
+ /* do selection */
+ track = tracksbase->first;
+ while (track) {
+ if ((track->flag & TRACK_HIDDEN) == 0) {
+ MovieTrackingMarker *marker = BKE_tracking_marker_get(track, framenr);
+
+ if (MARKER_VISIBLE(sc, track, marker) && marker_inside_ellipse(marker, offset, ellipse)) {
+ if (mode == GESTURE_MODAL_SELECT)
+ BKE_tracking_track_flag_set(track, TRACK_AREA_ALL, SELECT);
+ else
+ BKE_tracking_track_flag_clear(track, TRACK_AREA_ALL, SELECT);
+
+ change = TRUE;
+ }
+ }
+
+ track = track->next;
+ }
+
+ if (change) {
+ BKE_tracking_dopesheet_tag_update(tracking);
+
+ WM_event_add_notifier(C, NC_GEOM | ND_SELECT, NULL);
+
+ return OPERATOR_FINISHED;
+ }
+
+ return OPERATOR_CANCELLED;
+}
+
+void CLIP_OT_select_circle(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name = "Circle Select";
+ ot->description = "Select markers using circle selection";
+ ot->idname = "CLIP_OT_select_circle";
+
+ /* api callbacks */
+ ot->invoke = WM_gesture_circle_invoke;
+ ot->modal = WM_gesture_circle_modal;
+ ot->exec = circle_select_exec;
+ ot->poll = ED_space_clip_tracking_poll;
+
+ /* flags */
+ ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
+
+ /* properties */
+ RNA_def_int(ot->srna, "x", 0, INT_MIN, INT_MAX, "X", "", INT_MIN, INT_MAX);
+ RNA_def_int(ot->srna, "y", 0, INT_MIN, INT_MAX, "Y", "", INT_MIN, INT_MAX);
+ RNA_def_int(ot->srna, "radius", 0, INT_MIN, INT_MAX, "Radius", "", INT_MIN, INT_MAX);
+ RNA_def_int(ot->srna, "gesture_mode", 0, INT_MIN, INT_MAX, "Gesture Mode", "", INT_MIN, INT_MAX);
+}
+
+/********************** select all operator *********************/
+
+static int select_all_exec(bContext *C, wmOperator *op)
+{
+ SpaceClip *sc = CTX_wm_space_clip(C);
+ MovieClip *clip = ED_space_clip(sc);
+ MovieTracking *tracking = &clip->tracking;
+ MovieTrackingTrack *track = NULL; /* selected track */
+ MovieTrackingMarker *marker;
+ ListBase *tracksbase = BKE_tracking_get_active_tracks(tracking);
+ int action = RNA_enum_get(op->ptr, "action");
+ int framenr = ED_space_clip_clip_framenr(sc);
+ int has_selection = FALSE;
+
+ if (action == SEL_TOGGLE) {
+ action = SEL_SELECT;
+ track = tracksbase->first;
+ while (track) {
+ if (TRACK_VIEW_SELECTED(sc, track)) {
+ marker = BKE_tracking_marker_get(track, framenr);
+
+ if (MARKER_VISIBLE(sc, track, marker)) {
+ action = SEL_DESELECT;
+ break;
+ }
+ }
+
+ track = track->next;
+ }
+ }
+
+ track = tracksbase->first;
+ while (track) {
+ if ((track->flag & TRACK_HIDDEN) == 0) {
+ marker = BKE_tracking_marker_get(track, framenr);
+
+ if (MARKER_VISIBLE(sc, track, marker)) {
+ switch (action) {
+ case SEL_SELECT:
+ track->flag |= SELECT;
+ track->pat_flag |= SELECT;
+ track->search_flag |= SELECT;
+ break;
+ case SEL_DESELECT:
+ track->flag &= ~SELECT;
+ track->pat_flag &= ~SELECT;
+ track->search_flag &= ~SELECT;
+ break;
+ case SEL_INVERT:
+ track->flag ^= SELECT;
+ track->pat_flag ^= SELECT;
+ track->search_flag ^= SELECT;
+ break;
+ }
+ }
+ }
+
+ if (TRACK_VIEW_SELECTED(sc, track))
+ has_selection = TRUE;
+
+ track = track->next;
+ }
+
+ if (!has_selection)
+ sc->flag &= ~SC_LOCK_SELECTION;
+
+ BKE_tracking_dopesheet_tag_update(tracking);
+
+ WM_event_add_notifier(C, NC_GEOM | ND_SELECT, NULL);
+
+ return OPERATOR_FINISHED;
+}
+
+void CLIP_OT_select_all(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name = "(De)select All";
+ ot->description = "Change selection of all tracking markers";
+ ot->idname = "CLIP_OT_select_all";
+
+ /* api callbacks */
+ ot->exec = select_all_exec;
+ ot->poll = ED_space_clip_tracking_poll;
+
+ /* flags */
+ ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
+
+ WM_operator_properties_select_all(ot);
+}
+
+/********************** select grouped operator *********************/
+
+static int select_groped_exec(bContext *C, wmOperator *op)
+{
+ SpaceClip *sc = CTX_wm_space_clip(C);
+ MovieClip *clip = ED_space_clip(sc);
+ MovieTrackingTrack *track;
+ MovieTrackingMarker *marker;
+ MovieTracking *tracking = &clip->tracking;
+ ListBase *tracksbase = BKE_tracking_get_active_tracks(tracking);
+ int group = RNA_enum_get(op->ptr, "group");
+ int framenr = ED_space_clip_clip_framenr(sc);
+
+ track = tracksbase->first;
+ while (track) {
+ int ok = FALSE;
+
+ marker = BKE_tracking_marker_get(track, framenr);
+
+ if (group == 0) { /* Keyframed */
+ ok = marker->framenr == framenr && (marker->flag & MARKER_TRACKED) == 0;
+ }
+ else if (group == 1) { /* Estimated */
+ ok = marker->framenr != framenr;
+ }
+ else if (group == 2) { /* tracked */
+ ok = marker->framenr == framenr && (marker->flag & MARKER_TRACKED);
+ }
+ else if (group == 3) { /* locked */
+ ok = track->flag & TRACK_LOCKED;
+ }
+ else if (group == 4) { /* disabled */
+ ok = marker->flag & MARKER_DISABLED;
+ }
+ else if (group == 5) { /* color */
+ MovieTrackingTrack *act_track = BKE_tracking_track_get_active(tracking);
+
+ if (act_track) {
+ ok = (track->flag & TRACK_CUSTOMCOLOR) == (act_track->flag & TRACK_CUSTOMCOLOR);
+
+ if (ok && track->flag & TRACK_CUSTOMCOLOR)
+ ok = equals_v3v3(track->color, act_track->color);
+ }
+ }
+ else if (group == 6) { /* failed */
+ ok = (track->flag & TRACK_HAS_BUNDLE) == 0;
+ }
+
+ if (ok) {
+ track->flag |= SELECT;
+ if (sc->flag & SC_SHOW_MARKER_PATTERN)
+ track->pat_flag |= SELECT;
+ if (sc->flag & SC_SHOW_MARKER_SEARCH)
+ track->search_flag |= SELECT;
+ }
+
+ track = track->next;
+ }
+
+ BKE_tracking_dopesheet_tag_update(tracking);
+
+ WM_event_add_notifier(C, NC_MOVIECLIP | ND_DISPLAY, clip);
+
+ return OPERATOR_FINISHED;
+}
+
+void CLIP_OT_select_grouped(wmOperatorType *ot)
+{
+ static EnumPropertyItem select_group_items[] = {
+ {0, "KEYFRAMED", 0, "Keyframed tracks", "Select all keyframed tracks"},
+ {1, "ESTIMATED", 0, "Estimated tracks", "Select all estimated tracks"},
+ {2, "TRACKED", 0, "Tracked tracks", "Select all tracked tracks"},
+ {3, "LOCKED", 0, "Locked tracks", "Select all locked tracks"},
+ {4, "DISABLED", 0, "Disabled tracks", "Select all disabled tracks"},
+ {5, "COLOR", 0, "Tracks with same color", "Select all tracks with same color as active track"},
+ {6, "FAILED", 0, "Failed Tracks", "Select all tracks which failed to be reconstructed"},
+ {0, NULL, 0, NULL, NULL}
+ };
+
+ /* identifiers */
+ ot->name = "Select Grouped";
+ ot->description = "Select all tracks from specified group";
+ ot->idname = "CLIP_OT_select_grouped";
+
+ /* api callbacks */
+ ot->exec = select_groped_exec;
+ ot->poll = ED_space_clip_tracking_poll;
+
+ /* flags */
+ ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
+
+ /* proeprties */
+ RNA_def_enum(ot->srna, "group", select_group_items, TRACK_CLEAR_REMAINED, "Action", "Clear action to execute");
+}
diff --git a/source/blender/editors/space_console/console_intern.h b/source/blender/editors/space_console/console_intern.h
index c0abd094e62..3d30dcad710 100644
--- a/source/blender/editors/space_console/console_intern.h
+++ b/source/blender/editors/space_console/console_intern.h
@@ -54,6 +54,9 @@ void CONSOLE_OT_move(struct wmOperatorType *ot);
void CONSOLE_OT_delete(struct wmOperatorType *ot);
void CONSOLE_OT_insert(struct wmOperatorType *ot);
+void CONSOLE_OT_indent(struct wmOperatorType *ot);
+void CONSOLE_OT_unindent(struct wmOperatorType *ot);
+
void CONSOLE_OT_history_append(struct wmOperatorType *ot);
void CONSOLE_OT_scrollback_append(struct wmOperatorType *ot);
diff --git a/source/blender/editors/space_console/console_ops.c b/source/blender/editors/space_console/console_ops.c
index 5ed384d22af..7efcbcceb3c 100644
--- a/source/blender/editors/space_console/console_ops.c
+++ b/source/blender/editors/space_console/console_ops.c
@@ -364,9 +364,8 @@ static int console_insert_exec(bContext *C, wmOperator *op)
char *str = RNA_string_get_alloc(op->ptr, "text", NULL, 0);
int len;
- // XXX, alligned tab key hack
if (str[0] == '\t' && str[1] == '\0') {
- len = TAB_LENGTH - (ci->cursor % TAB_LENGTH);
+ len = TAB_LENGTH;
MEM_freeN(str);
str = MEM_mallocN(len + 1, "insert_exec");
memset(str, ' ', len);
@@ -430,6 +429,95 @@ void CONSOLE_OT_insert(wmOperatorType *ot)
RNA_def_property_flag(prop, PROP_SKIP_SAVE);
}
+static int console_indent_exec(bContext *C, wmOperator *UNUSED(op))
+{
+ SpaceConsole *sc = CTX_wm_space_console(C);
+ ARegion *ar = CTX_wm_region(C);
+ ConsoleLine *ci = console_history_verify(C);
+ int spaces;
+ int len;
+
+ for (spaces = 0; spaces < ci->len; spaces++) {
+ if (ci->line[spaces] != ' ')
+ break;
+ }
+
+ len = TAB_LENGTH - spaces % TAB_LENGTH;
+
+ console_line_verify_length(ci, ci->len + len);
+
+ memmove(ci->line + len, ci->line, ci->len);
+ memset(ci->line, ' ', len);
+ ci->len += len;
+ console_line_cursor_set(ci, ci->cursor + len);
+
+ console_textview_update_rect(sc, ar);
+ ED_area_tag_redraw(CTX_wm_area(C));
+
+ console_scroll_bottom(ar);
+
+ return OPERATOR_FINISHED;
+}
+
+void CONSOLE_OT_indent(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name = "Indent";
+ ot->description = "Add 4 spaces at line beginning";
+ ot->idname = "CONSOLE_OT_indent";
+
+ /* api callbacks */
+ ot->exec = console_indent_exec;
+ ot->poll = ED_operator_console_active;
+}
+
+static int console_unindent_exec(bContext *C, wmOperator *UNUSED(op))
+{
+ SpaceConsole *sc = CTX_wm_space_console(C);
+ ARegion *ar = CTX_wm_region(C);
+ ConsoleLine *ci = console_history_verify(C);
+ int spaces;
+ int len;
+
+ for (spaces = 0; spaces < ci->len; spaces++) {
+ if (ci->line[spaces] != ' ')
+ break;
+ }
+
+ if (spaces == 0)
+ return OPERATOR_CANCELLED;
+
+ len = spaces % TAB_LENGTH;
+ if (len == 0)
+ len = TAB_LENGTH;
+
+ console_line_verify_length(ci, ci->len - len);
+
+ memmove(ci->line, ci->line + len, (ci->len - len) + 1);
+ ci->len -= len;
+ console_line_cursor_set(ci, ci->cursor - len);
+
+ //console_select_offset(sc, -4);
+
+ console_textview_update_rect(sc, ar);
+ ED_area_tag_redraw(CTX_wm_area(C));
+
+ console_scroll_bottom(ar);
+
+ return OPERATOR_FINISHED;
+}
+
+void CONSOLE_OT_unindent(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name = "Unindent";
+ ot->description = "Delete 4 spaces from line beginning";
+ ot->idname = "CONSOLE_OT_unindent";
+
+ /* api callbacks */
+ ot->exec = console_unindent_exec;
+ ot->poll = ED_operator_console_active;
+}
static EnumPropertyItem console_delete_type_items[] = {
{DEL_NEXT_CHAR, "NEXT_CHARACTER", 0, "Next Character", ""},
@@ -757,7 +845,8 @@ void CONSOLE_OT_scrollback_append(wmOperatorType *ot)
{CONSOLE_LINE_INPUT, "INPUT", 0, "Input", ""},
{CONSOLE_LINE_INFO, "INFO", 0, "Information", ""},
{CONSOLE_LINE_ERROR, "ERROR", 0, "Error", ""},
- {0, NULL, 0, NULL, NULL}};
+ {0, NULL, 0, NULL, NULL}
+ };
/* identifiers */
ot->name = "Scrollback Append";
diff --git a/source/blender/editors/space_console/space_console.c b/source/blender/editors/space_console/space_console.c
index a25606db2b3..460b31d69bd 100644
--- a/source/blender/editors/space_console/space_console.c
+++ b/source/blender/editors/space_console/space_console.c
@@ -246,6 +246,9 @@ static void console_operatortypes(void)
WM_operatortype_append(CONSOLE_OT_move);
WM_operatortype_append(CONSOLE_OT_delete);
WM_operatortype_append(CONSOLE_OT_insert);
+
+ WM_operatortype_append(CONSOLE_OT_indent);
+ WM_operatortype_append(CONSOLE_OT_unindent);
/* for use by python only */
WM_operatortype_append(CONSOLE_OT_history_append);
@@ -332,7 +335,11 @@ static void console_keymap(struct wmKeyConfig *keyconf)
WM_keymap_add_item(keymap, "CONSOLE_OT_select_set", LEFTMOUSE, KM_PRESS, 0, 0);
- RNA_string_set(WM_keymap_add_item(keymap, "CONSOLE_OT_insert", TABKEY, KM_PRESS, 0, 0)->ptr, "text", "\t"); /* fake tabs */
+ RNA_string_set(WM_keymap_add_item(keymap, "CONSOLE_OT_insert", TABKEY, KM_PRESS, KM_CTRL, 0)->ptr, "text", "\t"); /* fake tabs */
+
+ WM_keymap_add_item(keymap, "CONSOLE_OT_indent", TABKEY, KM_PRESS, 0, 0);
+ WM_keymap_add_item(keymap, "CONSOLE_OT_unindent", TABKEY, KM_PRESS, KM_SHIFT, 0);
+
WM_keymap_add_item(keymap, "CONSOLE_OT_insert", KM_TEXTINPUT, KM_ANY, KM_ANY, 0); // last!
}
diff --git a/source/blender/editors/space_file/filelist.c b/source/blender/editors/space_file/filelist.c
index d84214413da..a535e888156 100644
--- a/source/blender/editors/space_file/filelist.c
+++ b/source/blender/editors/space_file/filelist.c
@@ -102,8 +102,7 @@ typedef struct ThumbnailJob {
ReportList reports;
} ThumbnailJob;
-typedef struct FileList
-{
+typedef struct FileList {
struct direntry *filelist;
int *fidx;
int numfiles;
@@ -124,8 +123,7 @@ typedef struct FileList
} FileList;
-typedef struct FolderList
-{
+typedef struct FolderList {
struct FolderList *next, *prev;
char *foldername;
} FolderList;
diff --git a/source/blender/editors/space_file/filelist.h b/source/blender/editors/space_file/filelist.h
index fac6a387b9f..7a37c5fb3c5 100644
--- a/source/blender/editors/space_file/filelist.h
+++ b/source/blender/editors/space_file/filelist.h
@@ -53,8 +53,7 @@ typedef enum FileSelType {
FILE_SEL_TOGGLE = 2
} FileSelType;
-typedef enum FileCheckType
-{
+typedef enum FileCheckType {
CHECK_DIRS = 1,
CHECK_FILES = 2,
CHECK_ALL = 3
diff --git a/source/blender/editors/space_graph/graph_edit.c b/source/blender/editors/space_graph/graph_edit.c
index 4b5f4f5cc2e..dbc66b81874 100644
--- a/source/blender/editors/space_graph/graph_edit.c
+++ b/source/blender/editors/space_graph/graph_edit.c
@@ -684,9 +684,16 @@ static short paste_graph_keys(bAnimContext *ac,
ListBase anim_data = {NULL, NULL};
int filter, ok = 0;
- /* filter data */
- filter = (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_CURVE_VISIBLE | ANIMFILTER_SEL | ANIMFILTER_FOREDIT | ANIMFILTER_NODUPLIS);
- ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
+ /* filter data
+ * - First time we try to filter more strictly, allowing only selected channels
+ * to allow copying animation between channels
+ * - Second time, we loosen things up if nothing was found the first time, allowing
+ * users to just paste keyframes back into the original curve again [#31670]
+ */
+ filter = (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_CURVE_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_NODUPLIS);
+
+ if (ANIM_animdata_filter(ac, &anim_data, filter | ANIMFILTER_SEL, ac->data, ac->datatype) == 0)
+ ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* paste keyframes */
ok = paste_animedit_keys(ac, &anim_data, offset_mode, merge_mode);
@@ -776,7 +783,8 @@ void GRAPH_OT_paste(wmOperatorType *ot)
/* flags */
ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
-
+
+ /* props */
RNA_def_enum(ot->srna, "offset", keyframe_paste_offset_items, KEYFRAME_PASTE_OFFSET_CFRA_START, "Offset", "Paste time offset of keys");
RNA_def_enum(ot->srna, "merge", keyframe_paste_merge_items, KEYFRAME_PASTE_MERGE_MIX, "Type", "Method of merging pasted keys and existing");
}
diff --git a/source/blender/editors/space_image/CMakeLists.txt b/source/blender/editors/space_image/CMakeLists.txt
index 3975a5f56f3..f397f2387d7 100644
--- a/source/blender/editors/space_image/CMakeLists.txt
+++ b/source/blender/editors/space_image/CMakeLists.txt
@@ -46,6 +46,10 @@ set(SRC
image_intern.h
)
+if(WITH_INTERNATIONAL)
+ add_definitions(-DWITH_INTERNATIONAL)
+endif()
+
if(WITH_IMAGE_OPENJPEG)
add_definitions(-DWITH_OPENJPEG)
endif()
diff --git a/source/blender/editors/space_image/SConscript b/source/blender/editors/space_image/SConscript
index 759d4592992..737da4aac74 100644
--- a/source/blender/editors/space_image/SConscript
+++ b/source/blender/editors/space_image/SConscript
@@ -9,6 +9,8 @@ incs += ' ../../bmesh ../../render/extern/include ../../makesrna ../../blenloade
defs = []
+if env['WITH_BF_INTERNATIONAL']:
+ defs.append('WITH_INTERNATIONAL')
if env['WITH_BF_OPENEXR']:
defs.append('WITH_OPENEXR')
if env['WITH_BF_OPENJPEG']:
diff --git a/source/blender/editors/space_image/image_buttons.c b/source/blender/editors/space_image/image_buttons.c
index de171bc45f8..332a2ecada4 100644
--- a/source/blender/editors/space_image/image_buttons.c
+++ b/source/blender/editors/space_image/image_buttons.c
@@ -44,6 +44,8 @@
#include "BLI_rand.h"
#include "BLI_utildefines.h"
+#include "BLF_translation.h"
+
#include "BKE_colortools.h"
#include "BKE_context.h"
#include "BKE_customdata.h"
@@ -104,36 +106,36 @@ static void image_info(Scene *scene, ImageUser *iuser, Image *ima, ImBuf *ibuf,
if (ima == NULL) return;
if (ibuf == NULL) {
- ofs += sprintf(str, "Can't Load Image");
+ ofs += sprintf(str, IFACE_("Can't Load Image"));
}
else {
if (ima->source == IMA_SRC_MOVIE) {
- ofs += sprintf(str, "Movie");
+ ofs += sprintf(str, IFACE_("Movie"));
if (ima->anim)
- ofs += sprintf(str + ofs, "%d frs", IMB_anim_get_duration(ima->anim, IMB_TC_RECORD_RUN));
+ ofs += sprintf(str + ofs, IFACE_("%d frs"), IMB_anim_get_duration(ima->anim, IMB_TC_RECORD_RUN));
}
else
- ofs += sprintf(str, "Image");
+ ofs += sprintf(str, IFACE_("Image"));
- ofs += sprintf(str + ofs, ": size %d x %d,", ibuf->x, ibuf->y);
+ ofs += sprintf(str + ofs, IFACE_(": size %d x %d,"), ibuf->x, ibuf->y);
if (ibuf->rect_float) {
if (ibuf->channels != 4) {
- ofs += sprintf(str + ofs, "%d float channel(s)", ibuf->channels);
+ ofs += sprintf(str + ofs, IFACE_("%d float channel(s)"), ibuf->channels);
}
else if (ibuf->planes == R_IMF_PLANES_RGBA)
- ofs += sprintf(str + ofs, " RGBA float");
+ ofs += sprintf(str + ofs, IFACE_(" RGBA float"));
else
- ofs += sprintf(str + ofs, " RGB float");
+ ofs += sprintf(str + ofs, IFACE_(" RGB float"));
}
else {
if (ibuf->planes == R_IMF_PLANES_RGBA)
- ofs += sprintf(str + ofs, " RGBA byte");
+ ofs += sprintf(str + ofs, IFACE_(" RGBA byte"));
else
- ofs += sprintf(str + ofs, " RGB byte");
+ ofs += sprintf(str + ofs, IFACE_(" RGB byte"));
}
if (ibuf->zbuf || ibuf->zbuf_float)
- ofs += sprintf(str + ofs, " + Z");
+ ofs += sprintf(str + ofs, IFACE_(" + Z"));
if (ima->source == IMA_SRC_SEQUENCE) {
char *file = BLI_last_slash(ibuf->name);
@@ -147,7 +149,7 @@ static void image_info(Scene *scene, ImageUser *iuser, Image *ima, ImBuf *ibuf,
if (ima->source == IMA_SRC_SEQUENCE) {
/* don't use iuser->framenr directly because it may not be updated if auto-refresh is off */
const int framenr = BKE_image_user_frame_get(iuser, CFRA, 0);
- ofs += sprintf(str + ofs, ", Frame: %d", framenr);
+ ofs += sprintf(str + ofs, IFACE_(", Frame: %d"), framenr);
}
(void)ofs;
@@ -357,11 +359,11 @@ static char *slot_menu(void)
str = MEM_callocN(IMA_MAX_RENDER_SLOT * 32, "menu slots");
- strcpy(str, "Slot %t");
+ strcpy(str, IFACE_("Slot %t"));
a = strlen(str);
for (slot = 0; slot < IMA_MAX_RENDER_SLOT; slot++)
- a += sprintf(str + a, "|Slot %d %%x%d", slot + 1, slot);
+ a += sprintf(str + a, IFACE_("|Slot %d %%x%d"), slot + 1, slot);
return str;
}
@@ -374,16 +376,16 @@ static char *layer_menu(RenderResult *rr, short *UNUSED(curlay))
short a, nr = 0;
char *str = MEM_callocN(len, "menu layers");
- strcpy(str, "Layer %t");
+ strcpy(str, IFACE_("Layer %t"));
a = strlen(str);
/* compo result */
if (rr->rectf) {
- a += sprintf(str + a, "|Composite %%x0");
+ a += sprintf(str + a, IFACE_("|Composite %%x0"));
nr = 1;
}
else if (rr->rect32) {
- a += sprintf(str + a, "|Sequence %%x0");
+ a += sprintf(str + a, IFACE_("|Sequence %%x0"));
nr = 1;
}
for (rl = rr->layers.first; rl; rl = rl->next, nr++) {
@@ -403,18 +405,18 @@ static char *pass_menu(RenderLayer *rl, short *curpass)
short a, nr = 0;
char *str = MEM_callocN(len, "menu layers");
- strcpy(str, "Pass %t");
+ strcpy(str, IFACE_("Pass %t"));
a = strlen(str);
/* rendered results don't have a Combined pass */
if (rl == NULL || rl->rectf) {
- a += sprintf(str + a, "|Combined %%x0");
+ a += sprintf(str + a, IFACE_("|Combined %%x0"));
nr = 1;
}
if (rl)
for (rpass = rl->passes.first; rpass; rpass = rpass->next, nr++)
- a += sprintf(str + a, "|%s %%x%d", rpass->name, nr);
+ a += sprintf(str + a, "|%s %%x%d", IFACE_(rpass->name), nr);
if (*curpass >= nr)
*curpass = 0;
@@ -422,18 +424,6 @@ static char *pass_menu(RenderLayer *rl, short *curpass)
return str;
}
-static void set_frames_cb(bContext *C, void *ima_v, void *iuser_v)
-{
- Scene *scene = CTX_data_scene(C);
- Image *ima = ima_v;
- ImageUser *iuser = iuser_v;
-
- if (ima->anim) {
- iuser->frames = IMB_anim_get_duration(ima->anim, IMB_TC_RECORD_RUN);
- BKE_image_user_frame_calc(iuser, scene->r.cfra, 0);
- }
-}
-
/* 5 layer button callbacks... */
static void image_multi_cb(bContext *C, void *rr_v, void *iuser_v)
{
@@ -532,14 +522,14 @@ static void uiblock_layer_pass_buttons(uiLayout *layout, RenderResult *rr, Image
/* menu buts */
if (render_slot) {
strp = slot_menu();
- but = uiDefButS(block, MENU, 0, strp, 0, 0, wmenu1, UI_UNIT_Y, render_slot, 0, 0, 0, 0, "Select Slot");
+ but = uiDefButS(block, MENU, 0, strp, 0, 0, wmenu1, UI_UNIT_Y, render_slot, 0, 0, 0, 0, TIP_("Select Slot"));
uiButSetFunc(but, image_multi_cb, rr, iuser);
MEM_freeN(strp);
}
if (rr) {
strp = layer_menu(rr, &iuser->layer);
- but = uiDefButS(block, MENU, 0, strp, 0, 0, wmenu2, UI_UNIT_Y, &iuser->layer, 0, 0, 0, 0, "Select Layer");
+ but = uiDefButS(block, MENU, 0, strp, 0, 0, wmenu2, UI_UNIT_Y, &iuser->layer, 0, 0, 0, 0, TIP_("Select Layer"));
uiButSetFunc(but, image_multi_cb, rr, iuser);
MEM_freeN(strp);
@@ -549,9 +539,9 @@ static void uiblock_layer_pass_buttons(uiLayout *layout, RenderResult *rr, Image
rl = BLI_findlink(&rr->layers, layer); /* return NULL is meant to be */
strp = pass_menu(rl, &iuser->pass);
- but = uiDefButS(block, MENU, 0, strp, 0, 0, wmenu3, UI_UNIT_Y, &iuser->pass, 0, 0, 0, 0, "Select Pass");
+ but = uiDefButS(block, MENU, 0, strp, 0, 0, wmenu3, UI_UNIT_Y, &iuser->pass, 0, 0, 0, 0, TIP_("Select Pass"));
uiButSetFunc(but, image_multi_cb, rr, iuser);
- MEM_freeN(strp);
+ MEM_freeN(strp);
}
}
@@ -567,22 +557,22 @@ static void uiblock_layer_pass_arrow_buttons(uiLayout *layout, RenderResult *rr,
if (rr == NULL || iuser == NULL)
return;
if (rr->layers.first == NULL) {
- uiItemL(row, "No Layers in Render Result", ICON_NONE);
+ uiItemL(row, IFACE_("No Layers in Render Result"), ICON_NONE);
return;
}
/* decrease, increase arrows */
- but = uiDefIconBut(block, BUT, 0, ICON_TRIA_LEFT, 0, 0, 17, 20, NULL, 0, 0, 0, 0, "Previous Layer");
+ but = uiDefIconBut(block, BUT, 0, ICON_TRIA_LEFT, 0, 0, 17, 20, NULL, 0, 0, 0, 0, TIP_("Previous Layer"));
uiButSetFunc(but, image_multi_declay_cb, rr, iuser);
- but = uiDefIconBut(block, BUT, 0, ICON_TRIA_RIGHT, 0, 0, 18, 20, NULL, 0, 0, 0, 0, "Next Layer");
+ but = uiDefIconBut(block, BUT, 0, ICON_TRIA_RIGHT, 0, 0, 18, 20, NULL, 0, 0, 0, 0, TIP_("Next Layer"));
uiButSetFunc(but, image_multi_inclay_cb, rr, iuser);
uiblock_layer_pass_buttons(row, rr, iuser, 230 * dpi_fac, render_slot);
/* decrease, increase arrows */
- but = uiDefIconBut(block, BUT, 0, ICON_TRIA_LEFT, 0, 0, 17, 20, NULL, 0, 0, 0, 0, "Previous Pass");
+ but = uiDefIconBut(block, BUT, 0, ICON_TRIA_LEFT, 0, 0, 17, 20, NULL, 0, 0, 0, 0, TIP_("Previous Pass"));
uiButSetFunc(but, image_multi_decpass_cb, rr, iuser);
- but = uiDefIconBut(block, BUT, 0, ICON_TRIA_RIGHT, 0, 0, 18, 20, NULL, 0, 0, 0, 0, "Next Pass");
+ but = uiDefIconBut(block, BUT, 0, ICON_TRIA_RIGHT, 0, 0, 18, 20, NULL, 0, 0, 0, 0, TIP_("Next Pass"));
uiButSetFunc(but, image_multi_incpass_cb, rr, iuser);
uiBlockEndAlign(block);
@@ -622,7 +612,6 @@ void uiTemplateImage(uiLayout *layout, bContext *C, PointerRNA *ptr, const char
Scene *scene = CTX_data_scene(C);
uiLayout *row, *split, *col;
uiBlock *block;
- uiBut *but;
char str[128];
void *lock;
@@ -648,12 +637,15 @@ void uiTemplateImage(uiLayout *layout, bContext *C, PointerRNA *ptr, const char
ima = imaptr.data;
iuser = userptr->data;
+ BKE_image_user_check_frame_calc(iuser, (int)scene->r.cfra, 0);
+
cb = MEM_callocN(sizeof(RNAUpdateCb), "RNAUpdateCb");
cb->ptr = *ptr;
cb->prop = prop;
cb->iuser = iuser;
uiLayoutSetContextPointer(layout, "edit_image", &imaptr);
+ uiLayoutSetContextPointer(layout, "edit_image_user", userptr);
if (!compact)
uiTemplateID(layout, C, ptr, propname, "IMAGE_OT_new", "IMAGE_OT_open", NULL);
@@ -744,7 +736,18 @@ void uiTemplateImage(uiLayout *layout, bContext *C, PointerRNA *ptr, const char
split = uiLayoutSplit(layout, 0, 0);
col = uiLayoutColumn(split, 0);
- uiItemR(col, &imaptr, "use_fields", 0, NULL, ICON_NONE);
+ /* XXX Why only display fields_per_frame only for video image types?
+ * And why allow fields for non-video image types at all??? */
+ if (ELEM(ima->source, IMA_SRC_MOVIE, IMA_SRC_SEQUENCE)) {
+ uiLayout *subsplit = uiLayoutSplit(col, 0, 0);
+ uiLayout *subcol = uiLayoutColumn(subsplit, 0);
+ uiItemR(subcol, &imaptr, "use_fields", 0, NULL, ICON_NONE);
+ subcol = uiLayoutColumn(subsplit, 0);
+ uiLayoutSetActive(subcol, RNA_boolean_get(&imaptr, "use_fields"));
+ uiItemR(subcol, userptr, "fields_per_frame", 0, IFACE_("Fields"), ICON_NONE);
+ }
+ else
+ uiItemR(col, &imaptr, "use_fields", 0, NULL, ICON_NONE);
row = uiLayoutRow(col, 0);
uiLayoutSetActive(row, RNA_boolean_get(&imaptr, "use_fields"));
uiItemR(row, &imaptr, "field_order", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
@@ -757,26 +760,18 @@ void uiTemplateImage(uiLayout *layout, bContext *C, PointerRNA *ptr, const char
if (ELEM(ima->source, IMA_SRC_MOVIE, IMA_SRC_SEQUENCE)) {
uiItemS(layout);
-
+
split = uiLayoutSplit(layout, 0, 0);
col = uiLayoutColumn(split, 0);
-
- BLI_snprintf(str, sizeof(str), "(%d) Frames", iuser->framenr);
- uiItemR(col, userptr, "frame_duration", 0, str, ICON_NONE);
- if (ima->anim) {
- block = uiLayoutGetBlock(col);
- but = uiDefBut(block, BUT, 0, "Match Movie Length", 0, 0, UI_UNIT_X * 2, UI_UNIT_Y, NULL, 0, 0, 0, 0, "Set the number of frames to match the movie or sequence");
- uiButSetFunc(but, set_frames_cb, ima, iuser);
- }
- uiItemR(col, userptr, "frame_start", 0, "Start", ICON_NONE);
+ BLI_snprintf(str, sizeof(str), IFACE_("(%d) Frames"), iuser->framenr);
+ uiItemR(col, userptr, "frame_duration", 0, str, ICON_NONE);
+ uiItemR(col, userptr, "frame_start", 0, IFACE_("Start"), ICON_NONE);
uiItemR(col, userptr, "frame_offset", 0, NULL, ICON_NONE);
col = uiLayoutColumn(split, 0);
- row = uiLayoutRow(col, 0);
- uiLayoutSetActive(row, RNA_boolean_get(&imaptr, "use_fields"));
- uiItemR(row, userptr, "fields_per_frame", 0, "Fields", ICON_NONE);
+ uiItemO(col, NULL, ICON_NONE, "IMAGE_OT_match_movie_length");
uiItemR(col, userptr, "use_auto_refresh", 0, NULL, ICON_NONE);
uiItemR(col, userptr, "use_cyclic", 0, NULL, ICON_NONE);
}
@@ -815,7 +810,7 @@ void uiTemplateImageSettings(uiLayout *layout, PointerRNA *imfptr)
uiItemR(split, imfptr, "file_format", 0, "", ICON_NONE);
sub = uiLayoutRow(split, 0);
- uiItemR(sub, imfptr, "color_mode", UI_ITEM_R_EXPAND, "Color", ICON_NONE);
+ uiItemR(sub, imfptr, "color_mode", UI_ITEM_R_EXPAND, IFACE_("Color"), ICON_NONE);
/* only display depth setting if multiple depths can be used */
if ((ELEM6(depth_ok,
@@ -861,7 +856,7 @@ void uiTemplateImageSettings(uiLayout *layout, PointerRNA *imfptr)
if (imf->imtype == R_IMF_IMTYPE_CINEON) {
#if 1
- uiItemL(col, "Hard coded Non-Linear, Gamma:1.0", ICON_NONE);
+ uiItemL(col, IFACE_("Hard coded Non-Linear, Gamma: 1.0"), ICON_NONE);
#else
uiItemR(col, imfptr, "use_cineon_log", 0, NULL, ICON_NONE);
uiItemR(col, imfptr, "cineon_black", 0, NULL, ICON_NONE);
diff --git a/source/blender/editors/space_image/image_draw.c b/source/blender/editors/space_image/image_draw.c
index aab628180c8..ac71eb972f6 100644
--- a/source/blender/editors/space_image/image_draw.c
+++ b/source/blender/editors/space_image/image_draw.c
@@ -564,27 +564,40 @@ void draw_image_grease_pencil(bContext *C, short onlyv2d)
{
/* draw in View2D space? */
if (onlyv2d) {
- /* assume that UI_view2d_ortho(C) has been called... */
- SpaceImage *sima = (SpaceImage *)CTX_wm_space_data(C);
- void *lock;
- ImBuf *ibuf = ED_space_image_acquire_buffer(sima, &lock);
-
/* draw grease-pencil ('image' strokes) */
- //if (sima->flag & SI_DISPGP)
- draw_gpencil_2dimage(C, ibuf);
-
- ED_space_image_release_buffer(sima, lock);
+ draw_gpencil_2dimage(C);
}
else {
/* assume that UI_view2d_restore(C) has been called... */
//SpaceImage *sima= (SpaceImage *)CTX_wm_space_data(C);
/* draw grease-pencil ('screen' strokes) */
- //if (sima->flag & SI_DISPGP)
draw_gpencil_view2d(C, 0);
}
}
+void draw_image_sample_line(SpaceImage *sima)
+{
+ if (sima->sample_line_hist.flag & HISTO_FLAG_SAMPLELINE) {
+ Histogram *hist = &sima->sample_line_hist;
+
+ glBegin(GL_LINES);
+ glColor3ub(0, 0, 0);
+ glVertex2fv(hist->co[0]);
+ glVertex2fv(hist->co[1]);
+ glEnd();
+
+ setlinestyle(1);
+ glBegin(GL_LINES);
+ glColor3ub(255, 255, 255);
+ glVertex2fv(hist->co[0]);
+ glVertex2fv(hist->co[1]);
+ glEnd();
+ setlinestyle(0);
+
+ }
+}
+
/* XXX becomes WM paint cursor */
#if 0
static void draw_image_view_tool(Scene *scene)
diff --git a/source/blender/editors/space_image/image_intern.h b/source/blender/editors/space_image/image_intern.h
index ca3f543f3b9..0d3a7614f10 100644
--- a/source/blender/editors/space_image/image_intern.h
+++ b/source/blender/editors/space_image/image_intern.h
@@ -54,6 +54,7 @@ extern const char *image_context_dir[]; /* doc access */
/* image_draw.c */
void draw_image_main(struct SpaceImage *sima, struct ARegion *ar, struct Scene *scene);
void draw_image_grease_pencil(struct bContext *C, short onlyv2d);
+void draw_image_sample_line(struct SpaceImage *sima);
/* image_ops.c */
int space_image_main_area_poll(struct bContext *C);
@@ -69,6 +70,7 @@ void IMAGE_OT_view_ndof(struct wmOperatorType *ot);
void IMAGE_OT_new(struct wmOperatorType *ot);
void IMAGE_OT_open(struct wmOperatorType *ot);
+void IMAGE_OT_match_movie_length(struct wmOperatorType *ot);
void IMAGE_OT_replace(struct wmOperatorType *ot);
void IMAGE_OT_reload(struct wmOperatorType *ot);
void IMAGE_OT_save(struct wmOperatorType *ot);
diff --git a/source/blender/editors/space_image/image_ops.c b/source/blender/editors/space_image/image_ops.c
index 31389bcb20c..7e67e737cc2 100644
--- a/source/blender/editors/space_image/image_ops.c
+++ b/source/blender/editors/space_image/image_ops.c
@@ -934,6 +934,52 @@ void IMAGE_OT_open(wmOperatorType *ot)
WM_operator_properties_filesel(ot, FOLDERFILE | IMAGEFILE | MOVIEFILE, FILE_SPECIAL, FILE_OPENFILE, WM_FILESEL_FILEPATH | WM_FILESEL_RELPATH, FILE_DEFAULTDISPLAY);
}
+/******************** Match movie length operator ********************/
+static int image_match_len_exec(bContext *C, wmOperator *UNUSED(op))
+{
+ Scene *scene = CTX_data_scene(C);
+ Image *ima = CTX_data_pointer_get_type(C, "edit_image", &RNA_Image).data;
+ ImageUser *iuser = CTX_data_pointer_get_type(C, "edit_image_user", &RNA_ImageUser).data;
+
+ if (!ima || !iuser) {
+ /* Try to get a Texture, or a SpaceImage from context... */
+ SpaceImage *sima = CTX_wm_space_image(C);
+ Tex *tex = CTX_data_pointer_get_type(C, "texture", &RNA_Texture).data;
+ if (tex && tex->type == TEX_IMAGE) {
+ ima = tex->ima;
+ iuser = &tex->iuser;
+ }
+ else if (sima) {
+ ima = sima->image;
+ iuser = &sima->iuser;
+ }
+
+ }
+
+ if (!ima || !iuser || !ima->anim)
+ return OPERATOR_CANCELLED;
+
+ iuser->frames = IMB_anim_get_duration(ima->anim, IMB_TC_RECORD_RUN);
+ BKE_image_user_frame_calc(iuser, scene->r.cfra, 0);
+
+ return OPERATOR_FINISHED;
+}
+
+/* called by other space types too */
+void IMAGE_OT_match_movie_length(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name = "Match Movie Length";
+ ot->description = "Set image's users length to the one of this video";
+ ot->idname = "IMAGE_OT_match_movie_length";
+
+ /* api callbacks */
+ ot->exec = image_match_len_exec;
+
+ /* flags */
+ ot->flag = OPTYPE_REGISTER /* | OPTYPE_UNDO */; /* Don't think we need undo for that. */
+}
+
/******************** replace image operator ********************/
static int image_replace_exec(bContext *C, wmOperator *op)
@@ -2064,11 +2110,6 @@ static int image_sample_line_exec(bContext *C, wmOperator *op)
Histogram *hist = &sima->sample_line_hist;
float x1f, y1f, x2f, y2f;
- int x1, y1, x2, y2;
- int i, x, y;
- float *fp;
- float rgb[3];
- unsigned char *cp;
if (ibuf == NULL) {
ED_space_image_release_buffer(sima, lock);
@@ -2082,46 +2123,13 @@ static int image_sample_line_exec(bContext *C, wmOperator *op)
UI_view2d_region_to_view(&ar->v2d, x_start, y_start, &x1f, &y1f);
UI_view2d_region_to_view(&ar->v2d, x_end, y_end, &x2f, &y2f);
- x1 = 0.5f + x1f * ibuf->x;
- x2 = 0.5f + x2f * ibuf->x;
- y1 = 0.5f + y1f * ibuf->y;
- y2 = 0.5f + y2f * ibuf->y;
-
- hist->channels = 3;
- hist->x_resolution = 256;
- hist->xmax = 1.0f;
- hist->ymax = 1.0f;
-
- for (i = 0; i < 256; i++) {
- x = (int)(0.5f + x1 + (float)i * (x2 - x1) / 255.0f);
- y = (int)(0.5f + y1 + (float)i * (y2 - y1) / 255.0f);
-
- if (x < 0 || y < 0 || x >= ibuf->x || y >= ibuf->y) {
- hist->data_luma[i] = hist->data_r[i] = hist->data_g[i] = hist->data_b[i] = 0.0f;
- }
- else {
- if (ibuf->rect_float) {
- fp = (ibuf->rect_float + (ibuf->channels) * (y * ibuf->x + x));
-
- if (scene->r.color_mgt_flag & R_COLOR_MANAGEMENT)
- linearrgb_to_srgb_v3_v3(rgb, fp);
- else
- copy_v3_v3(rgb, fp);
-
- hist->data_r[i] = rgb[0];
- hist->data_g[i] = rgb[1];
- hist->data_b[i] = rgb[2];
- hist->data_luma[i] = rgb_to_luma(rgb);
- }
- else if (ibuf->rect) {
- cp = (unsigned char *)(ibuf->rect + y * ibuf->x + x);
- hist->data_r[i] = (float)cp[0] / 255.0f;
- hist->data_g[i] = (float)cp[1] / 255.0f;
- hist->data_b[i] = (float)cp[2] / 255.0f;
- hist->data_luma[i] = (float)rgb_to_luma_byte(cp) / 255.0f;
- }
- }
- }
+
+ hist->co[0][0] = x1f;
+ hist->co[0][1] = y1f;
+ hist->co[1][0] = x2f;
+ hist->co[1][1] = y2f;
+
+ BKE_histogram_update_sample_line(hist, ibuf, (scene->r.color_mgt_flag & R_COLOR_MANAGEMENT) != 0);
ED_space_image_release_buffer(sima, lock);
@@ -2133,7 +2141,10 @@ static int image_sample_line_exec(bContext *C, wmOperator *op)
static int image_sample_line_invoke(bContext *C, wmOperator *op, wmEvent *event)
{
SpaceImage *sima = CTX_wm_space_image(C);
-
+
+ Histogram *hist = &sima->sample_line_hist;
+ hist->flag &= ~HISTO_FLAG_SAMPLELINE;
+
if (!ED_space_image_has_buffer(sima))
return OPERATOR_CANCELLED;
@@ -2397,56 +2408,15 @@ void IMAGE_OT_cycle_render_slot(wmOperatorType *ot)
/* goes over all ImageUsers, and sets frame numbers if auto-refresh is set */
+static void image_update_frame(struct Image *UNUSED(ima), struct ImageUser *iuser, void *customdata)
+{
+ int cfra = *(int*)customdata;
+
+ BKE_image_user_check_frame_calc(iuser, cfra, 0);
+}
+
void ED_image_update_frame(const Main *mainp, int cfra)
{
- wmWindowManager *wm;
- wmWindow *win;
- Tex *tex;
-
- /* texture users */
- for (tex = mainp->tex.first; tex; tex = tex->id.next) {
- if (tex->type == TEX_IMAGE && tex->ima) {
- if (ELEM(tex->ima->source, IMA_SRC_MOVIE, IMA_SRC_SEQUENCE)) {
- if (tex->iuser.flag & IMA_ANIM_ALWAYS)
- BKE_image_user_frame_calc(&tex->iuser, cfra, 0);
- }
- }
- }
-
- /* image window, compo node users */
- for (wm = mainp->wm.first; wm; wm = wm->id.next) { /* only 1 wm */
- for (win = wm->windows.first; win; win = win->next) {
- ScrArea *sa;
- for (sa = win->screen->areabase.first; sa; sa = sa->next) {
- if (sa->spacetype == SPACE_VIEW3D) {
- View3D *v3d = sa->spacedata.first;
- BGpic *bgpic;
- for (bgpic = v3d->bgpicbase.first; bgpic; bgpic = bgpic->next)
- if (bgpic->iuser.flag & IMA_ANIM_ALWAYS)
- BKE_image_user_frame_calc(&bgpic->iuser, cfra, 0);
- }
- else if (sa->spacetype == SPACE_IMAGE) {
- SpaceImage *sima = sa->spacedata.first;
- if (sima->iuser.flag & IMA_ANIM_ALWAYS)
- BKE_image_user_frame_calc(&sima->iuser, cfra, 0);
- }
- else if (sa->spacetype == SPACE_NODE) {
- SpaceNode *snode = sa->spacedata.first;
- if ((snode->treetype == NTREE_COMPOSIT) && (snode->nodetree)) {
- bNode *node;
- for (node = snode->nodetree->nodes.first; node; node = node->next) {
- if (node->id && node->type == CMP_NODE_IMAGE) {
- Image *ima = (Image *)node->id;
- ImageUser *iuser = node->storage;
- if (ELEM(ima->source, IMA_SRC_MOVIE, IMA_SRC_SEQUENCE))
- if (iuser->flag & IMA_ANIM_ALWAYS)
- BKE_image_user_frame_calc(iuser, cfra, 0);
- }
- }
- }
- }
- }
- }
- }
+ BKE_image_walk_all_users(mainp, &cfra, image_update_frame);
}
diff --git a/source/blender/editors/space_image/space_image.c b/source/blender/editors/space_image/space_image.c
index 9e0f538056c..32e6f588e27 100644
--- a/source/blender/editors/space_image/space_image.c
+++ b/source/blender/editors/space_image/space_image.c
@@ -473,6 +473,7 @@ static void image_operatortypes(void)
WM_operatortype_append(IMAGE_OT_new);
WM_operatortype_append(IMAGE_OT_open);
+ WM_operatortype_append(IMAGE_OT_match_movie_length);
WM_operatortype_append(IMAGE_OT_replace);
WM_operatortype_append(IMAGE_OT_reload);
WM_operatortype_append(IMAGE_OT_save);
@@ -589,8 +590,7 @@ static void image_refresh(const bContext *C, ScrArea *UNUSED(sa))
ima = ED_space_image(sima);
- if (sima->iuser.flag & IMA_ANIM_ALWAYS)
- BKE_image_user_frame_calc(&sima->iuser, scene->r.cfra, 0);
+ BKE_image_user_check_frame_calc(&sima->iuser, scene->r.cfra, 0);
/* check if we have to set the image from the editmesh */
if (ima && (ima->source == IMA_SRC_VIEWER || sima->pin)) ;
@@ -824,15 +824,18 @@ static void image_main_area_draw(const bContext *C, ARegion *ar)
draw_uvedit_main(sima, ar, scene, obedit, obact);
ED_region_draw_cb_draw(C, ar, REGION_DRAW_POST_VIEW);
-
+
/* Grease Pencil too (in addition to UV's) */
draw_image_grease_pencil((bContext *)C, 1);
+ /* sample line */
+ draw_image_sample_line(sima);
+
UI_view2d_view_restore(C);
/* draw Grease Pencil - screen space only */
draw_image_grease_pencil((bContext *)C, 0);
-
+
/* scrollers? */
#if 0
scrollers = UI_view2d_scrollers_calc(C, v2d, V2D_UNIT_VALUES, V2D_GRID_CLAMP, V2D_ARG_DUMMY, V2D_ARG_DUMMY);
@@ -911,6 +914,9 @@ static void image_scope_area_draw(const bContext *C, ARegion *ar)
void *lock;
ImBuf *ibuf = ED_space_image_acquire_buffer(sima, &lock);
if (ibuf) {
+ if (!sima->scopes.ok) {
+ BKE_histogram_update_sample_line(&sima->sample_line_hist, ibuf, scene->r.color_mgt_flag & R_COLOR_MANAGEMENT);
+ }
scopes_update(&sima->scopes, ibuf, scene->r.color_mgt_flag & R_COLOR_MANAGEMENT);
}
ED_space_image_release_buffer(sima, lock);
diff --git a/source/blender/editors/space_info/info_draw.c b/source/blender/editors/space_info/info_draw.c
index 2409ab8c4e0..329917a9f7e 100644
--- a/source/blender/editors/space_info/info_draw.c
+++ b/source/blender/editors/space_info/info_draw.c
@@ -63,11 +63,11 @@
/* complicates things a bit, so leaving in old simple code */
#define USE_INFO_NEWLINE
-static void info_report_color(unsigned char *fg, unsigned char *bg, Report *report, int bool)
+static void info_report_color(unsigned char *fg, unsigned char *bg, Report *report, const short do_tint)
{
if (report->flag & SELECT) {
fg[0] = 255; fg[1] = 255; fg[2] = 255;
- if (bool) {
+ if (do_tint) {
bg[0] = 96; bg[1] = 128; bg[2] = 255;
}
else {
@@ -78,30 +78,30 @@ static void info_report_color(unsigned char *fg, unsigned char *bg, Report *repo
fg[0] = 0; fg[1] = 0; fg[2] = 0;
if (report->type & RPT_ERROR_ALL) {
- if (bool) { bg[0] = 220; bg[1] = 0; bg[2] = 0; }
- else { bg[0] = 214; bg[1] = 0; bg[2] = 0; }
+ if (do_tint) { bg[0] = 220; bg[1] = 0; bg[2] = 0; }
+ else { bg[0] = 214; bg[1] = 0; bg[2] = 0; }
}
else if (report->type & RPT_WARNING_ALL) {
- if (bool) { bg[0] = 220; bg[1] = 128; bg[2] = 96; }
- else { bg[0] = 214; bg[1] = 122; bg[2] = 90; }
+ if (do_tint) { bg[0] = 220; bg[1] = 128; bg[2] = 96; }
+ else { bg[0] = 214; bg[1] = 122; bg[2] = 90; }
}
#if 0 // XXX: this looks like the selected color, so don't use this
else if (report->type & RPT_OPERATOR_ALL) {
- if (bool) { bg[0] = 96; bg[1] = 128; bg[2] = 255; }
- else { bg[0] = 90; bg[1] = 122; bg[2] = 249; }
+ if (do_tint) { bg[0] = 96; bg[1] = 128; bg[2] = 255; }
+ else { bg[0] = 90; bg[1] = 122; bg[2] = 249; }
}
#endif
else if (report->type & RPT_INFO_ALL) {
- if (bool) { bg[0] = 0; bg[1] = 170; bg[2] = 0; }
- else { bg[0] = 0; bg[1] = 164; bg[2] = 0; }
+ if (do_tint) { bg[0] = 0; bg[1] = 170; bg[2] = 0; }
+ else { bg[0] = 0; bg[1] = 164; bg[2] = 0; }
}
else if (report->type & RPT_DEBUG_ALL) {
- if (bool) { bg[0] = 196; bg[1] = 196; bg[2] = 196; }
- else { bg[0] = 190; bg[1] = 190; bg[2] = 190; }
+ if (do_tint) { bg[0] = 196; bg[1] = 196; bg[2] = 196; }
+ else { bg[0] = 190; bg[1] = 190; bg[2] = 190; }
}
else {
- if (bool) { bg[0] = 120; bg[1] = 120; bg[2] = 120; }
- else { bg[0] = 114; bg[1] = 114; bg[2] = 114; }
+ if (do_tint) { bg[0] = 120; bg[1] = 120; bg[2] = 120; }
+ else { bg[0] = 114; bg[1] = 114; bg[2] = 114; }
}
}
}
diff --git a/source/blender/editors/space_logic/logic_window.c b/source/blender/editors/space_logic/logic_window.c
index dd21fca93ce..0eec61f599e 100644
--- a/source/blender/editors/space_logic/logic_window.c
+++ b/source/blender/editors/space_logic/logic_window.c
@@ -1151,155 +1151,155 @@ static short draw_sensorbuttons(Object *ob, bSensor *sens, uiBlock *block, short
uiBut *but;
short ysize;
const char *str;
-
+
/* yco is at the top of the rect, draw downwards */
-
+
set_col_sensor(sens->type, 0);
-
+
switch (sens->type) {
- case SENS_ALWAYS:
+ case SENS_ALWAYS:
{
ysize= 24;
-
+
glRects(xco, yco-ysize, xco+width, yco);
uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
-
+
draw_default_sensor_header(sens, block, xco, yco, width);
-
+
yco-= ysize;
-
+
break;
}
- case SENS_TOUCH:
+ case SENS_TOUCH:
{
- ysize= 48;
-
- glRects(xco, yco-ysize, xco+width, yco);
- uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
-
+ ysize= 48;
+
+ glRects(xco, yco-ysize, xco+width, yco);
+ uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
+
draw_default_sensor_header(sens, block, xco, yco, width);
-
- ts= sens->data;
-
+
+ ts= sens->data;
+
// uiDefBut(block, TEX, 1, "Property:", xco, yco-22, width, 19, &ts->name, 0, MAX_NAME, 0, 0, "Only look for Objects with this property");
uiDefIDPoinBut(block, test_matpoin_but, ID_MA, 1, "MA:", (short)(xco + 10), (short)(yco-44), (short)(width - 20), 19, &ts->ma, "Only look for floors with this Material");
// uiDefButF(block, NUM, 1, "Margin:", xco+width/2, yco-44, width/2, 19, &ts->dist, 0.0, 10.0, 100, 0, "Extra margin (distance) for larger sensitivity");
- yco-= ysize;
- break;
+ yco-= ysize;
+ break;
}
- case SENS_COLLISION:
+ case SENS_COLLISION:
{
ysize= 48;
-
+
glRects(xco, yco-ysize, xco+width, yco);
uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
-
+
draw_default_sensor_header(sens, block, xco, yco, width);
cs= sens->data;
-
+
/* The collision sensor will become a generic collision (i.e. it */
/* absorb the old touch sensor). */
uiDefButBitS(block, TOG, SENS_COLLISION_PULSE, B_REDR, "Pulse", (short)(xco + 10), (short)(yco - 44),
- (short)(0.20 * (width-20)), 19, &cs->mode, 0.0, 0.0, 0, 0,
- "Changes to the set of colliding objects generated pulses");
-
+ (short)(0.20 * (width-20)), 19, &cs->mode, 0.0, 0.0, 0, 0,
+ "Changes to the set of colliding objects generated pulses");
+
uiDefButBitS(block, TOG, SENS_COLLISION_MATERIAL, B_REDR, "M/P", (short)(xco + 10 + (0.20 * (width-20))), (short)(yco - 44),
- (short)(0.20 * (width-20)), 19, &cs->mode, 0.0, 0.0, 0, 0,
- "Toggle collision on material or property");
-
+ (short)(0.20 * (width-20)), 19, &cs->mode, 0.0, 0.0, 0, 0,
+ "Toggle collision on material or property");
+
if (cs->mode & SENS_COLLISION_MATERIAL) {
uiDefBut(block, TEX, 1, "Material:", (short)(xco + 10 + 0.40 * (width-20)),
- (short)(yco-44), (short)(0.6*(width-20)), 19, &cs->materialName, 0, MAX_NAME, 0, 0,
- "Only look for Objects with this material");
+ (short)(yco-44), (short)(0.6*(width-20)), 19, &cs->materialName, 0, MAX_NAME, 0, 0,
+ "Only look for Objects with this material");
}
else {
uiDefBut(block, TEX, 1, "Property:", (short)(xco + 10 + 0.40 * (width-20)), (short)(yco-44),
- (short)(0.6*(width-20)), 19, &cs->name, 0, MAX_NAME, 0, 0,
- "Only look for Objects with this property");
+ (short)(0.6*(width-20)), 19, &cs->name, 0, MAX_NAME, 0, 0,
+ "Only look for Objects with this property");
}
-
+
/* uiDefButS(block, NUM, 1, "Damp:", xco+10+width-90, yco-24, 70, 19, &cs->damp, 0, 250, 0, 0, "For 'damp' time don't detect another collision"); */
-
+
yco-= ysize;
break;
}
- case SENS_NEAR:
+ case SENS_NEAR:
{
ysize= 72;
-
+
glRects(xco, yco-ysize, xco+width, yco);
uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
-
+
draw_default_sensor_header(sens, block, xco, yco, width);
ns= sens->data;
-
+
uiDefBut(block, TEX, 1, "Property:", (short)(10+xco), (short)(yco-44), (short)(width-20), 19,
- &ns->name, 0, MAX_NAME, 0, 0, "Only look for Objects with this property");
+ &ns->name, 0, MAX_NAME, 0, 0, "Only look for Objects with this property");
uiDefButF(block, NUM, 1, "Dist", (short)(10+xco), (short)(yco-68), (short)((width-22)/2), 19,
- &ns->dist, 0.0, 1000.0, 1000, 0, "Trigger distance");
+ &ns->dist, 0.0, 1000.0, 1000, 0, "Trigger distance");
uiDefButF(block, NUM, 1, "Reset", (short)(10+xco+(width-22)/2), (short)(yco-68), (short)((width-22)/2), 19,
- &ns->resetdist, 0.0, 1000.0, 1000, 0, "Reset distance");
+ &ns->resetdist, 0.0, 1000.0, 1000, 0, "Reset distance");
yco-= ysize;
break;
}
- case SENS_RADAR:
+ case SENS_RADAR:
{
- ysize= 72;
-
+ ysize= 72;
+
glRects(xco, yco-ysize, xco+width, yco);
uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
-
+
draw_default_sensor_header(sens, block, xco, yco, width);
-
+
rs= sens->data;
-
+
uiDefBut(block, TEX, 1, "Prop:",
- (short)(10+xco), (short)(yco-44), (short)(0.7 * (width-20)), 19,
- &rs->name, 0, MAX_NAME, 0, 0,
- "Only look for Objects with this property");
+ (short)(10+xco), (short)(yco-44), (short)(0.7 * (width-20)), 19,
+ &rs->name, 0, MAX_NAME, 0, 0,
+ "Only look for Objects with this property");
- str = "Type %t|+X axis %x0|+Y axis %x1|+Z axis %x2|-X axis %x3|-Y axis %x4|-Z axis %x5";
+ str = "Type %t|+X axis %x0|+Y axis %x1|+Z axis %x2|-X axis %x3|-Y axis %x4|-Z axis %x5";
uiDefButS(block, MENU, B_REDR, str,
- (short)(10+xco+0.7 * (width-20)), (short)(yco-44), (short)(0.3 * (width-22)), 19,
- &rs->axis, 2.0, 31, 0, 0,
- "Specify along which axis the radar cone is cast");
-
+ (short)(10+xco+0.7 * (width-20)), (short)(yco-44), (short)(0.3 * (width-22)), 19,
+ &rs->axis, 2.0, 31, 0, 0,
+ "Specify along which axis the radar cone is cast");
+
uiDefButF(block, NUM, 1, "Ang:",
- (short)(10+xco), (short)(yco-68), (short)((width-20)/2), 19,
- &rs->angle, 0.0, 179.9, 10, 0,
- "Opening angle of the radar cone");
+ (short)(10+xco), (short)(yco-68), (short)((width-20)/2), 19,
+ &rs->angle, 0.0, 179.9, 10, 0,
+ "Opening angle of the radar cone");
uiDefButF(block, NUM, 1, "Dist:",
- (short)(xco+10 + (width-20)/2), (short)(yco-68), (short)((width-20)/2), 19,
- &rs->range, 0.01, 10000.0, 100, 0,
- "Depth of the radar cone");
+ (short)(xco+10 + (width-20)/2), (short)(yco-68), (short)((width-20)/2), 19,
+ &rs->range, 0.01, 10000.0, 100, 0,
+ "Depth of the radar cone");
yco-= ysize;
break;
}
- case SENS_KEYBOARD:
+ case SENS_KEYBOARD:
{
ks= sens->data;
-
+
/* 5 lines: 120 height */
ysize= (ks->type&1) ? 96:120;
-
+
glRects(xco, yco-ysize, xco+width, yco);
uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
-
+
/* header line */
draw_default_sensor_header(sens, block, xco, yco, width);
-
+
/* part of line 1 */
uiDefBut(block, LABEL, 0, "Key", xco, yco-44, 40, 19, NULL, 0, 0, 0, 0, "");
uiDefButBitS(block, TOG, 1, B_REDR, "All keys", xco+40+(width/2), yco-44, (width/2)-50, 19,
- &ks->type, 0, 0, 0, 0, "");
-
-
+ &ks->type, 0, 0, 0, 0, "");
+
+
if ((ks->type&1)==0) { /* is All Keys option off? */
/* line 2: hotkey and allkeys toggle */
but = uiDefKeyevtButS(block, 0, "", xco+40, yco-44, (width)/2, 19, &ks->key, "Key code");
uiButSetFunc(but, test_keyboard_event, ks, NULL);
-
+
/* line 3: two key modifyers (qual1, qual2) */
uiDefBut(block, LABEL, 0, "Hold", xco, yco-68, 40, 19, NULL, 0, 0, 0, 0, "");
but = uiDefKeyevtButS(block, 0, "", xco+40, yco-68, (width-50)/2, 19, &ks->qual, "Modifier key code");
@@ -1307,50 +1307,50 @@ static short draw_sensorbuttons(Object *ob, bSensor *sens, uiBlock *block, short
but = uiDefKeyevtButS(block, 0, "", xco+40+(width-50)/2, yco-68, (width-50)/2, 19, &ks->qual2, "Second Modifier key code");
uiButSetFunc(but, test_keyboard_event, ks, NULL);
}
-
+
/* line 4: toggle property for string logging mode */
uiDefBut(block, TEX, 1, "LogToggle: ",
- xco+10, yco-((ks->type&1) ? 68:92), (width-20), 19,
- ks->toggleName, 0, MAX_NAME, 0, 0,
- "Property that indicates whether to log "
- "keystrokes as a string");
-
+ xco+10, yco-((ks->type&1) ? 68:92), (width-20), 19,
+ ks->toggleName, 0, MAX_NAME, 0, 0,
+ "Property that indicates whether to log "
+ "keystrokes as a string");
+
/* line 5: target property for string logging mode */
uiDefBut(block, TEX, 1, "Target: ",
- xco+10, yco-((ks->type&1) ? 92:116), (width-20), 19,
- ks->targetName, 0, MAX_NAME, 0, 0,
- "Property that receives the keystrokes in case "
- "a string is logged");
-
+ xco+10, yco-((ks->type&1) ? 92:116), (width-20), 19,
+ ks->targetName, 0, MAX_NAME, 0, 0,
+ "Property that receives the keystrokes in case "
+ "a string is logged");
+
yco-= ysize;
break;
}
- case SENS_PROPERTY:
+ case SENS_PROPERTY:
{
ysize= 96;
-
+
glRects(xco, yco-ysize, xco+width, yco);
uiEmboss((float)xco, (float)yco-ysize,
- (float)xco+width, (float)yco, 1);
-
+ (float)xco+width, (float)yco, 1);
+
draw_default_sensor_header(sens, block, xco, yco, width);
ps= sens->data;
-
- str= "Type %t|Equal %x0|Not Equal %x1|Interval %x2|Changed %x3";
+
+ str= "Type %t|Equal %x0|Not Equal %x1|Interval %x2|Changed %x3";
/* str= "Type %t|Equal %x0|Not Equal %x1"; */
uiDefButI(block, MENU, B_REDR, str, xco+30, yco-44, width-60, 19,
- &ps->type, 0, 31, 0, 0, "Type");
-
+ &ps->type, 0, 31, 0, 0, "Type");
+
if (ps->type != SENS_PROP_EXPRESSION) {
uiDefBut(block, TEX, 1, "Prop: ", xco+30, yco-68, width-60, 19,
- ps->name, 0, MAX_NAME, 0, 0, "Property name");
+ ps->name, 0, MAX_NAME, 0, 0, "Property name");
}
-
+
if (ps->type == SENS_PROP_INTERVAL) {
uiDefBut(block, TEX, 1, "Min: ", xco, yco-92, width/2, 19,
- ps->value, 0, MAX_NAME, 0, 0, "check for min value");
+ ps->value, 0, MAX_NAME, 0, 0, "check for min value");
uiDefBut(block, TEX, 1, "Max: ", xco+width/2, yco-92, width/2, 19,
- ps->maxvalue, 0, MAX_NAME, 0, 0, "check for max value");
+ ps->maxvalue, 0, MAX_NAME, 0, 0, "check for max value");
}
else if (ps->type == SENS_PROP_CHANGED) {
/* pass */
@@ -1359,199 +1359,199 @@ static short draw_sensorbuttons(Object *ob, bSensor *sens, uiBlock *block, short
uiDefBut(block, TEX, 1, "Value: ", xco+30, yco-92, width-60, 19,
ps->value, 0, MAX_NAME, 0, 0, "check for value");
}
-
+
yco-= ysize;
break;
}
- case SENS_ARMATURE:
+ case SENS_ARMATURE:
{
ysize= 70;
-
+
glRects(xco, yco-ysize, xco+width, yco);
uiEmboss((float)xco, (float)yco-ysize,
- (float)xco+width, (float)yco, 1);
-
+ (float)xco+width, (float)yco, 1);
+
draw_default_sensor_header(sens, block, xco, yco, width);
arm= sens->data;
if (ob->type == OB_ARMATURE) {
uiBlockBeginAlign(block);
but = uiDefBut(block, TEX, 1, "Bone: ",
- (xco+10), (yco-44), (width-20)/2, 19,
- arm->posechannel, 0, MAX_NAME, 0, 0,
- "Bone on which you want to check a constraint");
+ (xco+10), (yco-44), (width-20)/2, 19,
+ arm->posechannel, 0, MAX_NAME, 0, 0,
+ "Bone on which you want to check a constraint");
uiButSetFunc(but, check_armature_sensor, but, arm);
but = uiDefBut(block, TEX, 1, "Cons: ",
- (xco+10)+(width-20)/2, (yco-44), (width-20)/2, 19,
- arm->constraint, 0, MAX_NAME, 0, 0,
- "Name of the constraint you want to control");
+ (xco+10)+(width-20)/2, (yco-44), (width-20)/2, 19,
+ arm->constraint, 0, MAX_NAME, 0, 0,
+ "Name of the constraint you want to control");
uiButSetFunc(but, check_armature_sensor, but, arm);
uiBlockEndAlign(block);
- str= "Type %t|State changed %x0|Lin error below %x1|Lin error above %x2|Rot error below %x3|Rot error above %x4";
+ str= "Type %t|State changed %x0|Lin error below %x1|Lin error above %x2|Rot error below %x3|Rot error above %x4";
uiDefButI(block, MENU, B_REDR, str, xco+10, yco-66, 0.4*(width-20), 19,
- &arm->type, 0, 31, 0, 0, "Type");
-
+ &arm->type, 0, 31, 0, 0, "Type");
+
if (arm->type != SENS_ARM_STATE_CHANGED) {
uiDefButF(block, NUM, 1, "Value: ", xco+10+0.4*(width-20), yco-66, 0.6*(width-20), 19,
- &arm->value, -10000.0, 10000.0, 100, 0, "Test the error against this value");
+ &arm->value, -10000.0, 10000.0, 100, 0, "Test the error against this value");
}
}
yco-= ysize;
break;
}
- case SENS_ACTUATOR:
+ case SENS_ACTUATOR:
{
ysize= 48;
-
+
glRects(xco, yco-ysize, xco+width, yco);
uiEmboss((float)xco, (float)yco-ysize,
- (float)xco+width, (float)yco, 1);
-
+ (float)xco+width, (float)yco, 1);
+
draw_default_sensor_header(sens, block, xco, yco, width);
as= sens->data;
-
+
uiDefBut(block, TEX, 1, "Act: ", xco+30, yco-44, width-60, 19,
- as->name, 0, MAX_NAME, 0, 0, "Actuator name, actuator active state modifications will be detected");
+ as->name, 0, MAX_NAME, 0, 0, "Actuator name, actuator active state modifications will be detected");
yco-= ysize;
break;
}
- case SENS_DELAY:
+ case SENS_DELAY:
{
ysize= 48;
-
+
glRects(xco, yco-ysize, xco+width, yco);
uiEmboss((float)xco, (float)yco-ysize,
- (float)xco+width, (float)yco, 1);
-
+ (float)xco+width, (float)yco, 1);
+
draw_default_sensor_header(sens, block, xco, yco, width);
ds = sens->data;
-
+
uiDefButS(block, NUM, 0, "Delay", (short)(10+xco), (short)(yco-44), (short)((width-22)*0.4+10), 19,
- &ds->delay, 0.0, 5000.0, 0, 0, "Delay in number of logic tics before the positive trigger (default 60 per second)");
+ &ds->delay, 0.0, 5000.0, 0, 0, "Delay in number of logic tics before the positive trigger (default 60 per second)");
uiDefButS(block, NUM, 0, "Dur", (short)(10+xco+(width-22)*0.4+10), (short)(yco-44), (short)((width-22)*0.4-10), 19,
- &ds->duration, 0.0, 5000.0, 0, 0, "If >0, delay in number of logic tics before the negative trigger following the positive trigger");
+ &ds->duration, 0.0, 5000.0, 0, 0, "If >0, delay in number of logic tics before the negative trigger following the positive trigger");
uiDefButBitS(block, TOG, SENS_DELAY_REPEAT, 0, "REP", (short)(xco + 10 + (width-22)*0.8), (short)(yco - 44),
- (short)(0.20 * (width-22)), 19, &ds->flag, 0.0, 0.0, 0, 0,
- "Toggle repeat option. If selected, the sensor restarts after Delay+Dur logic tics");
+ (short)(0.20 * (width-22)), 19, &ds->flag, 0.0, 0.0, 0, 0,
+ "Toggle repeat option. If selected, the sensor restarts after Delay+Dur logic tics");
yco-= ysize;
break;
}
- case SENS_MOUSE:
+ case SENS_MOUSE:
{
ms= sens->data;
/* Two lines: 48 pixels high. */
ysize = 48;
-
+
glRects(xco, yco-ysize, xco+width, yco);
uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
-
+
/* line 1: header */
draw_default_sensor_header(sens, block, xco, yco, width);
-
+
/* Line 2: type selection. The number are a bit mangled to get
* proper compatibility with older .blend files. */
/* Any sensor type default is 0 but the ms enum starts in 1.
* Therefore the mouse sensor is initialized to 1 in sca.c */
str= "Type %t|Left button %x1|Middle button %x2|"
- "Right button %x4|Wheel Up %x5|Wheel Down %x6|Movement %x8|Mouse over %x16|Mouse over any%x32";
+ "Right button %x4|Wheel Up %x5|Wheel Down %x6|Movement %x8|Mouse over %x16|Mouse over any%x32";
uiDefButS(block, MENU, B_REDR, str, xco+10, yco-44, (width*0.8f)-20, 19,
- &ms->type, 0, 31, 0, 0,
- "Specify the type of event this mouse sensor should trigger on");
-
+ &ms->type, 0, 31, 0, 0,
+ "Specify the type of event this mouse sensor should trigger on");
+
if (ms->type==32) {
uiDefButBitS(block, TOG, SENS_MOUSE_FOCUS_PULSE, B_REDR, "Pulse", (short)(xco + 10) + (width*0.8f)-20, (short)(yco - 44),
- (short)(0.20 * (width-20)), 19, &ms->flag, 0.0, 0.0, 0, 0,
- "Moving the mouse over a different object generates a pulse");
+ (short)(0.20 * (width-20)), 19, &ms->flag, 0.0, 0.0, 0, 0,
+ "Moving the mouse over a different object generates a pulse");
}
-
+
yco-= ysize;
break;
}
- case SENS_RANDOM:
+ case SENS_RANDOM:
{
ysize = 48;
-
+
glRects(xco, yco-ysize, xco+width, yco);
uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
-
+
draw_default_sensor_header(sens, block, xco, yco, width);
randomSensor = sens->data;
/* some files were wrongly written, avoid crash now */
if (randomSensor) {
uiDefButI(block, NUM, 1, "Seed: ", xco+10, yco-44, (width-20), 19,
- &randomSensor->seed, 0, 1000, 0, 0,
- "Initial seed of the generator. (Choose 0 for not random)");
+ &randomSensor->seed, 0, 1000, 0, 0,
+ "Initial seed of the generator. (Choose 0 for not random)");
}
yco-= ysize;
break;
}
- case SENS_RAY:
+ case SENS_RAY:
{
ysize = 72;
glRects(xco, yco-ysize, xco+width, yco);
uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
-
+
draw_default_sensor_header(sens, block, xco, yco, width);
raySens = sens->data;
-
+
/* 1. property or material */
uiDefButBitS(block, TOG, SENS_COLLISION_MATERIAL, B_REDR, "M/P",
- xco + 10, yco - 44, 0.20 * (width-20), 19,
- &raySens->mode, 0.0, 0.0, 0, 0,
- "Toggle collision on material or property");
-
+ xco + 10, yco - 44, 0.20 * (width-20), 19,
+ &raySens->mode, 0.0, 0.0, 0, 0,
+ "Toggle collision on material or property");
+
if (raySens->mode & SENS_COLLISION_MATERIAL) {
uiDefBut(block, TEX, 1, "Material:", xco + 10 + 0.20 * (width-20), yco-44, 0.8*(width-20), 19,
- &raySens->matname, 0, MAX_NAME, 0, 0,
- "Only look for Objects with this material");
+ &raySens->matname, 0, MAX_NAME, 0, 0,
+ "Only look for Objects with this material");
}
else {
uiDefBut(block, TEX, 1, "Property:", xco + 10 + 0.20 * (width-20), yco-44, 0.8*(width-20), 19,
- &raySens->propname, 0, MAX_NAME, 0, 0,
- "Only look for Objects with this property");
+ &raySens->propname, 0, MAX_NAME, 0, 0,
+ "Only look for Objects with this property");
}
/* X-Ray option */
uiDefButBitS(block, TOG, SENS_RAY_XRAY, 1, "X",
- xco + 10, yco - 68, 0.10 * (width-20), 19,
- &raySens->mode, 0.0, 0.0, 0, 0,
- "Toggle X-Ray option (see through objects that don't have the property)");
+ xco + 10, yco - 68, 0.10 * (width-20), 19,
+ &raySens->mode, 0.0, 0.0, 0, 0,
+ "Toggle X-Ray option (see through objects that don't have the property)");
/* 2. sensing range */
uiDefButF(block, NUM, 1, "Range", xco+10 + 0.10 * (width-20), yco-68, 0.5 * (width-20), 19,
- &raySens->range, 0.01, 10000.0, 100, 0,
- "Sense objects no farther than this distance");
-
+ &raySens->range, 0.01, 10000.0, 100, 0,
+ "Sense objects no farther than this distance");
+
/* 3. axis choice */
- str = "Type %t|+ X axis %x1|+ Y axis %x0|+ Z axis %x2|- X axis %x3|- Y axis %x4|- Z axis %x5";
+ str = "Type %t|+ X axis %x1|+ Y axis %x0|+ Z axis %x2|- X axis %x3|- Y axis %x4|- Z axis %x5";
uiDefButI(block, MENU, B_REDR, str, xco+10 + 0.6 * (width-20), yco-68, 0.4 * (width-20), 19,
- &raySens->axisflag, 2.0, 31, 0, 0,
- "Specify along which axis the ray is cast");
-
- yco-= ysize;
+ &raySens->axisflag, 2.0, 31, 0, 0,
+ "Specify along which axis the ray is cast");
+
+ yco-= ysize;
break;
}
- case SENS_MESSAGE:
+ case SENS_MESSAGE:
{
mes = sens->data;
ysize = 2 * 24; /* total number of lines * 24 pixels/line */
-
+
glRects(xco, yco-ysize, xco+width, yco);
uiEmboss((float)xco, (float)yco-ysize,
- (float)xco+width, (float)yco, 1);
-
+ (float)xco+width, (float)yco, 1);
+
/* line 1: header line */
draw_default_sensor_header(sens, block, xco, yco, width);
-
+
/* line 2: Subject filter */
uiDefBut(block, TEX, 1, "Subject: ",
- (xco+10), (yco-44), (width-20), 19,
- mes->subject, 0, MAX_NAME, 0, 0,
- "Optional subject filter: only accept messages with this subject"
- ", or empty for all");
-
+ (xco+10), (yco-44), (width-20), 19,
+ mes->subject, 0, MAX_NAME, 0, 0,
+ "Optional subject filter: only accept messages with this subject"
+ ", or empty for all");
+
yco -= ysize;
break;
}
@@ -1559,96 +1559,96 @@ static short draw_sensorbuttons(Object *ob, bSensor *sens, uiBlock *block, short
{
ysize = 72;
-
+
glRects(xco, yco-ysize, xco+width, yco);
uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
-
+
/* line 1: header */
draw_default_sensor_header(sens, block, xco, yco, width);
joy= sens->data;
uiDefButC(block, NUM, 1, "Index:", xco+10, yco-44, 0.33 * (width-20), 19,
- &joy->joyindex, 0, SENS_JOY_MAXINDEX-1, 100, 0,
- "Specify which joystick to use");
+ &joy->joyindex, 0, SENS_JOY_MAXINDEX-1, 100, 0,
+ "Specify which joystick to use");
- str= "Type %t|Button %x0|Axis %x1|Single Axis %x3|Hat%x2";
+ str= "Type %t|Button %x0|Axis %x1|Single Axis %x3|Hat%x2";
uiDefButC(block, MENU, B_REDR, str, xco+87, yco-44, 0.26 * (width-20), 19,
- &joy->type, 0, 31, 0, 0,
- "The type of event this joystick sensor is triggered on");
-
+ &joy->type, 0, 31, 0, 0,
+ "The type of event this joystick sensor is triggered on");
+
if (joy->type != SENS_JOY_AXIS_SINGLE) {
if (joy->flag & SENS_JOY_ANY_EVENT) {
switch (joy->type) {
- case SENS_JOY_AXIS:
- str = "All Axis Events";
- break;
- case SENS_JOY_BUTTON:
- str = "All Button Events";
- break;
- default:
- str = "All Hat Events";
- break;
+ case SENS_JOY_AXIS:
+ str = "All Axis Events";
+ break;
+ case SENS_JOY_BUTTON:
+ str = "All Button Events";
+ break;
+ default:
+ str = "All Hat Events";
+ break;
}
}
else {
str = "All";
}
-
+
uiDefButBitS(block, TOG, SENS_JOY_ANY_EVENT, B_REDR, str,
- xco+10 + 0.475 * (width-20), yco-68, ((joy->flag & SENS_JOY_ANY_EVENT) ? 0.525 : 0.12) * (width-20), 19,
- &joy->flag, 0, 0, 0, 0,
- "Triggered by all events on this joysticks current type (axis/button/hat)");
+ xco+10 + 0.475 * (width-20), yco-68, ((joy->flag & SENS_JOY_ANY_EVENT) ? 0.525 : 0.12) * (width-20), 19,
+ &joy->flag, 0, 0, 0, 0,
+ "Triggered by all events on this joysticks current type (axis/button/hat)");
}
if (joy->type == SENS_JOY_BUTTON) {
if ((joy->flag & SENS_JOY_ANY_EVENT)==0) {
uiDefButI(block, NUM, 1, "Number:", xco+10 + 0.6 * (width-20), yco-68, 0.4 * (width-20), 19,
- &joy->button, 0, 18, 100, 0,
- "Specify which button to use");
+ &joy->button, 0, 18, 100, 0,
+ "Specify which button to use");
}
}
else if (joy->type == SENS_JOY_AXIS) {
uiDefButS(block, NUM, 1, "Number:", xco+10, yco-68, 0.46 * (width-20), 19,
- &joy->axis, 1, 8.0, 100, 0,
- "Specify which axis pair to use, 1 is useually the main direction input");
+ &joy->axis, 1, 8.0, 100, 0,
+ "Specify which axis pair to use, 1 is useually the main direction input");
uiDefButI(block, NUM, 1, "Threshold:", xco+10 + 0.6 * (width-20), yco-44, 0.4 * (width-20), 19,
- &joy->precision, 0, 32768.0, 100, 0,
- "Specify the precision of the axis");
+ &joy->precision, 0, 32768.0, 100, 0,
+ "Specify the precision of the axis");
if ((joy->flag & SENS_JOY_ANY_EVENT)==0) {
- str = "Type %t|Up Axis %x1 |Down Axis %x3|Left Axis %x2|Right Axis %x0";
+ str = "Type %t|Up Axis %x1 |Down Axis %x3|Left Axis %x2|Right Axis %x0";
uiDefButI(block, MENU, B_REDR, str, xco+10 + 0.6 * (width-20), yco-68, 0.4 * (width-20), 19,
- &joy->axisf, 2.0, 31, 0, 0,
- "The direction of the axis, use 'All Events' to receive events on any direction");
+ &joy->axisf, 2.0, 31, 0, 0,
+ "The direction of the axis, use 'All Events' to receive events on any direction");
}
}
else if (joy->type == SENS_JOY_HAT) {
uiDefButI(block, NUM, 1, "Number:", xco+10, yco-68, 0.46 * (width-20), 19,
- &joy->hat, 1, 4.0, 100, 0,
- "Specify which hat to use");
-
+ &joy->hat, 1, 4.0, 100, 0,
+ "Specify which hat to use");
+
if ((joy->flag & SENS_JOY_ANY_EVENT)==0) {
- str = "Direction%t|Up%x1|Down%x4|Left%x8|Right%x2|%l|Up/Right%x3|Down/Left%x12|Up/Left%x9|Down/Right%x6";
+ str = "Direction%t|Up%x1|Down%x4|Left%x8|Right%x2|%l|Up/Right%x3|Down/Left%x12|Up/Left%x9|Down/Right%x6";
uiDefButI(block, MENU, 0, str, xco+10 + 0.6 * (width-20), yco-68, 0.4 * (width-20), 19,
- &joy->hatf, 2.0, 31, 0, 0,
- "The direction of the hat, use 'All Events' to receive events on any direction");
+ &joy->hatf, 2.0, 31, 0, 0,
+ "The direction of the hat, use 'All Events' to receive events on any direction");
}
}
else { /* (joy->type == SENS_JOY_AXIS_SINGLE)*/
uiDefButS(block, NUM, 1, "Number:", xco+10, yco-68, 0.46 * (width-20), 19,
- &joy->axis_single, 1, 16.0, 100, 0,
- "Specify a single axis (verticle/horizontal/other) to detect");
-
+ &joy->axis_single, 1, 16.0, 100, 0,
+ "Specify a single axis (verticle/horizontal/other) to detect");
+
uiDefButI(block, NUM, 1, "Threshold:", xco+10 + 0.6 * (width-20), yco-44, 0.4 * (width-20), 19,
- &joy->precision, 0, 32768.0, 100, 0,
- "Specify the precision of the axis");
+ &joy->precision, 0, 32768.0, 100, 0,
+ "Specify the precision of the axis");
}
yco-= ysize;
break;
}
}
-
+
return yco-4;
}
@@ -1859,7 +1859,7 @@ static short draw_actuatorbuttons(Main *bmain, Object *ob, bActuator *act, uiBlo
set_col_actuator(act->type, 0);
switch (act->type) {
- case ACT_OBJECT:
+ case ACT_OBJECT:
{
oa = act->data;
wval = (width-100)/3;
@@ -1890,7 +1890,7 @@ static short draw_actuatorbuttons(Main *bmain, Object *ob, bActuator *act, uiBlo
uiDefButBitS(block, TOG, ACT_DLOC_LOCAL, 0, "L", xco+45+3*wval, yco-45, 15, 19, &oa->flag, 0.0, 0.0, 0, 0, "Local transformation");
uiDefButBitS(block, TOG, ACT_DROT_LOCAL, 0, "L", xco+45+3*wval, yco-64, 15, 19, &oa->flag, 0.0, 0.0, 0, 0, "Local transformation");
-
+
if (ob->gameflag & OB_DYNAMIC) {
uiDefBut(block, LABEL, 0, "Force", xco, yco-87, 55, 19, NULL, 0, 0, 0, 0, "Sets the force");
uiBlockBeginAlign(block);
@@ -1903,7 +1903,7 @@ static short draw_actuatorbuttons(Main *bmain, Object *ob, bActuator *act, uiBlo
uiBlockBeginAlign(block);
uiDefButF(block, NUM, 0, "", xco+45, yco-106, wval, 19, oa->forcerot, -10000.0, 10000.0, 10, 0, "");
uiDefButF(block, NUM, 0, "", xco+45+wval, yco-106, wval, 19, oa->forcerot+1, -10000.0, 10000.0, 10, 0, "");
- uiDefButF(block, NUM, 0, "", xco+45+2*wval, yco-106, wval, 19, oa->forcerot+2, -10000.0, 10000.0, 10, 0, "");
+ uiDefButF(block, NUM, 0, "", xco+45+2*wval, yco-106, wval, 19, oa->forcerot+2, -10000.0, 10000.0, 10, 0, "");
uiBlockEndAlign(block);
}
@@ -1914,14 +1914,14 @@ static short draw_actuatorbuttons(Main *bmain, Object *ob, bActuator *act, uiBlo
uiDefButF(block, NUM, 0, "", xco+45+wval, yco-129, wval, 19, oa->linearvelocity+1, -10000.0, 10000.0, 10, 0, "");
uiDefButF(block, NUM, 0, "", xco+45+2*wval, yco-129, wval, 19, oa->linearvelocity+2, -10000.0, 10000.0, 10, 0, "");
uiBlockEndAlign(block);
-
+
uiDefBut(block, LABEL, 0, "AngV", xco, yco-148, 45, 19, NULL, 0, 0, 0, 0, "Sets the angular velocity");
uiBlockBeginAlign(block);
uiDefButF(block, NUM, 0, "", xco+45, yco-148, wval, 19, oa->angularvelocity, -10000.0, 10000.0, 10, 0, "");
uiDefButF(block, NUM, 0, "", xco+45+wval, yco-148, wval, 19, oa->angularvelocity+1, -10000.0, 10000.0, 10, 0, "");
uiDefButF(block, NUM, 0, "", xco+45+2*wval, yco-148, wval, 19, oa->angularvelocity+2, -10000.0, 10000.0, 10, 0, "");
uiBlockEndAlign(block);
-
+
uiDefBut(block, LABEL, 0, "Damp", xco, yco-171, 45, 19, NULL, 0, 0, 0, 0, "Number of frames to reach the target velocity");
uiDefButS(block, NUM, 0, "", xco+45, yco-171, wval, 19, &oa->damping, 0.0, 1000.0, 100, 0, "");
@@ -1929,9 +1929,9 @@ static short draw_actuatorbuttons(Main *bmain, Object *ob, bActuator *act, uiBlo
uiDefButBitS(block, TOG, ACT_TORQUE_LOCAL, 0, "L", xco+45+3*wval, yco-106, 15, 19, &oa->flag, 0.0, 0.0, 0, 0, "Local transformation");
uiDefButBitS(block, TOG, ACT_LIN_VEL_LOCAL, 0, "L", xco+45+3*wval, yco-129, 15, 19, &oa->flag, 0.0, 0.0, 0, 0, "Local transformation");
uiDefButBitS(block, TOG, ACT_ANG_VEL_LOCAL, 0, "L", xco+45+3*wval, yco-148, 15, 19, &oa->flag, 0.0, 0.0, 0, 0, "Local transformation");
-
+
uiDefButBitS(block, TOG, ACT_ADD_LIN_VEL, 0, "use_additive", xco+45+3*wval+15, yco-129, 35, 19, &oa->flag, 0.0, 0.0, 0, 0, "Toggles between ADD and SET linV");
- }
+ }
}
else if (oa->type == ACT_OBJECT_SERVO) {
ysize= 195;
@@ -1984,8 +1984,8 @@ static short draw_actuatorbuttons(Main *bmain, Object *ob, bActuator *act, uiBlo
yco-= ysize;
break;
}
- case ACT_ACTION:
- case ACT_SHAPEACTION:
+ case ACT_ACTION:
+ case ACT_SHAPEACTION:
{
/* DrawAct */
#ifdef __NLA_ACTION_BY_MOTION_ACTUATOR
@@ -2010,7 +2010,7 @@ static short draw_actuatorbuttons(Main *bmain, Object *ob, bActuator *act, uiBlo
uiDefIDPoinBut(block, test_actionpoin_but, ID_AC, 1, "AC: ", xco+10+ (width/3), yco-24, ((width/3)*2) - (20 + 60), 19, &aa->act, "Action name");
uiDefButBitS(block, TOGN, 1, 0, "Continue", xco+((width/3)*2)+20, yco-24, 60, 19,
- &aa->end_reset, 0.0, 0.0, 0, 0, "Restore last frame when switching on/off, otherwise play from the start each time");
+ &aa->end_reset, 0.0, 0.0, 0, 0, "Restore last frame when switching on/off, otherwise play from the start each time");
if (aa->type == ACT_ACTION_FROM_PROP) {
@@ -2020,7 +2020,7 @@ static short draw_actuatorbuttons(Main *bmain, Object *ob, bActuator *act, uiBlo
uiDefButF(block, NUM, 0, "Sta: ", xco+10, yco-44, (width-20)/2, 19, &aa->sta, 1.0, MAXFRAMEF, 0, 0, "Start frame");
uiDefButF(block, NUM, 0, "End: ", xco+10+(width-20)/2, yco-44, (width-20)/2, 19, &aa->end, 1.0, MAXFRAMEF, 0, 0, "End frame");
}
-
+
uiDefButS(block, NUM, 0, "Blendin: ", xco+10, yco-64, (width-20)/2, 19, &aa->blendin, 0.0, 32767, 0.0, 0.0, "Number of frames of motion blending");
uiDefButS(block, NUM, 0, "Priority: ", xco+10+(width-20)/2, yco-64, (width-20)/2, 19, &aa->priority, 0.0, 100.0, 0.0, 0.0, "Execution priority - lower numbers will override actions with higher numbers, With 2 or more actions at once, the overriding channels must be lower in the stack");
@@ -2038,7 +2038,7 @@ static short draw_actuatorbuttons(Main *bmain, Object *ob, bActuator *act, uiBlo
yco-=ysize;
break;
}
- case ACT_IPO:
+ case ACT_IPO:
{
ia= act->data;
@@ -2051,55 +2051,55 @@ static short draw_actuatorbuttons(Main *bmain, Object *ob, bActuator *act, uiBlo
uiDefButS(block, MENU, B_REDR, str, xco+10, yco-24, (width-20)/2, 19, &ia->type, 0, 0, 0, 0, "");
- but = uiDefButBitS(block, TOG, ACT_IPOFORCE, ACT_IPOFORCE,
- "Force", xco+10+(width-20)/2, yco-24, (width-20)/4-10, 19,
- &ia->flag, 0, 0, 0, 0,
- "Apply Ipo as a global or local force depending on the local option (dynamic objects only)");
+ but = uiDefButBitS(block, TOG, ACT_IPOFORCE, ACT_IPOFORCE,
+ "Force", xco+10+(width-20)/2, yco-24, (width-20)/4-10, 19,
+ &ia->flag, 0, 0, 0, 0,
+ "Apply Ipo as a global or local force depending on the local option (dynamic objects only)");
uiButSetFunc(but, change_ipo_actuator, but, ia);
- but = uiDefButBitS(block, TOG, ACT_IPOADD, ACT_IPOADD,
- "Add", xco+3*(width-20)/4, yco-24, (width-20)/4-10, 19,
- &ia->flag, 0, 0, 0, 0,
- "Ipo is added to the current loc/rot/scale in global or local coordinate according to Local flag");
+ but = uiDefButBitS(block, TOG, ACT_IPOADD, ACT_IPOADD,
+ "Add", xco+3*(width-20)/4, yco-24, (width-20)/4-10, 19,
+ &ia->flag, 0, 0, 0, 0,
+ "Ipo is added to the current loc/rot/scale in global or local coordinate according to Local flag");
uiButSetFunc(but, change_ipo_actuator, but, ia);
/* Only show the do-force-local toggle if force is requested */
if (ia->flag & (ACT_IPOFORCE|ACT_IPOADD)) {
- uiDefButBitS(block, TOG, ACT_IPOLOCAL, 0,
- "L", xco+width-30, yco-24, 20, 19,
- &ia->flag, 0, 0, 0, 0,
- "Let the ipo acts in local coordinates, used in Force and Add mode");
+ uiDefButBitS(block, TOG, ACT_IPOLOCAL, 0,
+ "L", xco+width-30, yco-24, 20, 19,
+ &ia->flag, 0, 0, 0, 0,
+ "Let the ipo acts in local coordinates, used in Force and Add mode");
}
if (ia->type==ACT_IPO_FROM_PROP) {
- uiDefBut(block, TEX, 0,
- "Prop: ", xco+10, yco-44, width-80, 19,
- ia->name, 0.0, MAX_NAME, 0, 0,
- "Use this property to define the Ipo position");
+ uiDefBut(block, TEX, 0,
+ "Prop: ", xco+10, yco-44, width-80, 19,
+ ia->name, 0.0, MAX_NAME, 0, 0,
+ "Use this property to define the Ipo position");
}
else {
- uiDefButF(block, NUM, 0,
- "Sta", xco+10, yco-44, (width-80)/2, 19,
- &ia->sta, 1.0, MAXFRAMEF, 0, 0,
- "Start frame");
- uiDefButF(block, NUM, 0,
- "End", xco+10+(width-80)/2, yco-44, (width-80)/2, 19,
- &ia->end, 1.0, MAXFRAMEF, 0, 0,
- "End frame");
+ uiDefButF(block, NUM, 0,
+ "Sta", xco+10, yco-44, (width-80)/2, 19,
+ &ia->sta, 1.0, MAXFRAMEF, 0, 0,
+ "Start frame");
+ uiDefButF(block, NUM, 0,
+ "End", xco+10+(width-80)/2, yco-44, (width-80)/2, 19,
+ &ia->end, 1.0, MAXFRAMEF, 0, 0,
+ "End frame");
}
- uiDefButBitS(block, TOG, ACT_IPOCHILD, B_REDR,
- "Child", xco+10+(width-80), yco-44, 60, 19,
- &ia->flag, 0, 0, 0, 0,
- "Update IPO on all children Objects as well");
- uiDefBut(block, TEX, 0,
- "FrameProp: ", xco+10, yco-64, width-20, 19,
- ia->frameProp, 0.0, MAX_NAME, 0, 0,
- "Assign the action's current frame number to this property");
+ uiDefButBitS(block, TOG, ACT_IPOCHILD, B_REDR,
+ "Child", xco+10+(width-80), yco-44, 60, 19,
+ &ia->flag, 0, 0, 0, 0,
+ "Update IPO on all children Objects as well");
+ uiDefBut(block, TEX, 0,
+ "FrameProp: ", xco+10, yco-64, width-20, 19,
+ ia->frameProp, 0.0, MAX_NAME, 0, 0,
+ "Assign the action's current frame number to this property");
yco-= ysize;
break;
}
- case ACT_PROPERTY:
+ case ACT_PROPERTY:
{
ysize= 68;
@@ -2129,7 +2129,7 @@ static short draw_actuatorbuttons(Main *bmain, Object *ob, bActuator *act, uiBlo
break;
}
- case ACT_SOUND:
+ case ACT_SOUND:
{
sa = act->data;
sa->sndnr = 0;
@@ -2193,743 +2193,743 @@ static short draw_actuatorbuttons(Main *bmain, Object *ob, bActuator *act, uiBlo
}
}
MEM_freeN((void *)str);
- }
+ }
else {
uiDefButO(block, BUT, "sound.open", 0, "Load Sound", xco+10, yco-22, width-20, 19, "Load a sound file");
}
-
+
yco-= ysize;
break;
}
- case ACT_CAMERA:
+ case ACT_CAMERA:
- ysize= 48;
+ ysize= 48;
- glRects(xco, yco-ysize, xco+width, yco);
- uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
-
- ca= act->data;
+ glRects(xco, yco-ysize, xco+width, yco);
+ uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
- uiDefIDPoinBut(block, test_obpoin_but, ID_OB, 1, "OB:", xco+10, yco-24, (width-20)/2, 19, &(ca->ob), "Look at this Object");
- uiDefButF(block, NUM, 0, "Height:", xco+10+(width-20)/2, yco-24, (width-20)/2, 19, &ca->height, 0.0, 20.0, 0, 0, "");
-
- uiDefButF(block, NUM, 0, "Min:", xco+10, yco-44, (width-60)/2, 19, &ca->min, 0.0, 20.0, 0, 0, "");
-
- if (ca->axis==0) ca->axis= 'x';
- uiDefButS(block, ROW, 0, "X", xco+10+(width-60)/2, yco-44, 20, 19, &ca->axis, 4.0, (float)'x', 0, 0, "Camera tries to get behind the X axis");
- uiDefButS(block, ROW, 0, "Y", xco+30+(width-60)/2, yco-44, 20, 19, &ca->axis, 4.0, (float)'y', 0, 0, "Camera tries to get behind the Y axis");
-
- uiDefButF(block, NUM, 0, "Max:", xco+20+(width)/2, yco-44, (width-60)/2, 19, &ca->max, 0.0, 20.0, 0, 0, "");
+ ca= act->data;
- yco-= ysize;
+ uiDefIDPoinBut(block, test_obpoin_but, ID_OB, 1, "OB:", xco+10, yco-24, (width-20)/2, 19, &(ca->ob), "Look at this Object");
+ uiDefButF(block, NUM, 0, "Height:", xco+10+(width-20)/2, yco-24, (width-20)/2, 19, &ca->height, 0.0, 20.0, 0, 0, "");
- break;
+ uiDefButF(block, NUM, 0, "Min:", xco+10, yco-44, (width-60)/2, 19, &ca->min, 0.0, 20.0, 0, 0, "");
- case ACT_EDIT_OBJECT:
-
- eoa= act->data;
+ if (ca->axis==0) ca->axis= 'x';
+ uiDefButS(block, ROW, 0, "X", xco+10+(width-60)/2, yco-44, 20, 19, &ca->axis, 4.0, (float)'x', 0, 0, "Camera tries to get behind the X axis");
+ uiDefButS(block, ROW, 0, "Y", xco+30+(width-60)/2, yco-44, 20, 19, &ca->axis, 4.0, (float)'y', 0, 0, "Camera tries to get behind the Y axis");
- if (eoa->type==ACT_EDOB_ADD_OBJECT) {
- ysize = 92;
- glRects(xco, yco-ysize, xco+width, yco);
- uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
+ uiDefButF(block, NUM, 0, "Max:", xco+20+(width)/2, yco-44, (width-60)/2, 19, &ca->max, 0.0, 20.0, 0, 0, "");
+
+ yco-= ysize;
+
+ break;
+
+ case ACT_EDIT_OBJECT:
+
+ eoa= act->data;
+
+ if (eoa->type==ACT_EDOB_ADD_OBJECT) {
+ ysize = 92;
+ glRects(xco, yco-ysize, xco+width, yco);
+ uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
+
+ uiDefIDPoinBut(block, test_obpoin_but, ID_OB, 1, "OB:", xco+10, yco-44, (width-20)/2, 19, &(eoa->ob), "Add this Object and all its children (cant be on an visible layer)");
+ uiDefButI(block, NUM, 0, "Time:", xco+10+(width-20)/2, yco-44, (width-20)/2, 19, &eoa->time, 0.0, 2000.0, 0, 0, "Duration the new Object lives");
+
+ wval= (width-60)/3;
+ uiDefBut(block, LABEL, 0, "linV", xco, yco-68, 45, 19,
+ NULL, 0, 0, 0, 0,
+ "Velocity upon creation");
+ uiDefButF(block, NUM, 0, "", xco+45, yco-68, wval, 19,
+ eoa->linVelocity, -100.0, 100.0, 10, 0,
+ "Velocity upon creation, x component");
+ uiDefButF(block, NUM, 0, "", xco+45+wval, yco-68, wval, 19,
+ eoa->linVelocity+1, -100.0, 100.0, 10, 0,
+ "Velocity upon creation, y component");
+ uiDefButF(block, NUM, 0, "", xco+45+2*wval, yco-68, wval, 19,
+ eoa->linVelocity+2, -100.0, 100.0, 10, 0,
+ "Velocity upon creation, z component");
+ uiDefButBitS(block, TOG, ACT_EDOB_LOCAL_LINV, 0, "L", xco+45+3*wval, yco-68, 15, 19,
+ &eoa->localflag, 0.0, 0.0, 0, 0,
+ "Apply the transformation locally");
+
+
+ uiDefBut(block, LABEL, 0, "AngV", xco, yco-90, 45, 19,
+ NULL, 0, 0, 0, 0,
+ "Angular velocity upon creation");
+ uiDefButF(block, NUM, 0, "", xco+45, yco-90, wval, 19,
+ eoa->angVelocity, -10000.0, 10000.0, 10, 0,
+ "Angular velocity upon creation, x component");
+ uiDefButF(block, NUM, 0, "", xco+45+wval, yco-90, wval, 19,
+ eoa->angVelocity+1, -10000.0, 10000.0, 10, 0,
+ "Angular velocity upon creation, y component");
+ uiDefButF(block, NUM, 0, "", xco+45+2*wval, yco-90, wval, 19,
+ eoa->angVelocity+2, -10000.0, 10000.0, 10, 0,
+ "Angular velocity upon creation, z component");
+ uiDefButBitS(block, TOG, ACT_EDOB_LOCAL_ANGV, 0, "L", xco+45+3*wval, yco-90, 15, 19,
+ &eoa->localflag, 0.0, 0.0, 0, 0,
+ "Apply the rotation locally");
- uiDefIDPoinBut(block, test_obpoin_but, ID_OB, 1, "OB:", xco+10, yco-44, (width-20)/2, 19, &(eoa->ob), "Add this Object and all its children (cant be on an visible layer)");
- uiDefButI(block, NUM, 0, "Time:", xco+10+(width-20)/2, yco-44, (width-20)/2, 19, &eoa->time, 0.0, 2000.0, 0, 0, "Duration the new Object lives");
-
- wval= (width-60)/3;
- uiDefBut(block, LABEL, 0, "linV", xco, yco-68, 45, 19,
- NULL, 0, 0, 0, 0,
- "Velocity upon creation");
- uiDefButF(block, NUM, 0, "", xco+45, yco-68, wval, 19,
- eoa->linVelocity, -100.0, 100.0, 10, 0,
- "Velocity upon creation, x component");
- uiDefButF(block, NUM, 0, "", xco+45+wval, yco-68, wval, 19,
- eoa->linVelocity+1, -100.0, 100.0, 10, 0,
- "Velocity upon creation, y component");
- uiDefButF(block, NUM, 0, "", xco+45+2*wval, yco-68, wval, 19,
- eoa->linVelocity+2, -100.0, 100.0, 10, 0,
- "Velocity upon creation, z component");
- uiDefButBitS(block, TOG, ACT_EDOB_LOCAL_LINV, 0, "L", xco+45+3*wval, yco-68, 15, 19,
- &eoa->localflag, 0.0, 0.0, 0, 0,
- "Apply the transformation locally");
-
-
- uiDefBut(block, LABEL, 0, "AngV", xco, yco-90, 45, 19,
- NULL, 0, 0, 0, 0,
- "Angular velocity upon creation");
- uiDefButF(block, NUM, 0, "", xco+45, yco-90, wval, 19,
- eoa->angVelocity, -10000.0, 10000.0, 10, 0,
- "Angular velocity upon creation, x component");
- uiDefButF(block, NUM, 0, "", xco+45+wval, yco-90, wval, 19,
- eoa->angVelocity+1, -10000.0, 10000.0, 10, 0,
- "Angular velocity upon creation, y component");
- uiDefButF(block, NUM, 0, "", xco+45+2*wval, yco-90, wval, 19,
- eoa->angVelocity+2, -10000.0, 10000.0, 10, 0,
- "Angular velocity upon creation, z component");
- uiDefButBitS(block, TOG, ACT_EDOB_LOCAL_ANGV, 0, "L", xco+45+3*wval, yco-90, 15, 19,
- &eoa->localflag, 0.0, 0.0, 0, 0,
- "Apply the rotation locally");
-
- }
- else if (eoa->type==ACT_EDOB_END_OBJECT) {
- ysize= 28;
- glRects(xco, yco-ysize, xco+width, yco);
- uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
- }
- else if (eoa->type==ACT_EDOB_REPLACE_MESH) {
- ysize= 48;
- glRects(xco, yco-ysize, xco+width, yco);
- uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
-
- uiDefIDPoinBut(block, test_meshpoin_but, ID_ME, 1, "ME:", xco+40, yco-44, (width-80)/2, 19, &(eoa->me), "replace the existing, when left blank 'Phys' will remake the existing physics mesh");
-
- uiDefButBitS(block, TOGN, ACT_EDOB_REPLACE_MESH_NOGFX, 0, "Gfx", xco+40 + (width-80)/2, yco-44, (width-80)/4, 19, &eoa->flag, 0, 0, 0, 0, "Replace the display mesh");
- uiDefButBitS(block, TOG, ACT_EDOB_REPLACE_MESH_PHYS, 0, "Phys", xco+40 + (width-80)/2 +(width-80)/4, yco-44, (width-80)/4, 19, &eoa->flag, 0, 0, 0, 0, "Replace the physics mesh (triangle bounds only. compound shapes not supported)");
- }
- else if (eoa->type==ACT_EDOB_TRACK_TO) {
- ysize= 48;
- glRects(xco, yco-ysize, xco+width, yco);
- uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
-
- uiDefIDPoinBut(block, test_obpoin_but, ID_OB, 1, "OB:", xco+10, yco-44, (width-20)/2, 19, &(eoa->ob), "Track to this Object");
- uiDefButI(block, NUM, 0, "Time:", xco+10+(width-20)/2, yco-44, (width-20)/2-40, 19, &eoa->time, 0.0, 2000.0, 0, 0, "Duration the tracking takes");
- uiDefButS(block, TOG, 0, "3D", xco+width-50, yco-44, 40, 19, &eoa->flag, 0.0, 0.0, 0, 0, "Enable 3D tracking");
- }
- else if (eoa->type==ACT_EDOB_DYNAMICS) {
- ysize= 69;
- glRects(xco, yco-ysize, xco+width, yco);
- uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
-
- str= "Dynamic Operation %t|Restore Dynamics %x0|Suspend Dynamics %x1|Enable Rigid Body %x2|Disable Rigid Body %x3|Set Mass %x4";
- uiDefButS(block, MENU, B_REDR, str, xco+40, yco-44, (width-80), 19, &(eoa->dyn_operation), 0.0, 0.0, 0, 0, "");
- if (eoa->dyn_operation==4) {
- uiDefButF(block, NUM, 0, "", xco+40, yco-63, width-80, 19,
- &eoa->mass, 0.0, 10000.0, 10, 0,
- "Mass for object");
}
- }
- str= "Edit Object %t|Add Object %x0|End Object %x1|Replace Mesh %x2|Track to %x3|Dynamics %x4";
- uiDefButS(block, MENU, B_REDR, str, xco+40, yco-24, (width-80), 19, &eoa->type, 0.0, 0.0, 0, 0, "");
+ else if (eoa->type==ACT_EDOB_END_OBJECT) {
+ ysize= 28;
+ glRects(xco, yco-ysize, xco+width, yco);
+ uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
+ }
+ else if (eoa->type==ACT_EDOB_REPLACE_MESH) {
+ ysize= 48;
+ glRects(xco, yco-ysize, xco+width, yco);
+ uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
- yco-= ysize;
+ uiDefIDPoinBut(block, test_meshpoin_but, ID_ME, 1, "ME:", xco+40, yco-44, (width-80)/2, 19, &(eoa->me), "replace the existing, when left blank 'Phys' will remake the existing physics mesh");
- break;
+ uiDefButBitS(block, TOGN, ACT_EDOB_REPLACE_MESH_NOGFX, 0, "Gfx", xco+40 + (width-80)/2, yco-44, (width-80)/4, 19, &eoa->flag, 0, 0, 0, 0, "Replace the display mesh");
+ uiDefButBitS(block, TOG, ACT_EDOB_REPLACE_MESH_PHYS, 0, "Phys", xco+40 + (width-80)/2 +(width-80)/4, yco-44, (width-80)/4, 19, &eoa->flag, 0, 0, 0, 0, "Replace the physics mesh (triangle bounds only. compound shapes not supported)");
+ }
+ else if (eoa->type==ACT_EDOB_TRACK_TO) {
+ ysize= 48;
+ glRects(xco, yco-ysize, xco+width, yco);
+ uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
- case ACT_CONSTRAINT:
- coa= act->data;
-
- if (coa->type == ACT_CONST_TYPE_LOC) {
- ysize= 69;
+ uiDefIDPoinBut(block, test_obpoin_but, ID_OB, 1, "OB:", xco+10, yco-44, (width-20)/2, 19, &(eoa->ob), "Track to this Object");
+ uiDefButI(block, NUM, 0, "Time:", xco+10+(width-20)/2, yco-44, (width-20)/2-40, 19, &eoa->time, 0.0, 2000.0, 0, 0, "Duration the tracking takes");
+ uiDefButS(block, TOG, 0, "3D", xco+width-50, yco-44, 40, 19, &eoa->flag, 0.0, 0.0, 0, 0, "Enable 3D tracking");
+ }
+ else if (eoa->type==ACT_EDOB_DYNAMICS) {
+ ysize= 69;
+ glRects(xco, yco-ysize, xco+width, yco);
+ uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
- glRects(xco, yco-ysize, xco+width, yco);
- uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
-
- /* str= "Limit %t|None %x0|Loc X %x1|Loc Y %x2|Loc Z %x4|Rot X %x8|Rot Y %x16|Rot Z %x32"; */
- /* coa->flag &= ~(63); */
- str= "Limit %t|None %x0|Loc X %x1|Loc Y %x2|Loc Z %x4";
- coa->flag &= 7;
- coa->time = 0;
- uiDefButS(block, MENU, 1, str, xco+10, yco-65, 70, 19, &coa->flag, 0.0, 0.0, 0, 0, "");
-
- uiDefButS(block, NUM, 0, "damp", xco+10, yco-45, 70, 19, &coa->damp, 0.0, 100.0, 0, 0, "Damping factor: time constant (in frame) of low pass filter");
- uiDefBut(block, LABEL, 0, "Min", xco+80, yco-45, (width-90)/2, 19, NULL, 0.0, 0.0, 0, 0, "");
- uiDefBut(block, LABEL, 0, "Max", xco+80+(width-90)/2, yco-45, (width-90)/2, 19, NULL, 0.0, 0.0, 0, 0, "");
-
- if (coa->flag & ACT_CONST_LOCX) fp= coa->minloc;
- else if (coa->flag & ACT_CONST_LOCY) fp= coa->minloc+1;
- else if (coa->flag & ACT_CONST_LOCZ) fp= coa->minloc+2;
- else if (coa->flag & ACT_CONST_ROTX) fp= coa->minrot;
- else if (coa->flag & ACT_CONST_ROTY) fp= coa->minrot+1;
- else fp= coa->minrot+2;
-
- uiDefButF(block, NUM, 0, "", xco+80, yco-65, (width-90)/2, 19, fp, -2000.0, 2000.0, 10, 0, "");
- uiDefButF(block, NUM, 0, "", xco+80+(width-90)/2, yco-65, (width-90)/2, 19, fp+3, -2000.0, 2000.0, 10, 0, "");
- }
- else if (coa->type == ACT_CONST_TYPE_DIST) {
- ysize= 106;
+ str= "Dynamic Operation %t|Restore Dynamics %x0|Suspend Dynamics %x1|Enable Rigid Body %x2|Disable Rigid Body %x3|Set Mass %x4";
+ uiDefButS(block, MENU, B_REDR, str, xco+40, yco-44, (width-80), 19, &(eoa->dyn_operation), 0.0, 0.0, 0, 0, "");
+ if (eoa->dyn_operation==4) {
+ uiDefButF(block, NUM, 0, "", xco+40, yco-63, width-80, 19,
+ &eoa->mass, 0.0, 10000.0, 10, 0,
+ "Mass for object");
+ }
+ }
+ str= "Edit Object %t|Add Object %x0|End Object %x1|Replace Mesh %x2|Track to %x3|Dynamics %x4";
+ uiDefButS(block, MENU, B_REDR, str, xco+40, yco-24, (width-80), 19, &eoa->type, 0.0, 0.0, 0, 0, "");
- glRects(xco, yco-ysize, xco+width, yco);
- uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
-
- str= "Direction %t|None %x0|X axis %x1|Y axis %x2|Z axis %x4|-X axis %x8|-Y axis %x16|-Z axis %x32";
- uiDefButS(block, MENU, B_REDR, str, xco+10, yco-65, 70, 19, &coa->mode, 0.0, 0.0, 0, 0, "Set the direction of the ray");
-
- uiDefButS(block, NUM, 0, "damp", xco+10, yco-45, 70, 19, &coa->damp, 0.0, 100.0, 0, 0, "Damping factor: time constant (in frame) of low pass filter");
- uiDefBut(block, LABEL, 0, "Range", xco+80, yco-45, (width-115)/2, 19, NULL, 0.0, 0.0, 0, 0, "Set the maximum length of ray");
- uiDefButBitS(block, TOG, ACT_CONST_DISTANCE, B_REDR, "Dist", xco+80+(width-115)/2, yco-45, (width-115)/2, 19, &coa->flag, 0.0, 0.0, 0, 0, "Force distance of object to point of impact of ray");
- uiDefButBitS(block, TOG, ACT_CONST_LOCAL, 0, "L", xco+80+(width-115), yco-45, 25, 19,
- &coa->flag, 0.0, 0.0, 0, 0, "Set ray along object's axis or global axis");
-
- if (coa->mode & (ACT_CONST_DIRPX|ACT_CONST_DIRNX)) fp= coa->minloc;
- else if (coa->mode & (ACT_CONST_DIRPY|ACT_CONST_DIRNY)) fp= coa->minloc+1;
- else fp= coa->minloc+2;
-
- uiDefButF(block, NUM, 0, "", xco+80, yco-65, (width-115)/2, 19, fp+3, 0.0, 2000.0, 10, 0, "Maximum length of ray");
- if (coa->flag & ACT_CONST_DISTANCE)
- uiDefButF(block, NUM, 0, "", xco+80+(width-115)/2, yco-65, (width-115)/2, 19, fp, -2000.0, 2000.0, 10, 0, "Keep this distance to target");
- uiDefButBitS(block, TOG, ACT_CONST_NORMAL, 0, "N", xco+80+(width-115), yco-65, 25, 19,
- &coa->flag, 0.0, 0.0, 0, 0, "Set object axis along (local axis) or parallel (global axis) to the normal at hit position");
- uiDefButBitS(block, TOG, ACT_CONST_MATERIAL, B_REDR, "M/P", xco+10, yco-84, 40, 19,
- &coa->flag, 0.0, 0.0, 0, 0, "Detect material instead of property");
- if (coa->flag & ACT_CONST_MATERIAL) {
- uiDefBut(block, TEX, 1, "Material:", xco + 50, yco-84, (width-60), 19,
- coa->matprop, 0, MAX_NAME, 0, 0,
- "Ray detects only Objects with this material");
+ yco-= ysize;
+
+ break;
+
+ case ACT_CONSTRAINT:
+ coa= act->data;
+
+ if (coa->type == ACT_CONST_TYPE_LOC) {
+ ysize= 69;
+
+ glRects(xco, yco-ysize, xco+width, yco);
+ uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
+
+ /* str= "Limit %t|None %x0|Loc X %x1|Loc Y %x2|Loc Z %x4|Rot X %x8|Rot Y %x16|Rot Z %x32"; */
+ /* coa->flag &= ~(63); */
+ str= "Limit %t|None %x0|Loc X %x1|Loc Y %x2|Loc Z %x4";
+ coa->flag &= 7;
+ coa->time = 0;
+ uiDefButS(block, MENU, 1, str, xco+10, yco-65, 70, 19, &coa->flag, 0.0, 0.0, 0, 0, "");
+
+ uiDefButS(block, NUM, 0, "damp", xco+10, yco-45, 70, 19, &coa->damp, 0.0, 100.0, 0, 0, "Damping factor: time constant (in frame) of low pass filter");
+ uiDefBut(block, LABEL, 0, "Min", xco+80, yco-45, (width-90)/2, 19, NULL, 0.0, 0.0, 0, 0, "");
+ uiDefBut(block, LABEL, 0, "Max", xco+80+(width-90)/2, yco-45, (width-90)/2, 19, NULL, 0.0, 0.0, 0, 0, "");
+
+ if (coa->flag & ACT_CONST_LOCX) fp= coa->minloc;
+ else if (coa->flag & ACT_CONST_LOCY) fp= coa->minloc+1;
+ else if (coa->flag & ACT_CONST_LOCZ) fp= coa->minloc+2;
+ else if (coa->flag & ACT_CONST_ROTX) fp= coa->minrot;
+ else if (coa->flag & ACT_CONST_ROTY) fp= coa->minrot+1;
+ else fp= coa->minrot+2;
+
+ uiDefButF(block, NUM, 0, "", xco+80, yco-65, (width-90)/2, 19, fp, -2000.0, 2000.0, 10, 0, "");
+ uiDefButF(block, NUM, 0, "", xco+80+(width-90)/2, yco-65, (width-90)/2, 19, fp+3, -2000.0, 2000.0, 10, 0, "");
}
- else {
- uiDefBut(block, TEX, 1, "Property:", xco + 50, yco-84, (width-60), 19,
- coa->matprop, 0, MAX_NAME, 0, 0,
- "Ray detect only Objects with this property");
+ else if (coa->type == ACT_CONST_TYPE_DIST) {
+ ysize= 106;
+
+ glRects(xco, yco-ysize, xco+width, yco);
+ uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
+
+ str= "Direction %t|None %x0|X axis %x1|Y axis %x2|Z axis %x4|-X axis %x8|-Y axis %x16|-Z axis %x32";
+ uiDefButS(block, MENU, B_REDR, str, xco+10, yco-65, 70, 19, &coa->mode, 0.0, 0.0, 0, 0, "Set the direction of the ray");
+
+ uiDefButS(block, NUM, 0, "damp", xco+10, yco-45, 70, 19, &coa->damp, 0.0, 100.0, 0, 0, "Damping factor: time constant (in frame) of low pass filter");
+ uiDefBut(block, LABEL, 0, "Range", xco+80, yco-45, (width-115)/2, 19, NULL, 0.0, 0.0, 0, 0, "Set the maximum length of ray");
+ uiDefButBitS(block, TOG, ACT_CONST_DISTANCE, B_REDR, "Dist", xco+80+(width-115)/2, yco-45, (width-115)/2, 19, &coa->flag, 0.0, 0.0, 0, 0, "Force distance of object to point of impact of ray");
+ uiDefButBitS(block, TOG, ACT_CONST_LOCAL, 0, "L", xco+80+(width-115), yco-45, 25, 19,
+ &coa->flag, 0.0, 0.0, 0, 0, "Set ray along object's axis or global axis");
+
+ if (coa->mode & (ACT_CONST_DIRPX|ACT_CONST_DIRNX)) fp= coa->minloc;
+ else if (coa->mode & (ACT_CONST_DIRPY|ACT_CONST_DIRNY)) fp= coa->minloc+1;
+ else fp= coa->minloc+2;
+
+ uiDefButF(block, NUM, 0, "", xco+80, yco-65, (width-115)/2, 19, fp+3, 0.0, 2000.0, 10, 0, "Maximum length of ray");
+ if (coa->flag & ACT_CONST_DISTANCE)
+ uiDefButF(block, NUM, 0, "", xco+80+(width-115)/2, yco-65, (width-115)/2, 19, fp, -2000.0, 2000.0, 10, 0, "Keep this distance to target");
+ uiDefButBitS(block, TOG, ACT_CONST_NORMAL, 0, "N", xco+80+(width-115), yco-65, 25, 19,
+ &coa->flag, 0.0, 0.0, 0, 0, "Set object axis along (local axis) or parallel (global axis) to the normal at hit position");
+ uiDefButBitS(block, TOG, ACT_CONST_MATERIAL, B_REDR, "M/P", xco+10, yco-84, 40, 19,
+ &coa->flag, 0.0, 0.0, 0, 0, "Detect material instead of property");
+ if (coa->flag & ACT_CONST_MATERIAL) {
+ uiDefBut(block, TEX, 1, "Material:", xco + 50, yco-84, (width-60), 19,
+ coa->matprop, 0, MAX_NAME, 0, 0,
+ "Ray detects only Objects with this material");
+ }
+ else {
+ uiDefBut(block, TEX, 1, "Property:", xco + 50, yco-84, (width-60), 19,
+ coa->matprop, 0, MAX_NAME, 0, 0,
+ "Ray detect only Objects with this property");
+ }
+ uiDefButBitS(block, TOG, ACT_CONST_PERMANENT, 0, "PER", xco+10, yco-103, 40, 19,
+ &coa->flag, 0.0, 0.0, 0, 0, "Persistent actuator: stays active even if ray does not reach target");
+ uiDefButS(block, NUM, 0, "time", xco+50, yco-103, (width-60)/2, 19, &(coa->time), 0.0, 1000.0, 0, 0, "Maximum activation time in frame, 0 for unlimited");
+ uiDefButS(block, NUM, 0, "rotDamp", xco+50+(width-60)/2, yco-103, (width-60)/2, 19, &(coa->rotdamp), 0.0, 100.0, 0, 0, "Use a different damping for orientation");
}
- uiDefButBitS(block, TOG, ACT_CONST_PERMANENT, 0, "PER", xco+10, yco-103, 40, 19,
- &coa->flag, 0.0, 0.0, 0, 0, "Persistent actuator: stays active even if ray does not reach target");
- uiDefButS(block, NUM, 0, "time", xco+50, yco-103, (width-60)/2, 19, &(coa->time), 0.0, 1000.0, 0, 0, "Maximum activation time in frame, 0 for unlimited");
- uiDefButS(block, NUM, 0, "rotDamp", xco+50+(width-60)/2, yco-103, (width-60)/2, 19, &(coa->rotdamp), 0.0, 100.0, 0, 0, "Use a different damping for orientation");
- }
- else if (coa->type == ACT_CONST_TYPE_ORI) {
- ysize= 87;
+ else if (coa->type == ACT_CONST_TYPE_ORI) {
+ ysize= 87;
- glRects(xco, yco-ysize, xco+width, yco);
- uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
-
- str= "Direction %t|None %x0|X axis %x1|Y axis %x2|Z axis %x4";
- uiDefButS(block, MENU, B_REDR, str, xco+10, yco-65, 70, 19, &coa->mode, 0.0, 0.0, 0, 0, "Select the axis to be aligned along the reference direction");
-
- uiDefButS(block, NUM, 0, "damp", xco+10, yco-45, 70, 19, &coa->damp, 0.0, 100.0, 0, 0, "Damping factor: time constant (in frame) of low pass filter");
- uiDefBut(block, LABEL, 0, "X", xco+80, yco-45, (width-115)/3, 19, NULL, 0.0, 0.0, 0, 0, "");
- uiDefBut(block, LABEL, 0, "Y", xco+80+(width-115)/3, yco-45, (width-115)/3, 19, NULL, 0.0, 0.0, 0, 0, "");
- uiDefBut(block, LABEL, 0, "Z", xco+80+2*(width-115)/3, yco-45, (width-115)/3, 19, NULL, 0.0, 0.0, 0, 0, "");
-
- uiDefButF(block, NUM, 0, "", xco+80, yco-65, (width-115)/3, 19, &coa->maxrot[0], -2000.0, 2000.0, 10, 0, "X component of reference direction");
- uiDefButF(block, NUM, 0, "", xco+80+(width-115)/3, yco-65, (width-115)/3, 19, &coa->maxrot[1], -2000.0, 2000.0, 10, 0, "Y component of reference direction");
- uiDefButF(block, NUM, 0, "", xco+80+2*(width-115)/3, yco-65, (width-115)/3, 19, &coa->maxrot[2], -2000.0, 2000.0, 10, 0, "Z component of reference direction");
-
- uiDefButS(block, NUM, 0, "time", xco+10, yco-84, 70, 19, &(coa->time), 0.0, 1000.0, 0, 0, "Maximum activation time in frame, 0 for unlimited");
- uiDefButF(block, NUM, 0, "min", xco+80, yco-84, (width-115)/2, 19, &(coa->minloc[0]), 0.0, 180.0, 10, 1, "Minimum angle (in degree) to maintain with target direction. No correction is done if angle with target direction is between min and max");
- uiDefButF(block, NUM, 0, "max", xco+80+(width-115)/2, yco-84, (width-115)/2, 19, &(coa->maxloc[0]), 0.0, 180.0, 10, 1, "Maximum angle (in degree) allowed with target direction. No correction is done if angle with target direction is between min and max");
- }
- else if (coa->type == ACT_CONST_TYPE_FH) {
- ysize= 106;
+ glRects(xco, yco-ysize, xco+width, yco);
+ uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
- glRects(xco, yco-ysize, xco+width, yco);
- uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
-
- str= "Direction %t|None %x0|X axis %x1|Y axis %x2|Z axis %x4|-X axis %x8|-Y axis %x16|-Z axis %x32";
- uiDefButS(block, MENU, B_REDR, str, xco+10, yco-65, 70, 19, &coa->mode, 0.0, 0.0, 0, 0, "Set the direction of the ray (in world coordinate)");
-
- if (coa->mode & (ACT_CONST_DIRPX|ACT_CONST_DIRNX)) fp= coa->minloc;
- else if (coa->mode & (ACT_CONST_DIRPY|ACT_CONST_DIRNY)) fp= coa->minloc+1;
- else fp= coa->minloc+2;
-
- uiDefButF(block, NUM, 0, "damp", xco+10, yco-45, (width-70)/2, 19, &coa->maxrot[0], 0.0, 1.0, 1, 0, "Damping factor of the Fh spring force");
- uiDefButF(block, NUM, 0, "dist", xco+10+(width-70)/2, yco-45, (width-70)/2, 19, fp, 0.010, 2000.0, 10, 0, "Height of the Fh area");
- uiDefButBitS(block, TOG, ACT_CONST_DOROTFH, 0, "Rot Fh", xco+10+(width-70), yco-45, 50, 19, &coa->flag, 0.0, 0.0, 0, 0, "Keep object axis parallel to normal");
-
- uiDefButF(block, NUMSLI, 0, "Fh ", xco+80, yco-65, (width-115), 19, fp+3, 0.0, 1.0, 0, 0, "Spring force within the Fh area");
- uiDefButBitS(block, TOG, ACT_CONST_NORMAL, 0, "N", xco+80+(width-115), yco-65, 25, 19,
- &coa->flag, 0.0, 0.0, 0, 0, "Add a horizontal spring force on slopes");
- uiDefButBitS(block, TOG, ACT_CONST_MATERIAL, B_REDR, "M/P", xco+10, yco-84, 40, 19,
- &coa->flag, 0.0, 0.0, 0, 0, "Detect material instead of property");
- if (coa->flag & ACT_CONST_MATERIAL) {
- uiDefBut(block, TEX, 1, "Material:", xco + 50, yco-84, (width-60), 19,
- coa->matprop, 0, MAX_NAME, 0, 0,
- "Ray detects only Objects with this material");
+ str= "Direction %t|None %x0|X axis %x1|Y axis %x2|Z axis %x4";
+ uiDefButS(block, MENU, B_REDR, str, xco+10, yco-65, 70, 19, &coa->mode, 0.0, 0.0, 0, 0, "Select the axis to be aligned along the reference direction");
+
+ uiDefButS(block, NUM, 0, "damp", xco+10, yco-45, 70, 19, &coa->damp, 0.0, 100.0, 0, 0, "Damping factor: time constant (in frame) of low pass filter");
+ uiDefBut(block, LABEL, 0, "X", xco+80, yco-45, (width-115)/3, 19, NULL, 0.0, 0.0, 0, 0, "");
+ uiDefBut(block, LABEL, 0, "Y", xco+80+(width-115)/3, yco-45, (width-115)/3, 19, NULL, 0.0, 0.0, 0, 0, "");
+ uiDefBut(block, LABEL, 0, "Z", xco+80+2*(width-115)/3, yco-45, (width-115)/3, 19, NULL, 0.0, 0.0, 0, 0, "");
+
+ uiDefButF(block, NUM, 0, "", xco+80, yco-65, (width-115)/3, 19, &coa->maxrot[0], -2000.0, 2000.0, 10, 0, "X component of reference direction");
+ uiDefButF(block, NUM, 0, "", xco+80+(width-115)/3, yco-65, (width-115)/3, 19, &coa->maxrot[1], -2000.0, 2000.0, 10, 0, "Y component of reference direction");
+ uiDefButF(block, NUM, 0, "", xco+80+2*(width-115)/3, yco-65, (width-115)/3, 19, &coa->maxrot[2], -2000.0, 2000.0, 10, 0, "Z component of reference direction");
+
+ uiDefButS(block, NUM, 0, "time", xco+10, yco-84, 70, 19, &(coa->time), 0.0, 1000.0, 0, 0, "Maximum activation time in frame, 0 for unlimited");
+ uiDefButF(block, NUM, 0, "min", xco+80, yco-84, (width-115)/2, 19, &(coa->minloc[0]), 0.0, 180.0, 10, 1, "Minimum angle (in degree) to maintain with target direction. No correction is done if angle with target direction is between min and max");
+ uiDefButF(block, NUM, 0, "max", xco+80+(width-115)/2, yco-84, (width-115)/2, 19, &(coa->maxloc[0]), 0.0, 180.0, 10, 1, "Maximum angle (in degree) allowed with target direction. No correction is done if angle with target direction is between min and max");
}
- else {
- uiDefBut(block, TEX, 1, "Property:", xco + 50, yco-84, (width-60), 19,
- coa->matprop, 0, MAX_NAME, 0, 0,
- "Ray detect only Objects with this property");
+ else if (coa->type == ACT_CONST_TYPE_FH) {
+ ysize= 106;
+
+ glRects(xco, yco-ysize, xco+width, yco);
+ uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
+
+ str= "Direction %t|None %x0|X axis %x1|Y axis %x2|Z axis %x4|-X axis %x8|-Y axis %x16|-Z axis %x32";
+ uiDefButS(block, MENU, B_REDR, str, xco+10, yco-65, 70, 19, &coa->mode, 0.0, 0.0, 0, 0, "Set the direction of the ray (in world coordinate)");
+
+ if (coa->mode & (ACT_CONST_DIRPX|ACT_CONST_DIRNX)) fp= coa->minloc;
+ else if (coa->mode & (ACT_CONST_DIRPY|ACT_CONST_DIRNY)) fp= coa->minloc+1;
+ else fp= coa->minloc+2;
+
+ uiDefButF(block, NUM, 0, "damp", xco+10, yco-45, (width-70)/2, 19, &coa->maxrot[0], 0.0, 1.0, 1, 0, "Damping factor of the Fh spring force");
+ uiDefButF(block, NUM, 0, "dist", xco+10+(width-70)/2, yco-45, (width-70)/2, 19, fp, 0.010, 2000.0, 10, 0, "Height of the Fh area");
+ uiDefButBitS(block, TOG, ACT_CONST_DOROTFH, 0, "Rot Fh", xco+10+(width-70), yco-45, 50, 19, &coa->flag, 0.0, 0.0, 0, 0, "Keep object axis parallel to normal");
+
+ uiDefButF(block, NUMSLI, 0, "Fh ", xco+80, yco-65, (width-115), 19, fp+3, 0.0, 1.0, 0, 0, "Spring force within the Fh area");
+ uiDefButBitS(block, TOG, ACT_CONST_NORMAL, 0, "N", xco+80+(width-115), yco-65, 25, 19,
+ &coa->flag, 0.0, 0.0, 0, 0, "Add a horizontal spring force on slopes");
+ uiDefButBitS(block, TOG, ACT_CONST_MATERIAL, B_REDR, "M/P", xco+10, yco-84, 40, 19,
+ &coa->flag, 0.0, 0.0, 0, 0, "Detect material instead of property");
+ if (coa->flag & ACT_CONST_MATERIAL) {
+ uiDefBut(block, TEX, 1, "Material:", xco + 50, yco-84, (width-60), 19,
+ coa->matprop, 0, MAX_NAME, 0, 0,
+ "Ray detects only Objects with this material");
+ }
+ else {
+ uiDefBut(block, TEX, 1, "Property:", xco + 50, yco-84, (width-60), 19,
+ coa->matprop, 0, MAX_NAME, 0, 0,
+ "Ray detect only Objects with this property");
+ }
+ uiDefButBitS(block, TOG, ACT_CONST_PERMANENT, 0, "PER", xco+10, yco-103, 40, 19,
+ &coa->flag, 0.0, 0.0, 0, 0, "Persistent actuator: stays active even if ray does not reach target");
+ uiDefButS(block, NUM, 0, "time", xco+50, yco-103, 90, 19, &(coa->time), 0.0, 1000.0, 0, 0, "Maximum activation time in frame, 0 for unlimited");
+ uiDefButF(block, NUM, 0, "rotDamp", xco+140, yco-103, (width-150), 19, &coa->maxrot[1], 0.0, 1.0, 1, 0, "Use a different damping for rotation");
}
- uiDefButBitS(block, TOG, ACT_CONST_PERMANENT, 0, "PER", xco+10, yco-103, 40, 19,
- &coa->flag, 0.0, 0.0, 0, 0, "Persistent actuator: stays active even if ray does not reach target");
- uiDefButS(block, NUM, 0, "time", xco+50, yco-103, 90, 19, &(coa->time), 0.0, 1000.0, 0, 0, "Maximum activation time in frame, 0 for unlimited");
- uiDefButF(block, NUM, 0, "rotDamp", xco+140, yco-103, (width-150), 19, &coa->maxrot[1], 0.0, 1.0, 1, 0, "Use a different damping for rotation");
- }
- str= "Constraint Type %t|Location %x0|Distance %x1|Orientation %x2|Force field %x3";
- but = uiDefButS(block, MENU, B_REDR, str, xco+40, yco-23, (width-80), 19, &coa->type, 0.0, 0.0, 0, 0, "");
- yco-= ysize;
- break;
+ str= "Constraint Type %t|Location %x0|Distance %x1|Orientation %x2|Force field %x3";
+ but = uiDefButS(block, MENU, B_REDR, str, xco+40, yco-23, (width-80), 19, &coa->type, 0.0, 0.0, 0, 0, "");
+ yco-= ysize;
+ break;
- case ACT_SCENE:
- sca= act->data;
-
- if (sca->type==ACT_SCENE_RESTART) {
- ysize= 28;
- glRects(xco, yco-ysize, xco+width, yco);
- uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
- }
- else if (sca->type==ACT_SCENE_CAMERA) {
+ case ACT_SCENE:
+ sca= act->data;
- ysize= 48;
- glRects(xco, yco-ysize, xco+width, yco);
- uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
+ if (sca->type==ACT_SCENE_RESTART) {
+ ysize= 28;
+ glRects(xco, yco-ysize, xco+width, yco);
+ uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
+ }
+ else if (sca->type==ACT_SCENE_CAMERA) {
- uiDefIDPoinBut(block, test_obpoin_but, ID_OB, 1, "OB:", xco+40, yco-44, (width-80), 19, &(sca->camera), "Set this Camera. Leave empty to refer to self object");
- }
- else if (sca->type==ACT_SCENE_SET) {
-
- ysize= 48;
- glRects(xco, yco-ysize, xco+width, yco);
- uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
+ ysize= 48;
+ glRects(xco, yco-ysize, xco+width, yco);
+ uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
- uiDefIDPoinBut(block, test_scenepoin_but, ID_SCE, 1, "SCE:", xco+40, yco-44, (width-80), 19, &(sca->scene), "Set this Scene");
- }
- else if (sca->type==ACT_SCENE_ADD_FRONT) {
-
- ysize= 48;
- glRects(xco, yco-ysize, xco+width, yco);
- uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
+ uiDefIDPoinBut(block, test_obpoin_but, ID_OB, 1, "OB:", xco+40, yco-44, (width-80), 19, &(sca->camera), "Set this Camera. Leave empty to refer to self object");
+ }
+ else if (sca->type==ACT_SCENE_SET) {
- uiDefIDPoinBut(block, test_scenepoin_but, ID_SCE, 1, "SCE:", xco+40, yco-44, (width-80), 19, &(sca->scene), "Add an Overlay Scene");
- }
- else if (sca->type==ACT_SCENE_ADD_BACK) {
-
- ysize= 48;
- glRects(xco, yco-ysize, xco+width, yco);
- uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
+ ysize= 48;
+ glRects(xco, yco-ysize, xco+width, yco);
+ uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
- uiDefIDPoinBut(block, test_scenepoin_but, ID_SCE, 1, "SCE:", xco+40, yco-44, (width-80), 19, &(sca->scene), "Add a Background Scene");
- }
- else if (sca->type==ACT_SCENE_REMOVE) {
-
- ysize= 48;
- glRects(xco, yco-ysize, xco+width, yco);
- uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
+ uiDefIDPoinBut(block, test_scenepoin_but, ID_SCE, 1, "SCE:", xco+40, yco-44, (width-80), 19, &(sca->scene), "Set this Scene");
+ }
+ else if (sca->type==ACT_SCENE_ADD_FRONT) {
- uiDefIDPoinBut(block, test_scenepoin_but, ID_SCE, 1, "SCE:", xco+40, yco-44, (width-80), 19, &(sca->scene), "Remove a Scene");
- }
- else if (sca->type==ACT_SCENE_SUSPEND) {
-
- ysize= 48;
- glRects(xco, yco-ysize, xco+width, yco);
- uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
+ ysize= 48;
+ glRects(xco, yco-ysize, xco+width, yco);
+ uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
- uiDefIDPoinBut(block, test_scenepoin_but, ID_SCE, 1, "SCE:", xco+40, yco-44, (width-80), 19, &(sca->scene), "Pause a Scene");
- }
- else if (sca->type==ACT_SCENE_RESUME) {
-
- ysize= 48;
- glRects(xco, yco-ysize, xco+width, yco);
- uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
+ uiDefIDPoinBut(block, test_scenepoin_but, ID_SCE, 1, "SCE:", xco+40, yco-44, (width-80), 19, &(sca->scene), "Add an Overlay Scene");
+ }
+ else if (sca->type==ACT_SCENE_ADD_BACK) {
- uiDefIDPoinBut(block, test_scenepoin_but, ID_SCE, 1, "SCE:", xco+40, yco-44, (width-80), 19, &(sca->scene), "Unpause a Scene");
- }
+ ysize= 48;
+ glRects(xco, yco-ysize, xco+width, yco);
+ uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
- str= "Scene %t|Restart %x0|Set Scene %x1|Set Camera %x2|Add OverlayScene %x3|Add BackgroundScene %x4|Remove Scene %x5|Suspend Scene %x6|Resume Scene %x7";
- uiDefButS(block, MENU, B_REDR, str, xco+40, yco-24, (width-80), 19, &sca->type, 0.0, 0.0, 0, 0, "");
+ uiDefIDPoinBut(block, test_scenepoin_but, ID_SCE, 1, "SCE:", xco+40, yco-44, (width-80), 19, &(sca->scene), "Add a Background Scene");
+ }
+ else if (sca->type==ACT_SCENE_REMOVE) {
- yco-= ysize;
- break;
- case ACT_GAME:
+ ysize= 48;
+ glRects(xco, yco-ysize, xco+width, yco);
+ uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
+
+ uiDefIDPoinBut(block, test_scenepoin_but, ID_SCE, 1, "SCE:", xco+40, yco-44, (width-80), 19, &(sca->scene), "Remove a Scene");
+ }
+ else if (sca->type==ACT_SCENE_SUSPEND) {
+
+ ysize= 48;
+ glRects(xco, yco-ysize, xco+width, yco);
+ uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
+
+ uiDefIDPoinBut(block, test_scenepoin_but, ID_SCE, 1, "SCE:", xco+40, yco-44, (width-80), 19, &(sca->scene), "Pause a Scene");
+ }
+ else if (sca->type==ACT_SCENE_RESUME) {
+
+ ysize= 48;
+ glRects(xco, yco-ysize, xco+width, yco);
+ uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
+
+ uiDefIDPoinBut(block, test_scenepoin_but, ID_SCE, 1, "SCE:", xco+40, yco-44, (width-80), 19, &(sca->scene), "Unpause a Scene");
+ }
+
+ str= "Scene %t|Restart %x0|Set Scene %x1|Set Camera %x2|Add OverlayScene %x3|Add BackgroundScene %x4|Remove Scene %x5|Suspend Scene %x6|Resume Scene %x7";
+ uiDefButS(block, MENU, B_REDR, str, xco+40, yco-24, (width-80), 19, &sca->type, 0.0, 0.0, 0, 0, "");
+
+ yco-= ysize;
+ break;
+ case ACT_GAME:
{
gma = act->data;
if (gma->type == ACT_GAME_LOAD) {
//ysize = 68;
ysize = 48;
- glRects(xco, yco-ysize, xco+width, yco);
- uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
- uiDefBut(block, TEX, 1, "File: ", xco+10, yco-44, width-20, 19, &(gma->filename), 0, sizeof(gma->filename), 0, 0, "Load this blend file, use the \"//\" prefix for a path relative to the current blend file");
-// uiDefBut(block, TEX, 1, "Anim: ", xco+10, yco-64, width-20, 19, &(gma->loadaniname), 0, sizeof(gma->loadaniname), 0, 0, "Use this loadinganimation");
+ glRects(xco, yco-ysize, xco+width, yco);
+ uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
+ uiDefBut(block, TEX, 1, "File: ", xco+10, yco-44, width-20, 19, &(gma->filename), 0, sizeof(gma->filename), 0, 0, "Load this blend file, use the \"//\" prefix for a path relative to the current blend file");
+ // uiDefBut(block, TEX, 1, "Anim: ", xco+10, yco-64, width-20, 19, &(gma->loadaniname), 0, sizeof(gma->loadaniname), 0, 0, "Use this loadinganimation");
}
#if 0
else if (gma->type == ACT_GAME_START) {
- ysize = 68;
- glRects(xco, yco-ysize, xco+width, yco);
+ ysize = 68;
+ glRects(xco, yco-ysize, xco+width, yco);
uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
- uiDefBut(block, TEX, 1, "File: ", xco+10, yco-44, width-20, 19, &(gma->filename), 0, sizeof(gma->filename), 0, 0, "Load this file");
+ uiDefBut(block, TEX, 1, "File: ", xco+10, yco-44, width-20, 19, &(gma->filename), 0, sizeof(gma->filename), 0, 0, "Load this file");
uiDefBut(block, TEX, 1, "Anim: ", xco+10, yco-64, width-20, 19, &(gma->loadaniname), 0, sizeof(gma->loadaniname), 0, 0, "Use this loadinganimation");
}
#endif
else if (ELEM4(gma->type, ACT_GAME_RESTART, ACT_GAME_QUIT, ACT_GAME_SAVECFG, ACT_GAME_LOADCFG)) {
- ysize = 28;
- glRects(xco, yco-ysize, xco+width, yco);
- uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
+ ysize = 28;
+ glRects(xco, yco-ysize, xco+width, yco);
+ uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
}
//str = "Scene %t|Load game%x0|Start loaded game%x1|Restart this game%x2|Quit this game %x3";
str = "Scene %t|Start new game%x0|Restart this game%x2|Quit this game %x3|Save bge.logic.globalDict %x4|Load bge.logic.globalDict %x5";
- uiDefButS(block, MENU, B_REDR, str, xco+40, yco-24, (width-80), 19, &gma->type, 0.0, 0.0, 0, 0, "");
+ uiDefButS(block, MENU, B_REDR, str, xco+40, yco-24, (width-80), 19, &gma->type, 0.0, 0.0, 0, 0, "");
- yco -= ysize;
- break;
+ yco -= ysize;
+ break;
}
- case ACT_GROUP:
- ga= act->data;
+ case ACT_GROUP:
+ ga= act->data;
- ysize= 52;
+ ysize= 52;
- glRects(xco, yco-ysize, xco+width, yco);
- uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
-
- str= "GroupKey types %t|Set Key %x6|Play %x0|Ping Pong %x1|Flipper %x2|Loop Stop %x3|Loop End %x4|Property %x5";
+ glRects(xco, yco-ysize, xco+width, yco);
+ uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
- uiDefButS(block, MENU, 1, str, xco+20, yco-24, width-40, 19, &ga->type, 0, 0, 0, 0, "");
- if (ga->type==ACT_GROUP_SET) {
- uiDefBut(block, TEX, 0, "Key: ", xco+20, yco-44, (width-10)/2, 19, ga->name, 0.0, MAX_NAME, 0, 0, "This name defines groupkey to be set");
- uiDefButI(block, NUM, 0, "Frame:", xco+20+(width-10)/2, yco-44, (width-70)/2, 19, &ga->sta, 0.0, 2500.0, 0, 0, "Set this frame");
- }
- else if (ga->type==ACT_GROUP_FROM_PROP) {
- uiDefBut(block, TEX, 0, "Prop: ", xco+20, yco-44, width-40, 19, ga->name, 0.0, MAX_NAME, 0, 0, "Use this property to define the Group position");
- }
- else {
- uiDefButI(block, NUM, 0, "State", xco+20, yco-44, (width-40)/2, 19, &ga->sta, 0.0, 2500.0, 0, 0, "Start frame");
- uiDefButI(block, NUM, 0, "End", xco+20+(width-40)/2, yco-44, (width-40)/2, 19, &ga->end, 0.0, 2500.0, 0, 0, "End frame");
- }
- yco-= ysize;
- break;
+ str= "GroupKey types %t|Set Key %x6|Play %x0|Ping Pong %x1|Flipper %x2|Loop Stop %x3|Loop End %x4|Property %x5";
- case ACT_VISIBILITY:
- ysize = 24;
+ uiDefButS(block, MENU, 1, str, xco+20, yco-24, width-40, 19, &ga->type, 0, 0, 0, 0, "");
+ if (ga->type==ACT_GROUP_SET) {
+ uiDefBut(block, TEX, 0, "Key: ", xco+20, yco-44, (width-10)/2, 19, ga->name, 0.0, MAX_NAME, 0, 0, "This name defines groupkey to be set");
+ uiDefButI(block, NUM, 0, "Frame:", xco+20+(width-10)/2, yco-44, (width-70)/2, 19, &ga->sta, 0.0, 2500.0, 0, 0, "Set this frame");
+ }
+ else if (ga->type==ACT_GROUP_FROM_PROP) {
+ uiDefBut(block, TEX, 0, "Prop: ", xco+20, yco-44, width-40, 19, ga->name, 0.0, MAX_NAME, 0, 0, "Use this property to define the Group position");
+ }
+ else {
+ uiDefButI(block, NUM, 0, "State", xco+20, yco-44, (width-40)/2, 19, &ga->sta, 0.0, 2500.0, 0, 0, "Start frame");
+ uiDefButI(block, NUM, 0, "End", xco+20+(width-40)/2, yco-44, (width-40)/2, 19, &ga->end, 0.0, 2500.0, 0, 0, "End frame");
+ }
+ yco-= ysize;
+ break;
- glRects(xco, yco-ysize, xco+width, yco);
- uiEmboss((float)xco,
- (float)yco-ysize, (float)xco+width, (float)yco, 1);
-
- visAct = act->data;
+ case ACT_VISIBILITY:
+ ysize = 24;
- uiBlockBeginAlign(block);
- uiDefButBitI(block, TOGN, ACT_VISIBILITY_INVISIBLE, B_REDR,
- "Visible",
- xco + 10, yco - 20, (width - 20)/3, 19, &visAct->flag,
- 0.0, 0.0, 0, 0,
- "Set the objects visible. Initialized from the objects render restriction toggle (access in the outliner)");
- uiDefButBitI(block, TOG, ACT_VISIBILITY_OCCLUSION, B_REDR,
- "Occlusion",
- xco + 10 + ((width - 20)/3), yco - 20, (width - 20)/3, 19, &visAct->flag,
- 0.0, 0.0, 0, 0,
- "Set the object to occlude objects behind it. Initialized from the object type in physics button");
- uiBlockEndAlign(block);
-
- uiDefButBitI(block, TOG, ACT_VISIBILITY_RECURSIVE, 0,
- "Children",
- xco + 10 + (((width - 20)/3)*2)+10, yco - 20, ((width - 20)/3)-10, 19, &visAct->flag,
- 0.0, 0.0, 0, 0,
- "Sets all the children of this object to the same visibility/occlusion recursively");
+ glRects(xco, yco-ysize, xco+width, yco);
+ uiEmboss((float)xco,
+ (float)yco-ysize, (float)xco+width, (float)yco, 1);
- yco-= ysize;
+ visAct = act->data;
- break;
-
- case ACT_STATE:
- ysize = 34;
+ uiBlockBeginAlign(block);
+ uiDefButBitI(block, TOGN, ACT_VISIBILITY_INVISIBLE, B_REDR,
+ "Visible",
+ xco + 10, yco - 20, (width - 20)/3, 19, &visAct->flag,
+ 0.0, 0.0, 0, 0,
+ "Set the objects visible. Initialized from the objects render restriction toggle (access in the outliner)");
+ uiDefButBitI(block, TOG, ACT_VISIBILITY_OCCLUSION, B_REDR,
+ "Occlusion",
+ xco + 10 + ((width - 20)/3), yco - 20, (width - 20)/3, 19, &visAct->flag,
+ 0.0, 0.0, 0, 0,
+ "Set the object to occlude objects behind it. Initialized from the object type in physics button");
+ uiBlockEndAlign(block);
- glRects(xco, yco-ysize, xco+width, yco);
- uiEmboss((float)xco,
- (float)yco-ysize, (float)xco+width, (float)yco, 1);
-
- staAct = act->data;
+ uiDefButBitI(block, TOG, ACT_VISIBILITY_RECURSIVE, 0,
+ "Children",
+ xco + 10 + (((width - 20)/3)*2)+10, yco - 20, ((width - 20)/3)-10, 19, &visAct->flag,
+ 0.0, 0.0, 0, 0,
+ "Sets all the children of this object to the same visibility/occlusion recursively");
- str= "Operation %t|Cpy %x0|Add %x1|Sub %x2|Inv %x3";
+ yco-= ysize;
- uiDefButI(block, MENU, B_REDR, str,
- xco + 10, yco - 24, 65, 19, &staAct->type,
- 0.0, 0.0, 0, 0,
- "Select the bit operation on object state mask");
+ break;
- for (wval=0; wval<15; wval+=5) {
- uiBlockBeginAlign(block);
- for (stbit=0; stbit<5; stbit++) {
- but = uiDefButBitI(block, TOG, 1<<(stbit+wval), stbit+wval, "", (short)(xco+85+12*stbit+13*wval), yco-17, 12, 12, (int *)&(staAct->mask), 0, 0, 0, 0, get_state_name(ob, (short)(stbit+wval)));
- uiButSetFunc(but, check_state_mask, but, &(staAct->mask));
- }
- for (stbit=0; stbit<5; stbit++) {
- but = uiDefButBitI(block, TOG, 1<<(stbit+wval+15), stbit+wval+15, "", (short)(xco+85+12*stbit+13*wval), yco-29, 12, 12, (int *)&(staAct->mask), 0, 0, 0, 0, get_state_name(ob, (short)(stbit+wval+15)));
- uiButSetFunc(but, check_state_mask, but, &(staAct->mask));
- }
- }
- uiBlockEndAlign(block);
+ case ACT_STATE:
+ ysize = 34;
- yco-= ysize;
+ glRects(xco, yco-ysize, xco+width, yco);
+ uiEmboss((float)xco,
+ (float)yco-ysize, (float)xco+width, (float)yco, 1);
- break;
+ staAct = act->data;
- case ACT_RANDOM:
- ysize = 69;
+ str= "Operation %t|Cpy %x0|Add %x1|Sub %x2|Inv %x3";
+
+ uiDefButI(block, MENU, B_REDR, str,
+ xco + 10, yco - 24, 65, 19, &staAct->type,
+ 0.0, 0.0, 0, 0,
+ "Select the bit operation on object state mask");
+
+ for (wval=0; wval<15; wval+=5) {
+ uiBlockBeginAlign(block);
+ for (stbit=0; stbit<5; stbit++) {
+ but = uiDefButBitI(block, TOG, 1<<(stbit+wval), stbit+wval, "", (short)(xco+85+12*stbit+13*wval), yco-17, 12, 12, (int *)&(staAct->mask), 0, 0, 0, 0, get_state_name(ob, (short)(stbit+wval)));
+ uiButSetFunc(but, check_state_mask, but, &(staAct->mask));
+ }
+ for (stbit=0; stbit<5; stbit++) {
+ but = uiDefButBitI(block, TOG, 1<<(stbit+wval+15), stbit+wval+15, "", (short)(xco+85+12*stbit+13*wval), yco-29, 12, 12, (int *)&(staAct->mask), 0, 0, 0, 0, get_state_name(ob, (short)(stbit+wval+15)));
+ uiButSetFunc(but, check_state_mask, but, &(staAct->mask));
+ }
+ }
+ uiBlockEndAlign(block);
+
+ yco-= ysize;
- glRects(xco, yco-ysize, xco+width, yco);
- uiEmboss((float)xco,
- (float)yco-ysize, (float)xco+width, (float)yco, 1);
-
- randAct = act->data;
-
- /* 1. seed */
- uiDefButI(block, NUM, 1, "Seed: ", (xco+10), yco-24, 0.4 *(width-20), 19,
- &randAct->seed, 0, 1000, 0, 0,
- "Initial seed of the random generator. Use Python for more freedom. "
- " (Choose 0 for not random)");
-
- /* 2. distribution type */
- /* One pick per distribution. These numbers MUST match the #defines */
- /* in game.h !!! */
- str= "Distribution %t|Bool Constant %x0|Bool Uniform %x1"
- "|Bool Bernoulli %x2|Int Constant %x3|Int Uniform %x4"
- "|Int Poisson %x5|Float Constant %x6|Float Uniform %x7"
- "|Float Normal %x8|Float Neg. Exp. %x9";
- uiDefButI(block, MENU, B_REDR, str, (xco+10) + 0.4 * (width-20), yco-24, 0.6 * (width-20), 19,
- &randAct->distribution, 0.0, 0.0, 0, 0,
- "Choose the type of distribution");
-
- /* 3. property */
- uiDefBut(block, TEX, 1, "Property:", (xco+10), yco-44, (width-20), 19,
- &randAct->propname, 0, MAX_NAME, 0, 0,
- "Assign the random value to this property");
-
- /*4. and 5. arguments for the distribution*/
- switch (randAct->distribution) {
- case ACT_RANDOM_BOOL_CONST:
- uiDefButBitI(block, TOG, 1, 1, "Always true", (xco+10), yco-64, (width-20), 19,
- &randAct->int_arg_1, 2.0, 1, 0, 0,
- "Always false or always true");
- break;
- case ACT_RANDOM_BOOL_UNIFORM:
- uiDefBut(block, LABEL, 0, " Do a 50-50 pick", (xco+10), yco-64, (width-20), 19,
- NULL, 0, 0, 0, 0,
- "Choose between true and false, 50% chance each");
- break;
- case ACT_RANDOM_BOOL_BERNOUILLI:
- uiDefButF(block, NUM, 1, "Chance", (xco+10), yco-64, (width-20), 19,
- &randAct->float_arg_1, 0.0, 1.0, 0, 0,
- "Pick a number between 0 and 1. Success if you stay "
- "below this value");
- break;
- case ACT_RANDOM_INT_CONST:
- uiDefButI(block, NUM, 1, "Value: ", (xco+10), yco-64, (width-20), 19,
- &randAct->int_arg_1, -1000, 1000, 0, 0,
- "Always return this number");
- break;
- case ACT_RANDOM_INT_UNIFORM:
- uiDefButI(block, NUM, 1, "Min: ", (xco+10), yco-64, (width-20)/2, 19,
- &randAct->int_arg_1, -1000, 1000, 0, 0,
- "Choose a number from a range. "
- "Lower boundary of the range");
- uiDefButI(block, NUM, 1, "Max: ", (xco+10) + (width-20)/2, yco-64, (width-20)/2, 19,
- &randAct->int_arg_2, -1000, 1000, 0, 0,
- "Choose a number from a range. "
- "Upper boundary of the range");
- break;
- case ACT_RANDOM_INT_POISSON:
- uiDefButF(block, NUM, 1, "Mean: ", (xco+10), yco-64, (width-20), 19,
- &randAct->float_arg_1, 0.01, 100.0, 0, 0,
- "Expected mean value of the distribution");
- break;
- case ACT_RANDOM_FLOAT_CONST:
- uiDefButF(block, NUM, 1, "Value: ", (xco+10), yco-64, (width-20), 19,
- &randAct->float_arg_1, 0.0, 1.0, 0, 0,
- "Always return this number");
- break;
- case ACT_RANDOM_FLOAT_UNIFORM:
- uiDefButF(block, NUM, 1, "Min: ", (xco+10), yco-64, (width-20)/2, 19,
- &randAct->float_arg_1, -10000.0, 10000.0, 0, 0,
- "Choose a number from a range"
- "Lower boundary of the range");
- uiDefButF(block, NUM, 1, "Max: ", (xco+10) + (width-20)/2, yco-64, (width-20)/2, 19,
- &randAct->float_arg_2, -10000.0, 10000.0, 0, 0,
- "Choose a number from a range"
- "Upper boundary of the range");
- break;
- case ACT_RANDOM_FLOAT_NORMAL:
- uiDefButF(block, NUM, 1, "Mean: ", (xco+10), yco-64, (width-20)/2, 19,
- &randAct->float_arg_1, -10000.0, 10000.0, 0, 0,
- "A normal distribution. Mean of the distribution");
- uiDefButF(block, NUM, 1, "SD: ", (xco+10) + (width-20)/2, yco-64, (width-20)/2, 19,
- &randAct->float_arg_2, 0.0, 10000.0, 0, 0,
- "A normal distribution. Standard deviation of the "
- "distribution");
- break;
- case ACT_RANDOM_FLOAT_NEGATIVE_EXPONENTIAL:
- uiDefButF(block, NUM, 1, "Half-life time: ", (xco+10), yco-64, (width-20), 19,
- &randAct->float_arg_1, 0.001, 10000.0, 0, 0,
- "Negative exponential dropoff");
break;
- default:
- ; /* don't know what this distro is... can be useful for testing */
- /* though :) */
- }
- yco-= ysize;
- break;
- case ACT_MESSAGE:
- ma = act->data;
+ case ACT_RANDOM:
+ ysize = 69;
- ysize = 4 + (3 * 24); /* footer + number of lines * 24 pixels/line */
-
- glRects(xco, yco-ysize, xco+width, yco);
- uiEmboss((float)xco, (float)yco-ysize,
- (float)xco+width, (float)yco, 1);
-
- myline=1;
-
- /* line 1: To */
- uiDefBut(block, TEX, 1, "To: ",
- (xco+10), (yco-(myline++*24)), (width-20), 19,
- &ma->toPropName, 0, MAX_NAME, 0, 0,
- "Optional send message to objects with this name only, or empty to broadcast");
-
- /* line 2: Message Subject */
- uiDefBut(block, TEX, 1, "Subject: ",
- (xco+10), (yco-(myline++*24)), (width-20), 19,
- &ma->subject, 0, MAX_NAME, 0, 0,
- "Optional message subject. This is what can be filtered on");
-
- /* line 3: Text/Property */
- uiDefButBitS(block, TOG, 1, B_REDR, "T/P",
- (xco+10), (yco-(myline*24)), (0.20 * (width-20)), 19,
- &ma->bodyType, 0.0, 0.0, 0, 0,
- "Toggle message type: either Text or a PropertyName");
-
- if (ma->bodyType == ACT_MESG_MESG) {
- /* line 3: Message Body */
- uiDefBut(block, TEX, 1, "Body: ",
- (xco+10+(0.20*(width-20))), (yco-(myline++*24)), (0.8*(width-20)), 19,
- &ma->body, 0, MAX_NAME, 0, 0,
- "Optional message body Text");
- }
- else {
- /* line 3: Property body (set by property) */
- uiDefBut(block, TEX, 1, "Propname: ",
- (xco+10+(0.20*(width-20))), (yco-(myline++*24)), (0.8*(width-20)), 19,
- &ma->body, 0, MAX_NAME, 0, 0,
- "The message body will be set by the Property Value");
- }
-
- yco -= ysize;
- break;
- case ACT_2DFILTER:
- tdfa = act->data;
+ glRects(xco, yco-ysize, xco+width, yco);
+ uiEmboss((float)xco,
+ (float)yco-ysize, (float)xco+width, (float)yco, 1);
+
+ randAct = act->data;
+
+ /* 1. seed */
+ uiDefButI(block, NUM, 1, "Seed: ", (xco+10), yco-24, 0.4 *(width-20), 19,
+ &randAct->seed, 0, 1000, 0, 0,
+ "Initial seed of the random generator. Use Python for more freedom. "
+ " (Choose 0 for not random)");
+
+ /* 2. distribution type */
+ /* One pick per distribution. These numbers MUST match the #defines */
+ /* in game.h !!! */
+ str= "Distribution %t|Bool Constant %x0|Bool Uniform %x1"
+ "|Bool Bernoulli %x2|Int Constant %x3|Int Uniform %x4"
+ "|Int Poisson %x5|Float Constant %x6|Float Uniform %x7"
+ "|Float Normal %x8|Float Neg. Exp. %x9";
+ uiDefButI(block, MENU, B_REDR, str, (xco+10) + 0.4 * (width-20), yco-24, 0.6 * (width-20), 19,
+ &randAct->distribution, 0.0, 0.0, 0, 0,
+ "Choose the type of distribution");
+
+ /* 3. property */
+ uiDefBut(block, TEX, 1, "Property:", (xco+10), yco-44, (width-20), 19,
+ &randAct->propname, 0, MAX_NAME, 0, 0,
+ "Assign the random value to this property");
+
+ /*4. and 5. arguments for the distribution*/
+ switch (randAct->distribution) {
+ case ACT_RANDOM_BOOL_CONST:
+ uiDefButBitI(block, TOG, 1, 1, "Always true", (xco+10), yco-64, (width-20), 19,
+ &randAct->int_arg_1, 2.0, 1, 0, 0,
+ "Always false or always true");
+ break;
+ case ACT_RANDOM_BOOL_UNIFORM:
+ uiDefBut(block, LABEL, 0, " Do a 50-50 pick", (xco+10), yco-64, (width-20), 19,
+ NULL, 0, 0, 0, 0,
+ "Choose between true and false, 50% chance each");
+ break;
+ case ACT_RANDOM_BOOL_BERNOUILLI:
+ uiDefButF(block, NUM, 1, "Chance", (xco+10), yco-64, (width-20), 19,
+ &randAct->float_arg_1, 0.0, 1.0, 0, 0,
+ "Pick a number between 0 and 1. Success if you stay "
+ "below this value");
+ break;
+ case ACT_RANDOM_INT_CONST:
+ uiDefButI(block, NUM, 1, "Value: ", (xco+10), yco-64, (width-20), 19,
+ &randAct->int_arg_1, -1000, 1000, 0, 0,
+ "Always return this number");
+ break;
+ case ACT_RANDOM_INT_UNIFORM:
+ uiDefButI(block, NUM, 1, "Min: ", (xco+10), yco-64, (width-20)/2, 19,
+ &randAct->int_arg_1, -1000, 1000, 0, 0,
+ "Choose a number from a range. "
+ "Lower boundary of the range");
+ uiDefButI(block, NUM, 1, "Max: ", (xco+10) + (width-20)/2, yco-64, (width-20)/2, 19,
+ &randAct->int_arg_2, -1000, 1000, 0, 0,
+ "Choose a number from a range. "
+ "Upper boundary of the range");
+ break;
+ case ACT_RANDOM_INT_POISSON:
+ uiDefButF(block, NUM, 1, "Mean: ", (xco+10), yco-64, (width-20), 19,
+ &randAct->float_arg_1, 0.01, 100.0, 0, 0,
+ "Expected mean value of the distribution");
+ break;
+ case ACT_RANDOM_FLOAT_CONST:
+ uiDefButF(block, NUM, 1, "Value: ", (xco+10), yco-64, (width-20), 19,
+ &randAct->float_arg_1, 0.0, 1.0, 0, 0,
+ "Always return this number");
+ break;
+ case ACT_RANDOM_FLOAT_UNIFORM:
+ uiDefButF(block, NUM, 1, "Min: ", (xco+10), yco-64, (width-20)/2, 19,
+ &randAct->float_arg_1, -10000.0, 10000.0, 0, 0,
+ "Choose a number from a range"
+ "Lower boundary of the range");
+ uiDefButF(block, NUM, 1, "Max: ", (xco+10) + (width-20)/2, yco-64, (width-20)/2, 19,
+ &randAct->float_arg_2, -10000.0, 10000.0, 0, 0,
+ "Choose a number from a range"
+ "Upper boundary of the range");
+ break;
+ case ACT_RANDOM_FLOAT_NORMAL:
+ uiDefButF(block, NUM, 1, "Mean: ", (xco+10), yco-64, (width-20)/2, 19,
+ &randAct->float_arg_1, -10000.0, 10000.0, 0, 0,
+ "A normal distribution. Mean of the distribution");
+ uiDefButF(block, NUM, 1, "SD: ", (xco+10) + (width-20)/2, yco-64, (width-20)/2, 19,
+ &randAct->float_arg_2, 0.0, 10000.0, 0, 0,
+ "A normal distribution. Standard deviation of the "
+ "distribution");
+ break;
+ case ACT_RANDOM_FLOAT_NEGATIVE_EXPONENTIAL:
+ uiDefButF(block, NUM, 1, "Half-life time: ", (xco+10), yco-64, (width-20), 19,
+ &randAct->float_arg_1, 0.001, 10000.0, 0, 0,
+ "Negative exponential dropoff");
+ break;
+ default:
+ ; /* don't know what this distro is... can be useful for testing */
+ /* though :) */
+ }
- ysize = 50;
- if (tdfa->type == ACT_2DFILTER_CUSTOMFILTER) {
- ysize +=20;
- }
- glRects(xco, yco-ysize, xco+width, yco);
- uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
+ yco-= ysize;
+ break;
+ case ACT_MESSAGE:
+ ma = act->data;
- switch (tdfa->type) {
- case ACT_2DFILTER_MOTIONBLUR:
- if (!tdfa->flag) {
- uiDefButS(block, TOG, B_REDR, "D", xco+30, yco-44, 19, 19, &tdfa->flag, 0.0, 0.0, 0.0, 0.0, "Disable Motion Blur");
- uiDefButF(block, NUM, B_REDR, "Value:", xco+52, yco-44, width-82, 19, &tdfa->float_arg, 0.0, 1.0, 0.0, 0.0, "Set motion blur value");
- }
- else {
- uiDefButS(block, TOG, B_REDR, "Disabled", xco+30, yco-44, width-60, 19, &tdfa->flag, 0.0, 0.0, 0.0, 0.0, "Enable Motion Blur");
- }
- break;
- case ACT_2DFILTER_BLUR:
- case ACT_2DFILTER_SHARPEN:
- case ACT_2DFILTER_DILATION:
- case ACT_2DFILTER_EROSION:
- case ACT_2DFILTER_LAPLACIAN:
- case ACT_2DFILTER_SOBEL:
- case ACT_2DFILTER_PREWITT:
- case ACT_2DFILTER_GRAYSCALE:
- case ACT_2DFILTER_SEPIA:
- case ACT_2DFILTER_INVERT:
- case ACT_2DFILTER_NOFILTER:
- case ACT_2DFILTER_DISABLED:
- case ACT_2DFILTER_ENABLED:
- uiDefButI(block, NUM, B_REDR, "Pass Number:", xco+30, yco-44, width-60, 19, &tdfa->int_arg, 0.0, MAX_RENDER_PASS-1, 0.0, 0.0, "Set filter order");
- break;
- case ACT_2DFILTER_CUSTOMFILTER:
- uiDefButI(block, NUM, B_REDR, "Pass Number:", xco+30, yco-44, width-60, 19, &tdfa->int_arg, 0.0, MAX_RENDER_PASS-1, 0.0, 0.0, "Set filter order");
- uiDefIDPoinBut(block, test_scriptpoin_but, ID_SCRIPT, 1, "Script: ", xco+30, yco-64, width-60, 19, &tdfa->text, "");
- break;
- }
-
- str= "2D Filter %t|Motion Blur %x1|Blur %x2|Sharpen %x3|Dilation %x4|Erosion %x5|"
- "Laplacian %x6|Sobel %x7|Prewitt %x8|Gray Scale %x9|Sepia %x10|Invert %x11|Custom Filter %x12|"
- "Enable Filter %x-2|Disable Filter %x-1|Remove Filter %x0|";
- uiDefButS(block, MENU, B_REDR, str, xco+30, yco-24, width-60, 19, &tdfa->type, 0.0, 0.0, 0.0, 0.0, "2D filter type");
-
- yco -= ysize;
- break;
- case ACT_PARENT:
- parAct = act->data;
+ ysize = 4 + (3 * 24); /* footer + number of lines * 24 pixels/line */
- if (parAct->type==ACT_PARENT_SET) {
-
- ysize= 48;
glRects(xco, yco-ysize, xco+width, yco);
- uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
- uiDefIDPoinBut(block, test_obpoin_but, ID_OB, 1, "OB:", xco+95, yco-24, (width-100), 19, &(parAct->ob), "Set this object as parent");
- uiBlockBeginAlign(block);
- uiDefButBitS(block, TOGN, ACT_PARENT_COMPOUND, B_REDR,
- "Compound",
- xco + 5, yco - 44, (width - 10)/2, 19, &parAct->flag,
- 0.0, 0.0, 0, 0,
- "Add this object shape to the parent shape (only if the parent shape is already compound)");
- uiDefButBitS(block, TOGN, ACT_PARENT_GHOST, B_REDR,
- "Ghost",
- xco + 5 + ((width - 10)/2), yco - 44, (width - 10)/2, 19, &parAct->flag,
- 0.0, 0.0, 0, 0,
- "Make this object ghost while parented (only if not compound)");
- uiBlockEndAlign(block);
- }
- else if (parAct->type==ACT_PARENT_REMOVE) {
+ uiEmboss((float)xco, (float)yco-ysize,
+ (float)xco+width, (float)yco, 1);
+
+ myline=1;
+
+ /* line 1: To */
+ uiDefBut(block, TEX, 1, "To: ",
+ (xco+10), (yco-(myline++*24)), (width-20), 19,
+ &ma->toPropName, 0, MAX_NAME, 0, 0,
+ "Optional send message to objects with this name only, or empty to broadcast");
+
+ /* line 2: Message Subject */
+ uiDefBut(block, TEX, 1, "Subject: ",
+ (xco+10), (yco-(myline++*24)), (width-20), 19,
+ &ma->subject, 0, MAX_NAME, 0, 0,
+ "Optional message subject. This is what can be filtered on");
+
+ /* line 3: Text/Property */
+ uiDefButBitS(block, TOG, 1, B_REDR, "T/P",
+ (xco+10), (yco-(myline*24)), (0.20 * (width-20)), 19,
+ &ma->bodyType, 0.0, 0.0, 0, 0,
+ "Toggle message type: either Text or a PropertyName");
+
+ if (ma->bodyType == ACT_MESG_MESG) {
+ /* line 3: Message Body */
+ uiDefBut(block, TEX, 1, "Body: ",
+ (xco+10+(0.20*(width-20))), (yco-(myline++*24)), (0.8*(width-20)), 19,
+ &ma->body, 0, MAX_NAME, 0, 0,
+ "Optional message body Text");
+ }
+ else {
+ /* line 3: Property body (set by property) */
+ uiDefBut(block, TEX, 1, "Propname: ",
+ (xco+10+(0.20*(width-20))), (yco-(myline++*24)), (0.8*(width-20)), 19,
+ &ma->body, 0, MAX_NAME, 0, 0,
+ "The message body will be set by the Property Value");
+ }
- ysize= 28;
+ yco -= ysize;
+ break;
+ case ACT_2DFILTER:
+ tdfa = act->data;
+
+ ysize = 50;
+ if (tdfa->type == ACT_2DFILTER_CUSTOMFILTER) {
+ ysize +=20;
+ }
glRects(xco, yco-ysize, xco+width, yco);
uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
- }
- str= "Parent %t|Set Parent %x0|Remove Parent %x1";
- uiDefButI(block, MENU, B_REDR, str, xco+5, yco-24, parAct->type==1?(width-80):90, 19, &parAct->type, 0.0, 0.0, 0, 0, "");
+ switch (tdfa->type) {
+ case ACT_2DFILTER_MOTIONBLUR:
+ if (!tdfa->flag) {
+ uiDefButS(block, TOG, B_REDR, "D", xco+30, yco-44, 19, 19, &tdfa->flag, 0.0, 0.0, 0.0, 0.0, "Disable Motion Blur");
+ uiDefButF(block, NUM, B_REDR, "Value:", xco+52, yco-44, width-82, 19, &tdfa->float_arg, 0.0, 1.0, 0.0, 0.0, "Set motion blur value");
+ }
+ else {
+ uiDefButS(block, TOG, B_REDR, "Disabled", xco+30, yco-44, width-60, 19, &tdfa->flag, 0.0, 0.0, 0.0, 0.0, "Enable Motion Blur");
+ }
+ break;
+ case ACT_2DFILTER_BLUR:
+ case ACT_2DFILTER_SHARPEN:
+ case ACT_2DFILTER_DILATION:
+ case ACT_2DFILTER_EROSION:
+ case ACT_2DFILTER_LAPLACIAN:
+ case ACT_2DFILTER_SOBEL:
+ case ACT_2DFILTER_PREWITT:
+ case ACT_2DFILTER_GRAYSCALE:
+ case ACT_2DFILTER_SEPIA:
+ case ACT_2DFILTER_INVERT:
+ case ACT_2DFILTER_NOFILTER:
+ case ACT_2DFILTER_DISABLED:
+ case ACT_2DFILTER_ENABLED:
+ uiDefButI(block, NUM, B_REDR, "Pass Number:", xco+30, yco-44, width-60, 19, &tdfa->int_arg, 0.0, MAX_RENDER_PASS-1, 0.0, 0.0, "Set filter order");
+ break;
+ case ACT_2DFILTER_CUSTOMFILTER:
+ uiDefButI(block, NUM, B_REDR, "Pass Number:", xco+30, yco-44, width-60, 19, &tdfa->int_arg, 0.0, MAX_RENDER_PASS-1, 0.0, 0.0, "Set filter order");
+ uiDefIDPoinBut(block, test_scriptpoin_but, ID_SCRIPT, 1, "Script: ", xco+30, yco-64, width-60, 19, &tdfa->text, "");
+ break;
+ }
- yco-= ysize;
- break;
- case ACT_ARMATURE:
- armAct = act->data;
+ str= "2D Filter %t|Motion Blur %x1|Blur %x2|Sharpen %x3|Dilation %x4|Erosion %x5|"
+ "Laplacian %x6|Sobel %x7|Prewitt %x8|Gray Scale %x9|Sepia %x10|Invert %x11|Custom Filter %x12|"
+ "Enable Filter %x-2|Disable Filter %x-1|Remove Filter %x0|";
+ uiDefButS(block, MENU, B_REDR, str, xco+30, yco-24, width-60, 19, &tdfa->type, 0.0, 0.0, 0.0, 0.0, "2D filter type");
- if (ob->type == OB_ARMATURE) {
- str= "Constraint %t|Run armature %x0|Enable %x1|Disable %x2|Set target %x3|Set weight %x4";
- uiDefButI(block, MENU, B_REDR, str, xco+5, yco-24, (width-10)*0.35, 19, &armAct->type, 0.0, 0.0, 0, 0, "");
+ yco -= ysize;
+ break;
+ case ACT_PARENT:
+ parAct = act->data;
- switch (armAct->type) {
- case ACT_ARM_RUN:
- ysize = 28;
- break;
- default:
+ if (parAct->type==ACT_PARENT_SET) {
+
+ ysize= 48;
+ glRects(xco, yco-ysize, xco+width, yco);
+ uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
+ uiDefIDPoinBut(block, test_obpoin_but, ID_OB, 1, "OB:", xco+95, yco-24, (width-100), 19, &(parAct->ob), "Set this object as parent");
uiBlockBeginAlign(block);
- but = uiDefBut(block, TEX, 1, "Bone: ",
- (xco+5), (yco-44), (width-10)/2, 19,
- armAct->posechannel, 0, MAX_NAME, 0, 0,
- "Bone on which the constraint is defined");
- uiButSetFunc(but, check_armature_actuator, but, armAct);
- but = uiDefBut(block, TEX, 1, "Cons: ",
- (xco+5)+(width-10)/2, (yco-44), (width-10)/2, 19,
- armAct->constraint, 0, MAX_NAME, 0, 0,
- "Name of the constraint you want to control");
- uiButSetFunc(but, check_armature_actuator, but, armAct);
+ uiDefButBitS(block, TOGN, ACT_PARENT_COMPOUND, B_REDR,
+ "Compound",
+ xco + 5, yco - 44, (width - 10)/2, 19, &parAct->flag,
+ 0.0, 0.0, 0, 0,
+ "Add this object shape to the parent shape (only if the parent shape is already compound)");
+ uiDefButBitS(block, TOGN, ACT_PARENT_GHOST, B_REDR,
+ "Ghost",
+ xco + 5 + ((width - 10)/2), yco - 44, (width - 10)/2, 19, &parAct->flag,
+ 0.0, 0.0, 0, 0,
+ "Make this object ghost while parented (only if not compound)");
uiBlockEndAlign(block);
- ysize = 48;
+ }
+ else if (parAct->type==ACT_PARENT_REMOVE) {
+
+ ysize= 28;
+ glRects(xco, yco-ysize, xco+width, yco);
+ uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
+ }
+
+ str= "Parent %t|Set Parent %x0|Remove Parent %x1";
+ uiDefButI(block, MENU, B_REDR, str, xco+5, yco-24, parAct->type==1?(width-80):90, 19, &parAct->type, 0.0, 0.0, 0, 0, "");
+
+ yco-= ysize;
+ break;
+ case ACT_ARMATURE:
+ armAct = act->data;
+
+ if (ob->type == OB_ARMATURE) {
+ str= "Constraint %t|Run armature %x0|Enable %x1|Disable %x2|Set target %x3|Set weight %x4";
+ uiDefButI(block, MENU, B_REDR, str, xco+5, yco-24, (width-10)*0.35, 19, &armAct->type, 0.0, 0.0, 0, 0, "");
+
switch (armAct->type) {
- case ACT_ARM_SETTARGET:
- uiDefIDPoinBut(block, test_obpoin_but, ID_OB, 1, "Target: ", xco+5, yco-64, (width-10), 19, &(armAct->target), "Set this object as the target of the constraint");
- uiDefIDPoinBut(block, test_obpoin_but, ID_OB, 1, "Secondary Target: ", xco+5, yco-84, (width-10), 19, &(armAct->subtarget), "Set this object as the secondary target of the constraint (only IK polar target at the moment)");
- ysize += 40;
- break;
- case ACT_ARM_SETWEIGHT:
- uiDefButF(block, NUM, B_REDR, "Weight:", xco+5+(width-10)*0.35, yco-24, (width-10)*0.65, 19, &armAct->weight, 0.0, 1.0, 0.0, 0.0, "Set weight of this constraint");
- break;
+ case ACT_ARM_RUN:
+ ysize = 28;
+ break;
+ default:
+ uiBlockBeginAlign(block);
+ but = uiDefBut(block, TEX, 1, "Bone: ",
+ (xco+5), (yco-44), (width-10)/2, 19,
+ armAct->posechannel, 0, MAX_NAME, 0, 0,
+ "Bone on which the constraint is defined");
+ uiButSetFunc(but, check_armature_actuator, but, armAct);
+ but = uiDefBut(block, TEX, 1, "Cons: ",
+ (xco+5)+(width-10)/2, (yco-44), (width-10)/2, 19,
+ armAct->constraint, 0, MAX_NAME, 0, 0,
+ "Name of the constraint you want to control");
+ uiButSetFunc(but, check_armature_actuator, but, armAct);
+ uiBlockEndAlign(block);
+ ysize = 48;
+ switch (armAct->type) {
+ case ACT_ARM_SETTARGET:
+ uiDefIDPoinBut(block, test_obpoin_but, ID_OB, 1, "Target: ", xco+5, yco-64, (width-10), 19, &(armAct->target), "Set this object as the target of the constraint");
+ uiDefIDPoinBut(block, test_obpoin_but, ID_OB, 1, "Secondary Target: ", xco+5, yco-84, (width-10), 19, &(armAct->subtarget), "Set this object as the secondary target of the constraint (only IK polar target at the moment)");
+ ysize += 40;
+ break;
+ case ACT_ARM_SETWEIGHT:
+ uiDefButF(block, NUM, B_REDR, "Weight:", xco+5+(width-10)*0.35, yco-24, (width-10)*0.65, 19, &armAct->weight, 0.0, 1.0, 0.0, 0.0, "Set weight of this constraint");
+ break;
+ }
}
}
- }
- glRects(xco, yco-ysize, xco+width, yco);
- uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
- yco-= ysize;
- break;
+ glRects(xco, yco-ysize, xco+width, yco);
+ uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
+ yco-= ysize;
+ break;
- default:
- ysize= 4;
+ default:
+ ysize= 4;
- glRects(xco, yco-ysize, xco+width, yco);
- uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
-
- yco-= ysize;
- break;
+ glRects(xco, yco-ysize, xco+width, yco);
+ uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
+
+ yco-= ysize;
+ break;
}
uiBlockSetEmboss(block, UI_EMBOSS);
diff --git a/source/blender/editors/space_nla/nla_draw.c b/source/blender/editors/space_nla/nla_draw.c
index a6578ffb3f7..7eb0f676707 100644
--- a/source/blender/editors/space_nla/nla_draw.c
+++ b/source/blender/editors/space_nla/nla_draw.c
@@ -80,26 +80,17 @@
static void nla_action_get_color(AnimData *adt, bAction *act, float color[4])
{
if (adt && (adt->flag & ADT_NLA_EDIT_ON)) {
- // greenish color (same as tweaking strip) - hardcoded for now
- color[0] = 0.30f;
- color[1] = 0.95f;
- color[2] = 0.10f;
- color[3] = 0.30f;
+ /* greenish color (same as tweaking strip) */
+ UI_GetThemeColor4fv(TH_NLA_TWEAK, color);
}
else {
if (act) {
- // reddish color - hardcoded for now
- color[0] = 0.8f;
- color[1] = 0.2f;
- color[2] = 0.0f;
- color[3] = 0.4f;
+ /* reddish color - same as dopesheet summary */
+ UI_GetThemeColor4fv(TH_ANIM_ACTIVE, color);
}
else {
- // greyish-red color - hardcoded for now
- color[0] = 0.6f;
- color[1] = 0.5f;
- color[2] = 0.5f;
- color[3] = 0.3f;
+ /* greyish-red color */
+ UI_GetThemeColor4fv(TH_ANIM_INACTIVE, color);
}
}
@@ -166,17 +157,11 @@ static void nla_strip_get_color_inside(AnimData *adt, NlaStrip *strip, float col
/* Transition Clip */
if (strip->flag & NLASTRIP_FLAG_SELECT) {
/* selected - use a bright blue color */
- // FIXME: hardcoded temp-hack colors
- color[0] = 0.18f;
- color[1] = 0.46f;
- color[2] = 0.86f;
+ UI_GetThemeColor3fv(TH_NLA_TRANSITION_SEL, color);
}
else {
/* normal, unselected strip - use (hardly noticeable) blue tinge */
- // FIXME: hardcoded temp-hack colors
- color[0] = 0.11f;
- color[1] = 0.15f;
- color[2] = 0.19f;
+ UI_GetThemeColor3fv(TH_NLA_TRANSITION, color);
}
}
else if (strip->type == NLASTRIP_TYPE_META) {
@@ -184,34 +169,22 @@ static void nla_strip_get_color_inside(AnimData *adt, NlaStrip *strip, float col
// TODO: should temporary metas get different colors too?
if (strip->flag & NLASTRIP_FLAG_SELECT) {
/* selected - use a bold purple color */
- // FIXME: hardcoded temp-hack colors
- color[0] = 0.41f;
- color[1] = 0.13f;
- color[2] = 0.59f;
+ UI_GetThemeColor3fv(TH_NLA_META_SEL, color);
}
else {
/* normal, unselected strip - use (hardly noticeable) dark purple tinge */
- // FIXME: hardcoded temp-hack colors
- color[0] = 0.20f;
- color[1] = 0.15f;
- color[2] = 0.26f;
+ UI_GetThemeColor3fv(TH_NLA_META, color);
}
}
else if (strip->type == NLASTRIP_TYPE_SOUND) {
/* Sound Clip */
if (strip->flag & NLASTRIP_FLAG_SELECT) {
/* selected - use a bright teal color */
- // FIXME: hardcoded temp-hack colors
- color[0] = 0.12f;
- color[1] = 0.48f;
- color[2] = 0.48f;
+ UI_GetThemeColor3fv(TH_NLA_SOUND_SEL, color);
}
else {
/* normal, unselected strip - use (hardly noticeable) teal tinge */
- // FIXME: hardcoded temp-hack colors
- color[0] = 0.17f;
- color[1] = 0.24f;
- color[2] = 0.24f;
+ UI_GetThemeColor3fv(TH_NLA_SOUND, color);
}
}
else {
@@ -220,19 +193,13 @@ static void nla_strip_get_color_inside(AnimData *adt, NlaStrip *strip, float col
/* active strip should be drawn green when it is acting as the tweaking strip.
* however, this case should be skipped for when not in EditMode...
*/
- // FIXME: hardcoded temp-hack colors
- color[0] = 0.3f;
- color[1] = 0.95f;
- color[2] = 0.1f;
+ UI_GetThemeColor3fv(TH_NLA_TWEAK, color);
}
else if (strip->flag & NLASTRIP_FLAG_TWEAKUSER) {
/* alert user that this strip is also used by the tweaking track (this is set when going into
* 'editmode' for that strip), since the edits made here may not be what the user anticipated
*/
- // FIXME: hardcoded temp-hack colors
- color[0] = 0.85f;
- color[1] = 0.0f;
- color[2] = 0.0f;
+ UI_GetThemeColor3fv(TH_NLA_TWEAK_DUPLI, color);
}
else if (strip->flag & NLASTRIP_FLAG_SELECT) {
/* selected strip - use theme color for selected */
@@ -792,21 +759,24 @@ static void draw_nla_channel_list_gl(bAnimContext *ac, ListBase *anim_data, View
glEnable(GL_BLEND);
/* draw backing strip behind channel name */
+ // FIXME: hardcoded colors!!!
if (group == 5) {
- /* Action Line */
- // TODO: if tweaking some action, use the same color as for the tweaked track (quick hack done for now)
+ float color[4];
+
+ /* Action Line
+ * The alpha values action_get_color returns are only useful for drawing
+ * strips backgrounds but here we're doing channel list backgrounds instead
+ * so we ignore that and use our own when needed
+ */
+ nla_action_get_color(adt, (bAction *)ale->data, color);
+
if (adt && (adt->flag & ADT_NLA_EDIT_ON)) {
- // greenish color (same as tweaking strip) - hardcoded for now
- glColor3f(0.3f, 0.95f, 0.1f);
+ /* Yes, the color vector has 4 components, BUT we only want to be using 3 of them! */
+ glColor3fv(color);
}
else {
- /* if a track is being solo'd, action is ignored, so draw less boldly (alpha lower) */
- float alpha = (adt && (adt->flag & ADT_NLA_SOLO_TRACK)) ? 0.3f : 1.0f;
-
- if (ale->data)
- glColor4f(0.8f, 0.2f, 0.0f, alpha); // reddish color - hardcoded for now
- else
- glColor4f(0.6f, 0.5f, 0.5f, alpha); // greyish-red color - hardcoded for now
+ float alpha = (adt && (adt->flag & ADT_NLA_SOLO_TRACK)) ? 0.3 : 1.0f;
+ glColor4f(color[0], color[1], color[2], alpha);
}
offset += 7 * indent;
diff --git a/source/blender/editors/space_node/drawnode.c b/source/blender/editors/space_node/drawnode.c
index db75198bcd4..8aa56823baf 100644
--- a/source/blender/editors/space_node/drawnode.c
+++ b/source/blender/editors/space_node/drawnode.c
@@ -54,6 +54,7 @@
#include "BKE_node.h"
#include "BLF_api.h"
+#include "BLF_translation.h"
#include "NOD_composite.h"
#include "NOD_shader.h"
@@ -82,30 +83,30 @@
#include "node_intern.h"
// XXX interface.h
-extern void ui_dropshadow(rctf *rct, float radius, float aspect, int select);
+extern void ui_dropshadow(rctf *rct, float radius, float aspect, float alpha, int select);
/* ****************** SOCKET BUTTON DRAW FUNCTIONS ***************** */
static void node_sync_cb(bContext *UNUSED(C), void *snode_v, void *node_v)
{
- SpaceNode *snode= snode_v;
+ SpaceNode *snode = snode_v;
- if (snode->treetype==NTREE_SHADER) {
+ if (snode->treetype == NTREE_SHADER) {
nodeShaderSynchronizeID(node_v, 1);
// allqueue(REDRAWBUTSSHADING, 0);
}
}
static void node_socket_button_label(const bContext *UNUSED(C), uiBlock *block,
- bNodeTree *UNUSED(ntree), bNode *UNUSED(node), bNodeSocket *sock,
- const char *UNUSED(name), int x, int y, int width)
+ bNodeTree *UNUSED(ntree), bNode *UNUSED(node), bNodeSocket *sock,
+ const char *UNUSED(name), int x, int y, int width)
{
- uiDefBut(block, LABEL, 0, sock->name, x, y, width, NODE_DY, NULL, 0, 0, 0, 0, "");
+ uiDefBut(block, LABEL, 0, IFACE_(sock->name), x, y, width, NODE_DY, NULL, 0, 0, 0, 0, "");
}
static void node_socket_button_default(const bContext *C, uiBlock *block,
- bNodeTree *ntree, bNode *node, bNodeSocket *sock,
- const char *name, int x, int y, int width)
+ bNodeTree *ntree, bNode *node, bNodeSocket *sock,
+ const char *name, int x, int y, int width)
{
if (sock->link || (sock->flag & SOCK_HIDE_VALUE))
node_socket_button_label(C, block, ntree, node, sock, name, x, y, width);
@@ -115,9 +116,9 @@ static void node_socket_button_default(const bContext *C, uiBlock *block,
RNA_pointer_create(&ntree->id, &RNA_NodeSocket, sock, &ptr);
- bt = uiDefButR(block, NUM, B_NODE_EXEC, name,
- x, y+1, width, NODE_DY-2,
- &ptr, "default_value", 0, 0, 0, -1, -1, NULL);
+ bt = uiDefButR(block, NUM, B_NODE_EXEC, IFACE_(name),
+ x, y + 1, width, NODE_DY - 2,
+ &ptr, "default_value", 0, 0, 0, -1, -1, NULL);
if (node)
uiButSetFunc(bt, node_sync_cb, CTX_wm_space_node(C), node);
}
@@ -132,22 +133,22 @@ typedef struct SocketComponentMenuArgs {
/* NOTE: this is a block-menu, needs 0 events, otherwise the menu closes */
static uiBlock *socket_component_menu(bContext *C, ARegion *ar, void *args_v)
{
- SocketComponentMenuArgs *args= (SocketComponentMenuArgs*)args_v;
+ SocketComponentMenuArgs *args = (SocketComponentMenuArgs *)args_v;
uiBlock *block;
uiLayout *layout;
- block= uiBeginBlock(C, ar, __func__, UI_EMBOSS);
+ block = uiBeginBlock(C, ar, __func__, UI_EMBOSS);
uiBlockSetFlag(block, UI_BLOCK_KEEP_OPEN);
- layout= uiLayoutColumn(uiBlockLayout(block, UI_LAYOUT_VERTICAL, UI_LAYOUT_PANEL, args->x, args->y+2, args->width, NODE_DY, UI_GetStyle()), 0);
+ layout = uiLayoutColumn(uiBlockLayout(block, UI_LAYOUT_VERTICAL, UI_LAYOUT_PANEL, args->x, args->y + 2, args->width, NODE_DY, UI_GetStyle()), 0);
uiItemR(layout, &args->ptr, "default_value", UI_ITEM_R_EXPAND, "", ICON_NONE);
return block;
}
static void node_socket_button_components(const bContext *C, uiBlock *block,
- bNodeTree *ntree, bNode *node, bNodeSocket *sock,
- const char *name, int x, int y, int width)
+ bNodeTree *ntree, bNode *node, bNodeSocket *sock,
+ const char *name, int x, int y, int width)
{
if (sock->link || (sock->flag & SOCK_HIDE_VALUE))
node_socket_button_label(C, block, ntree, node, sock, name, x, y, width);
@@ -157,7 +158,7 @@ static void node_socket_button_components(const bContext *C, uiBlock *block,
RNA_pointer_create(&ntree->id, &RNA_NodeSocket, sock, &ptr);
- args= MEM_callocN(sizeof(SocketComponentMenuArgs), "SocketComponentMenuArgs");
+ args = MEM_callocN(sizeof(SocketComponentMenuArgs), "SocketComponentMenuArgs");
args->ptr = ptr;
args->x = x;
@@ -167,43 +168,43 @@ static void node_socket_button_components(const bContext *C, uiBlock *block,
args->arg1 = CTX_wm_space_node(C);
args->arg2 = node;
- uiDefBlockButN(block, socket_component_menu, args, name, x, y+1, width, NODE_DY-2, "");
+ uiDefBlockButN(block, socket_component_menu, args, IFACE_(name), x, y + 1, width, NODE_DY - 2, "");
}
}
static void node_socket_button_color(const bContext *C, uiBlock *block,
- bNodeTree *ntree, bNode *node, bNodeSocket *sock,
- const char *name, int x, int y, int width)
+ bNodeTree *ntree, bNode *node, bNodeSocket *sock,
+ const char *name, int x, int y, int width)
{
if (sock->link || (sock->flag & SOCK_HIDE_VALUE))
- node_socket_button_label(C, block, ntree, node, sock, name, x, y, width);
+ node_socket_button_label(C, block, ntree, node, sock, IFACE_(name), x, y, width);
else {
PointerRNA ptr;
uiBut *bt;
- int labelw= width - 40;
+ int labelw = width - 40;
RNA_pointer_create(&ntree->id, &RNA_NodeSocket, sock, &ptr);
- bt=uiDefButR(block, COL, B_NODE_EXEC, "",
- x, y+2, (labelw>0 ? 40 : width), NODE_DY-2,
- &ptr, "default_value", 0, 0, 0, -1, -1, NULL);
+ bt = uiDefButR(block, COL, B_NODE_EXEC, "",
+ x, y + 2, (labelw > 0 ? 40 : width), NODE_DY - 2,
+ &ptr, "default_value", 0, 0, 0, -1, -1, NULL);
if (node)
uiButSetFunc(bt, node_sync_cb, CTX_wm_space_node(C), node);
- if (name[0]!='\0' && labelw>0)
- uiDefBut(block, LABEL, 0, name, x + 40, y+2, labelw, NODE_DY-2, NULL, 0, 0, 0, 0, "");
+ if (name[0] != '\0' && labelw > 0)
+ uiDefBut(block, LABEL, 0, IFACE_(name), x + 40, y + 2, labelw, NODE_DY - 2, NULL, 0, 0, 0, 0, "");
}
}
/* standard draw function, display the default input value */
static void node_draw_input_default(const bContext *C, uiBlock *block,
- bNodeTree *ntree, bNode *node, bNodeSocket *sock,
- const char *name, int x, int y, int width)
+ bNodeTree *ntree, bNode *node, bNodeSocket *sock,
+ const char *name, int x, int y, int width)
{
bNodeSocketType *stype = ntreeGetSocketType(sock->type);
if (stype->buttonfunc)
stype->buttonfunc(C, block, ntree, node, sock, name, x, y, width);
else
- node_socket_button_label(C, block, ntree, node, sock, name, x, y, width);
+ node_socket_button_label(C, block, ntree, node, sock, IFACE_(name), x, y, width);
}
static void node_draw_output_default(const bContext *C, uiBlock *block,
@@ -213,14 +214,15 @@ static void node_draw_output_default(const bContext *C, uiBlock *block,
SpaceNode *snode = CTX_wm_space_node(C);
float slen;
int ofs = 0;
+ const char *ui_name = IFACE_(name);
UI_ThemeColor(TH_TEXT);
- slen= snode->aspect*UI_GetStringWidth(name);
+ slen = snode->aspect * UI_GetStringWidth(ui_name);
while (slen > node->width) {
ofs++;
- slen= snode->aspect*UI_GetStringWidth(name+ofs);
+ slen = snode->aspect * UI_GetStringWidth(ui_name + ofs);
}
- uiDefBut(block, LABEL, 0, name+ofs, (short)(sock->locx-15.0f-slen), (short)(sock->locy-9.0f),
- (short)(node->width-NODE_DY), NODE_DY, NULL, 0, 0, 0, 0, "");
+ uiDefBut(block, LABEL, 0, ui_name + ofs, (short)(sock->locx - 15.0f - slen), (short)(sock->locy - 9.0f),
+ (short)(node->width - NODE_DY), NODE_DY, NULL, 0, 0, 0, 0, "");
}
/* ****************** BASE DRAW FUNCTIONS FOR NEW OPERATOR NODES ***************** */
@@ -228,37 +230,37 @@ static void node_draw_output_default(const bContext *C, uiBlock *block,
#if 0 /* UNUSED */
static void node_draw_socket_new(bNodeSocket *sock, float size)
{
- float x=sock->locx, y=sock->locy;
+ float x = sock->locx, y = sock->locy;
/* 16 values of sin function */
static float si[16] = {
- 0.00000000f, 0.39435585f, 0.72479278f,0.93775213f,
- 0.99871650f,0.89780453f,0.65137248f,0.29936312f,
- -0.10116832f,-0.48530196f,-0.79077573f,-0.96807711f,
- -0.98846832f,-0.84864425f,-0.57126821f,-0.20129852f
+ 0.00000000f, 0.39435585f, 0.72479278f, 0.93775213f,
+ 0.99871650f, 0.89780453f, 0.65137248f, 0.29936312f,
+ -0.10116832f, -0.48530196f, -0.79077573f, -0.96807711f,
+ -0.98846832f, -0.84864425f, -0.57126821f, -0.20129852f
};
/* 16 values of cos function */
- static float co[16] ={
- 1.00000000f,0.91895781f,0.68896691f,0.34730525f,
- -0.05064916f,-0.44039415f,-0.75875812f,-0.95413925f,
- -0.99486932f,-0.87434661f,-0.61210598f,-0.25065253f,
- 0.15142777f,0.52896401f,0.82076344f,0.97952994f,
+ static float co[16] = {
+ 1.00000000f, 0.91895781f, 0.68896691f, 0.34730525f,
+ -0.05064916f, -0.44039415f, -0.75875812f, -0.95413925f,
+ -0.99486932f, -0.87434661f, -0.61210598f, -0.25065253f,
+ 0.15142777f, 0.52896401f, 0.82076344f, 0.97952994f,
};
int a;
glColor3ub(180, 180, 180);
glBegin(GL_POLYGON);
- for (a=0; a<16; a++)
- glVertex2f(x+size*si[a], y+size*co[a]);
+ for (a = 0; a < 16; a++)
+ glVertex2f(x + size * si[a], y + size * co[a]);
glEnd();
glColor4ub(0, 0, 0, 150);
glEnable(GL_BLEND);
glEnable(GL_LINE_SMOOTH);
glBegin(GL_LINE_LOOP);
- for (a=0; a<16; a++)
- glVertex2f(x+size*si[a], y+size*co[a]);
+ for (a = 0; a < 16; a++)
+ glVertex2f(x + size * si[a], y + size * co[a]);
glEnd();
glDisable(GL_LINE_SMOOTH);
glDisable(GL_BLEND);
@@ -298,9 +300,9 @@ static void node_buts_mix_rgb(uiLayout *layout, bContext *UNUSED(C), PointerRNA
{
uiLayout *row;
- bNodeTree *ntree= (bNodeTree*)ptr->id.data;
+ bNodeTree *ntree = (bNodeTree *)ptr->id.data;
- row= uiLayoutRow(layout, 1);
+ row = uiLayoutRow(layout, 1);
uiItemR(row, ptr, "blend_type", 0, "", ICON_NONE);
if (ntree->type == NTREE_COMPOSIT)
uiItemR(row, ptr, "use_alpha", 0, "", ICON_IMAGE_RGB_ALPHA);
@@ -311,21 +313,21 @@ static void node_buts_time(uiLayout *layout, bContext *UNUSED(C), PointerRNA *pt
uiLayout *row;
#if 0
/* XXX no context access here .. */
- bNode *node= ptr->data;
- CurveMapping *cumap= node->storage;
+ bNode *node = ptr->data;
+ CurveMapping *cumap = node->storage;
if (cumap) {
cumap->flag |= CUMA_DRAW_CFRA;
- if (node->custom1<node->custom2)
- cumap->sample[0]= (float)(CFRA - node->custom1)/(float)(node->custom2-node->custom1);
+ if (node->custom1 < node->custom2)
+ cumap->sample[0] = (float)(CFRA - node->custom1) / (float)(node->custom2 - node->custom1);
}
#endif
uiTemplateCurveMapping(layout, ptr, "curve", 's', 0, 0);
- row= uiLayoutRow(layout, 1);
- uiItemR(row, ptr, "frame_start", 0, "Sta", ICON_NONE);
- uiItemR(row, ptr, "frame_end", 0, "End", ICON_NONE);
+ row = uiLayoutRow(layout, 1);
+ uiItemR(row, ptr, "frame_start", 0, IFACE_("Sta"), ICON_NONE);
+ uiItemR(row, ptr, "frame_end", 0, IFACE_("End"), ICON_NONE);
}
static void node_buts_colorramp(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr)
@@ -338,18 +340,18 @@ static void node_buts_curvevec(uiLayout *layout, bContext *UNUSED(C), PointerRNA
uiTemplateCurveMapping(layout, ptr, "mapping", 'v', 0, 0);
}
-static float *_sample_col= NULL; // bad bad, 2.5 will do better?
+static float *_sample_col = NULL; // bad bad, 2.5 will do better?
#if 0
static void node_curvemap_sample(float *col)
{
- _sample_col= col;
+ _sample_col = col;
}
#endif
static void node_buts_curvecol(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr)
{
- bNode *node= ptr->data;
- CurveMapping *cumap= node->storage;
+ bNode *node = ptr->data;
+ CurveMapping *cumap = node->storage;
if (_sample_col) {
cumap->flag |= CUMA_DRAW_SAMPLE;
@@ -366,99 +368,68 @@ static void node_normal_cb(bContext *C, void *ntree_v, void *node_v)
Main *bmain = CTX_data_main(C);
ED_node_generic_update(bmain, ntree_v, node_v);
- WM_event_add_notifier(C, NC_NODE|NA_EDITED, ntree_v);
+ WM_event_add_notifier(C, NC_NODE | NA_EDITED, ntree_v);
}
static void node_buts_normal(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr)
{
- uiBlock *block= uiLayoutAbsoluteBlock(layout);
- bNodeTree *ntree= ptr->id.data;
- bNode *node= ptr->data;
- rctf *butr= &node->butr;
- bNodeSocket *sock= node->outputs.first; /* first socket stores normal */
- float *nor= ((bNodeSocketValueVector*)sock->default_value)->value;
+ uiBlock *block = uiLayoutAbsoluteBlock(layout);
+ bNodeTree *ntree = ptr->id.data;
+ bNode *node = ptr->data;
+ rctf *butr = &node->butr;
+ bNodeSocket *sock = node->outputs.first; /* first socket stores normal */
+ float *nor = ((bNodeSocketValueVector *)sock->default_value)->value;
uiBut *bt;
- bt= uiDefButF(block, BUT_NORMAL, B_NODE_EXEC, "",
- (short)butr->xmin, (short)butr->xmin,
- butr->xmax-butr->xmin, butr->xmax-butr->xmin,
- nor, 0.0f, 1.0f, 0, 0, "");
+ bt = uiDefButF(block, BUT_NORMAL, B_NODE_EXEC, "",
+ (short)butr->xmin, (short)butr->xmin,
+ butr->xmax - butr->xmin, butr->xmax - butr->xmin,
+ nor, 0.0f, 1.0f, 0, 0, "");
uiButSetFunc(bt, node_normal_cb, ntree, node);
}
#if 0 // not used in 2.5x yet
static void node_browse_tex_cb(bContext *C, void *ntree_v, void *node_v)
{
- Main *bmain= CTX_data_main(C);
- bNodeTree *ntree= ntree_v;
- bNode *node= node_v;
+ Main *bmain = CTX_data_main(C);
+ bNodeTree *ntree = ntree_v;
+ bNode *node = node_v;
Tex *tex;
- if (node->menunr<1) return;
+ if (node->menunr < 1) return;
if (node->id) {
node->id->us--;
- node->id= NULL;
+ node->id = NULL;
}
- tex= BLI_findlink(&bmain->tex, node->menunr-1);
+ tex = BLI_findlink(&bmain->tex, node->menunr - 1);
- node->id= &tex->id;
+ node->id = &tex->id;
id_us_plus(node->id);
- BLI_strncpy(node->name, node->id->name+2, sizeof(node->name));
+ BLI_strncpy(node->name, node->id->name + 2, sizeof(node->name));
nodeSetActive(ntree, node);
- if ( ntree->type == NTREE_TEXTURE )
+ if (ntree->type == NTREE_TEXTURE)
ntreeTexCheckCyclics(ntree);
// allqueue(REDRAWBUTSSHADING, 0);
// allqueue(REDRAWNODE, 0);
NodeTagChanged(ntree, node);
- node->menunr= 0;
+ node->menunr = 0;
}
#endif
-static void node_dynamic_update_cb(bContext *C, void *UNUSED(ntree_v), void *node_v)
-{
- Main *bmain= CTX_data_main(C);
- Material *ma;
- bNode *node= (bNode *)node_v;
- ID *id= node->id;
- int error= 0;
-
- if (BTST(node->custom1, NODE_DYNAMIC_ERROR)) error= 1;
-
- /* Users only have to press the "update" button in one pynode
- * and we also update all others sharing the same script */
- for (ma= bmain->mat.first; ma; ma= ma->id.next) {
- if (ma->nodetree) {
- bNode *nd;
- for (nd= ma->nodetree->nodes.first; nd; nd= nd->next) {
- if ((nd->type == NODE_DYNAMIC) && (nd->id == id)) {
- nd->custom1= 0;
- nd->custom1= BSET(nd->custom1, NODE_DYNAMIC_REPARSE);
- nd->menunr= 0;
- if (error)
- nd->custom1= BSET(nd->custom1, NODE_DYNAMIC_ERROR);
- }
- }
- }
- }
-
- // allqueue(REDRAWBUTSSHADING, 0);
- // allqueue(REDRAWNODE, 0);
- // XXX BIF_preview_changed(ID_MA);
-}
static void node_buts_texture(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr)
{
- bNode *node= ptr->data;
+ bNode *node = ptr->data;
short multi = (
- node->id &&
- ((Tex*)node->id)->use_nodes &&
- (node->type != CMP_NODE_TEXTURE) &&
- (node->type != TEX_NODE_TEXTURE)
- );
+ node->id &&
+ ((Tex *)node->id)->use_nodes &&
+ (node->type != CMP_NODE_TEXTURE) &&
+ (node->type != TEX_NODE_TEXTURE)
+ );
uiItemR(layout, ptr, "texture", 0, "", ICON_NONE);
@@ -476,9 +447,9 @@ static void node_buts_math(uiLayout *layout, bContext *UNUSED(C), PointerRNA *pt
static int node_resize_area_default(bNode *node, int x, int y)
{
if (node->flag & NODE_HIDDEN) {
- rctf totr= node->totr;
+ rctf totr = node->totr;
/* right part of node */
- totr.xmin = node->totr.xmax-20.0f;
+ totr.xmin = node->totr.xmax - 20.0f;
if (BLI_in_rctf(&totr, x, y))
return NODE_RESIZE_RIGHT;
else
@@ -486,12 +457,12 @@ static int node_resize_area_default(bNode *node, int x, int y)
}
else {
const float size = 10.0f;
- rctf totr= node->totr;
+ rctf totr = node->totr;
int dir = 0;
- if (x >= totr.xmax-size && x < totr.xmax && y >= totr.ymin && y < totr.ymax)
+ if (x >= totr.xmax - size && x < totr.xmax && y >= totr.ymin && y < totr.ymax)
dir |= NODE_RESIZE_RIGHT;
- if (x >= totr.xmin && x < totr.xmin+size && y >= totr.ymin && y < totr.ymax)
+ if (x >= totr.xmin && x < totr.xmin + size && y >= totr.ymin && y < totr.ymax)
dir |= NODE_RESIZE_LEFT;
return dir;
}
@@ -500,7 +471,7 @@ static int node_resize_area_default(bNode *node, int x, int y)
/* ****************** BUTTON CALLBACKS FOR COMMON NODES ***************** */
/* width of socket columns in group display */
-#define NODE_GROUP_FRAME 120
+#define NODE_GROUP_FRAME 120
/* based on settings in node, sets drawing rect info. each redraw! */
/* note: this assumes only 1 group at a time is drawn (linked data) */
@@ -511,13 +482,13 @@ static void node_update_group(const bContext *C, bNodeTree *ntree, bNode *gnode)
node_update_default(C, ntree, gnode);
}
else {
- bNodeTree *ngroup= (bNodeTree *)gnode->id;
+ bNodeTree *ngroup = (bNodeTree *)gnode->id;
bNode *node;
bNodeSocket *sock, *gsock;
float locx, locy;
- rctf *rect= &gnode->totr;
- float node_group_frame= U.dpi*NODE_GROUP_FRAME/72;
- float group_header= 26*U.dpi/72;
+ rctf *rect = &gnode->totr;
+ float node_group_frame = U.dpi * NODE_GROUP_FRAME / 72;
+ float group_header = 26 * U.dpi / 72;
int counter;
int dy;
@@ -530,64 +501,64 @@ static void node_update_group(const bContext *C, bNodeTree *ntree, bNode *gnode)
rect->xmin = rect->xmax = locx;
rect->ymin = rect->ymax = locy;
- counter= 1;
- for (node= ngroup->nodes.first; node; node= node->next) {
+ counter = 1;
+ for (node = ngroup->nodes.first; node; node = node->next) {
if (counter) {
- *rect= node->totr;
- counter= 0;
+ *rect = node->totr;
+ counter = 0;
}
else
BLI_union_rctf(rect, &node->totr);
}
/* add some room for links to group sockets */
- rect->xmin -= 4*NODE_DY;
- rect->xmax += 4*NODE_DY;
- rect->ymin-= NODE_DY;
- rect->ymax+= NODE_DY;
+ rect->xmin -= 4 * NODE_DY;
+ rect->xmax += 4 * NODE_DY;
+ rect->ymin -= NODE_DY;
+ rect->ymax += NODE_DY;
/* input sockets */
- dy = 0.5f*(rect->ymin+rect->ymax) + NODE_DY*(BLI_countlist(&gnode->inputs)-1);
- gsock=ngroup->inputs.first;
- sock=gnode->inputs.first;
+ dy = 0.5f * (rect->ymin + rect->ymax) + NODE_DY * (BLI_countlist(&gnode->inputs) - 1);
+ gsock = ngroup->inputs.first;
+ sock = gnode->inputs.first;
while (gsock || sock) {
while (sock && !sock->groupsock) {
sock->locx = rect->xmin - node_group_frame;
sock->locy = dy;
/* prevent long socket lists from growing out of the group box */
- if (dy-3*NODE_DYS < rect->ymin)
- rect->ymin = dy-3*NODE_DYS;
- if (dy+3*NODE_DYS > rect->ymax)
- rect->ymax = dy+3*NODE_DYS;
- dy -= 2*NODE_DY;
+ if (dy - 3 * NODE_DYS < rect->ymin)
+ rect->ymin = dy - 3 * NODE_DYS;
+ if (dy + 3 * NODE_DYS > rect->ymax)
+ rect->ymax = dy + 3 * NODE_DYS;
+ dy -= 2 * NODE_DY;
sock = sock->next;
}
- while (gsock && (!sock || sock->groupsock!=gsock)) {
+ while (gsock && (!sock || sock->groupsock != gsock)) {
gsock->locx = rect->xmin;
gsock->locy = dy;
/* prevent long socket lists from growing out of the group box */
- if (dy-3*NODE_DYS < rect->ymin)
- rect->ymin = dy-3*NODE_DYS;
- if (dy+3*NODE_DYS > rect->ymax)
- rect->ymax = dy+3*NODE_DYS;
- dy -= 2*NODE_DY;
+ if (dy - 3 * NODE_DYS < rect->ymin)
+ rect->ymin = dy - 3 * NODE_DYS;
+ if (dy + 3 * NODE_DYS > rect->ymax)
+ rect->ymax = dy + 3 * NODE_DYS;
+ dy -= 2 * NODE_DY;
gsock = gsock->next;
}
- while (sock && gsock && sock->groupsock==gsock) {
+ while (sock && gsock && sock->groupsock == gsock) {
gsock->locx = rect->xmin;
sock->locx = rect->xmin - node_group_frame;
sock->locy = gsock->locy = dy;
/* prevent long socket lists from growing out of the group box */
- if (dy-3*NODE_DYS < rect->ymin)
- rect->ymin = dy-3*NODE_DYS;
- if (dy+3*NODE_DYS > rect->ymax)
- rect->ymax = dy+3*NODE_DYS;
- dy -= 2*NODE_DY;
+ if (dy - 3 * NODE_DYS < rect->ymin)
+ rect->ymin = dy - 3 * NODE_DYS;
+ if (dy + 3 * NODE_DYS > rect->ymax)
+ rect->ymax = dy + 3 * NODE_DYS;
+ dy -= 2 * NODE_DY;
sock = sock->next;
gsock = gsock->next;
@@ -595,47 +566,47 @@ static void node_update_group(const bContext *C, bNodeTree *ntree, bNode *gnode)
}
/* output sockets */
- dy = 0.5f*(rect->ymin+rect->ymax) + NODE_DY*(BLI_countlist(&gnode->outputs)-1);
- gsock=ngroup->outputs.first;
- sock=gnode->outputs.first;
+ dy = 0.5f * (rect->ymin + rect->ymax) + NODE_DY * (BLI_countlist(&gnode->outputs) - 1);
+ gsock = ngroup->outputs.first;
+ sock = gnode->outputs.first;
while (gsock || sock) {
while (sock && !sock->groupsock) {
sock->locx = rect->xmax + node_group_frame;
sock->locy = dy - NODE_DYS;
/* prevent long socket lists from growing out of the group box */
- if (dy-3*NODE_DYS < rect->ymin)
- rect->ymin = dy-3*NODE_DYS;
- if (dy+3*NODE_DYS > rect->ymax)
- rect->ymax = dy+3*NODE_DYS;
- dy -= 2*NODE_DY;
+ if (dy - 3 * NODE_DYS < rect->ymin)
+ rect->ymin = dy - 3 * NODE_DYS;
+ if (dy + 3 * NODE_DYS > rect->ymax)
+ rect->ymax = dy + 3 * NODE_DYS;
+ dy -= 2 * NODE_DY;
sock = sock->next;
}
- while (gsock && (!sock || sock->groupsock!=gsock)) {
+ while (gsock && (!sock || sock->groupsock != gsock)) {
gsock->locx = rect->xmax;
gsock->locy = dy - NODE_DYS;
/* prevent long socket lists from growing out of the group box */
- if (dy-3*NODE_DYS < rect->ymin)
- rect->ymin = dy-3*NODE_DYS;
- if (dy+3*NODE_DYS > rect->ymax)
- rect->ymax = dy+3*NODE_DYS;
- dy -= 2*NODE_DY;
+ if (dy - 3 * NODE_DYS < rect->ymin)
+ rect->ymin = dy - 3 * NODE_DYS;
+ if (dy + 3 * NODE_DYS > rect->ymax)
+ rect->ymax = dy + 3 * NODE_DYS;
+ dy -= 2 * NODE_DY;
gsock = gsock->next;
}
- while (sock && gsock && sock->groupsock==gsock) {
+ while (sock && gsock && sock->groupsock == gsock) {
gsock->locx = rect->xmax;
sock->locx = rect->xmax + node_group_frame;
sock->locy = gsock->locy = dy - NODE_DYS;
/* prevent long socket lists from growing out of the group box */
- if (dy-3*NODE_DYS < rect->ymin)
- rect->ymin = dy-3*NODE_DYS;
- if (dy+3*NODE_DYS > rect->ymax)
- rect->ymax = dy+3*NODE_DYS;
- dy -= 2*NODE_DY;
+ if (dy - 3 * NODE_DYS < rect->ymin)
+ rect->ymin = dy - 3 * NODE_DYS;
+ if (dy + 3 * NODE_DYS > rect->ymax)
+ rect->ymax = dy + 3 * NODE_DYS;
+ dy -= 2 * NODE_DY;
sock = sock->next;
gsock = gsock->next;
@@ -646,16 +617,16 @@ static void node_update_group(const bContext *C, bNodeTree *ntree, bNode *gnode)
* Add margin for header and input/output columns.
*/
uiExplicitBoundsBlock(gnode->block,
- rect->xmin - node_group_frame,
- rect->ymin,
- rect->xmax + node_group_frame,
- rect->ymax + group_header);
+ rect->xmin - node_group_frame,
+ rect->ymin,
+ rect->xmax + node_group_frame,
+ rect->ymax + group_header);
}
}
static void update_group_input_cb(bContext *UNUSED(C), void *UNUSED(snode_v), void *ngroup_v)
{
- bNodeTree *ngroup= (bNodeTree*)ngroup_v;
+ bNodeTree *ngroup = (bNodeTree *)ngroup_v;
ngroup->update |= NTREE_UPDATE_GROUP_IN;
ntreeUpdateTree(ngroup);
@@ -663,7 +634,7 @@ static void update_group_input_cb(bContext *UNUSED(C), void *UNUSED(snode_v), vo
static void update_group_output_cb(bContext *UNUSED(C), void *UNUSED(snode_v), void *ngroup_v)
{
- bNodeTree *ngroup= (bNodeTree*)ngroup_v;
+ bNodeTree *ngroup = (bNodeTree *)ngroup_v;
ngroup->update |= NTREE_UPDATE_GROUP_OUT;
ntreeUpdateTree(ngroup);
@@ -671,55 +642,56 @@ static void update_group_output_cb(bContext *UNUSED(C), void *UNUSED(snode_v), v
static void draw_group_socket_name(SpaceNode *snode, bNode *gnode, bNodeSocket *sock, int in_out, float xoffset, float yoffset)
{
- bNodeTree *ngroup= (bNodeTree*)gnode->id;
+ bNodeTree *ngroup = (bNodeTree *)gnode->id;
uiBut *bt;
+ const char *ui_name = IFACE_(sock->name);
if (sock->flag & SOCK_DYNAMIC) {
bt = uiDefBut(gnode->block, TEX, 0, "",
- sock->locx+xoffset, sock->locy+1+yoffset, 72, NODE_DY,
- sock->name, 0, sizeof(sock->name), 0, 0, "");
- if (in_out==SOCK_IN)
+ sock->locx + xoffset, sock->locy + 1 + yoffset, 72, NODE_DY,
+ sock->name, 0, sizeof(sock->name), 0, 0, "");
+ if (in_out == SOCK_IN)
uiButSetFunc(bt, update_group_input_cb, snode, ngroup);
else
uiButSetFunc(bt, update_group_output_cb, snode, ngroup);
}
else {
- uiDefBut(gnode->block, LABEL, 0, sock->name,
- sock->locx+xoffset, sock->locy+1+yoffset, 72, NODE_DY,
- NULL, 0, sizeof(sock->name), 0, 0, "");
+ uiDefBut(gnode->block, LABEL, 0, ui_name,
+ sock->locx + xoffset, sock->locy + 1 + yoffset, 72, NODE_DY,
+ NULL, 0, sizeof(ui_name), 0, 0, "");
}
}
static void draw_group_socket(const bContext *C, SpaceNode *snode, bNodeTree *ntree, bNode *gnode, bNodeSocket *sock, bNodeSocket *gsock, int index, int in_out)
{
- bNodeTree *ngroup= (bNodeTree*)gnode->id;
- bNodeSocketType *stype= ntreeGetSocketType(gsock ? gsock->type : sock->type);
+ bNodeTree *ngroup = (bNodeTree *)gnode->id;
+ bNodeSocketType *stype = ntreeGetSocketType(gsock ? gsock->type : sock->type);
uiBut *bt;
float offset;
int draw_value;
- float node_group_frame= U.dpi*NODE_GROUP_FRAME/72;
- float socket_size= NODE_SOCKSIZE*U.dpi/72;
- float arrowbutw= 0.8f*UI_UNIT_X;
+ float node_group_frame = U.dpi * NODE_GROUP_FRAME / 72;
+ float socket_size = NODE_SOCKSIZE * U.dpi / 72;
+ float arrowbutw = 0.8f * UI_UNIT_X;
/* layout stuff for buttons on group left frame */
- float colw= 0.6f*node_group_frame;
- float col1= 6 - node_group_frame;
- float col2= col1 + colw+6;
- float col3= - arrowbutw - 6;
+ float colw = 0.6f * node_group_frame;
+ float col1 = 6 - node_group_frame;
+ float col2 = col1 + colw + 6;
+ float col3 = -arrowbutw - 6;
/* layout stuff for buttons on group right frame */
- float cor1= 6;
- float cor2= cor1 + arrowbutw + 6;
- float cor3= cor2 + arrowbutw + 6;
+ float cor1 = 6;
+ float cor2 = cor1 + arrowbutw + 6;
+ float cor3 = cor2 + arrowbutw + 6;
/* node and group socket circles */
if (sock)
- node_socket_circle_draw(ntree, sock, socket_size);
+ node_socket_circle_draw(ntree, sock, socket_size, sock->flag & SELECT);
if (gsock)
- node_socket_circle_draw(ngroup, gsock, socket_size);
+ node_socket_circle_draw(ngroup, gsock, socket_size, gsock->flag & SELECT);
/* socket name */
- offset = (in_out==SOCK_IN ? col1 : cor3);
+ offset = (in_out == SOCK_IN ? col1 : cor3);
if (!gsock)
- offset += (in_out==SOCK_IN ? node_group_frame : -node_group_frame);
+ offset += (in_out == SOCK_IN ? node_group_frame : -node_group_frame);
/* draw both name and value button if:
* 1) input: not internal
@@ -727,25 +699,25 @@ static void draw_group_socket(const bContext *C, SpaceNode *snode, bNodeTree *nt
*/
draw_value = 0;
switch (in_out) {
- case SOCK_IN:
- draw_value = !(gsock && (gsock->flag & SOCK_INTERNAL));
- break;
- case SOCK_OUT:
- if (gnode->typeinfo->flag & NODE_CONST_OUTPUT)
- draw_value = !(gsock && gsock->link);
- break;
+ case SOCK_IN:
+ draw_value = !(gsock && (gsock->flag & SOCK_INTERNAL));
+ break;
+ case SOCK_OUT:
+ if (gnode->typeinfo->flag & NODE_CONST_OUTPUT)
+ draw_value = !(gsock && gsock->link);
+ break;
}
if (draw_value) {
/* both name and value buttons */
if (gsock) {
draw_group_socket_name(snode, gnode, gsock, in_out, offset, 0);
if (stype->buttonfunc)
- stype->buttonfunc(C, gnode->block, ngroup, NULL, gsock, "", gsock->locx+offset, gsock->locy-NODE_DY, colw);
+ stype->buttonfunc(C, gnode->block, ngroup, NULL, gsock, "", gsock->locx + offset, gsock->locy - NODE_DY, colw);
}
else {
draw_group_socket_name(snode, gnode, sock, in_out, offset, 0);
if (stype->buttonfunc)
- stype->buttonfunc(C, gnode->block, ngroup, NULL, sock, "", sock->locx+offset, sock->locy-NODE_DY, colw);
+ stype->buttonfunc(C, gnode->block, ngroup, NULL, sock, "", sock->locx + offset, sock->locy - NODE_DY, colw);
}
}
else {
@@ -758,17 +730,17 @@ static void draw_group_socket(const bContext *C, SpaceNode *snode, bNodeTree *nt
if (gsock && (gsock->flag & SOCK_DYNAMIC)) {
/* up/down buttons */
- offset = (in_out==SOCK_IN ? col2 : cor2);
+ offset = (in_out == SOCK_IN ? col2 : cor2);
uiBlockSetDirection(gnode->block, UI_TOP);
uiBlockBeginAlign(gnode->block);
bt = uiDefIconButO(gnode->block, BUT, "NODE_OT_group_socket_move_up", 0, ICON_TRIA_UP,
- gsock->locx+offset, gsock->locy, arrowbutw, arrowbutw, "");
+ gsock->locx + offset, gsock->locy, arrowbutw, arrowbutw, "");
if (!gsock->prev || !(gsock->prev->flag & SOCK_DYNAMIC))
uiButSetFlag(bt, UI_BUT_DISABLED);
RNA_int_set(uiButGetOperatorPtrRNA(bt), "index", index);
RNA_enum_set(uiButGetOperatorPtrRNA(bt), "in_out", in_out);
bt = uiDefIconButO(gnode->block, BUT, "NODE_OT_group_socket_move_down", 0, ICON_TRIA_DOWN,
- gsock->locx+offset, gsock->locy-arrowbutw, arrowbutw, arrowbutw, "");
+ gsock->locx + offset, gsock->locy - arrowbutw, arrowbutw, arrowbutw, "");
if (!gsock->next || !(gsock->next->flag & SOCK_DYNAMIC))
uiButSetFlag(bt, UI_BUT_DISABLED);
RNA_int_set(uiButGetOperatorPtrRNA(bt), "index", index);
@@ -777,10 +749,10 @@ static void draw_group_socket(const bContext *C, SpaceNode *snode, bNodeTree *nt
uiBlockSetDirection(gnode->block, 0);
/* remove button */
- offset = (in_out==SOCK_IN ? col3 : cor1);
+ offset = (in_out == SOCK_IN ? col3 : cor1);
uiBlockSetEmboss(gnode->block, UI_EMBOSSN);
bt = uiDefIconButO(gnode->block, BUT, "NODE_OT_group_socket_remove", 0, ICON_X,
- gsock->locx+offset, gsock->locy-0.5f*arrowbutw, arrowbutw, arrowbutw, "");
+ gsock->locx + offset, gsock->locy - 0.5f * arrowbutw, arrowbutw, arrowbutw, "");
RNA_int_set(uiButGetOperatorPtrRNA(bt), "index", index);
RNA_enum_set(uiButGetOperatorPtrRNA(bt), "in_out", in_out);
uiBlockSetEmboss(gnode->block, UI_EMBOSS);
@@ -794,13 +766,13 @@ static void node_draw_group(const bContext *C, ARegion *ar, SpaceNode *snode, bN
node_draw_default(C, ar, snode, ntree, gnode);
}
else {
- bNodeTree *ngroup= (bNodeTree *)gnode->id;
+ bNodeTree *ngroup = (bNodeTree *)gnode->id;
bNodeSocket *sock, *gsock;
uiLayout *layout;
PointerRNA ptr;
- rctf rect= gnode->totr;
- float node_group_frame= U.dpi*NODE_GROUP_FRAME/72;
- float group_header= 26*U.dpi/72;
+ rctf rect = gnode->totr;
+ float node_group_frame = U.dpi * NODE_GROUP_FRAME / 72;
+ float group_header = 26 * U.dpi / 72;
int index;
@@ -808,7 +780,7 @@ static void node_draw_group(const bContext *C, ARegion *ar, SpaceNode *snode, bN
glEnable(GL_BLEND);
uiSetRoundBox(UI_CNR_TOP_LEFT | UI_CNR_TOP_RIGHT);
UI_ThemeColorShadeAlpha(TH_NODE_GROUP, 0, -70);
- uiDrawBox(GL_POLYGON, rect.xmin-node_group_frame, rect.ymax, rect.xmax+node_group_frame, rect.ymax+group_header, BASIS_RAD);
+ uiDrawBox(GL_POLYGON, rect.xmin - node_group_frame, rect.ymax, rect.xmax + node_group_frame, rect.ymax + group_header, BASIS_RAD);
/* backdrop body */
UI_ThemeColorShadeAlpha(TH_BACK, -8, -70);
@@ -818,12 +790,12 @@ static void node_draw_group(const bContext *C, ARegion *ar, SpaceNode *snode, bN
/* input column */
UI_ThemeColorShadeAlpha(TH_BACK, 10, -50);
uiSetRoundBox(UI_CNR_BOTTOM_LEFT);
- uiDrawBox(GL_POLYGON, rect.xmin-node_group_frame, rect.ymin, rect.xmin, rect.ymax, BASIS_RAD);
+ uiDrawBox(GL_POLYGON, rect.xmin - node_group_frame, rect.ymin, rect.xmin, rect.ymax, BASIS_RAD);
/* output column */
UI_ThemeColorShadeAlpha(TH_BACK, 10, -50);
uiSetRoundBox(UI_CNR_BOTTOM_RIGHT);
- uiDrawBox(GL_POLYGON, rect.xmax, rect.ymin, rect.xmax+node_group_frame, rect.ymax, BASIS_RAD);
+ uiDrawBox(GL_POLYGON, rect.xmax, rect.ymin, rect.xmax + node_group_frame, rect.ymax, BASIS_RAD);
/* input column separator */
glColor4ub(200, 200, 200, 140);
@@ -843,57 +815,57 @@ static void node_draw_group(const bContext *C, ARegion *ar, SpaceNode *snode, bN
uiSetRoundBox(UI_CNR_ALL);
glColor4ub(200, 200, 200, 140);
glEnable(GL_LINE_SMOOTH);
- uiDrawBox(GL_LINE_LOOP, rect.xmin-node_group_frame, rect.ymin, rect.xmax+node_group_frame, rect.ymax+group_header, BASIS_RAD);
+ uiDrawBox(GL_LINE_LOOP, rect.xmin - node_group_frame, rect.ymin, rect.xmax + node_group_frame, rect.ymax + group_header, BASIS_RAD);
glDisable(GL_LINE_SMOOTH);
glDisable(GL_BLEND);
/* backdrop title */
UI_ThemeColor(TH_TEXT_HI);
- layout = uiBlockLayout(gnode->block, UI_LAYOUT_VERTICAL, UI_LAYOUT_PANEL, (short)(rect.xmin+15), (short)(rect.ymax+group_header),
- MIN2((int)(rect.xmax - rect.xmin-18.0f), node_group_frame+20), group_header, UI_GetStyle());
+ layout = uiBlockLayout(gnode->block, UI_LAYOUT_VERTICAL, UI_LAYOUT_PANEL, (short)(rect.xmin + 15), (short)(rect.ymax + group_header),
+ MIN2((int)(rect.xmax - rect.xmin - 18.0f), node_group_frame + 20), group_header, UI_GetStyle());
RNA_pointer_create(&ntree->id, &RNA_Node, gnode, &ptr);
- uiTemplateIDBrowse(layout, (bContext*)C, &ptr, "node_tree", NULL, NULL, NULL);
+ uiTemplateIDBrowse(layout, (bContext *)C, &ptr, "node_tree", NULL, NULL, NULL);
uiBlockLayoutResolve(gnode->block, NULL, NULL);
/* draw the internal tree nodes and links */
node_draw_nodetree(C, ar, snode, ngroup);
/* group sockets */
- gsock=ngroup->inputs.first;
- sock=gnode->inputs.first;
+ gsock = ngroup->inputs.first;
+ sock = gnode->inputs.first;
index = 0;
while (gsock || sock) {
while (sock && !sock->groupsock) {
draw_group_socket(C, snode, ntree, gnode, sock, NULL, index, SOCK_IN);
sock = sock->next;
}
- while (gsock && (!sock || sock->groupsock!=gsock)) {
+ while (gsock && (!sock || sock->groupsock != gsock)) {
draw_group_socket(C, snode, ntree, gnode, NULL, gsock, index, SOCK_IN);
gsock = gsock->next;
++index;
}
- while (sock && gsock && sock->groupsock==gsock) {
+ while (sock && gsock && sock->groupsock == gsock) {
draw_group_socket(C, snode, ntree, gnode, sock, gsock, index, SOCK_IN);
sock = sock->next;
gsock = gsock->next;
++index;
}
}
- gsock=ngroup->outputs.first;
- sock=gnode->outputs.first;
+ gsock = ngroup->outputs.first;
+ sock = gnode->outputs.first;
index = 0;
while (gsock || sock) {
while (sock && !sock->groupsock) {
draw_group_socket(C, snode, ntree, gnode, sock, NULL, index, SOCK_OUT);
sock = sock->next;
}
- while (gsock && (!sock || sock->groupsock!=gsock)) {
+ while (gsock && (!sock || sock->groupsock != gsock)) {
draw_group_socket(C, snode, ntree, gnode, NULL, gsock, index, SOCK_OUT);
gsock = gsock->next;
++index;
}
- while (sock && gsock && sock->groupsock==gsock) {
+ while (sock && gsock && sock->groupsock == gsock) {
draw_group_socket(C, snode, ntree, gnode, sock, gsock, index, SOCK_OUT);
sock = sock->next;
gsock = gsock->next;
@@ -903,7 +875,7 @@ static void node_draw_group(const bContext *C, ARegion *ar, SpaceNode *snode, bN
uiEndBlock(C, gnode->block);
uiDrawBlock(C, gnode->block);
- gnode->block= NULL;
+ gnode->block = NULL;
}
}
@@ -932,15 +904,15 @@ static void node_update_frame(const bContext *UNUSED(C), bNodeTree *ntree, bNode
/* init rect from current frame size */
nodeToView(node, node->offsetx, node->offsety, &rect.xmin, &rect.ymax);
- nodeToView(node, node->offsetx+node->width, node->offsety-node->height, &rect.xmax, &rect.ymin);
+ nodeToView(node, node->offsetx + node->width, node->offsety - node->height, &rect.xmax, &rect.ymin);
/* frame can be resized manually only if shrinking is disabled or no children are attached */
data->flag |= NODE_FRAME_RESIZEABLE;
/* for shrinking bbox, initialize the rect from first child node */
bbinit = (data->flag & NODE_FRAME_SHRINK);
/* fit bounding box to all children */
- for (tnode=ntree->nodes.first; tnode; tnode=tnode->next) {
- if (tnode->parent!=node)
+ for (tnode = ntree->nodes.first; tnode; tnode = tnode->next) {
+ if (tnode->parent != node)
continue;
/* add margin to node rect */
@@ -974,8 +946,8 @@ static void node_draw_frame_label(bNode *node)
/* XXX font id is crap design */
const int fontid = blf_mono_font;
NodeFrame *data = (NodeFrame *)node->storage;
- rctf *rct= &node->totr;
- int color_id= node_get_colorid(node);
+ rctf *rct = &node->totr;
+ int color_id = node_get_colorid(node);
char label[128];
/* XXX a bit hacky, should use separate align values for x and y */
float width, ascender;
@@ -990,7 +962,7 @@ static void node_draw_frame_label(bNode *node)
width = BLF_width(fontid, label);
ascender = BLF_ascender(fontid);
- x = 0.5f*(rct->xmin + rct->xmax) - 0.5f*width;
+ x = 0.5f * (rct->xmin + rct->xmax) - 0.5f * width;
y = rct->ymax - NODE_DYS - ascender;
BLF_position(fontid, x, y, 0);
@@ -999,35 +971,40 @@ static void node_draw_frame_label(bNode *node)
static void node_draw_frame(const bContext *C, ARegion *ar, SpaceNode *snode, bNodeTree *UNUSED(ntree), bNode *node)
{
- rctf *rct= &node->totr;
- int color_id= node_get_colorid(node);
+ rctf *rct = &node->totr;
+ int color_id = node_get_colorid(node);
+ unsigned char color[4];
+ float alpha;
+
+ UI_GetThemeColor4ubv(TH_NODE_FRAME, color);
+ alpha = (float)(color[3])/255.0f;
/* skip if out of view */
if (node->totr.xmax < ar->v2d.cur.xmin || node->totr.xmin > ar->v2d.cur.xmax ||
- node->totr.ymax < ar->v2d.cur.ymin || node->totr.ymin > ar->v2d.cur.ymax) {
+ node->totr.ymax < ar->v2d.cur.ymin || node->totr.ymin > ar->v2d.cur.ymax) {
uiEndBlock(C, node->block);
- node->block= NULL;
+ node->block = NULL;
return;
}
/* shadow */
- node_draw_shadow(snode, node, BASIS_RAD);
+ node_draw_shadow(snode, node, BASIS_RAD, alpha);
/* body */
if (node->flag & NODE_CUSTOM_COLOR)
- glColor3fv(node->color);
+ glColor4f(node->color[0], node->color[1], node->color[2], alpha);
else
- UI_ThemeColor4(TH_NODE);
+ UI_ThemeColor4(TH_NODE_FRAME);
glEnable(GL_BLEND);
uiSetRoundBox(UI_CNR_ALL);
uiRoundBox(rct->xmin, rct->ymin, rct->xmax, rct->ymax, BASIS_RAD);
glDisable(GL_BLEND);
/* outline active and selected emphasis */
- if ( node->flag & (NODE_ACTIVE|SELECT) ) {
+ if (node->flag & (NODE_ACTIVE | SELECT) ) {
glEnable(GL_BLEND);
- glEnable( GL_LINE_SMOOTH );
+ glEnable(GL_LINE_SMOOTH);
if (node->flag & NODE_ACTIVE)
UI_ThemeColorShadeAlpha(TH_ACTIVE, 0, -40);
@@ -1036,7 +1013,7 @@ static void node_draw_frame(const bContext *C, ARegion *ar, SpaceNode *snode, bN
uiSetRoundBox(UI_CNR_ALL);
uiDrawBox(GL_LINE_LOOP, rct->xmin, rct->ymin, rct->xmax, rct->ymax, BASIS_RAD);
- glDisable( GL_LINE_SMOOTH );
+ glDisable(GL_LINE_SMOOTH);
glDisable(GL_BLEND);
}
@@ -1047,27 +1024,27 @@ static void node_draw_frame(const bContext *C, ARegion *ar, SpaceNode *snode, bN
uiEndBlock(C, node->block);
uiDrawBlock(C, node->block);
- node->block= NULL;
+ node->block = NULL;
}
static int node_resize_area_frame(bNode *node, int x, int y)
{
const float size = 10.0f;
NodeFrame *data = (NodeFrame *)node->storage;
- rctf totr= node->totr;
+ rctf totr = node->totr;
int dir = 0;
/* shrinking frame size is determined by child nodes */
if (!(data->flag & NODE_FRAME_RESIZEABLE))
return 0;
- if (x >= totr.xmax-size && x < totr.xmax && y >= totr.ymin && y < totr.ymax)
+ if (x >= totr.xmax - size && x < totr.xmax && y >= totr.ymin && y < totr.ymax)
dir |= NODE_RESIZE_RIGHT;
- if (x >= totr.xmin && x < totr.xmin+size && y >= totr.ymin && y < totr.ymax)
+ if (x >= totr.xmin && x < totr.xmin + size && y >= totr.ymin && y < totr.ymax)
dir |= NODE_RESIZE_LEFT;
- if (x >= totr.xmin && x < totr.xmax && y >= totr.ymax-size && y < totr.ymax)
+ if (x >= totr.xmin && x < totr.xmax && y >= totr.ymax - size && y < totr.ymax)
dir |= NODE_RESIZE_TOP;
- if (x >= totr.xmin && x < totr.xmax && y >= totr.ymin && y < totr.ymin+size)
+ if (x >= totr.xmin && x < totr.xmax && y >= totr.ymin && y < totr.ymin + size)
dir |= NODE_RESIZE_BOTTOM;
return dir;
@@ -1075,76 +1052,193 @@ static int node_resize_area_frame(bNode *node, int x, int y)
static void node_buts_frame_details(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr)
{
- uiItemR(layout, ptr, "label_size", 0, "Label Size", ICON_NONE);
- uiItemR(layout, ptr, "shrink", 0, "Shrink", ICON_NONE);
+ uiItemR(layout, ptr, "label_size", 0, IFACE_("Label Size"), ICON_NONE);
+ uiItemR(layout, ptr, "shrink", 0, IFACE_("Shrink"), ICON_NONE);
+}
+
+
+#define NODE_REROUTE_SIZE 8.0f
+
+static void node_update_reroute(const bContext *UNUSED(C), bNodeTree *UNUSED(ntree), bNode *node)
+{
+ bNodeSocket *nsock;
+ float locx, locy;
+ float size = NODE_REROUTE_SIZE;
+
+ /* get "global" coords */
+ nodeToView(node, 0.0f, 0.0f, &locx, &locy);
+
+ /* reroute node has exactly one input and one output, both in the same place */
+ nsock= node->outputs.first;
+ nsock->locx= locx;
+ nsock->locy= locy;
+
+ nsock= node->inputs.first;
+ nsock->locx= locx;
+ nsock->locy= locy;
+
+ node->width = size*2;
+ node->totr.xmin= locx - size;
+ node->totr.xmax= locx + size;
+ node->totr.ymax= locy + size;
+ node->totr.ymin= locy - size;
+}
+
+static void node_draw_reroute(const bContext *C, ARegion *ar, SpaceNode *UNUSED(snode), bNodeTree *ntree, bNode *node)
+{
+ bNodeSocket *sock;
+ #if 0 /* UNUSED */
+ rctf *rct= &node->totr;
+ float size = NODE_REROUTE_SIZE;
+ #endif
+ float socket_size= NODE_SOCKSIZE;
+
+ /* skip if out of view */
+ if (node->totr.xmax < ar->v2d.cur.xmin || node->totr.xmin > ar->v2d.cur.xmax ||
+ node->totr.ymax < ar->v2d.cur.ymin || node->totr.ymin > ar->v2d.cur.ymax) {
+
+ uiEndBlock(C, node->block);
+ node->block= NULL;
+ return;
+ }
+
+ /* XXX only kept for debugging
+ * selection state is indicated by socket outline below!
+ */
+ #if 0
+ /* body */
+ uiSetRoundBox(15);
+ UI_ThemeColor4(TH_NODE);
+ glEnable(GL_BLEND);
+ uiRoundBox(rct->xmin, rct->ymin, rct->xmax, rct->ymax, size);
+ glDisable(GL_BLEND);
+
+ /* outline active and selected emphasis */
+ if (node->flag & (NODE_ACTIVE | SELECT)) {
+ glEnable(GL_BLEND);
+ glEnable( GL_LINE_SMOOTH );
+ /* using different shades of TH_TEXT_HI for the empasis, like triangle */
+ if( node->flag & NODE_ACTIVE )
+ UI_ThemeColorShadeAlpha(TH_TEXT_HI, 0, -40);
+ else
+ UI_ThemeColorShadeAlpha(TH_TEXT_HI, -20, -120);
+ uiDrawBox(GL_LINE_LOOP, rct->xmin, rct->ymin, rct->xmax, rct->ymax, size);
+
+ glDisable( GL_LINE_SMOOTH );
+ glDisable(GL_BLEND);
+ }
+ #endif
+
+ /* only draw input socket. as they all are placed on the same position.
+ * highlight also if node itself is selected, since we don't display the node body separately!
+ */
+ for (sock= node->inputs.first; sock; sock= sock->next) {
+ node_socket_circle_draw(ntree, sock, socket_size, (sock->flag & SELECT) || (node->flag & SELECT));
+ }
+
+ uiEndBlock(C, node->block);
+ uiDrawBlock(C, node->block);
+ node->block= NULL;
+}
+
+/* Special tweak area for reroute node.
+ * Since this node is quite small, we use a larger tweak area for grabbing than for selection.
+ */
+static int node_tweak_area_reroute(bNode *node, int x, int y)
+{
+ /* square of tweak radius */
+ static const float tweak_radius_sq = 576; /* 24*24 */
+
+ bNodeSocket *sock = node->inputs.first;
+ float dx = sock->locx - x;
+ float dy = sock->locy - y;
+ return (dx*dx + dy*dy <= tweak_radius_sq);
}
static void node_common_set_butfunc(bNodeType *ntype)
{
switch (ntype->type) {
case NODE_GROUP:
- ntype->uifunc= node_uifunc_group;
- ntype->drawfunc= node_draw_group;
- ntype->drawupdatefunc= node_update_group;
+ ntype->uifunc = node_uifunc_group;
+ ntype->drawfunc = node_draw_group;
+ ntype->drawupdatefunc = node_update_group;
break;
case NODE_FORLOOP:
// ntype->uifunc= node_common_buts_group;
- ntype->drawfunc= node_draw_group;
- ntype->drawupdatefunc= node_update_group;
+ ntype->drawfunc = node_draw_group;
+ ntype->drawupdatefunc = node_update_group;
break;
case NODE_WHILELOOP:
- ntype->uifunc= node_common_buts_whileloop;
- ntype->drawfunc= node_draw_group;
- ntype->drawupdatefunc= node_update_group;
+ ntype->uifunc = node_common_buts_whileloop;
+ ntype->drawfunc = node_draw_group;
+ ntype->drawupdatefunc = node_update_group;
break;
case NODE_FRAME:
- ntype->drawfunc= node_draw_frame;
- ntype->drawupdatefunc= node_update_frame;
- ntype->uifuncbut= node_buts_frame_details;
- ntype->resize_area_func= node_resize_area_frame;
+ ntype->drawfunc = node_draw_frame;
+ ntype->drawupdatefunc = node_update_frame;
+ ntype->uifuncbut = node_buts_frame_details;
+ ntype->resize_area_func = node_resize_area_frame;
+ break;
+ case NODE_REROUTE:
+ ntype->drawfunc= node_draw_reroute;
+ ntype->drawupdatefunc= node_update_reroute;
+ ntype->tweak_area_func= node_tweak_area_reroute;
break;
}
}
/* ****************** BUTTON CALLBACKS FOR SHADER NODES ***************** */
-static void node_browse_text_cb(bContext *C, void *ntree_v, void *node_v)
+static void node_buts_image_user(uiLayout *layout, bContext *C, PointerRNA *imaptr, PointerRNA *iuserptr)
{
- Main *bmain= CTX_data_main(C);
- bNodeTree *ntree= ntree_v;
- bNode *node= node_v;
- /* ID *oldid; */ /* UNUSED */
+ uiLayout *col;
+ int source;
+
+ if(!imaptr->data)
+ return;
+
+ col = uiLayoutColumn(layout, 0);
- if (node->menunr<1) return;
+ uiItemR(col, imaptr, "source", 0, "", ICON_NONE);
- if (node->id) {
- node->id->us--;
+ source = RNA_enum_get(imaptr, "source");
+
+ if (source == IMA_SRC_SEQUENCE) {
+ /* don't use iuser->framenr directly because it may not be updated if auto-refresh is off */
+ Scene *scene = CTX_data_scene(C);
+ ImageUser *iuser = iuserptr->data;
+ char numstr[32];
+ const int framenr = BKE_image_user_frame_get(iuser, CFRA, 0);
+ BLI_snprintf(numstr, sizeof(numstr), IFACE_("Frame: %d"), framenr);
+ uiItemL(layout, numstr, ICON_NONE);
}
- /* oldid= node->id; */ /* UNUSED */
- node->id= BLI_findlink(&bmain->text, node->menunr-1);
- id_us_plus(node->id);
- BLI_strncpy(node->name, node->id->name+2, sizeof(node->name));
- node->custom1= BSET(node->custom1, NODE_DYNAMIC_NEW);
-
- nodeSetActive(ntree, node);
+ if (ELEM(source, IMA_SRC_SEQUENCE, IMA_SRC_MOVIE)) {
+ col = uiLayoutColumn(layout, 1);
+ uiItemR(col, iuserptr, "frame_duration", 0, NULL, ICON_NONE);
+ uiItemR(col, iuserptr, "frame_start", 0, NULL, ICON_NONE);
+ uiItemR(col, iuserptr, "frame_offset", 0, NULL, ICON_NONE);
+ uiItemR(col, iuserptr, "use_cyclic", 0, NULL, ICON_NONE);
+ uiItemR(col, iuserptr, "use_auto_refresh", UI_ITEM_R_ICON_ONLY, NULL, ICON_NONE);
+ }
- // allqueue(REDRAWBUTSSHADING, 0);
- // allqueue(REDRAWNODE, 0);
+ col = uiLayoutColumn(layout, 0);
+
+ if (RNA_enum_get(imaptr, "type") == IMA_TYPE_MULTILAYER)
+ uiItemR(col, iuserptr, "layer", 0, NULL, ICON_NONE);
- node->menunr= 0;
}
static void node_shader_buts_material(uiLayout *layout, bContext *C, PointerRNA *ptr)
{
- bNode *node= ptr->data;
+ bNode *node = ptr->data;
uiLayout *col;
uiTemplateID(layout, C, ptr, "material", "MATERIAL_OT_new", NULL, NULL);
if (!node->id) return;
- col= uiLayoutColumn(layout, 0);
+ col = uiLayoutColumn(layout, 0);
uiItemR(col, ptr, "use_diffuse", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "use_specular", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "invert_normal", 0, NULL, ICON_NONE);
@@ -1154,23 +1248,23 @@ static void node_shader_buts_mapping(uiLayout *layout, bContext *UNUSED(C), Poin
{
uiLayout *row;
- uiItemL(layout, "Location:", ICON_NONE);
- row= uiLayoutRow(layout, 1);
+ uiItemL(layout, IFACE_("Location:"), ICON_NONE);
+ row = uiLayoutRow(layout, 1);
uiItemR(row, ptr, "translation", 0, "", ICON_NONE);
- uiItemL(layout, "Rotation:", ICON_NONE);
- row= uiLayoutRow(layout, 1);
+ uiItemL(layout, IFACE_("Rotation:"), ICON_NONE);
+ row = uiLayoutRow(layout, 1);
uiItemR(row, ptr, "rotation", 0, "", ICON_NONE);
- uiItemL(layout, "Scale:", ICON_NONE);
- row= uiLayoutRow(layout, 1);
+ uiItemL(layout, IFACE_("Scale:"), ICON_NONE);
+ row = uiLayoutRow(layout, 1);
uiItemR(row, ptr, "scale", 0, "", ICON_NONE);
- row= uiLayoutRow(layout, 1);
+ row = uiLayoutRow(layout, 1);
uiItemR(row, ptr, "use_min", 0, "Min", ICON_NONE);
uiItemR(row, ptr, "min", 0, "", ICON_NONE);
- row= uiLayoutRow(layout, 1);
+ row = uiLayoutRow(layout, 1);
uiItemR(row, ptr, "use_max", 0, "Max", ICON_NONE);
uiItemR(row, ptr, "max", 0, "", ICON_NONE);
}
@@ -1182,40 +1276,49 @@ static void node_shader_buts_vect_math(uiLayout *layout, bContext *UNUSED(C), Po
static void node_shader_buts_geometry(uiLayout *layout, bContext *C, PointerRNA *ptr)
{
- PointerRNA obptr= CTX_data_pointer_get(C, "active_object");
+ PointerRNA obptr = CTX_data_pointer_get(C, "active_object");
uiLayout *col;
- col= uiLayoutColumn(layout, 0);
+ col = uiLayoutColumn(layout, 0);
if (obptr.data && RNA_enum_get(&obptr, "type") == OB_MESH) {
- PointerRNA dataptr= RNA_pointer_get(&obptr, "data");
+ PointerRNA dataptr = RNA_pointer_get(&obptr, "data");
uiItemPointerR(col, ptr, "uv_layer", &dataptr, "uv_textures", "", ICON_NONE);
uiItemPointerR(col, ptr, "color_layer", &dataptr, "vertex_colors", "", ICON_NONE);
}
else {
- uiItemR(col, ptr, "uv_layer", 0, "UV", ICON_NONE);
- uiItemR(col, ptr, "color_layer", 0, "VCol", ICON_NONE);
+ uiItemR(col, ptr, "uv_layer", 0, IFACE_("UV"), ICON_NONE);
+ uiItemR(col, ptr, "color_layer", 0, IFACE_("VCol"), ICON_NONE);
}
}
static void node_shader_buts_attribute(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr)
{
- uiItemR(layout, ptr, "attribute_name", 0, "Name", ICON_NONE);
+ uiItemR(layout, ptr, "attribute_name", 0, IFACE_("Name"), ICON_NONE);
}
static void node_shader_buts_tex_image(uiLayout *layout, bContext *C, PointerRNA *ptr)
{
+ PointerRNA imaptr = RNA_pointer_get(ptr, "image");
+ PointerRNA iuserptr = RNA_pointer_get(ptr, "image_user");
+
uiTemplateID(layout, C, ptr, "image", NULL, "IMAGE_OT_open", NULL);
uiItemR(layout, ptr, "color_space", 0, "", ICON_NONE);
-}
+ node_buts_image_user(layout, C, &imaptr, &iuserptr);
+}
static void node_shader_buts_tex_environment(uiLayout *layout, bContext *C, PointerRNA *ptr)
{
+ PointerRNA imaptr = RNA_pointer_get(ptr, "image");
+ PointerRNA iuserptr = RNA_pointer_get(ptr, "image_user");
+
uiTemplateID(layout, C, ptr, "image", NULL, "IMAGE_OT_open", NULL);
uiItemR(layout, ptr, "color_space", 0, "", ICON_NONE);
uiItemR(layout, ptr, "projection", 0, "", ICON_NONE);
+
+ node_buts_image_user(layout, C, &imaptr, &iuserptr);
}
static void node_shader_buts_tex_sky(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr)
@@ -1254,45 +1357,6 @@ static void node_shader_buts_glossy(uiLayout *layout, bContext *UNUSED(C), Point
uiItemR(layout, ptr, "distribution", 0, "", ICON_NONE);
}
-static void node_shader_buts_dynamic(uiLayout *layout, bContext *C, PointerRNA *ptr)
-{
- Main *bmain= CTX_data_main(C);
- uiBlock *block= uiLayoutAbsoluteBlock(layout);
- bNode *node= ptr->data;
- bNodeTree *ntree= ptr->id.data;
- rctf *butr= &node->butr;
- uiBut *bt;
- // XXX SpaceNode *snode= curarea->spacedata.first;
- short dy= (short)butr->ymin;
- int xoff=0;
-
- /* B_NODE_EXEC is handled in butspace.c do_node_buts */
- if (!node->id) {
- const char *strp;
- IDnames_to_pupstring(&strp, NULL, "", &(bmain->text), NULL, NULL);
- node->menunr= 0;
- bt= uiDefButS(block, MENU, B_NODE_EXEC/*+node->nr*/, strp,
- butr->xmin, dy, 19, 19,
- &node->menunr, 0, 0, 0, 0, "Browses existing choices");
- uiButSetFunc(bt, node_browse_text_cb, ntree, node);
- xoff=19;
- if (strp) MEM_freeN((void *)strp);
- }
- else {
- bt = uiDefBut(block, BUT, B_NOP, "Update",
- butr->xmin+xoff, butr->ymin+20, 50, 19,
- &node->menunr, 0.0, 19.0, 0, 0, "Refresh this node (and all others that use the same script)");
- uiButSetFunc(bt, node_dynamic_update_cb, ntree, node);
-
- if (BTST(node->custom1, NODE_DYNAMIC_ERROR)) {
- // UI_ThemeColor(TH_REDALERT);
- // XXX ui_rasterpos_safe(butr->xmin + xoff, butr->ymin + 5, snode->aspect);
- // XXX snode_drawstring(snode, "Error! Check console...", butr->xmax - butr->xmin);
- ;
- }
- }
-}
-
/* only once called */
static void node_shader_set_butfunc(bNodeType *ntype)
{
@@ -1301,77 +1365,74 @@ static void node_shader_set_butfunc(bNodeType *ntype)
case SH_NODE_MATERIAL:
case SH_NODE_MATERIAL_EXT:
- ntype->uifunc= node_shader_buts_material;
+ ntype->uifunc = node_shader_buts_material;
break;
case SH_NODE_TEXTURE:
- ntype->uifunc= node_buts_texture;
+ ntype->uifunc = node_buts_texture;
break;
case SH_NODE_NORMAL:
- ntype->uifunc= node_buts_normal;
+ ntype->uifunc = node_buts_normal;
break;
case SH_NODE_CURVE_VEC:
- ntype->uifunc= node_buts_curvevec;
+ ntype->uifunc = node_buts_curvevec;
break;
case SH_NODE_CURVE_RGB:
- ntype->uifunc= node_buts_curvecol;
+ ntype->uifunc = node_buts_curvecol;
break;
case SH_NODE_MAPPING:
- ntype->uifunc= node_shader_buts_mapping;
+ ntype->uifunc = node_shader_buts_mapping;
break;
case SH_NODE_VALUE:
- ntype->uifunc= node_buts_value;
+ ntype->uifunc = node_buts_value;
break;
case SH_NODE_RGB:
- ntype->uifunc= node_buts_rgb;
+ ntype->uifunc = node_buts_rgb;
break;
case SH_NODE_MIX_RGB:
- ntype->uifunc= node_buts_mix_rgb;
+ ntype->uifunc = node_buts_mix_rgb;
break;
case SH_NODE_VALTORGB:
- ntype->uifunc= node_buts_colorramp;
+ ntype->uifunc = node_buts_colorramp;
break;
case SH_NODE_MATH:
- ntype->uifunc= node_buts_math;
+ ntype->uifunc = node_buts_math;
break;
case SH_NODE_VECT_MATH:
- ntype->uifunc= node_shader_buts_vect_math;
+ ntype->uifunc = node_shader_buts_vect_math;
break;
case SH_NODE_GEOMETRY:
- ntype->uifunc= node_shader_buts_geometry;
+ ntype->uifunc = node_shader_buts_geometry;
break;
case SH_NODE_ATTRIBUTE:
- ntype->uifunc= node_shader_buts_attribute;
+ ntype->uifunc = node_shader_buts_attribute;
break;
case SH_NODE_TEX_SKY:
- ntype->uifunc= node_shader_buts_tex_sky;
+ ntype->uifunc = node_shader_buts_tex_sky;
break;
case SH_NODE_TEX_IMAGE:
- ntype->uifunc= node_shader_buts_tex_image;
+ ntype->uifunc = node_shader_buts_tex_image;
break;
case SH_NODE_TEX_ENVIRONMENT:
- ntype->uifunc= node_shader_buts_tex_environment;
+ ntype->uifunc = node_shader_buts_tex_environment;
break;
case SH_NODE_TEX_GRADIENT:
- ntype->uifunc= node_shader_buts_tex_gradient;
+ ntype->uifunc = node_shader_buts_tex_gradient;
break;
case SH_NODE_TEX_MAGIC:
- ntype->uifunc= node_shader_buts_tex_magic;
+ ntype->uifunc = node_shader_buts_tex_magic;
break;
case SH_NODE_TEX_WAVE:
- ntype->uifunc= node_shader_buts_tex_wave;
+ ntype->uifunc = node_shader_buts_tex_wave;
break;
case SH_NODE_TEX_MUSGRAVE:
- ntype->uifunc= node_shader_buts_tex_musgrave;
+ ntype->uifunc = node_shader_buts_tex_musgrave;
break;
case SH_NODE_TEX_VORONOI:
- ntype->uifunc= node_shader_buts_tex_voronoi;
+ ntype->uifunc = node_shader_buts_tex_voronoi;
break;
case SH_NODE_BSDF_GLOSSY:
case SH_NODE_BSDF_GLASS:
- ntype->uifunc= node_shader_buts_glossy;
- break;
- case NODE_DYNAMIC:
- ntype->uifunc= node_shader_buts_dynamic;
+ ntype->uifunc = node_shader_buts_glossy;
break;
}
}
@@ -1380,60 +1441,28 @@ static void node_shader_set_butfunc(bNodeType *ntype)
static void node_composit_buts_image(uiLayout *layout, bContext *C, PointerRNA *ptr)
{
- uiLayout *col;
- bNode *node= ptr->data;
- PointerRNA imaptr;
- PropertyRNA *prop;
- int source;
+ bNode *node = ptr->data;
+ PointerRNA imaptr, iuserptr;
uiTemplateID(layout, C, ptr, "image", NULL, "IMAGE_OT_open", NULL);
if (!node->id) return;
- prop = RNA_struct_find_property(ptr, "image");
- if (!prop || RNA_property_type(prop) != PROP_POINTER) return;
- imaptr= RNA_property_pointer_get(ptr, prop);
-
- col= uiLayoutColumn(layout, 0);
+ imaptr = RNA_pointer_get(ptr, "image");
+ RNA_pointer_create((ID *)ptr->id.data, &RNA_ImageUser, node->storage, &iuserptr);
- uiItemR(col, &imaptr, "source", 0, NULL, ICON_NONE);
-
- source= RNA_enum_get(&imaptr, "source");
-
- if (source == IMA_SRC_SEQUENCE) {
- /* don't use iuser->framenr directly because it may not be updated if auto-refresh is off */
- Scene *scene= CTX_data_scene(C);
- ImageUser *iuser= node->storage;
- char numstr[32];
- const int framenr= BKE_image_user_frame_get(iuser, CFRA, 0);
- BLI_snprintf(numstr, sizeof(numstr), "Frame: %d", framenr);
- uiItemL(layout, numstr, ICON_NONE);
- }
-
- if (ELEM(source, IMA_SRC_SEQUENCE, IMA_SRC_MOVIE)) {
- col= uiLayoutColumn(layout, 1);
- uiItemR(col, ptr, "frame_duration", 0, NULL, ICON_NONE);
- uiItemR(col, ptr, "frame_start", 0, NULL, ICON_NONE);
- uiItemR(col, ptr, "frame_offset", 0, NULL, ICON_NONE);
- uiItemR(col, ptr, "use_cyclic", 0, NULL, ICON_NONE);
- uiItemR(col, ptr, "use_auto_refresh", UI_ITEM_R_ICON_ONLY, NULL, ICON_NONE);
- }
-
- col= uiLayoutColumn(layout, 0);
-
- if (RNA_enum_get(&imaptr, "type")== IMA_TYPE_MULTILAYER)
- uiItemR(col, ptr, "layer", 0, NULL, ICON_NONE);
+ node_buts_image_user(layout, C, &imaptr, &iuserptr);
}
static void node_composit_buts_renderlayers(uiLayout *layout, bContext *C, PointerRNA *ptr)
{
- bNode *node= ptr->data;
+ bNode *node = ptr->data;
uiLayout *col, *row;
PointerRNA op_ptr;
PointerRNA scn_ptr;
PropertyRNA *prop;
const char *layer_name;
- char scene_name[MAX_ID_NAME-2];
+ char scene_name[MAX_ID_NAME - 2];
wmOperatorType *ot = WM_operatortype_find("RENDER_OT_render", 1);
BLI_assert(ot != 0);
@@ -1442,7 +1471,7 @@ static void node_composit_buts_renderlayers(uiLayout *layout, bContext *C, Point
if (!node->id) return;
- col= uiLayoutColumn(layout, 0);
+ col = uiLayoutColumn(layout, 0);
row = uiLayoutRow(col, 0);
uiItemR(row, ptr, "layer", 0, "", ICON_NONE);
@@ -1465,10 +1494,10 @@ static void node_composit_buts_blur(uiLayout *layout, bContext *UNUSED(C), Point
{
uiLayout *col, *row;
- col= uiLayoutColumn(layout, 0);
+ col = uiLayoutColumn(layout, 0);
uiItemR(col, ptr, "filter_type", 0, "", ICON_NONE);
- if (RNA_enum_get(ptr, "filter_type")!= R_FILTER_FAST_GAUSS) {
+ if (RNA_enum_get(ptr, "filter_type") != R_FILTER_FAST_GAUSS) {
uiItemR(col, ptr, "use_bokeh", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "use_gamma_correction", 0, NULL, ICON_NONE);
}
@@ -1476,18 +1505,18 @@ static void node_composit_buts_blur(uiLayout *layout, bContext *UNUSED(C), Point
uiItemR(col, ptr, "use_relative", 0, NULL, ICON_NONE);
if (RNA_boolean_get(ptr, "use_relative")) {
- uiItemL(col, "Aspect Correction", 0);
- row= uiLayoutRow(layout, 1);
+ uiItemL(col, IFACE_("Aspect Correction"), 0);
+ row = uiLayoutRow(layout, 1);
uiItemR(row, ptr, "aspect_correction", UI_ITEM_R_EXPAND, NULL, 0);
- col= uiLayoutColumn(layout, 1);
- uiItemR(col, ptr, "factor_x", 0, "X", ICON_NONE);
- uiItemR(col, ptr, "factor_y", 0, "Y", ICON_NONE);
+ col = uiLayoutColumn(layout, 1);
+ uiItemR(col, ptr, "factor_x", 0, IFACE_("X"), ICON_NONE);
+ uiItemR(col, ptr, "factor_y", 0, IFACE_("Y"), ICON_NONE);
}
else {
- col= uiLayoutColumn(layout, 1);
- uiItemR(col, ptr, "size_x", 0, "X", ICON_NONE);
- uiItemR(col, ptr, "size_y", 0, "Y", ICON_NONE);
+ col = uiLayoutColumn(layout, 1);
+ uiItemR(col, ptr, "size_x", 0, IFACE_("X"), ICON_NONE);
+ uiItemR(col, ptr, "size_y", 0, IFACE_("Y"), ICON_NONE);
}
}
@@ -1498,14 +1527,14 @@ static void node_composit_buts_dblur(uiLayout *layout, bContext *UNUSED(C), Poin
uiItemR(layout, ptr, "iterations", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "use_wrap", 0, NULL, ICON_NONE);
- col= uiLayoutColumn(layout, 1);
- uiItemL(col, "Center:", ICON_NONE);
- uiItemR(col, ptr, "center_x", 0, "X", ICON_NONE);
- uiItemR(col, ptr, "center_y", 0, "Y", ICON_NONE);
+ col = uiLayoutColumn(layout, 1);
+ uiItemL(col, IFACE_("Center:"), ICON_NONE);
+ uiItemR(col, ptr, "center_x", 0, IFACE_("X"), ICON_NONE);
+ uiItemR(col, ptr, "center_y", 0, IFACE_("Y"), ICON_NONE);
uiItemS(layout);
- col= uiLayoutColumn(layout, 1);
+ col = uiLayoutColumn(layout, 1);
uiItemR(col, ptr, "distance", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "angle", 0, NULL, ICON_NONE);
@@ -1519,7 +1548,7 @@ static void node_composit_buts_bilateralblur(uiLayout *layout, bContext *UNUSED(
{
uiLayout *col;
- col= uiLayoutColumn(layout, 1);
+ col = uiLayoutColumn(layout, 1);
uiItemR(col, ptr, "iterations", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "sigma_color", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "sigma_space", 0, NULL, ICON_NONE);
@@ -1529,8 +1558,8 @@ static void node_composit_buts_defocus(uiLayout *layout, bContext *UNUSED(C), Po
{
uiLayout *sub, *col;
- col= uiLayoutColumn(layout, 0);
- uiItemL(col, "Bokeh Type:", ICON_NONE);
+ col = uiLayoutColumn(layout, 0);
+ uiItemL(col, IFACE_("Bokeh Type:"), ICON_NONE);
uiItemR(col, ptr, "bokeh", 0, "", ICON_NONE);
uiItemR(col, ptr, "angle", 0, NULL, ICON_NONE);
@@ -1562,27 +1591,27 @@ static void node_composit_buts_glare(uiLayout *layout, bContext *UNUSED(C), Poin
uiItemR(layout, ptr, "glare_type", 0, "", ICON_NONE);
uiItemR(layout, ptr, "quality", 0, "", ICON_NONE);
- if (RNA_enum_get(ptr, "glare_type")!= 1) {
+ if (RNA_enum_get(ptr, "glare_type") != 1) {
uiItemR(layout, ptr, "iterations", 0, NULL, ICON_NONE);
- if (RNA_enum_get(ptr, "glare_type")!= 0)
+ if (RNA_enum_get(ptr, "glare_type") != 0)
uiItemR(layout, ptr, "color_modulation", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
}
uiItemR(layout, ptr, "mix", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "threshold", 0, NULL, ICON_NONE);
- if (RNA_enum_get(ptr, "glare_type")== 2) {
+ if (RNA_enum_get(ptr, "glare_type") == 2) {
uiItemR(layout, ptr, "streaks", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "angle_offset", 0, NULL, ICON_NONE);
}
- if (RNA_enum_get(ptr, "glare_type")== 0 || RNA_enum_get(ptr, "glare_type")== 2) {
+ if (RNA_enum_get(ptr, "glare_type") == 0 || RNA_enum_get(ptr, "glare_type") == 2) {
uiItemR(layout, ptr, "fade", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
- if (RNA_enum_get(ptr, "glare_type")== 0)
+ if (RNA_enum_get(ptr, "glare_type") == 0)
uiItemR(layout, ptr, "use_rotate_45", 0, NULL, ICON_NONE);
}
- if (RNA_enum_get(ptr, "glare_type")== 1) {
+ if (RNA_enum_get(ptr, "glare_type") == 1) {
uiItemR(layout, ptr, "size", 0, NULL, ICON_NONE);
}
}
@@ -1593,7 +1622,7 @@ static void node_composit_buts_tonemap(uiLayout *layout, bContext *UNUSED(C), Po
col = uiLayoutColumn(layout, 0);
uiItemR(col, ptr, "tonemap_type", 0, "", ICON_NONE);
- if (RNA_enum_get(ptr, "tonemap_type")== 0) {
+ if (RNA_enum_get(ptr, "tonemap_type") == 0) {
uiItemR(col, ptr, "key", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
uiItemR(col, ptr, "offset", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "gamma", 0, NULL, ICON_NONE);
@@ -1610,7 +1639,7 @@ static void node_composit_buts_lensdist(uiLayout *layout, bContext *UNUSED(C), P
{
uiLayout *col;
- col= uiLayoutColumn(layout, 0);
+ col = uiLayoutColumn(layout, 0);
uiItemR(col, ptr, "use_projector", 0, NULL, ICON_NONE);
col = uiLayoutColumn(col, 0);
@@ -1623,14 +1652,14 @@ static void node_composit_buts_vecblur(uiLayout *layout, bContext *UNUSED(C), Po
{
uiLayout *col;
- col= uiLayoutColumn(layout, 0);
+ col = uiLayoutColumn(layout, 0);
uiItemR(col, ptr, "samples", 0, NULL, ICON_NONE);
- uiItemR(col, ptr, "factor", 0, "Blur", ICON_NONE);
+ uiItemR(col, ptr, "factor", 0, IFACE_("Blur"), ICON_NONE);
- col= uiLayoutColumn(layout, 1);
- uiItemL(col, "Speed:", ICON_NONE);
- uiItemR(col, ptr, "speed_min", 0, "Min", ICON_NONE);
- uiItemR(col, ptr, "speed_max", 0, "Max", ICON_NONE);
+ col = uiLayoutColumn(layout, 1);
+ uiItemL(col, IFACE_("Speed:"), ICON_NONE);
+ uiItemR(col, ptr, "speed_min", 0, IFACE_("Min"), ICON_NONE);
+ uiItemR(col, ptr, "speed_max", 0, IFACE_("Max"), ICON_NONE);
uiItemR(layout, ptr, "use_curved", 0, NULL, ICON_NONE);
}
@@ -1652,18 +1681,18 @@ static void node_composit_buts_crop(uiLayout *layout, bContext *UNUSED(C), Point
uiItemR(layout, ptr, "use_crop_size", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "relative", 0, NULL, ICON_NONE);
- col= uiLayoutColumn(layout, 1);
+ col = uiLayoutColumn(layout, 1);
if (RNA_boolean_get(ptr, "relative")) {
- uiItemR(col, ptr, "rel_min_x", 0, "Left", ICON_NONE);
- uiItemR(col, ptr, "rel_max_x", 0, "Right", ICON_NONE);
- uiItemR(col, ptr, "rel_min_y", 0, "Up", ICON_NONE);
- uiItemR(col, ptr, "rel_max_y", 0, "Down", ICON_NONE);
+ uiItemR(col, ptr, "rel_min_x", 0, IFACE_("Left"), ICON_NONE);
+ uiItemR(col, ptr, "rel_max_x", 0, IFACE_("Right"), ICON_NONE);
+ uiItemR(col, ptr, "rel_min_y", 0, IFACE_("Up"), ICON_NONE);
+ uiItemR(col, ptr, "rel_max_y", 0, IFACE_("Down"), ICON_NONE);
}
else {
- uiItemR(col, ptr, "min_x", 0, "Left", ICON_NONE);
- uiItemR(col, ptr, "max_x", 0, "Right", ICON_NONE);
- uiItemR(col, ptr, "min_y", 0, "Up", ICON_NONE);
- uiItemR(col, ptr, "max_y", 0, "Down", ICON_NONE);
+ uiItemR(col, ptr, "min_x", 0, IFACE_("Left"), ICON_NONE);
+ uiItemR(col, ptr, "max_x", 0, IFACE_("Right"), ICON_NONE);
+ uiItemR(col, ptr, "min_y", 0, IFACE_("Up"), ICON_NONE);
+ uiItemR(col, ptr, "max_y", 0, IFACE_("Down"), ICON_NONE);
}
}
@@ -1671,8 +1700,8 @@ static void node_composit_buts_splitviewer(uiLayout *layout, bContext *UNUSED(C)
{
uiLayout *row, *col;
- col= uiLayoutColumn(layout, 0);
- row= uiLayoutRow(col, 0);
+ col = uiLayoutColumn(layout, 0);
+ row = uiLayoutRow(col, 0);
uiItemR(row, ptr, "axis", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
uiItemR(col, ptr, "factor", 0, NULL, ICON_NONE);
}
@@ -1681,11 +1710,11 @@ static void node_composit_buts_double_edge_mask(uiLayout *layout, bContext *UNUS
{
uiLayout *col;
- col= uiLayoutColumn(layout, 0);
+ col = uiLayoutColumn(layout, 0);
- uiItemL(col, "Inner Edge:", ICON_NONE);
+ uiItemL(col, IFACE_("Inner Edge:"), ICON_NONE);
uiItemR(col, ptr, "inner_mode", 0, "", ICON_NONE);
- uiItemL(col, "Buffer Edge:", ICON_NONE);
+ uiItemL(col, IFACE_("Buffer Edge:"), ICON_NONE);
uiItemR(col, ptr, "edge_mode", 0, "", ICON_NONE);
}
@@ -1742,7 +1771,7 @@ static void node_composit_buts_dilateerode(uiLayout *layout, bContext *UNUSED(C)
{
uiItemR(layout, ptr, "type", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "distance", 0, NULL, ICON_NONE);
- if (RNA_enum_get(ptr, "type") == CMP_NODE_DILATEERODE_DISTANCE) {
+ if (RNA_enum_get(ptr, "type") == CMP_NODE_DILATEERODE_DISTANCE_THRESH) {
uiItemR(layout, ptr, "edge", 0, NULL, ICON_NONE);
}
}
@@ -1762,8 +1791,8 @@ static void node_composit_buts_distance_matte(uiLayout *layout, bContext *UNUSED
col = uiLayoutColumn(layout, 1);
- uiItemL(layout, "Color Space:", ICON_NONE);
- row= uiLayoutRow(layout, 0);
+ uiItemL(layout, IFACE_("Color Space:"), ICON_NONE);
+ row = uiLayoutRow(layout, 0);
uiItemR(row, ptr, "channel", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
uiItemR(col, ptr, "tolerance", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
@@ -1774,16 +1803,16 @@ static void node_composit_buts_color_spill(uiLayout *layout, bContext *UNUSED(C)
{
uiLayout *row, *col;
- uiItemL(layout, "Despill Channel:", ICON_NONE);
+ uiItemL(layout, IFACE_("Despill Channel:"), ICON_NONE);
row = uiLayoutRow(layout, 0);
uiItemR(row, ptr, "channel", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
- col= uiLayoutColumn(layout, 0);
+ col = uiLayoutColumn(layout, 0);
uiItemR(col, ptr, "limit_method", 0, NULL, ICON_NONE);
- if (RNA_enum_get(ptr, "limit_method")==0) {
- uiItemL(col, "Limiting Channel:", ICON_NONE);
- row=uiLayoutRow(col, 0);
+ if (RNA_enum_get(ptr, "limit_method") == 0) {
+ uiItemL(col, IFACE_("Limiting Channel:"), ICON_NONE);
+ row = uiLayoutRow(col, 0);
uiItemR(row, ptr, "limit_channel", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
}
@@ -1800,11 +1829,11 @@ static void node_composit_buts_chroma_matte(uiLayout *layout, bContext *UNUSED(C
{
uiLayout *col;
- col= uiLayoutColumn(layout, 0);
+ col = uiLayoutColumn(layout, 0);
uiItemR(col, ptr, "tolerance", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "threshold", 0, NULL, ICON_NONE);
- col= uiLayoutColumn(layout, 1);
+ col = uiLayoutColumn(layout, 1);
/*uiItemR(col, ptr, "lift", UI_ITEM_R_SLIDER, NULL, ICON_NONE); Removed for now */
uiItemR(col, ptr, "gain", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
/*uiItemR(col, ptr, "shadow_adjust", UI_ITEM_R_SLIDER, NULL, ICON_NONE); Removed for now*/
@@ -1814,7 +1843,7 @@ static void node_composit_buts_color_matte(uiLayout *layout, bContext *UNUSED(C)
{
uiLayout *col;
- col= uiLayoutColumn(layout, 1);
+ col = uiLayoutColumn(layout, 1);
uiItemR(col, ptr, "color_hue", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
uiItemR(col, ptr, "color_saturation", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
uiItemR(col, ptr, "color_value", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
@@ -1824,21 +1853,21 @@ static void node_composit_buts_channel_matte(uiLayout *layout, bContext *UNUSED(
{
uiLayout *col, *row;
- uiItemL(layout, "Color Space:", ICON_NONE);
- row= uiLayoutRow(layout, 0);
+ uiItemL(layout, IFACE_("Color Space:"), ICON_NONE);
+ row = uiLayoutRow(layout, 0);
uiItemR(row, ptr, "color_space", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
- col=uiLayoutColumn(layout, 0);
- uiItemL(col, "Key Channel:", ICON_NONE);
- row= uiLayoutRow(col, 0);
+ col = uiLayoutColumn(layout, 0);
+ uiItemL(col, IFACE_("Key Channel:"), ICON_NONE);
+ row = uiLayoutRow(col, 0);
uiItemR(row, ptr, "matte_channel", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
col = uiLayoutColumn(layout, 0);
uiItemR(col, ptr, "limit_method", 0, NULL, ICON_NONE);
- if (RNA_enum_get(ptr, "limit_method")==0) {
- uiItemL(col, "Limiting Channel:", ICON_NONE);
- row=uiLayoutRow(col, 0);
+ if (RNA_enum_get(ptr, "limit_method") == 0) {
+ uiItemL(col, IFACE_("Limiting Channel:"), ICON_NONE);
+ row = uiLayoutRow(col, 0);
uiItemR(row, ptr, "limit_channel", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
}
@@ -1850,7 +1879,7 @@ static void node_composit_buts_luma_matte(uiLayout *layout, bContext *UNUSED(C),
{
uiLayout *col;
- col= uiLayoutColumn(layout, 1);
+ col = uiLayoutColumn(layout, 1);
uiItemR(col, ptr, "limit_max", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
uiItemR(col, ptr, "limit_min", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
}
@@ -1868,8 +1897,8 @@ static void node_composit_buts_id_mask(uiLayout *layout, bContext *UNUSED(C), Po
/* draw function for file output node sockets, displays only sub-path and format, no value button */
static void node_draw_input_file_output(const bContext *C, uiBlock *block,
- bNodeTree *ntree, bNode *node, bNodeSocket *sock,
- const char *UNUSED(name), int x, int y, int width)
+ bNodeTree *ntree, bNode *node, bNodeSocket *sock,
+ const char *UNUSED(name), int x, int y, int width)
{
uiLayout *layout, *row;
PointerRNA nodeptr, inputptr, imfptr;
@@ -1877,7 +1906,7 @@ static void node_draw_input_file_output(const bContext *C, uiBlock *block,
int rx, ry;
RNA_pointer_create(&ntree->id, &RNA_Node, node, &nodeptr);
- layout = uiBlockLayout(block, UI_LAYOUT_VERTICAL, UI_LAYOUT_PANEL, x, y+NODE_DY, width, 20, UI_GetStyle());
+ layout = uiBlockLayout(block, UI_LAYOUT_VERTICAL, UI_LAYOUT_PANEL, x, y + NODE_DY, width, 20, UI_GetStyle());
row = uiLayoutRow(layout, 0);
imfptr = RNA_pointer_get(&nodeptr, "format");
@@ -1900,7 +1929,7 @@ static void node_draw_input_file_output(const bContext *C, uiBlock *block,
imfptr = RNA_pointer_get(&inputptr, "format");
imtype_prop = RNA_struct_find_property(&imfptr, "file_format");
- RNA_property_enum_name((bContext*)C, &imfptr, imtype_prop, RNA_property_enum_get(&imfptr, imtype_prop), &imtype_name);
+ RNA_property_enum_name((bContext *)C, &imfptr, imtype_prop, RNA_property_enum_get(&imfptr, imtype_prop), &imtype_name);
uiBlockSetEmboss(block, UI_EMBOSSP);
uiItemL(row, imtype_name, 0);
uiBlockSetEmboss(block, UI_EMBOSSN);
@@ -1914,9 +1943,9 @@ static void node_composit_buts_file_output(uiLayout *layout, bContext *UNUSED(C)
int multilayer = (RNA_enum_get(&imfptr, "file_format") == R_IMF_IMTYPE_MULTILAYER);
if (multilayer)
- uiItemL(layout, "Path:", 0);
+ uiItemL(layout, IFACE_("Path:"), 0);
else
- uiItemL(layout, "Base Path:", 0);
+ uiItemL(layout, IFACE_("Base Path:"), 0);
uiItemR(layout, ptr, "base_path", 0, "", ICON_NONE);
}
static void node_composit_buts_file_output_details(uiLayout *layout, bContext *C, PointerRNA *ptr)
@@ -1932,7 +1961,7 @@ static void node_composit_buts_file_output_details(uiLayout *layout, bContext *C
uiItemS(layout);
- uiItemO(layout, "Add Input", ICON_ZOOMIN, "NODE_OT_output_file_add_socket");
+ uiItemO(layout, IFACE_("Add Input"), ICON_ZOOMIN, "NODE_OT_output_file_add_socket");
active_index = RNA_int_get(ptr, "active_input_index");
/* using different collection properties if multilayer format is enabled */
@@ -1958,7 +1987,7 @@ static void node_composit_buts_file_output_details(uiLayout *layout, bContext *C
uiLayout *row, *col;
col = uiLayoutColumn(layout, 1);
- uiItemL(col, "Layer:", 0);
+ uiItemL(col, IFACE_("Layer:"), 0);
row = uiLayoutRow(col, 0);
uiItemR(row, &active_input_ptr, "name", 0, "", 0);
uiItemFullO(row, "NODE_OT_output_file_remove_active_socket", "", ICON_X, NULL, WM_OP_EXEC_DEFAULT, UI_ITEM_R_ICON_ONLY);
@@ -1967,7 +1996,7 @@ static void node_composit_buts_file_output_details(uiLayout *layout, bContext *C
uiLayout *row, *col;
col = uiLayoutColumn(layout, 1);
- uiItemL(col, "File Path:", 0);
+ uiItemL(col, IFACE_("File Path:"), 0);
row = uiLayoutRow(col, 0);
uiItemR(row, &active_input_ptr, "path", 0, "", 0);
uiItemFullO(row, "NODE_OT_output_file_remove_active_socket", "", ICON_X, NULL, WM_OP_EXEC_DEFAULT, UI_ITEM_R_ICON_ONLY);
@@ -1976,10 +2005,10 @@ static void node_composit_buts_file_output_details(uiLayout *layout, bContext *C
imfptr = RNA_pointer_get(&active_input_ptr, "format");
col = uiLayoutColumn(layout, 1);
- uiItemL(col, "Format:", 0);
+ uiItemL(col, IFACE_("Format:"), 0);
uiItemR(col, &active_input_ptr, "use_node_format", 0, NULL, 0);
- col= uiLayoutColumn(layout, 0);
+ col = uiLayoutColumn(layout, 0);
uiLayoutSetActive(col, RNA_boolean_get(&active_input_ptr, "use_node_format") == FALSE);
uiTemplateImageSettings(col, &imfptr);
}
@@ -1989,6 +2018,14 @@ static void node_composit_buts_file_output_details(uiLayout *layout, bContext *C
static void node_composit_buts_scale(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr)
{
uiItemR(layout, ptr, "space", 0, "", ICON_NONE);
+
+ if (RNA_enum_get(ptr, "space") == CMP_SCALE_RENDERPERCENT) {
+ uiLayout *row;
+ uiItemR(layout, ptr, "frame_method", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
+ row = uiLayoutRow(layout, TRUE);
+ uiItemR(row, ptr, "offset_x", 0, "X", ICON_NONE);
+ uiItemR(row, ptr, "offset_y", 0, "Y", ICON_NONE);
+ }
}
static void node_composit_buts_rotate(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr)
@@ -2000,7 +2037,7 @@ static void node_composit_buts_invert(uiLayout *layout, bContext *UNUSED(C), Poi
{
uiLayout *col;
- col= uiLayoutColumn(layout, 0);
+ col = uiLayoutColumn(layout, 0);
uiItemR(col, ptr, "invert_rgb", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "invert_alpha", 0, NULL, ICON_NONE);
}
@@ -2021,7 +2058,7 @@ static void node_composit_buts_colorbalance(uiLayout *layout, bContext *UNUSED(C
uiItemR(layout, ptr, "correction_method", 0, NULL, ICON_NONE);
- if (RNA_enum_get(ptr, "correction_method")== 0) {
+ if (RNA_enum_get(ptr, "correction_method") == 0) {
split = uiLayoutSplit(layout, 0, 0);
col = uiLayoutColumn(split, 0);
@@ -2064,9 +2101,9 @@ static void node_composit_buts_colorbalance_but(uiLayout *layout, bContext *UNUS
{
uiItemR(layout, ptr, "correction_method", 0, NULL, ICON_NONE);
- if (RNA_enum_get(ptr, "correction_method")== 0) {
+ if (RNA_enum_get(ptr, "correction_method") == 0) {
- uiTemplateColorWheel(layout, ptr, "lift", 1, 1, 0, 1);
+ uiTemplateColorWheel(layout, ptr, "lift", 1, 1, 0, 1);
uiItemR(layout, ptr, "lift", 0, NULL, ICON_NONE);
uiTemplateColorWheel(layout, ptr, "gamma", 1, 1, 1, 1);
@@ -2105,7 +2142,7 @@ static void node_composit_buts_movieclip(uiLayout *layout, bContext *C, PointerR
static void node_composit_buts_stabilize2d(uiLayout *layout, bContext *C, PointerRNA *ptr)
{
- bNode *node= ptr->data;
+ bNode *node = ptr->data;
uiTemplateID(layout, C, ptr, "clip", NULL, "CLIP_OT_open", NULL);
@@ -2122,7 +2159,7 @@ static void node_composit_buts_transform(uiLayout *layout, bContext *UNUSED(C),
static void node_composit_buts_moviedistortion(uiLayout *layout, bContext *C, PointerRNA *ptr)
{
- bNode *node= ptr->data;
+ bNode *node = ptr->data;
uiTemplateID(layout, C, ptr, "clip", NULL, "CLIP_OT_open", NULL);
@@ -2143,14 +2180,14 @@ static void node_composit_buts_colorcorrection(uiLayout *layout, bContext *UNUSE
row = uiLayoutRow(layout, 0);
uiItemL(row, "", 0);
- uiItemL(row, "Saturation", 0);
- uiItemL(row, "Contrast", 0);
- uiItemL(row, "Gamma", 0);
- uiItemL(row, "Gain", 0);
- uiItemL(row, "Lift", 0);
+ uiItemL(row, IFACE_("Saturation"), 0);
+ uiItemL(row, IFACE_("Contrast"), 0);
+ uiItemL(row, IFACE_("Gamma"), 0);
+ uiItemL(row, IFACE_("Gain"), 0);
+ uiItemL(row, IFACE_("Lift"), 0);
row = uiLayoutRow(layout, 0);
- uiItemL(row, "Master", 0);
+ uiItemL(row, IFACE_("Master"), 0);
uiItemR(row, ptr, "master_saturation", UI_ITEM_R_SLIDER, "", ICON_NONE);
uiItemR(row, ptr, "master_contrast", UI_ITEM_R_SLIDER, "", ICON_NONE);
uiItemR(row, ptr, "master_gamma", UI_ITEM_R_SLIDER, "", ICON_NONE);
@@ -2158,7 +2195,7 @@ static void node_composit_buts_colorcorrection(uiLayout *layout, bContext *UNUSE
uiItemR(row, ptr, "master_lift", UI_ITEM_R_SLIDER, "", ICON_NONE);
row = uiLayoutRow(layout, 0);
- uiItemL(row, "Highlights", 0);
+ uiItemL(row, IFACE_("Highlights"), 0);
uiItemR(row, ptr, "highlights_saturation", UI_ITEM_R_SLIDER, "", ICON_NONE);
uiItemR(row, ptr, "highlights_contrast", UI_ITEM_R_SLIDER, "", ICON_NONE);
uiItemR(row, ptr, "highlights_gamma", UI_ITEM_R_SLIDER, "", ICON_NONE);
@@ -2166,7 +2203,7 @@ static void node_composit_buts_colorcorrection(uiLayout *layout, bContext *UNUSE
uiItemR(row, ptr, "highlights_lift", UI_ITEM_R_SLIDER, "", ICON_NONE);
row = uiLayoutRow(layout, 0);
- uiItemL(row, "Midtones", 0);
+ uiItemL(row, IFACE_("Midtones"), 0);
uiItemR(row, ptr, "midtones_saturation", UI_ITEM_R_SLIDER, "", ICON_NONE);
uiItemR(row, ptr, "midtones_contrast", UI_ITEM_R_SLIDER, "", ICON_NONE);
uiItemR(row, ptr, "midtones_gamma", UI_ITEM_R_SLIDER, "", ICON_NONE);
@@ -2174,7 +2211,7 @@ static void node_composit_buts_colorcorrection(uiLayout *layout, bContext *UNUSE
uiItemR(row, ptr, "midtones_lift", UI_ITEM_R_SLIDER, "", ICON_NONE);
row = uiLayoutRow(layout, 0);
- uiItemL(row, "Shadows", 0);
+ uiItemL(row, IFACE_("Shadows"), 0);
uiItemR(row, ptr, "shadows_saturation", UI_ITEM_R_SLIDER, "", ICON_NONE);
uiItemR(row, ptr, "shadows_contrast", UI_ITEM_R_SLIDER, "", ICON_NONE);
uiItemR(row, ptr, "shadows_gamma", UI_ITEM_R_SLIDER, "", ICON_NONE);
@@ -2186,7 +2223,8 @@ static void node_composit_buts_colorcorrection(uiLayout *layout, bContext *UNUSE
uiItemR(row, ptr, "midtones_end", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
}
-static void node_composit_buts_colorcorrection_but(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr) {
+static void node_composit_buts_colorcorrection_but(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr)
+{
uiLayout *row;
row = uiLayoutRow(layout, 0);
@@ -2194,31 +2232,31 @@ static void node_composit_buts_colorcorrection_but(uiLayout *layout, bContext *U
uiItemR(row, ptr, "green", 0, NULL, ICON_NONE);
uiItemR(row, ptr, "blue", 0, NULL, ICON_NONE);
row = layout;
- uiItemL(row, "Saturation", 0);
+ uiItemL(row, IFACE_("Saturation"), 0);
uiItemR(row, ptr, "master_saturation", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
uiItemR(row, ptr, "highlights_saturation", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
uiItemR(row, ptr, "midtones_saturation", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
uiItemR(row, ptr, "shadows_saturation", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
- uiItemL(row, "Contrast", 0);
+ uiItemL(row, IFACE_("Contrast"), 0);
uiItemR(row, ptr, "master_contrast", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
uiItemR(row, ptr, "highlights_contrast", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
uiItemR(row, ptr, "midtones_contrast", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
uiItemR(row, ptr, "shadows_contrast", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
- uiItemL(row, "Gamma", 0);
+ uiItemL(row, IFACE_("Gamma"), 0);
uiItemR(row, ptr, "master_gamma", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
uiItemR(row, ptr, "highlights_gamma", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
uiItemR(row, ptr, "midtones_gamma", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
uiItemR(row, ptr, "shadows_gamma", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
- uiItemL(row, "Gain", 0);
+ uiItemL(row, IFACE_("Gain"), 0);
uiItemR(row, ptr, "master_gain", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
uiItemR(row, ptr, "highlights_gain", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
uiItemR(row, ptr, "midtones_gain", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
uiItemR(row, ptr, "shadows_gain", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
- uiItemL(row, "Lift", 0);
+ uiItemL(row, IFACE_("Lift"), 0);
uiItemR(row, ptr, "master_lift", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
uiItemR(row, ptr, "highlights_lift", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
uiItemR(row, ptr, "midtones_lift", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
@@ -2238,11 +2276,11 @@ static void node_composit_buts_boxmask(uiLayout *layout, bContext *UNUSED(C), Po
{
uiLayout *row;
- row= uiLayoutRow(layout, 1);
+ row = uiLayoutRow(layout, 1);
uiItemR(row, ptr, "x", 0, NULL, ICON_NONE);
uiItemR(row, ptr, "y", 0, NULL, ICON_NONE);
- row= uiLayoutRow(layout, 1);
+ row = uiLayoutRow(layout, 1);
uiItemR(row, ptr, "width", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
uiItemR(row, ptr, "height", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
@@ -2259,32 +2297,32 @@ static void node_composit_buts_bokehimage(uiLayout *layout, bContext *UNUSED(C),
uiItemR(layout, ptr, "shift", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
}
-void node_composit_backdrop_viewer(SpaceNode* snode, ImBuf* backdrop, bNode* node, int x, int y)
+void node_composit_backdrop_viewer(SpaceNode *snode, ImBuf *backdrop, bNode *node, int x, int y)
{
// node_composit_backdrop_canvas(snode, backdrop, node, x, y);
- if (node->custom1 == 0) { /// @todo: why did we need this one?
+ if (node->custom1 == 0) {
const float backdropWidth = backdrop->x;
const float backdropHeight = backdrop->y;
- const float cx = x+snode->zoom*backdropWidth*node->custom3;
- const float cy = y+snode->zoom*backdropHeight*node->custom4;
+ const float cx = x + snode->zoom * backdropWidth * node->custom3;
+ const float cy = y + snode->zoom * backdropHeight * node->custom4;
glColor3f(1.0, 1.0, 1.0);
glBegin(GL_LINES);
- glVertex2f(cx-25, cy-25);
- glVertex2f(cx+25, cy+25);
- glVertex2f(cx+25, cy-25);
- glVertex2f(cx-25, cy+25);
+ glVertex2f(cx - 25, cy - 25);
+ glVertex2f(cx + 25, cy + 25);
+ glVertex2f(cx + 25, cy - 25);
+ glVertex2f(cx - 25, cy + 25);
glEnd();
}
}
-void node_composit_backdrop_boxmask(SpaceNode* snode, ImBuf* backdrop, bNode* node, int x, int y)
+void node_composit_backdrop_boxmask(SpaceNode *snode, ImBuf *backdrop, bNode *node, int x, int y)
{
NodeBoxMask *boxmask = node->storage;
const float backdropWidth = backdrop->x;
const float backdropHeight = backdrop->y;
- const float aspect = backdropWidth/backdropHeight;
+ const float aspect = backdropWidth / backdropHeight;
const float rad = DEG2RADF(-boxmask->rotation);
const float cosine = cosf(rad);
const float sine = sinf(rad);
@@ -2300,17 +2338,17 @@ void node_composit_backdrop_boxmask(SpaceNode* snode, ImBuf* backdrop, bNode* no
glColor3f(1.0, 1.0, 1.0);
- cx = x+snode->zoom*backdropWidth*boxmask->x;
- cy = y+snode->zoom*backdropHeight*boxmask->y;
+ cx = x + snode->zoom * backdropWidth * boxmask->x;
+ cy = y + snode->zoom * backdropHeight * boxmask->y;
- x1 = cx - (cosine*halveBoxWidth+sine*halveBoxHeight)*snode->zoom;
- x2 = cx - (cosine*-halveBoxWidth+sine*halveBoxHeight)*snode->zoom;
- x3 = cx - (cosine*-halveBoxWidth+sine*-halveBoxHeight)*snode->zoom;
- x4 = cx - (cosine*halveBoxWidth+sine*-halveBoxHeight)*snode->zoom;
- y1 = cy - (-sine*halveBoxWidth + cosine*halveBoxHeight)*snode->zoom;
- y2 = cy - (-sine*-halveBoxWidth + cosine*halveBoxHeight)*snode->zoom;
- y3 = cy - (-sine*-halveBoxWidth + cosine*-halveBoxHeight)*snode->zoom;
- y4 = cy - (-sine*halveBoxWidth + cosine*-halveBoxHeight)*snode->zoom;
+ x1 = cx - (cosine * halveBoxWidth + sine * halveBoxHeight) * snode->zoom;
+ x2 = cx - (cosine * -halveBoxWidth + sine * halveBoxHeight) * snode->zoom;
+ x3 = cx - (cosine * -halveBoxWidth + sine * -halveBoxHeight) * snode->zoom;
+ x4 = cx - (cosine * halveBoxWidth + sine * -halveBoxHeight) * snode->zoom;
+ y1 = cy - (-sine * halveBoxWidth + cosine * halveBoxHeight) * snode->zoom;
+ y2 = cy - (-sine * -halveBoxWidth + cosine * halveBoxHeight) * snode->zoom;
+ y3 = cy - (-sine * -halveBoxWidth + cosine * -halveBoxHeight) * snode->zoom;
+ y4 = cy - (-sine * halveBoxWidth + cosine * -halveBoxHeight) * snode->zoom;
glBegin(GL_LINE_LOOP);
glVertex2f(x1, y1);
@@ -2320,9 +2358,9 @@ void node_composit_backdrop_boxmask(SpaceNode* snode, ImBuf* backdrop, bNode* no
glEnd();
}
-void node_composit_backdrop_ellipsemask(SpaceNode* snode, ImBuf* backdrop, bNode* node, int x, int y)
+void node_composit_backdrop_ellipsemask(SpaceNode *snode, ImBuf *backdrop, bNode *node, int x, int y)
{
- NodeEllipseMask * ellipsemask = node->storage;
+ NodeEllipseMask *ellipsemask = node->storage;
const float backdropWidth = backdrop->x;
const float backdropHeight = backdrop->y;
const float aspect = backdropWidth / backdropHeight;
@@ -2341,17 +2379,17 @@ void node_composit_backdrop_ellipsemask(SpaceNode* snode, ImBuf* backdrop, bNode
glColor3f(1.0, 1.0, 1.0);
- cx = x+snode->zoom*backdropWidth*ellipsemask->x;
- cy = y+snode->zoom*backdropHeight*ellipsemask->y;
+ cx = x + snode->zoom * backdropWidth * ellipsemask->x;
+ cy = y + snode->zoom * backdropHeight * ellipsemask->y;
- x1 = cx - (cosine*halveBoxWidth+sine*halveBoxHeight)*snode->zoom;
- x2 = cx - (cosine*-halveBoxWidth+sine*halveBoxHeight)*snode->zoom;
- x3 = cx - (cosine*-halveBoxWidth+sine*-halveBoxHeight)*snode->zoom;
- x4 = cx - (cosine*halveBoxWidth+sine*-halveBoxHeight)*snode->zoom;
- y1 = cy - (-sine*halveBoxWidth + cosine*halveBoxHeight)*snode->zoom;
- y2 = cy - (-sine*-halveBoxWidth + cosine*halveBoxHeight)*snode->zoom;
- y3 = cy - (-sine*-halveBoxWidth + cosine*-halveBoxHeight)*snode->zoom;
- y4 = cy - (-sine*halveBoxWidth + cosine*-halveBoxHeight)*snode->zoom;
+ x1 = cx - (cosine * halveBoxWidth + sine * halveBoxHeight) * snode->zoom;
+ x2 = cx - (cosine * -halveBoxWidth + sine * halveBoxHeight) * snode->zoom;
+ x3 = cx - (cosine * -halveBoxWidth + sine * -halveBoxHeight) * snode->zoom;
+ x4 = cx - (cosine * halveBoxWidth + sine * -halveBoxHeight) * snode->zoom;
+ y1 = cy - (-sine * halveBoxWidth + cosine * halveBoxHeight) * snode->zoom;
+ y2 = cy - (-sine * -halveBoxWidth + cosine * halveBoxHeight) * snode->zoom;
+ y3 = cy - (-sine * -halveBoxWidth + cosine * -halveBoxHeight) * snode->zoom;
+ y4 = cy - (-sine * halveBoxWidth + cosine * -halveBoxHeight) * snode->zoom;
glBegin(GL_LINE_LOOP);
@@ -2365,10 +2403,10 @@ void node_composit_backdrop_ellipsemask(SpaceNode* snode, ImBuf* backdrop, bNode
static void node_composit_buts_ellipsemask(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr)
{
uiLayout *row;
- row= uiLayoutRow(layout, 1);
+ row = uiLayoutRow(layout, 1);
uiItemR(row, ptr, "x", 0, NULL, ICON_NONE);
uiItemR(row, ptr, "y", 0, NULL, ICON_NONE);
- row= uiLayoutRow(layout, 1);
+ row = uiLayoutRow(layout, 1);
uiItemR(row, ptr, "width", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
uiItemR(row, ptr, "height", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
@@ -2381,13 +2419,53 @@ static void node_composit_buts_viewer_but(uiLayout *layout, bContext *UNUSED(C),
uiLayout *col;
uiItemR(layout, ptr, "tile_order", 0, NULL, ICON_NONE);
- if (RNA_enum_get(ptr, "tile_order")==0) {
- col= uiLayoutColumn(layout, 1);
+ if (RNA_enum_get(ptr, "tile_order") == 0) {
+ col = uiLayoutColumn(layout, 1);
uiItemR(col, ptr, "center_x", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "center_y", 0, NULL, ICON_NONE);
}
}
+static void node_composit_buts_mask(uiLayout *layout, bContext *C, PointerRNA *ptr)
+{
+ uiTemplateID(layout, C, ptr, "mask", NULL, NULL, NULL);
+ uiItemR(layout, ptr, "smooth_mask", 0, NULL, ICON_NONE);
+
+}
+
+static void node_composit_buts_keyingscreen(uiLayout *layout, bContext *C, PointerRNA *ptr)
+{
+ bNode *node= ptr->data;
+
+ uiTemplateID(layout, C, ptr, "clip", NULL, NULL, NULL);
+
+ if (node->id) {
+ MovieClip *clip = (MovieClip *) node->id;
+ uiLayout *col;
+ PointerRNA tracking_ptr;
+
+ RNA_pointer_create(&clip->id, &RNA_MovieTracking, &clip->tracking, &tracking_ptr);
+
+ col = uiLayoutColumn(layout, 1);
+ uiItemPointerR(col, ptr, "tracking_object", &tracking_ptr, "objects", "", ICON_OBJECT_DATA);
+ }
+}
+
+static void node_composit_buts_keying(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr)
+{
+ /* bNode *node= ptr->data; */ /* UNUSED */
+
+ uiItemR(layout, ptr, "blur_pre", 0, NULL, ICON_NONE);
+ uiItemR(layout, ptr, "screen_balance", 0, NULL, ICON_NONE);
+ uiItemR(layout, ptr, "despill_factor", 0, NULL, ICON_NONE);
+ uiItemR(layout, ptr, "edge_kernel_radius", 0, NULL, ICON_NONE);
+ uiItemR(layout, ptr, "edge_kernel_tolerance", 0, NULL, ICON_NONE);
+ uiItemR(layout, ptr, "clip_black", 0, NULL, ICON_NONE);
+ uiItemR(layout, ptr, "clip_white", 0, NULL, ICON_NONE);
+ uiItemR(layout, ptr, "dilate_distance", 0, NULL, ICON_NONE);
+ uiItemR(layout, ptr, "blur_post", 0, NULL, ICON_NONE);
+}
+
/* only once called */
static void node_composit_set_butfunc(bNodeType *ntype)
{
@@ -2395,49 +2473,49 @@ static void node_composit_set_butfunc(bNodeType *ntype)
/* case NODE_GROUP: note, typeinfo for group is generated... see "XXX ugly hack" */
case CMP_NODE_IMAGE:
- ntype->uifunc= node_composit_buts_image;
+ ntype->uifunc = node_composit_buts_image;
break;
case CMP_NODE_R_LAYERS:
- ntype->uifunc= node_composit_buts_renderlayers;
+ ntype->uifunc = node_composit_buts_renderlayers;
break;
case CMP_NODE_NORMAL:
- ntype->uifunc= node_buts_normal;
+ ntype->uifunc = node_buts_normal;
break;
case CMP_NODE_CURVE_VEC:
- ntype->uifunc= node_buts_curvevec;
+ ntype->uifunc = node_buts_curvevec;
break;
case CMP_NODE_CURVE_RGB:
- ntype->uifunc= node_buts_curvecol;
+ ntype->uifunc = node_buts_curvecol;
break;
case CMP_NODE_VALUE:
- ntype->uifunc= node_buts_value;
+ ntype->uifunc = node_buts_value;
break;
case CMP_NODE_RGB:
- ntype->uifunc= node_buts_rgb;
+ ntype->uifunc = node_buts_rgb;
break;
case CMP_NODE_FLIP:
- ntype->uifunc= node_composit_buts_flip;
+ ntype->uifunc = node_composit_buts_flip;
break;
case CMP_NODE_SPLITVIEWER:
- ntype->uifunc= node_composit_buts_splitviewer;
+ ntype->uifunc = node_composit_buts_splitviewer;
break;
case CMP_NODE_MIX_RGB:
- ntype->uifunc= node_buts_mix_rgb;
+ ntype->uifunc = node_buts_mix_rgb;
break;
case CMP_NODE_VALTORGB:
- ntype->uifunc= node_buts_colorramp;
+ ntype->uifunc = node_buts_colorramp;
break;
case CMP_NODE_CROP:
- ntype->uifunc= node_composit_buts_crop;
+ ntype->uifunc = node_composit_buts_crop;
break;
case CMP_NODE_BLUR:
- ntype->uifunc= node_composit_buts_blur;
+ ntype->uifunc = node_composit_buts_blur;
break;
case CMP_NODE_DBLUR:
- ntype->uifunc= node_composit_buts_dblur;
+ ntype->uifunc = node_composit_buts_dblur;
break;
case CMP_NODE_BILATERALBLUR:
- ntype->uifunc= node_composit_buts_bilateralblur;
+ ntype->uifunc = node_composit_buts_bilateralblur;
break;
case CMP_NODE_DEFOCUS:
ntype->uifunc = node_composit_buts_defocus;
@@ -2452,134 +2530,142 @@ static void node_composit_set_butfunc(bNodeType *ntype)
ntype->uifunc = node_composit_buts_lensdist;
break;
case CMP_NODE_VECBLUR:
- ntype->uifunc= node_composit_buts_vecblur;
+ ntype->uifunc = node_composit_buts_vecblur;
break;
case CMP_NODE_FILTER:
- ntype->uifunc= node_composit_buts_filter;
+ ntype->uifunc = node_composit_buts_filter;
break;
case CMP_NODE_MAP_VALUE:
- ntype->uifunc= node_composit_buts_map_value;
+ ntype->uifunc = node_composit_buts_map_value;
break;
case CMP_NODE_TIME:
- ntype->uifunc= node_buts_time;
+ ntype->uifunc = node_buts_time;
break;
case CMP_NODE_ALPHAOVER:
- ntype->uifunc= node_composit_buts_alphaover;
+ ntype->uifunc = node_composit_buts_alphaover;
break;
case CMP_NODE_HUE_SAT:
- ntype->uifunc= node_composit_buts_hue_sat;
+ ntype->uifunc = node_composit_buts_hue_sat;
break;
case CMP_NODE_TEXTURE:
- ntype->uifunc= node_buts_texture;
+ ntype->uifunc = node_buts_texture;
break;
case CMP_NODE_DILATEERODE:
- ntype->uifunc= node_composit_buts_dilateerode;
+ ntype->uifunc = node_composit_buts_dilateerode;
break;
case CMP_NODE_OUTPUT_FILE:
- ntype->uifunc= node_composit_buts_file_output;
- ntype->uifuncbut= node_composit_buts_file_output_details;
+ ntype->uifunc = node_composit_buts_file_output;
+ ntype->uifuncbut = node_composit_buts_file_output_details;
ntype->drawinputfunc = node_draw_input_file_output;
break;
case CMP_NODE_DIFF_MATTE:
- ntype->uifunc=node_composit_buts_diff_matte;
+ ntype->uifunc = node_composit_buts_diff_matte;
break;
case CMP_NODE_DIST_MATTE:
- ntype->uifunc=node_composit_buts_distance_matte;
+ ntype->uifunc = node_composit_buts_distance_matte;
break;
case CMP_NODE_COLOR_SPILL:
- ntype->uifunc=node_composit_buts_color_spill;
+ ntype->uifunc = node_composit_buts_color_spill;
break;
case CMP_NODE_CHROMA_MATTE:
- ntype->uifunc=node_composit_buts_chroma_matte;
+ ntype->uifunc = node_composit_buts_chroma_matte;
break;
case CMP_NODE_COLOR_MATTE:
- ntype->uifunc=node_composit_buts_color_matte;
+ ntype->uifunc = node_composit_buts_color_matte;
break;
case CMP_NODE_SCALE:
- ntype->uifunc= node_composit_buts_scale;
+ ntype->uifunc = node_composit_buts_scale;
break;
case CMP_NODE_ROTATE:
- ntype->uifunc=node_composit_buts_rotate;
+ ntype->uifunc = node_composit_buts_rotate;
break;
case CMP_NODE_CHANNEL_MATTE:
- ntype->uifunc= node_composit_buts_channel_matte;
+ ntype->uifunc = node_composit_buts_channel_matte;
break;
case CMP_NODE_LUMA_MATTE:
- ntype->uifunc= node_composit_buts_luma_matte;
+ ntype->uifunc = node_composit_buts_luma_matte;
break;
case CMP_NODE_MAP_UV:
- ntype->uifunc= node_composit_buts_map_uv;
+ ntype->uifunc = node_composit_buts_map_uv;
break;
case CMP_NODE_ID_MASK:
- ntype->uifunc= node_composit_buts_id_mask;
+ ntype->uifunc = node_composit_buts_id_mask;
break;
case CMP_NODE_DOUBLEEDGEMASK:
- ntype->uifunc= node_composit_buts_double_edge_mask;
+ ntype->uifunc = node_composit_buts_double_edge_mask;
break;
case CMP_NODE_MATH:
- ntype->uifunc= node_buts_math;
+ ntype->uifunc = node_buts_math;
break;
case CMP_NODE_INVERT:
- ntype->uifunc= node_composit_buts_invert;
+ ntype->uifunc = node_composit_buts_invert;
break;
case CMP_NODE_PREMULKEY:
- ntype->uifunc= node_composit_buts_premulkey;
+ ntype->uifunc = node_composit_buts_premulkey;
break;
case CMP_NODE_VIEW_LEVELS:
- ntype->uifunc=node_composit_buts_view_levels;
+ ntype->uifunc = node_composit_buts_view_levels;
break;
case CMP_NODE_COLORBALANCE:
- ntype->uifunc=node_composit_buts_colorbalance;
- ntype->uifuncbut=node_composit_buts_colorbalance_but;
+ ntype->uifunc = node_composit_buts_colorbalance;
+ ntype->uifuncbut = node_composit_buts_colorbalance_but;
break;
case CMP_NODE_HUECORRECT:
- ntype->uifunc=node_composit_buts_huecorrect;
+ ntype->uifunc = node_composit_buts_huecorrect;
break;
case CMP_NODE_ZCOMBINE:
- ntype->uifunc=node_composit_buts_zcombine;
+ ntype->uifunc = node_composit_buts_zcombine;
break;
case CMP_NODE_COMBYCCA:
case CMP_NODE_SEPYCCA:
- ntype->uifunc=node_composit_buts_ycc;
+ ntype->uifunc = node_composit_buts_ycc;
break;
case CMP_NODE_MOVIECLIP:
- ntype->uifunc= node_composit_buts_movieclip;
+ ntype->uifunc = node_composit_buts_movieclip;
break;
case CMP_NODE_STABILIZE2D:
- ntype->uifunc= node_composit_buts_stabilize2d;
+ ntype->uifunc = node_composit_buts_stabilize2d;
break;
case CMP_NODE_TRANSFORM:
- ntype->uifunc= node_composit_buts_transform;
+ ntype->uifunc = node_composit_buts_transform;
break;
case CMP_NODE_MOVIEDISTORTION:
- ntype->uifunc= node_composit_buts_moviedistortion;
+ ntype->uifunc = node_composit_buts_moviedistortion;
break;
case CMP_NODE_COLORCORRECTION:
- ntype->uifunc=node_composit_buts_colorcorrection;
- ntype->uifuncbut=node_composit_buts_colorcorrection_but;
+ ntype->uifunc = node_composit_buts_colorcorrection;
+ ntype->uifuncbut = node_composit_buts_colorcorrection_but;
break;
case CMP_NODE_SWITCH:
- ntype->uifunc= node_composit_buts_switch;
+ ntype->uifunc = node_composit_buts_switch;
break;
case CMP_NODE_MASK_BOX:
- ntype->uifunc= node_composit_buts_boxmask;
+ ntype->uifunc = node_composit_buts_boxmask;
ntype->uibackdropfunc = node_composit_backdrop_boxmask;
break;
case CMP_NODE_MASK_ELLIPSE:
- ntype->uifunc= node_composit_buts_ellipsemask;
+ ntype->uifunc = node_composit_buts_ellipsemask;
ntype->uibackdropfunc = node_composit_backdrop_ellipsemask;
break;
case CMP_NODE_BOKEHIMAGE:
- ntype->uifunc= node_composit_buts_bokehimage;
+ ntype->uifunc = node_composit_buts_bokehimage;
break;
case CMP_NODE_VIEWER:
ntype->uifunc = NULL;
- ntype->uifuncbut= node_composit_buts_viewer_but;
+ ntype->uifuncbut = node_composit_buts_viewer_but;
ntype->uibackdropfunc = node_composit_backdrop_viewer;
break;
-
+ case CMP_NODE_MASK:
+ ntype->uifunc= node_composit_buts_mask;
+ break;
+ case CMP_NODE_KEYINGSCREEN:
+ ntype->uifunc = node_composit_buts_keyingscreen;
+ break;
+ case CMP_NODE_KEYING:
+ ntype->uifunc = node_composit_buts_keying;
+ break;
default:
- ntype->uifunc= NULL;
+ ntype->uifunc = NULL;
}
}
@@ -2589,42 +2675,42 @@ static void node_texture_buts_bricks(uiLayout *layout, bContext *UNUSED(C), Poin
{
uiLayout *col;
- col= uiLayoutColumn(layout, 1);
- uiItemR(col, ptr, "offset", 0, "Offset", ICON_NONE);
- uiItemR(col, ptr, "offset_frequency", 0, "Frequency", ICON_NONE);
+ col = uiLayoutColumn(layout, 1);
+ uiItemR(col, ptr, "offset", 0, IFACE_("Offset"), ICON_NONE);
+ uiItemR(col, ptr, "offset_frequency", 0, IFACE_("Frequency"), ICON_NONE);
- col= uiLayoutColumn(layout, 1);
- uiItemR(col, ptr, "squash", 0, "Squash", ICON_NONE);
- uiItemR(col, ptr, "squash_frequency", 0, "Frequency", ICON_NONE);
+ col = uiLayoutColumn(layout, 1);
+ uiItemR(col, ptr, "squash", 0, IFACE_("Squash"), ICON_NONE);
+ uiItemR(col, ptr, "squash_frequency", 0, IFACE_("Frequency"), ICON_NONE);
}
static void node_texture_buts_proc(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr)
{
PointerRNA tex_ptr;
- bNode *node= ptr->data;
- ID *id= ptr->id.data;
+ bNode *node = ptr->data;
+ ID *id = ptr->id.data;
Tex *tex = (Tex *)node->storage;
uiLayout *col, *row;
RNA_pointer_create(id, &RNA_Texture, tex, &tex_ptr);
- col= uiLayoutColumn(layout, 0);
+ col = uiLayoutColumn(layout, 0);
- switch ( tex->type ) {
+ switch (tex->type) {
case TEX_BLEND:
uiItemR(col, &tex_ptr, "progression", 0, "", ICON_NONE);
- row= uiLayoutRow(col, 0);
+ row = uiLayoutRow(col, 0);
uiItemR(row, &tex_ptr, "use_flip_axis", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
break;
case TEX_MARBLE:
- row= uiLayoutRow(col, 0);
+ row = uiLayoutRow(col, 0);
uiItemR(row, &tex_ptr, "marble_type", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
- row= uiLayoutRow(col, 0);
+ row = uiLayoutRow(col, 0);
uiItemR(row, &tex_ptr, "noise_type", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
- row= uiLayoutRow(col, 0);
+ row = uiLayoutRow(col, 0);
uiItemR(row, &tex_ptr, "noise_basis", 0, "", ICON_NONE);
- row= uiLayoutRow(col, 0);
+ row = uiLayoutRow(col, 0);
uiItemR(row, &tex_ptr, "noise_basis_2", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
break;
@@ -2633,9 +2719,9 @@ static void node_texture_buts_proc(uiLayout *layout, bContext *UNUSED(C), Pointe
break;
case TEX_STUCCI:
- row= uiLayoutRow(col, 0);
+ row = uiLayoutRow(col, 0);
uiItemR(row, &tex_ptr, "stucci_type", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
- row= uiLayoutRow(col, 0);
+ row = uiLayoutRow(col, 0);
uiItemR(row, &tex_ptr, "noise_type", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
uiItemR(col, &tex_ptr, "noise_basis", 0, "", ICON_NONE);
break;
@@ -2643,20 +2729,20 @@ static void node_texture_buts_proc(uiLayout *layout, bContext *UNUSED(C), Pointe
case TEX_WOOD:
uiItemR(col, &tex_ptr, "noise_basis", 0, "", ICON_NONE);
uiItemR(col, &tex_ptr, "wood_type", 0, "", ICON_NONE);
- row= uiLayoutRow(col, 0);
+ row = uiLayoutRow(col, 0);
uiItemR(row, &tex_ptr, "noise_basis_2", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
- row= uiLayoutRow(col, 0);
- uiLayoutSetActive(row, !(RNA_enum_get(&tex_ptr, "wood_type")==TEX_BAND || RNA_enum_get(&tex_ptr, "wood_type")==TEX_RING));
+ row = uiLayoutRow(col, 0);
+ uiLayoutSetActive(row, !(RNA_enum_get(&tex_ptr, "wood_type") == TEX_BAND || RNA_enum_get(&tex_ptr, "wood_type") == TEX_RING));
uiItemR(row, &tex_ptr, "noise_type", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
break;
case TEX_CLOUDS:
uiItemR(col, &tex_ptr, "noise_basis", 0, "", ICON_NONE);
- row= uiLayoutRow(col, 0);
+ row = uiLayoutRow(col, 0);
uiItemR(row, &tex_ptr, "cloud_type", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
- row= uiLayoutRow(col, 0);
+ row = uiLayoutRow(col, 0);
uiItemR(row, &tex_ptr, "noise_type", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
- uiItemR(col, &tex_ptr, "noise_depth", UI_ITEM_R_EXPAND, "Depth", ICON_NONE);
+ uiItemR(col, &tex_ptr, "noise_depth", UI_ITEM_R_EXPAND, IFACE_("Depth"), ICON_NONE);
break;
case TEX_DISTNOISE:
@@ -2691,47 +2777,47 @@ static void node_texture_buts_output(uiLayout *layout, bContext *UNUSED(C), Poin
/* only once called */
static void node_texture_set_butfunc(bNodeType *ntype)
{
- if ( ntype->type >= TEX_NODE_PROC && ntype->type < TEX_NODE_PROC_MAX ) {
+ if (ntype->type >= TEX_NODE_PROC && ntype->type < TEX_NODE_PROC_MAX) {
ntype->uifunc = node_texture_buts_proc;
}
else {
switch (ntype->type) {
- case TEX_NODE_MATH:
- ntype->uifunc = node_buts_math;
- break;
+ case TEX_NODE_MATH:
+ ntype->uifunc = node_buts_math;
+ break;
- case TEX_NODE_MIX_RGB:
- ntype->uifunc = node_buts_mix_rgb;
- break;
+ case TEX_NODE_MIX_RGB:
+ ntype->uifunc = node_buts_mix_rgb;
+ break;
- case TEX_NODE_VALTORGB:
- ntype->uifunc = node_buts_colorramp;
- break;
+ case TEX_NODE_VALTORGB:
+ ntype->uifunc = node_buts_colorramp;
+ break;
- case TEX_NODE_CURVE_RGB:
- ntype->uifunc= node_buts_curvecol;
- break;
+ case TEX_NODE_CURVE_RGB:
+ ntype->uifunc = node_buts_curvecol;
+ break;
- case TEX_NODE_CURVE_TIME:
- ntype->uifunc = node_buts_time;
- break;
+ case TEX_NODE_CURVE_TIME:
+ ntype->uifunc = node_buts_time;
+ break;
- case TEX_NODE_TEXTURE:
- ntype->uifunc = node_buts_texture;
- break;
+ case TEX_NODE_TEXTURE:
+ ntype->uifunc = node_buts_texture;
+ break;
- case TEX_NODE_BRICKS:
- ntype->uifunc = node_texture_buts_bricks;
- break;
+ case TEX_NODE_BRICKS:
+ ntype->uifunc = node_texture_buts_bricks;
+ break;
- case TEX_NODE_IMAGE:
- ntype->uifunc = node_texture_buts_image;
- break;
+ case TEX_NODE_IMAGE:
+ ntype->uifunc = node_texture_buts_image;
+ break;
- case TEX_NODE_OUTPUT:
- ntype->uifunc = node_texture_buts_output;
- break;
+ case TEX_NODE_OUTPUT:
+ ntype->uifunc = node_texture_buts_output;
+ break;
}
}
}
@@ -2746,13 +2832,15 @@ void ED_init_node_butfuncs(void)
int i;
/* node type ui functions */
- for (i=0; i < NUM_NTREE_TYPES; ++i) {
+ for (i = 0; i < NUM_NTREE_TYPES; ++i) {
treetype = ntreeGetType(i);
if (treetype) {
- for (ntype= treetype->node_types.first; ntype; ntype= ntype->next) {
+ for (ntype = treetype->node_types.first; ntype; ntype = ntype->next) {
/* default ui functions */
ntype->drawfunc = node_draw_default;
ntype->drawupdatefunc = node_update_default;
+ ntype->select_area_func = node_select_area_default;
+ ntype->tweak_area_func = node_tweak_area_default;
ntype->uifunc = NULL;
ntype->uifuncbut = NULL;
ntype->drawinputfunc = node_draw_input_default;
@@ -2762,41 +2850,41 @@ void ED_init_node_butfuncs(void)
node_common_set_butfunc(ntype);
switch (i) {
- case NTREE_COMPOSIT:
- node_composit_set_butfunc(ntype);
- break;
- case NTREE_SHADER:
- node_shader_set_butfunc(ntype);
- break;
- case NTREE_TEXTURE:
- node_texture_set_butfunc(ntype);
- break;
+ case NTREE_COMPOSIT:
+ node_composit_set_butfunc(ntype);
+ break;
+ case NTREE_SHADER:
+ node_shader_set_butfunc(ntype);
+ break;
+ case NTREE_TEXTURE:
+ node_texture_set_butfunc(ntype);
+ break;
}
}
}
}
/* socket type ui functions */
- for (i=0; i < NUM_SOCKET_TYPES; ++i) {
+ for (i = 0; i < NUM_SOCKET_TYPES; ++i) {
stype = ntreeGetSocketType(i);
if (stype) {
switch (stype->type) {
- case SOCK_FLOAT:
- case SOCK_INT:
- case SOCK_BOOLEAN:
- stype->buttonfunc = node_socket_button_default;
- break;
- case SOCK_VECTOR:
- stype->buttonfunc = node_socket_button_components;
- break;
- case SOCK_RGBA:
- stype->buttonfunc = node_socket_button_color;
- break;
- case SOCK_SHADER:
- stype->buttonfunc = node_socket_button_label;
- break;
- default:
- stype->buttonfunc = NULL;
+ case SOCK_FLOAT:
+ case SOCK_INT:
+ case SOCK_BOOLEAN:
+ stype->buttonfunc = node_socket_button_default;
+ break;
+ case SOCK_VECTOR:
+ stype->buttonfunc = node_socket_button_components;
+ break;
+ case SOCK_RGBA:
+ stype->buttonfunc = node_socket_button_color;
+ break;
+ case SOCK_SHADER:
+ stype->buttonfunc = node_socket_button_label;
+ break;
+ default:
+ stype->buttonfunc = NULL;
}
}
}
@@ -2807,10 +2895,10 @@ void ED_init_node_butfuncs(void)
void draw_nodespace_back_pix(ARegion *ar, SpaceNode *snode, int color_manage)
{
- if ((snode->flag & SNODE_BACKDRAW) && snode->treetype==NTREE_COMPOSIT) {
- Image *ima= BKE_image_verify_viewer(IMA_TYPE_COMPOSITE, "Viewer Node");
+ if ((snode->flag & SNODE_BACKDRAW) && snode->treetype == NTREE_COMPOSIT) {
+ Image *ima = BKE_image_verify_viewer(IMA_TYPE_COMPOSITE, "Viewer Node");
void *lock;
- ImBuf *ibuf= BKE_image_acquire_ibuf(ima, NULL, &lock);
+ ImBuf *ibuf = BKE_image_acquire_ibuf(ima, NULL, &lock);
if (ibuf) {
float x, y;
@@ -2820,16 +2908,16 @@ void draw_nodespace_back_pix(ARegion *ar, SpaceNode *snode, int color_manage)
glPushMatrix();
/* keep this, saves us from a version patch */
- if (snode->zoom==0.0f) snode->zoom= 1.0f;
+ if (snode->zoom == 0.0f) snode->zoom = 1.0f;
/* somehow the offset has to be calculated inverse */
glaDefine2DArea(&ar->winrct);
/* ortho at pixel level curarea */
- wmOrtho2(-0.375, ar->winx-0.375, -0.375, ar->winy-0.375);
+ wmOrtho2(-0.375, ar->winx - 0.375, -0.375, ar->winy - 0.375);
- x = (ar->winx-snode->zoom*ibuf->x)/2 + snode->xof;
- y = (ar->winy-snode->zoom*ibuf->y)/2 + snode->yof;
+ x = (ar->winx - snode->zoom * ibuf->x) / 2 + snode->xof;
+ y = (ar->winy - snode->zoom * ibuf->y) / 2 + snode->yof;
if (!ibuf->rect) {
if (color_manage)
@@ -2901,8 +2989,8 @@ static void draw_nodespace_back_tex(ScrArea *sa, SpaceNode *snode)
draw_nodespace_grid(snode);
if (snode->flag & SNODE_BACKDRAW) {
- Image *ima= BKE_image_verify_viewer(IMA_TYPE_COMPOSITE, "Viewer Node");
- ImBuf *ibuf= BKE_image_get_ibuf(ima, NULL);
+ Image *ima = BKE_image_verify_viewer(IMA_TYPE_COMPOSITE, "Viewer Node");
+ ImBuf *ibuf = BKE_image_get_ibuf(ima, NULL);
if (ibuf) {
int x, y;
float zoom = 1.0;
@@ -2916,20 +3004,20 @@ static void draw_nodespace_back_tex(ScrArea *sa, SpaceNode *snode)
if (ibuf->x > sa->winx || ibuf->y > sa->winy) {
float zoomx, zoomy;
- zoomx= (float)sa->winx/ibuf->x;
- zoomy= (float)sa->winy/ibuf->y;
+ zoomx = (float)sa->winx / ibuf->x;
+ zoomy = (float)sa->winy / ibuf->y;
zoom = MIN2(zoomx, zoomy);
}
- x = (sa->winx-zoom*ibuf->x)/2 + snode->xof;
- y = (sa->winy-zoom*ibuf->y)/2 + snode->yof;
+ x = (sa->winx - zoom * ibuf->x) / 2 + snode->xof;
+ y = (sa->winy - zoom * ibuf->y) / 2 + snode->yof;
glPixelZoom(zoom, zoom);
glColor4f(1.0, 1.0, 1.0, 1.0);
if (ibuf->rect)
glaDrawPixelsTex(x, y, ibuf->x, ibuf->y, GL_UNSIGNED_BYTE, ibuf->rect);
- else if (ibuf->channels==4)
+ else if (ibuf->channels == 4)
glaDrawPixelsTex(x, y, ibuf->x, ibuf->y, GL_FLOAT, ibuf->rect_float);
glPixelZoom(1.0, 1.0);
@@ -2947,76 +3035,128 @@ static void draw_nodespace_back_tex(ScrArea *sa, SpaceNode *snode)
int node_link_bezier_points(View2D *v2d, SpaceNode *snode, bNodeLink *link, float coord_array[][2], int resol)
{
float dist, vec[4][2];
-
+ float deltax, deltay;
+ int toreroute, fromreroute;
/* in v0 and v3 we put begin/end points */
if (link->fromsock) {
- vec[0][0]= link->fromsock->locx;
- vec[0][1]= link->fromsock->locy;
+ vec[0][0] = link->fromsock->locx;
+ vec[0][1] = link->fromsock->locy;
+ fromreroute = (link->fromnode && link->fromnode->type == NODE_REROUTE);
}
else {
- if (snode==NULL) return 0;
- vec[0][0]= snode->mx;
- vec[0][1]= snode->my;
+ if (snode == NULL) return 0;
+ vec[0][0] = snode->mx;
+ vec[0][1] = snode->my;
+ fromreroute = 0;
}
if (link->tosock) {
- vec[3][0]= link->tosock->locx;
- vec[3][1]= link->tosock->locy;
+ vec[3][0] = link->tosock->locx;
+ vec[3][1] = link->tosock->locy;
+ toreroute = (link->tonode && link->tonode->type == NODE_REROUTE);
}
else {
- if (snode==NULL) return 0;
- vec[3][0]= snode->mx;
- vec[3][1]= snode->my;
+ if (snode == NULL) return 0;
+ vec[3][0] = snode->mx;
+ vec[3][1] = snode->my;
+ toreroute = 0;
}
- dist= UI_GetThemeValue(TH_NODE_CURVING)*0.10f*ABS(vec[0][0] - vec[3][0]);
-
+ dist = UI_GetThemeValue(TH_NODE_CURVING) * 0.10f * ABS(vec[0][0] - vec[3][0]);
+ deltax = vec[3][0] - vec[0][0];
+ deltay = vec[3][1] - vec[0][1];
/* check direction later, for top sockets */
- vec[1][0]= vec[0][0]+dist;
- vec[1][1]= vec[0][1];
-
- vec[2][0]= vec[3][0]-dist;
- vec[2][1]= vec[3][1];
-
- if (v2d && MIN4(vec[0][0], vec[1][0], vec[2][0], vec[3][0]) > v2d->cur.xmax); /* clipped */
- else if (v2d && MAX4(vec[0][0], vec[1][0], vec[2][0], vec[3][0]) < v2d->cur.xmin); /* clipped */
+ if (fromreroute) {
+ if (ABS(deltax)>ABS(deltay)) {
+ vec[1][1]= vec[0][1];
+ vec[1][0]= vec[0][0]+(deltax>0?dist:-dist);
+ } else {
+ vec[1][0]= vec[0][0];
+ vec[1][1]= vec[0][1]+(deltay>0?dist:-dist);
+ }
+ } else {
+ vec[1][0] = vec[0][0] + dist;
+ vec[1][1] = vec[0][1];
+ }
+ if (toreroute) {
+ if (ABS(deltax)>ABS(deltay)) {
+ vec[2][1]= vec[3][1];
+ vec[2][0]= vec[3][0]+ (deltax>0?-dist:dist);
+ } else {
+ vec[2][0]= vec[3][0];
+ vec[2][1]= vec[3][1]+(deltay>0?-dist:dist);
+ }
+
+ } else {
+ vec[2][0] = vec[3][0] - dist;
+ vec[2][1] = vec[3][1];
+ }
+ if (v2d && MIN4(vec[0][0], vec[1][0], vec[2][0], vec[3][0]) > v2d->cur.xmax) ; /* clipped */
+ else if (v2d && MAX4(vec[0][0], vec[1][0], vec[2][0], vec[3][0]) < v2d->cur.xmin) ; /* clipped */
else {
/* always do all three, to prevent data hanging around */
- BKE_curve_forward_diff_bezier(vec[0][0], vec[1][0], vec[2][0], vec[3][0], coord_array[0], resol, sizeof(float)*2);
- BKE_curve_forward_diff_bezier(vec[0][1], vec[1][1], vec[2][1], vec[3][1], coord_array[0]+1, resol, sizeof(float)*2);
+ BKE_curve_forward_diff_bezier(vec[0][0], vec[1][0], vec[2][0], vec[3][0], coord_array[0], resol, sizeof(float) * 2);
+ BKE_curve_forward_diff_bezier(vec[0][1], vec[1][1], vec[2][1], vec[3][1], coord_array[0] + 1, resol, sizeof(float) * 2);
return 1;
}
return 0;
}
-#define LINK_RESOL 24
-void node_draw_link_bezier(View2D *v2d, SpaceNode *snode, bNodeLink *link, int th_col1, int do_shaded, int th_col2, int do_triple, int th_col3 )
+#define LINK_RESOL 24
+#define LINK_ARROW 12 /* position of arrow on the link, LINK_RESOL/2 */
+#define ARROW_SIZE 7
+void node_draw_link_bezier(View2D *v2d, SpaceNode *snode, bNodeLink *link, int th_col1, int do_shaded, int th_col2, int do_triple, int th_col3)
{
- float coord_array[LINK_RESOL+1][2];
+ float coord_array[LINK_RESOL + 1][2];
if (node_link_bezier_points(v2d, snode, link, coord_array, LINK_RESOL)) {
float dist, spline_step = 0.0f;
int i;
-
+ int drawarrow;
/* store current linewidth */
float linew;
+ float arrow[2], arrow1[2], arrow2[2];
glGetFloatv(GL_LINE_WIDTH, &linew);
/* we can reuse the dist variable here to increment the GL curve eval amount*/
- dist = 1.0f/(float)LINK_RESOL;
+ dist = 1.0f / (float)LINK_RESOL;
glEnable(GL_LINE_SMOOTH);
+ drawarrow = (link->tonode && (link->tonode->type == NODE_REROUTE)) && (link->fromnode && (link->fromnode->type == NODE_REROUTE));
+ if (drawarrow) {
+ // draw arrow in line segment LINK_ARROW
+ float dx, dy, len;
+ dx = coord_array[LINK_ARROW][0]-coord_array[LINK_ARROW-1][0];
+ dy = coord_array[LINK_ARROW][1]-coord_array[LINK_ARROW-1][1];
+ len = sqrtf(dx*dx+dy*dy);
+ dx = dx /len*ARROW_SIZE;
+ dy = dy /len*ARROW_SIZE;
+ arrow1[0] = coord_array[LINK_ARROW][0]-dx+dy;
+ arrow1[1] = coord_array[LINK_ARROW][1]-dy-dx;
+ arrow2[0] = coord_array[LINK_ARROW][0]-dx-dy;
+ arrow2[1] = coord_array[LINK_ARROW][1]-dy+dx;
+ arrow[0] = coord_array[LINK_ARROW][0];
+ arrow[1] = coord_array[LINK_ARROW][1];
+ }
if (do_triple) {
UI_ThemeColorShadeAlpha(th_col3, -80, -120);
glLineWidth(4.0f);
glBegin(GL_LINE_STRIP);
- for (i=0; i<=LINK_RESOL; i++) {
+ for (i = 0; i <= LINK_RESOL; i++) {
glVertex2fv(coord_array[i]);
}
glEnd();
+ if (drawarrow) {
+ glBegin(GL_LINE_STRIP);
+ glVertex2fv(arrow1);
+ glVertex2fv(arrow);
+ glVertex2fv(arrow);
+ glVertex2fv(arrow2);
+ glEnd();
+ }
}
/* XXX using GL_LINES for shaded node lines is a workaround
@@ -3026,12 +3166,12 @@ void node_draw_link_bezier(View2D *v2d, SpaceNode *snode, bNodeLink *link, int t
glLineWidth(1.5f);
if (do_shaded) {
glBegin(GL_LINES);
- for (i=0; i<LINK_RESOL; i++) {
+ for (i = 0; i < LINK_RESOL; i++) {
UI_ThemeColorBlend(th_col1, th_col2, spline_step);
glVertex2fv(coord_array[i]);
- UI_ThemeColorBlend(th_col1, th_col2, spline_step+dist);
- glVertex2fv(coord_array[i+1]);
+ UI_ThemeColorBlend(th_col1, th_col2, spline_step + dist);
+ glVertex2fv(coord_array[i + 1]);
spline_step += dist;
}
@@ -3040,12 +3180,21 @@ void node_draw_link_bezier(View2D *v2d, SpaceNode *snode, bNodeLink *link, int t
else {
UI_ThemeColor(th_col1);
glBegin(GL_LINE_STRIP);
- for (i=0; i<=LINK_RESOL; i++) {
+ for (i = 0; i <= LINK_RESOL; i++) {
glVertex2fv(coord_array[i]);
}
glEnd();
}
+ if (drawarrow) {
+ glBegin(GL_LINE_STRIP);
+ glVertex2fv(arrow1);
+ glVertex2fv(arrow);
+ glVertex2fv(arrow);
+ glVertex2fv(arrow2);
+ glEnd();
+ }
+
glDisable(GL_LINE_SMOOTH);
/* restore previuos linewidth */
@@ -3056,26 +3205,26 @@ void node_draw_link_bezier(View2D *v2d, SpaceNode *snode, bNodeLink *link, int t
static void node_link_straight_points(View2D *UNUSED(v2d), SpaceNode *snode, bNodeLink *link, float coord_array[][2])
{
if (link->fromsock) {
- coord_array[0][0]= link->fromsock->locx;
- coord_array[0][1]= link->fromsock->locy;
+ coord_array[0][0] = link->fromsock->locx;
+ coord_array[0][1] = link->fromsock->locy;
}
else {
- if (snode==NULL) return;
- coord_array[0][0]= snode->mx;
- coord_array[0][1]= snode->my;
+ if (snode == NULL) return;
+ coord_array[0][0] = snode->mx;
+ coord_array[0][1] = snode->my;
}
if (link->tosock) {
- coord_array[1][0]= link->tosock->locx;
- coord_array[1][1]= link->tosock->locy;
+ coord_array[1][0] = link->tosock->locx;
+ coord_array[1][1] = link->tosock->locy;
}
else {
- if (snode==NULL) return;
- coord_array[1][0]= snode->mx;
- coord_array[1][1]= snode->my;
+ if (snode == NULL) return;
+ coord_array[1][0] = snode->mx;
+ coord_array[1][1] = snode->my;
}
}
-void node_draw_link_straight(View2D *v2d, SpaceNode *snode, bNodeLink *link, int th_col1, int do_shaded, int th_col2, int do_triple, int th_col3 )
+void node_draw_link_straight(View2D *v2d, SpaceNode *snode, bNodeLink *link, int th_col1, int do_shaded, int th_col2, int do_triple, int th_col3)
{
float coord_array[2][2];
float linew;
@@ -3107,22 +3256,22 @@ void node_draw_link_straight(View2D *v2d, SpaceNode *snode, bNodeLink *link, int
*/
if (do_shaded) {
glBegin(GL_LINES);
- for (i=0; i < LINK_RESOL-1; ++i) {
- float t= (float)i/(float)(LINK_RESOL-1);
+ for (i = 0; i < LINK_RESOL - 1; ++i) {
+ float t = (float)i / (float)(LINK_RESOL - 1);
UI_ThemeColorBlend(th_col1, th_col2, t);
- glVertex2f((1.0f-t)*coord_array[0][0]+t*coord_array[1][0], (1.0f-t)*coord_array[0][1]+t*coord_array[1][1]);
+ glVertex2f((1.0f - t) * coord_array[0][0] + t * coord_array[1][0], (1.0f - t) * coord_array[0][1] + t * coord_array[1][1]);
- t= (float)(i+1)/(float)(LINK_RESOL-1);
+ t = (float)(i + 1) / (float)(LINK_RESOL - 1);
UI_ThemeColorBlend(th_col1, th_col2, t);
- glVertex2f((1.0f-t)*coord_array[0][0]+t*coord_array[1][0], (1.0f-t)*coord_array[0][1]+t*coord_array[1][1]);
+ glVertex2f((1.0f - t) * coord_array[0][0] + t * coord_array[1][0], (1.0f - t) * coord_array[0][1] + t * coord_array[1][1]);
}
glEnd();
}
else {
glBegin(GL_LINE_STRIP);
- for (i=0; i < LINK_RESOL; ++i) {
- float t= (float)i/(float)(LINK_RESOL-1);
- glVertex2f((1.0f-t)*coord_array[0][0]+t*coord_array[1][0], (1.0f-t)*coord_array[0][1]+t*coord_array[1][1]);
+ for (i = 0; i < LINK_RESOL; ++i) {
+ float t = (float)i / (float)(LINK_RESOL - 1);
+ glVertex2f((1.0f - t) * coord_array[0][0] + t * coord_array[1][0], (1.0f - t) * coord_array[0][1] + t * coord_array[1][1]);
}
glEnd();
}
@@ -3136,10 +3285,10 @@ void node_draw_link_straight(View2D *v2d, SpaceNode *snode, bNodeLink *link, int
/* note; this is used for fake links in groups too */
void node_draw_link(View2D *v2d, SpaceNode *snode, bNodeLink *link)
{
- int do_shaded= FALSE, th_col1= TH_HEADER, th_col2= TH_HEADER;
- int do_triple= FALSE, th_col3= TH_WIRE;
+ int do_shaded = FALSE, th_col1 = TH_HEADER, th_col2 = TH_HEADER;
+ int do_triple = FALSE, th_col3 = TH_WIRE;
- if (link->fromsock==NULL && link->tosock==NULL)
+ if (link->fromsock == NULL && link->tosock == NULL)
return;
/* new connection */
@@ -3161,17 +3310,17 @@ void node_draw_link(View2D *v2d, SpaceNode *snode, bNodeLink *link)
}
else {
/* check cyclic */
- if ((link->fromnode->level >= link->tonode->level && link->tonode->level!=0xFFF) && (link->flag & NODE_LINK_VALID)) {
+ if ((link->fromnode->level >= link->tonode->level && link->tonode->level != 0xFFF) && (link->flag & NODE_LINK_VALID)) {
/* special indicated link, on drop-node */
if (link->flag & NODE_LINKFLAG_HILITE) {
- th_col1= th_col2= TH_ACTIVE;
+ th_col1 = th_col2 = TH_ACTIVE;
}
else {
/* regular link */
if (link->fromnode->flag & SELECT)
- th_col1= TH_EDGE_SELECT;
+ th_col1 = TH_EDGE_SELECT;
if (link->tonode->flag & SELECT)
- th_col2= TH_EDGE_SELECT;
+ th_col2 = TH_EDGE_SELECT;
}
do_shaded = TRUE;
do_triple = TRUE;
diff --git a/source/blender/editors/space_node/node_draw.c b/source/blender/editors/space_node/node_draw.c
index 7011d605a7e..c65bbd6e15f 100644
--- a/source/blender/editors/space_node/node_draw.c
+++ b/source/blender/editors/space_node/node_draw.c
@@ -46,6 +46,7 @@
#include "BLI_math.h"
#include "BLI_blenlib.h"
+#include "BLI_rect.h"
#include "BLI_threads.h"
#include "BLI_utildefines.h"
@@ -81,9 +82,8 @@
/* width of socket columns in group display */
#define NODE_GROUP_FRAME 120
-
// XXX interface.h
-extern void ui_dropshadow(rctf *rct, float radius, float aspect, int select);
+extern void ui_dropshadow(rctf *rct, float radius, float aspect, float alpha, int select);
/* XXX update functions for node editor are a mess, needs a clear concept */
void ED_node_tree_update(SpaceNode *snode, Scene *scene)
@@ -496,6 +496,16 @@ void node_update_default(const bContext *C, bNodeTree *ntree, bNode *node)
node_update_basis(C, ntree, node);
}
+int node_select_area_default(bNode *node, int x, int y)
+{
+ return BLI_in_rctf(&node->totr, x, y);
+}
+
+int node_tweak_area_default(bNode *node, int x, int y)
+{
+ return BLI_in_rctf(&node->totr, x, y);
+}
+
int node_get_colorid(bNode *node)
{
if (node->typeinfo->nclass==NODE_CLASS_INPUT)
@@ -585,10 +595,10 @@ static void node_circle_draw(float x, float y, float size, char *col, int highli
glLineWidth(1.0f);
}
-void node_socket_circle_draw(bNodeTree *UNUSED(ntree), bNodeSocket *sock, float size)
+void node_socket_circle_draw(bNodeTree *UNUSED(ntree), bNodeSocket *sock, float size, int highlight)
{
bNodeSocketType *stype = ntreeGetSocketType(sock->type);
- node_circle_draw(sock->locx, sock->locy, size, stype->ui_color, (sock->flag & SELECT));
+ node_circle_draw(sock->locx, sock->locy, size, stype->ui_color, highlight);
}
/* ************** Socket callbacks *********** */
@@ -659,13 +669,13 @@ static void node_toggle_button_cb(struct bContext *C, void *node_argv, void *op_
WM_operator_name_call(C, opname, WM_OP_INVOKE_DEFAULT, NULL);
}
-void node_draw_shadow(SpaceNode *snode, bNode *node, float radius)
+void node_draw_shadow(SpaceNode *snode, bNode *node, float radius, float alpha)
{
rctf *rct = &node->totr;
uiSetRoundBox(UI_CNR_ALL);
if (node->parent==NULL)
- ui_dropshadow(rct, radius, snode->aspect, node->flag & SELECT);
+ ui_dropshadow(rct, radius, snode->aspect, alpha, node->flag & SELECT);
else {
const float margin = 3.0f;
@@ -702,7 +712,7 @@ static void node_draw_basis(const bContext *C, ARegion *ar, SpaceNode *snode, bN
}
/* shadow */
- node_draw_shadow(snode, node, BASIS_RAD);
+ node_draw_shadow(snode, node, BASIS_RAD, 1.0f);
/* header */
if (color_id==TH_NODE)
@@ -819,7 +829,7 @@ static void node_draw_basis(const bContext *C, ARegion *ar, SpaceNode *snode, bN
if (nodeSocketIsHidden(sock))
continue;
- node_socket_circle_draw(ntree, sock, NODE_SOCKSIZE);
+ node_socket_circle_draw(ntree, sock, NODE_SOCKSIZE, sock->flag & SELECT);
node->typeinfo->drawinputfunc(C, node->block, ntree, node, sock, IFACE_(sock->name),
sock->locx+NODE_DYS, sock->locy-NODE_DYS, node->width-NODE_DY);
@@ -830,7 +840,7 @@ static void node_draw_basis(const bContext *C, ARegion *ar, SpaceNode *snode, bN
if (nodeSocketIsHidden(sock))
continue;
- node_socket_circle_draw(ntree, sock, NODE_SOCKSIZE);
+ node_socket_circle_draw(ntree, sock, NODE_SOCKSIZE, sock->flag & SELECT);
node->typeinfo->drawoutputfunc(C, node->block, ntree, node, sock, IFACE_(sock->name),
sock->locx-node->width+NODE_DYS, sock->locy-NODE_DYS, node->width-NODE_DY);
@@ -862,7 +872,7 @@ static void node_draw_hidden(const bContext *C, ARegion *ar, SpaceNode *snode, b
char showname[128]; /* 128 is used below */
/* shadow */
- node_draw_shadow(snode, node, hiddenrad);
+ node_draw_shadow(snode, node, hiddenrad, 1.0f);
/* body */
UI_ThemeColor(color_id);
@@ -935,16 +945,16 @@ static void node_draw_hidden(const bContext *C, ARegion *ar, SpaceNode *snode, b
dx-= snode->aspect;
fdrawline(rct->xmax-dx, centy-4.0f, rct->xmax-dx, centy+4.0f);
fdrawline(rct->xmax-dx-3.0f*snode->aspect, centy-4.0f, rct->xmax-dx-3.0f*snode->aspect, centy+4.0f);
-
+
/* sockets */
for (sock= node->inputs.first; sock; sock= sock->next) {
if (!nodeSocketIsHidden(sock))
- node_socket_circle_draw(snode->nodetree, sock, socket_size);
+ node_socket_circle_draw(snode->nodetree, sock, socket_size, sock->flag & SELECT);
}
for (sock= node->outputs.first; sock; sock= sock->next) {
if (!nodeSocketIsHidden(sock))
- node_socket_circle_draw(snode->nodetree, sock, socket_size);
+ node_socket_circle_draw(snode->nodetree, sock, socket_size, sock->flag & SELECT);
}
uiEndBlock(C, node->block);
@@ -1128,15 +1138,15 @@ void drawnodespace(const bContext *C, ARegion *ar, View2D *v2d)
glDisable(GL_BLEND);
/* draw grease-pencil ('canvas' strokes) */
- if (/*(snode->flag & SNODE_DISPGP) &&*/ (snode->nodetree))
- draw_gpencil_view2d((bContext*)C, 1);
+ if (snode->nodetree)
+ draw_gpencil_view2d(C, 1);
/* reset view matrix */
UI_view2d_view_restore(C);
/* draw grease-pencil (screen strokes, and also paintbuffer) */
- if (/*(snode->flag & SNODE_DISPGP) && */(snode->nodetree))
- draw_gpencil_view2d((bContext*)C, 0);
+ if (snode->nodetree)
+ draw_gpencil_view2d(C, 0);
/* scrollers */
scrollers= UI_view2d_scrollers_calc(C, v2d, 10, V2D_GRID_CLAMP, V2D_ARG_DUMMY, V2D_ARG_DUMMY);
diff --git a/source/blender/editors/space_node/node_edit.c b/source/blender/editors/space_node/node_edit.c
index c4ea8c4025f..81e375f26bc 100644
--- a/source/blender/editors/space_node/node_edit.c
+++ b/source/blender/editors/space_node/node_edit.c
@@ -46,11 +46,15 @@
#include "DNA_particle_types.h"
#include "DNA_scene_types.h"
#include "DNA_world_types.h"
+#include "DNA_action_types.h"
+#include "DNA_anim_types.h"
#include "BLI_math.h"
#include "BLI_blenlib.h"
#include "BLI_utildefines.h"
+#include "BKE_action.h"
+#include "BKE_animsys.h"
#include "BKE_context.h"
#include "BKE_depsgraph.h"
#include "BKE_global.h"
@@ -94,6 +98,7 @@
#include "GPU_material.h"
#include "node_intern.h"
+#include "NOD_socket.h"
static EnumPropertyItem socket_in_out_items[] = {
{ SOCK_IN, "SOCK_IN", 0, "Input", "" },
@@ -1109,6 +1114,155 @@ void NODE_OT_group_socket_move_down(wmOperatorType *ot)
/* ******************** Ungroup operator ********************** */
+/* returns 1 if its OK */
+static int node_group_ungroup(bNodeTree *ntree, bNode *gnode)
+{
+ bNodeLink *link, *linkn;
+ bNode *node, *nextn;
+ bNodeTree *ngroup, *wgroup;
+ ListBase anim_basepaths = {NULL, NULL};
+
+ ngroup= (bNodeTree *)gnode->id;
+ if (ngroup==NULL) return 0;
+
+ /* clear new pointers, set in copytree */
+ for (node= ntree->nodes.first; node; node= node->next)
+ node->new_node= NULL;
+
+ /* wgroup is a temporary copy of the NodeTree we're merging in
+ * - all of wgroup's nodes are transferred across to their new home
+ * - ngroup (i.e. the source NodeTree) is left unscathed
+ */
+ wgroup= ntreeCopyTree(ngroup);
+
+ /* add the nodes into the ntree */
+ for (node= wgroup->nodes.first; node; node= nextn) {
+ nextn= node->next;
+
+ /* keep track of this node's RNA "base" path (the part of the path identifying the node)
+ * if the old nodetree has animation data which potentially covers this node
+ */
+ if (wgroup->adt) {
+ PointerRNA ptr;
+ char *path;
+
+ RNA_pointer_create(&wgroup->id, &RNA_Node, node, &ptr);
+ path = RNA_path_from_ID_to_struct(&ptr);
+
+ if (path)
+ BLI_addtail(&anim_basepaths, BLI_genericNodeN(path));
+ }
+
+ /* migrate node */
+ BLI_remlink(&wgroup->nodes, node);
+ BLI_addtail(&ntree->nodes, node);
+
+ node->locx += gnode->locx;
+ node->locy += gnode->locy;
+
+ node->flag |= NODE_SELECT;
+ }
+
+ /* restore external links to and from the gnode */
+ for (link= ntree->links.first; link; link= link->next) {
+ if (link->fromnode==gnode) {
+ if (link->fromsock->groupsock) {
+ bNodeSocket *gsock= link->fromsock->groupsock;
+ if (gsock->link) {
+ if (gsock->link->fromnode) {
+ /* NB: using the new internal copies here! the groupsock pointer still maps to the old tree */
+ link->fromnode = (gsock->link->fromnode ? gsock->link->fromnode->new_node : NULL);
+ link->fromsock = gsock->link->fromsock->new_sock;
+ }
+ else {
+ /* group output directly maps to group input */
+ bNodeSocket *insock= node_group_find_input(gnode, gsock->link->fromsock);
+ if (insock->link) {
+ link->fromnode = insock->link->fromnode;
+ link->fromsock = insock->link->fromsock;
+ }
+ }
+ }
+ else {
+ /* copy the default input value from the group socket default to the external socket */
+ node_socket_convert_default_value(link->tosock->type, link->tosock->default_value, gsock->type, gsock->default_value);
+ }
+ }
+ }
+ }
+ /* remove internal output links, these are not used anymore */
+ for (link=wgroup->links.first; link; link= linkn) {
+ linkn = link->next;
+ if (!link->tonode)
+ nodeRemLink(wgroup, link);
+ }
+ /* restore links from internal nodes */
+ for (link= wgroup->links.first; link; link= link->next) {
+ /* indicates link to group input */
+ if (!link->fromnode) {
+ /* NB: can't use find_group_node_input here,
+ * because gnode sockets still point to the old tree!
+ */
+ bNodeSocket *insock;
+ for (insock= gnode->inputs.first; insock; insock= insock->next)
+ if (insock->groupsock->new_sock == link->fromsock)
+ break;
+ if (insock->link) {
+ link->fromnode = insock->link->fromnode;
+ link->fromsock = insock->link->fromsock;
+ }
+ else {
+ /* copy the default input value from the group node socket default to the internal socket */
+ node_socket_convert_default_value(link->tosock->type, link->tosock->default_value, insock->type, insock->default_value);
+ nodeRemLink(wgroup, link);
+ }
+ }
+ }
+
+ /* add internal links to the ntree */
+ for (link= wgroup->links.first; link; link= linkn) {
+ linkn= link->next;
+ BLI_remlink(&wgroup->links, link);
+ BLI_addtail(&ntree->links, link);
+ }
+
+ /* and copy across the animation,
+ * note that the animation data's action can be NULL here */
+ if (wgroup->adt) {
+ LinkData *ld, *ldn=NULL;
+ bAction *waction;
+
+ /* firstly, wgroup needs to temporary dummy action that can be destroyed, as it shares copies */
+ waction = wgroup->adt->action = BKE_action_copy(wgroup->adt->action);
+
+ /* now perform the moving */
+ BKE_animdata_separate_by_basepath(&wgroup->id, &ntree->id, &anim_basepaths);
+
+ /* paths + their wrappers need to be freed */
+ for (ld = anim_basepaths.first; ld; ld = ldn) {
+ ldn = ld->next;
+
+ MEM_freeN(ld->data);
+ BLI_freelinkN(&anim_basepaths, ld);
+ }
+
+ /* free temp action too */
+ if (waction) {
+ BKE_libblock_free(&G.main->action, waction);
+ }
+ }
+
+ /* delete the group instance. this also removes old input links! */
+ nodeFreeNode(ntree, gnode);
+
+ /* free the group tree (takes care of user count) */
+ BKE_libblock_free(&G.main->nodetree, wgroup);
+
+ ntree->update |= NTREE_UPDATE_NODES | NTREE_UPDATE_LINKS;
+
+ return 1;
+}
+
static int node_group_ungroup_exec(bContext *C, wmOperator *op)
{
SpaceNode *snode = CTX_wm_space_node(C);
@@ -1129,7 +1283,10 @@ static int node_group_ungroup_exec(bContext *C, wmOperator *op)
BKE_report(op->reports, RPT_WARNING, "Not a group");
return OPERATOR_CANCELLED;
}
- else if (!node_group_ungroup(snode->edittree, gnode)) {
+ else if (node_group_ungroup(snode->nodetree, gnode)) {
+ ntreeUpdateTree(snode->nodetree);
+ }
+ else {
BKE_report(op->reports, RPT_WARNING, "Can't ungroup");
return OPERATOR_CANCELLED;
}
@@ -1155,6 +1312,200 @@ void NODE_OT_group_ungroup(wmOperatorType *ot)
ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO;
}
+/* ******************** Separate operator ********************** */
+
+/* returns 1 if its OK */
+static int node_group_separate_selected(bNodeTree *ntree, bNode *gnode, int make_copy)
+{
+ bNodeLink *link, *link_next;
+ bNode *node, *node_next, *newnode;
+ bNodeTree *ngroup;
+ ListBase anim_basepaths = {NULL, NULL};
+
+ ngroup= (bNodeTree *)gnode->id;
+ if (ngroup==NULL) return 0;
+
+ /* deselect all nodes in the target tree */
+ for (node=ntree->nodes.first; node; node=node->next)
+ node_deselect(node);
+
+ /* clear new pointers, set in nodeCopyNode */
+ for (node= ngroup->nodes.first; node; node= node->next)
+ node->new_node= NULL;
+
+ /* add selected nodes into the ntree */
+ for (node= ngroup->nodes.first; node; node= node_next) {
+ node_next = node->next;
+ if (!(node->flag & NODE_SELECT))
+ continue;
+
+ if (make_copy) {
+ /* make a copy */
+ newnode = nodeCopyNode(ngroup, node);
+ }
+ else {
+ /* use the existing node */
+ newnode = node;
+ }
+
+ /* keep track of this node's RNA "base" path (the part of the path identifying the node)
+ * if the old nodetree has animation data which potentially covers this node
+ */
+ if (ngroup->adt) {
+ PointerRNA ptr;
+ char *path;
+
+ RNA_pointer_create(&ngroup->id, &RNA_Node, newnode, &ptr);
+ path = RNA_path_from_ID_to_struct(&ptr);
+
+ if (path)
+ BLI_addtail(&anim_basepaths, BLI_genericNodeN(path));
+ }
+
+ /* ensure valid parent pointers, detach if parent stays inside the group */
+ if (newnode->parent && !(newnode->parent->flag & NODE_SELECT))
+ nodeDetachNode(newnode);
+
+ /* migrate node */
+ BLI_remlink(&ngroup->nodes, newnode);
+ BLI_addtail(&ntree->nodes, newnode);
+
+ newnode->locx += gnode->locx;
+ newnode->locy += gnode->locy;
+ }
+
+ /* add internal links to the ntree */
+ for (link= ngroup->links.first; link; link= link_next) {
+ int fromselect = (link->fromnode && (link->fromnode->flag & NODE_SELECT));
+ int toselect = (link->tonode && (link->tonode->flag & NODE_SELECT));
+ link_next = link->next;
+
+ if (make_copy) {
+ /* make a copy of internal links */
+ if (fromselect && toselect)
+ nodeAddLink(ntree, link->fromnode->new_node, link->fromsock->new_sock, link->tonode->new_node, link->tosock->new_sock);
+ }
+ else {
+ /* move valid links over, delete broken links */
+ if (fromselect && toselect) {
+ BLI_remlink(&ngroup->links, link);
+ BLI_addtail(&ntree->links, link);
+ }
+ else if (fromselect || toselect) {
+ nodeRemLink(ngroup, link);
+ }
+ }
+ }
+
+ /* and copy across the animation,
+ * note that the animation data's action can be NULL here */
+ if (ngroup->adt) {
+ LinkData *ld, *ldn=NULL;
+
+ /* now perform the moving */
+ BKE_animdata_separate_by_basepath(&ngroup->id, &ntree->id, &anim_basepaths);
+
+ /* paths + their wrappers need to be freed */
+ for (ld = anim_basepaths.first; ld; ld = ldn) {
+ ldn = ld->next;
+
+ MEM_freeN(ld->data);
+ BLI_freelinkN(&anim_basepaths, ld);
+ }
+ }
+
+ ntree->update |= NTREE_UPDATE_NODES | NTREE_UPDATE_LINKS;
+ if (!make_copy)
+ ngroup->update |= NTREE_UPDATE_NODES | NTREE_UPDATE_LINKS;
+
+ return 1;
+}
+
+typedef enum eNodeGroupSeparateType {
+ NODE_GS_COPY,
+ NODE_GS_MOVE
+} eNodeGroupSeparateType;
+
+/* Operator Property */
+EnumPropertyItem node_group_separate_types[] = {
+ {NODE_GS_COPY, "COPY", 0, "Copy", "Copy to parent node tree, keep group intact"},
+ {NODE_GS_MOVE, "MOVE", 0, "Move", "Move to parent node tree, remove from group"},
+ {0, NULL, 0, NULL, NULL}
+};
+
+static int node_group_separate_exec(bContext *C, wmOperator *op)
+{
+ SpaceNode *snode = CTX_wm_space_node(C);
+ bNode *gnode;
+ int type = RNA_enum_get(op->ptr, "type");
+
+ ED_preview_kill_jobs(C);
+
+ /* are we inside of a group? */
+ gnode= node_tree_get_editgroup(snode->nodetree);
+ if (!gnode) {
+ BKE_report(op->reports, RPT_WARNING, "Not inside node group");
+ return OPERATOR_CANCELLED;
+ }
+
+ switch (type) {
+ case NODE_GS_COPY:
+ if (!node_group_separate_selected(snode->nodetree, gnode, 1)) {
+ BKE_report(op->reports, RPT_WARNING, "Can't separate nodes");
+ return OPERATOR_CANCELLED;
+ }
+ break;
+ case NODE_GS_MOVE:
+ if (!node_group_separate_selected(snode->nodetree, gnode, 0)) {
+ BKE_report(op->reports, RPT_WARNING, "Can't separate nodes");
+ return OPERATOR_CANCELLED;
+ }
+ break;
+ }
+
+ /* switch to parent tree */
+ snode_make_group_editable(snode, NULL);
+
+ ntreeUpdateTree(snode->nodetree);
+
+ snode_notify(C, snode);
+ snode_dag_update(C, snode);
+
+ return OPERATOR_FINISHED;
+}
+
+static int node_group_separate_invoke(bContext *C, wmOperator *UNUSED(op), wmEvent *UNUSED(event))
+{
+ uiPopupMenu *pup = uiPupMenuBegin(C, "Separate", ICON_NONE);
+ uiLayout *layout = uiPupMenuLayout(pup);
+
+ uiLayoutSetOperatorContext(layout, WM_OP_EXEC_DEFAULT);
+ uiItemEnumO(layout, "NODE_OT_group_separate", NULL, 0, "type", NODE_GS_COPY);
+ uiItemEnumO(layout, "NODE_OT_group_separate", NULL, 0, "type", NODE_GS_MOVE);
+
+ uiPupMenuEnd(C, pup);
+
+ return OPERATOR_CANCELLED;
+}
+
+void NODE_OT_group_separate(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name = "Separate";
+ ot->description = "Separate selected nodes from the node group";
+ ot->idname = "NODE_OT_group_separate";
+
+ /* api callbacks */
+ ot->invoke = node_group_separate_invoke;
+ ot->exec = node_group_separate_exec;
+ ot->poll = ED_operator_node_active;
+
+ /* flags */
+ ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO;
+
+ RNA_def_enum(ot->srna, "type", node_group_separate_types, NODE_GS_COPY, "Type", "");
+}
+
/* ************************** Node generic ************** */
/* is rct in visible part of node? */
@@ -1679,7 +2030,7 @@ int node_has_hidden_sockets(bNode *node)
}
void node_set_hidden_sockets(SpaceNode *snode, bNode *node, int set)
-{
+{
bNodeSocket *sock;
if (set==0) {
@@ -1785,6 +2136,8 @@ static int node_link_viewer(const bContext *C, bNode *tonode)
else {
link->fromnode= tonode;
link->fromsock= sock;
+ /* make sure the dependency sorting is updated */
+ snode->edittree->update |= NTREE_UPDATE_LINKS;
}
ntreeUpdateTree(snode->edittree);
snode_update(snode, node);
@@ -2399,6 +2752,7 @@ static int node_link_modal(bContext *C, wmOperator *op, wmEvent *event)
SpaceNode *snode= CTX_wm_space_node(C);
ARegion *ar= CTX_wm_region(C);
bNodeLinkDrag *nldrag= op->customdata;
+ bNodeTree *ntree = snode->edittree;
bNode *tnode;
bNodeSocket *tsock= NULL;
bNodeLink *link;
@@ -2429,12 +2783,12 @@ static int node_link_modal(bContext *C, wmOperator *op, wmEvent *event)
link->tonode = tnode;
link->tosock = tsock;
/* add it to the node tree temporarily */
- if (link->prev==NULL && link->next==NULL)
- BLI_addtail(&snode->edittree->links, link);
+ if (BLI_findindex(&ntree->links, link) < 0)
+ BLI_addtail(&ntree->links, link);
- snode->edittree->update |= NTREE_UPDATE_LINKS;
+ ntree->update |= NTREE_UPDATE_LINKS;
}
- ntreeUpdateTree(snode->edittree);
+ ntreeUpdateTree(ntree);
}
else {
int do_update = FALSE;
@@ -2442,17 +2796,17 @@ static int node_link_modal(bContext *C, wmOperator *op, wmEvent *event)
link = linkdata->data;
if (link->tonode || link->tosock) {
- BLI_remlink(&snode->edittree->links, link);
+ BLI_remlink(&ntree->links, link);
link->prev = link->next = NULL;
link->tonode= NULL;
link->tosock= NULL;
- snode->edittree->update |= NTREE_UPDATE_LINKS;
+ ntree->update |= NTREE_UPDATE_LINKS;
do_update = TRUE;
}
}
if (do_update) {
- ntreeUpdateTree(snode->edittree);
+ ntreeUpdateTree(ntree);
}
}
}
@@ -2472,12 +2826,12 @@ static int node_link_modal(bContext *C, wmOperator *op, wmEvent *event)
link->fromnode = tnode;
link->fromsock = tsock;
/* add it to the node tree temporarily */
- if (link->prev==NULL && link->next==NULL)
- BLI_addtail(&snode->edittree->links, link);
+ if (BLI_findindex(&ntree->links, link) < 0)
+ BLI_addtail(&ntree->links, link);
- snode->edittree->update |= NTREE_UPDATE_LINKS;
+ ntree->update |= NTREE_UPDATE_LINKS;
}
- ntreeUpdateTree(snode->edittree);
+ ntreeUpdateTree(ntree);
}
else {
int do_update = FALSE;
@@ -2485,17 +2839,17 @@ static int node_link_modal(bContext *C, wmOperator *op, wmEvent *event)
link = linkdata->data;
if (link->fromnode || link->fromsock) {
- BLI_remlink(&snode->edittree->links, link);
+ BLI_remlink(&ntree->links, link);
link->prev = link->next = NULL;
link->fromnode= NULL;
link->fromsock= NULL;
- snode->edittree->update |= NTREE_UPDATE_LINKS;
+ ntree->update |= NTREE_UPDATE_LINKS;
do_update = TRUE;
}
}
if (do_update) {
- ntreeUpdateTree(snode->edittree);
+ ntreeUpdateTree(ntree);
}
}
}
@@ -2528,27 +2882,27 @@ static int node_link_modal(bContext *C, wmOperator *op, wmEvent *event)
else if (outside_group_rect(snode) && (link->tonode || link->fromnode)) {
/* automatically add new group socket */
if (link->tonode && link->tosock) {
- link->fromsock = node_group_expose_socket(snode->edittree, link->tosock, SOCK_IN);
+ link->fromsock = node_group_expose_socket(ntree, link->tosock, SOCK_IN);
link->fromnode = NULL;
- if (link->prev==NULL && link->next==NULL)
- BLI_addtail(&snode->edittree->links, link);
+ if (BLI_findindex(&ntree->links, link) < 0)
+ BLI_addtail(&ntree->links, link);
- snode->edittree->update |= NTREE_UPDATE_GROUP_IN | NTREE_UPDATE_LINKS;
+ ntree->update |= NTREE_UPDATE_GROUP_IN | NTREE_UPDATE_LINKS;
}
else if (link->fromnode && link->fromsock) {
- link->tosock = node_group_expose_socket(snode->edittree, link->fromsock, SOCK_OUT);
+ link->tosock = node_group_expose_socket(ntree, link->fromsock, SOCK_OUT);
link->tonode = NULL;
- if (link->prev==NULL && link->next==NULL)
- BLI_addtail(&snode->edittree->links, link);
+ if (BLI_findindex(&ntree->links, link) < 0)
+ BLI_addtail(&ntree->links, link);
- snode->edittree->update |= NTREE_UPDATE_GROUP_OUT | NTREE_UPDATE_LINKS;
+ ntree->update |= NTREE_UPDATE_GROUP_OUT | NTREE_UPDATE_LINKS;
}
}
else
- nodeRemLink(snode->edittree, link);
+ nodeRemLink(ntree, link);
}
- ntreeUpdateTree(snode->edittree);
+ ntreeUpdateTree(ntree);
snode_notify(C, snode);
snode_dag_update(C, snode);
@@ -2589,6 +2943,7 @@ static bNodeLinkDrag *node_link_init(SpaceNode *snode, int detach)
linkdata = MEM_callocN(sizeof(LinkData), "drag link op link data");
linkdata->data = oplink = MEM_callocN(sizeof(bNodeLink), "drag link op link");
*oplink = *link;
+ oplink->next = oplink->prev = NULL;
BLI_addtail(&nldrag->links, linkdata);
nodeRemLink(snode->edittree, link);
}
@@ -2620,6 +2975,7 @@ static bNodeLinkDrag *node_link_init(SpaceNode *snode, int detach)
linkdata = MEM_callocN(sizeof(LinkData), "drag link op link data");
linkdata->data = oplink = MEM_callocN(sizeof(bNodeLink), "drag link op link");
*oplink = *link;
+ oplink->next = oplink->prev = NULL;
BLI_addtail(&nldrag->links, linkdata);
nodeRemLink(snode->edittree, link);
@@ -2744,14 +3100,110 @@ void NODE_OT_link_make(wmOperatorType *ot)
RNA_def_boolean(ot->srna, "replace", 0, "Replace", "Replace socket connections with the new links");
}
-/* ********************** Cut Link operator ***************** */
-
+/* ********************** Add reroute operator ***************** */
#define LINK_RESOL 12
+static int add_reroute_intersect_check(bNodeLink *link, float mcoords[][2], int tot, float result[2])
+{
+ float coord_array[LINK_RESOL+1][2];
+ int i, b;
+
+ if (node_link_bezier_points(NULL, NULL, link, coord_array, LINK_RESOL)) {
+
+ for (i=0; i<tot-1; i++)
+ for (b=0; b<LINK_RESOL; b++)
+ if (isect_line_line_v2(mcoords[i], mcoords[i+1], coord_array[b], coord_array[b+1]) > 0) {
+ result[0] = (mcoords[i][0]+mcoords[i+1][0])/2.0f;
+ result[1] = (mcoords[i][1]+mcoords[i+1][1])/2.0f;
+ return 1;
+ }
+ }
+ return 0;
+}
+
+static int add_reroute_exec(bContext *C, wmOperator *op)
+{
+ SpaceNode *snode= CTX_wm_space_node(C);
+ ARegion *ar= CTX_wm_region(C);
+ float mcoords[256][2];
+ int i= 0;
+
+ RNA_BEGIN(op->ptr, itemptr, "path") {
+ float loc[2];
+
+ RNA_float_get_array(&itemptr, "loc", loc);
+ UI_view2d_region_to_view(&ar->v2d, (short)loc[0], (short)loc[1],
+ &mcoords[i][0], &mcoords[i][1]);
+ i++;
+ if (i>= 256) break;
+ }
+ RNA_END;
+
+ if (i>1) {
+ bNodeLink *link;
+ float insertPoint[2];
+
+ ED_preview_kill_jobs(C);
+
+ for (link= snode->edittree->links.first; link; link=link->next) {
+ if (add_reroute_intersect_check(link, mcoords, i, insertPoint)) {
+ bNodeTemplate ntemp;
+ bNode *rerouteNode;
+
+ node_deselect_all(snode);
+
+ ntemp.type = NODE_REROUTE;
+ rerouteNode = nodeAddNode(snode->edittree, &ntemp);
+ rerouteNode->locx = insertPoint[0];
+ rerouteNode->locy = insertPoint[1];
+
+ nodeAddLink(snode->edittree, link->fromnode, link->fromsock, rerouteNode, rerouteNode->inputs.first);
+ link->fromnode = rerouteNode;
+ link->fromsock = rerouteNode->outputs.first;
+
+ break; // add one reroute at the time.
+ }
+ }
+
+ ntreeUpdateTree(snode->edittree);
+ snode_notify(C, snode);
+ snode_dag_update(C, snode);
+
+ return OPERATOR_FINISHED;
+ }
+
+ return OPERATOR_CANCELLED|OPERATOR_PASS_THROUGH;
+}
+
+void NODE_OT_add_reroute(wmOperatorType *ot)
+{
+ PropertyRNA *prop;
+
+ ot->name= "Add reroute";
+ ot->idname= "NODE_OT_add_reroute";
+
+ ot->invoke= WM_gesture_lines_invoke;
+ ot->modal= WM_gesture_lines_modal;
+ ot->exec= add_reroute_exec;
+ ot->cancel= WM_gesture_lines_cancel;
+
+ ot->poll= ED_operator_node_active;
+
+ /* flags */
+ ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+
+ prop= RNA_def_property(ot->srna, "path", PROP_COLLECTION, PROP_NONE);
+ RNA_def_property_struct_runtime(prop, &RNA_OperatorMousePath);
+ /* internal */
+ RNA_def_int(ot->srna, "cursor", BC_CROSSCURSOR, 0, INT_MAX, "Cursor", "", 0, INT_MAX);
+}
+
+
+/* ********************** Cut Link operator ***************** */
static int cut_links_intersect(bNodeLink *link, float mcoords[][2], int tot)
{
float coord_array[LINK_RESOL+1][2];
int i, b;
-
+
if (node_link_bezier_points(NULL, NULL, link, coord_array, LINK_RESOL)) {
for (i=0; i<tot-1; i++)
@@ -3148,10 +3600,219 @@ void NODE_OT_render_changed(wmOperatorType *ot)
/* ****************** Make Group operator ******************* */
+static int node_group_make_test(bNodeTree *ntree, bNode *gnode)
+{
+ bNode *node;
+ bNodeLink *link;
+ int totnode = 0;
+
+ /* is there something to group? also do some clearing */
+ for (node= ntree->nodes.first; node; node= node->next) {
+ if (node == gnode)
+ continue;
+
+ if (node->flag & NODE_SELECT) {
+ /* no groups in groups */
+ if (node->type==NODE_GROUP)
+ return 0;
+ totnode++;
+ }
+
+ node->done = 0;
+ }
+ if (totnode==0) return 0;
+
+ /* check if all connections are OK, no unselected node has both
+ * inputs and outputs to a selection */
+ for (link= ntree->links.first; link; link= link->next) {
+ if (link->fromnode && link->tonode && link->fromnode->flag & NODE_SELECT && link->fromnode != gnode)
+ link->tonode->done |= 1;
+ if (link->fromnode && link->tonode && link->tonode->flag & NODE_SELECT && link->tonode != gnode)
+ link->fromnode->done |= 2;
+ }
+
+ for (node= ntree->nodes.first; node; node= node->next) {
+ if (node == gnode)
+ continue;
+ if ((node->flag & NODE_SELECT)==0)
+ if (node->done==3)
+ break;
+ }
+ if (node)
+ return 0;
+
+ return 1;
+}
+
+static void node_get_selected_minmax(bNodeTree *ntree, bNode *gnode, float *min, float *max)
+{
+ bNode *node;
+ INIT_MINMAX2(min, max);
+ for (node= ntree->nodes.first; node; node= node->next) {
+ if (node == gnode)
+ continue;
+ if (node->flag & NODE_SELECT) {
+ DO_MINMAX2((&node->locx), min, max);
+ }
+ }
+}
+
+static int node_group_make_insert_selected(bNodeTree *ntree, bNode *gnode)
+{
+ bNodeTree *ngroup = (bNodeTree *)gnode->id;
+ bNodeLink *link, *linkn;
+ bNode *node, *nextn;
+ bNodeSocket *gsock;
+ ListBase anim_basepaths = {NULL, NULL};
+ float min[2], max[2];
+
+ /* deselect all nodes in the target tree */
+ for (node = ngroup->nodes.first; node; node=node->next)
+ node_deselect(node);
+
+ node_get_selected_minmax(ntree, gnode, min, max);
+
+ /* move nodes over */
+ for (node= ntree->nodes.first; node; node= nextn) {
+ nextn= node->next;
+ if (node == gnode)
+ continue;
+ if (node->flag & NODE_SELECT) {
+ /* keep track of this node's RNA "base" path (the part of the pat identifying the node)
+ * if the old nodetree has animation data which potentially covers this node
+ */
+ if (ntree->adt) {
+ PointerRNA ptr;
+ char *path;
+
+ RNA_pointer_create(&ntree->id, &RNA_Node, node, &ptr);
+ path = RNA_path_from_ID_to_struct(&ptr);
+
+ if (path)
+ BLI_addtail(&anim_basepaths, BLI_genericNodeN(path));
+ }
+
+ /* ensure valid parent pointers, detach if parent stays outside the group */
+ if (node->parent && !(node->parent->flag & NODE_SELECT))
+ nodeDetachNode(node);
+
+ /* change node-collection membership */
+ BLI_remlink(&ntree->nodes, node);
+ BLI_addtail(&ngroup->nodes, node);
+
+ node->locx-= 0.5f*(min[0]+max[0]);
+ node->locy-= 0.5f*(min[1]+max[1]);
+ }
+ }
+
+ /* move animation data over */
+ if (ntree->adt) {
+ LinkData *ld, *ldn=NULL;
+
+ BKE_animdata_separate_by_basepath(&ntree->id, &ngroup->id, &anim_basepaths);
+
+ /* paths + their wrappers need to be freed */
+ for (ld = anim_basepaths.first; ld; ld = ldn) {
+ ldn = ld->next;
+
+ MEM_freeN(ld->data);
+ BLI_freelinkN(&anim_basepaths, ld);
+ }
+ }
+
+ /* node groups don't use internal cached data */
+ ntreeFreeCache(ngroup);
+
+ /* relink external sockets */
+ for (link= ntree->links.first; link; link= linkn) {
+ int fromselect = (link->fromnode && (link->fromnode->flag & NODE_SELECT) && link->fromnode != gnode);
+ int toselect = (link->tonode && (link->tonode->flag & NODE_SELECT) && link->tonode != gnode);
+ linkn= link->next;
+
+ if (gnode && ((fromselect && link->tonode == gnode) || (toselect && link->fromnode == gnode))) {
+ /* remove all links to/from the gnode.
+ * this can remove link information, but there's no general way to preserve it.
+ */
+ nodeRemLink(ntree, link);
+ }
+ else if (fromselect && toselect) {
+ BLI_remlink(&ntree->links, link);
+ BLI_addtail(&ngroup->links, link);
+ }
+ else if (toselect) {
+ gsock = node_group_expose_socket(ngroup, link->tosock, SOCK_IN);
+ link->tosock->link = nodeAddLink(ngroup, NULL, gsock, link->tonode, link->tosock);
+ link->tosock = node_group_add_extern_socket(ntree, &gnode->inputs, SOCK_IN, gsock);
+ link->tonode = gnode;
+ }
+ else if (fromselect) {
+ /* search for existing group node socket */
+ for (gsock=ngroup->outputs.first; gsock; gsock=gsock->next)
+ if (gsock->link && gsock->link->fromsock==link->fromsock)
+ break;
+ if (!gsock) {
+ gsock = node_group_expose_socket(ngroup, link->fromsock, SOCK_OUT);
+ gsock->link = nodeAddLink(ngroup, link->fromnode, link->fromsock, NULL, gsock);
+ link->fromsock = node_group_add_extern_socket(ntree, &gnode->outputs, SOCK_OUT, gsock);
+ }
+ else
+ link->fromsock = node_group_find_output(gnode, gsock);
+ link->fromnode = gnode;
+ }
+ }
+
+ /* update of the group tree */
+ ngroup->update |= NTREE_UPDATE;
+ /* update of the tree containing the group instance node */
+ ntree->update |= NTREE_UPDATE_NODES | NTREE_UPDATE_LINKS;
+
+ return 1;
+}
+
+static bNode *node_group_make_from_selected(bNodeTree *ntree)
+{
+ bNode *gnode;
+ bNodeTree *ngroup;
+ float min[2], max[2];
+ bNodeTemplate ntemp;
+
+ node_get_selected_minmax(ntree, NULL, min, max);
+
+ /* new nodetree */
+ ngroup= ntreeAddTree("NodeGroup", ntree->type, NODE_GROUP);
+
+ /* make group node */
+ ntemp.type = NODE_GROUP;
+ ntemp.ngroup = ngroup;
+ gnode= nodeAddNode(ntree, &ntemp);
+ gnode->locx= 0.5f*(min[0]+max[0]);
+ gnode->locy= 0.5f*(min[1]+max[1]);
+
+ node_group_make_insert_selected(ntree, gnode);
+
+ /* update of the tree containing the group instance node */
+ ntree->update |= NTREE_UPDATE_NODES;
+
+ return gnode;
+}
+
+typedef enum eNodeGroupMakeType {
+ NODE_GM_NEW,
+ NODE_GM_INSERT
+} eNodeGroupMakeType;
+
+/* Operator Property */
+EnumPropertyItem node_group_make_types[] = {
+ {NODE_GM_NEW, "NEW", 0, "New", "Create a new node group from selected nodes"},
+ {NODE_GM_INSERT, "INSERT", 0, "Insert", "Insert into active node group"},
+ {0, NULL, 0, NULL, NULL}
+};
+
static int node_group_make_exec(bContext *C, wmOperator *op)
{
SpaceNode *snode = CTX_wm_space_node(C);
bNode *gnode;
+ int type = RNA_enum_get(op->ptr, "type");
if (snode->edittree!=snode->nodetree) {
BKE_report(op->reports, RPT_WARNING, "Can not add a new Group in a Group");
@@ -3171,25 +3832,70 @@ static int node_group_make_exec(bContext *C, wmOperator *op)
return OPERATOR_CANCELLED;
}
}
-
- ED_preview_kill_jobs(C);
- gnode= node_group_make_from_selected(snode->nodetree);
- if (gnode==NULL) {
- BKE_report(op->reports, RPT_WARNING, "Can not make Group");
- return OPERATOR_CANCELLED;
+ ED_preview_kill_jobs(C);
+
+ switch (type) {
+ case NODE_GM_NEW:
+ if (node_group_make_test(snode->nodetree, NULL)) {
+ gnode = node_group_make_from_selected(snode->nodetree);
+ }
+ else {
+ BKE_report(op->reports, RPT_WARNING, "Can not make Group");
+ return OPERATOR_CANCELLED;
+ }
+ break;
+ case NODE_GM_INSERT:
+ gnode = nodeGetActive(snode->nodetree);
+ if (!gnode || gnode->type != NODE_GROUP) {
+ BKE_report(op->reports, RPT_WARNING, "No active Group node");
+ return OPERATOR_CANCELLED;
+ }
+ if (node_group_make_test(snode->nodetree, gnode)) {
+ node_group_make_insert_selected(snode->nodetree, gnode);
+ }
+ else {
+ BKE_report(op->reports, RPT_WARNING, "Can not insert into Group");
+ return OPERATOR_CANCELLED;
+ }
+ break;
}
- else {
+
+ if (gnode) {
nodeSetActive(snode->nodetree, gnode);
- ntreeUpdateTree(snode->nodetree);
+ snode_make_group_editable(snode, gnode);
}
+ if (gnode)
+ ntreeUpdateTree((bNodeTree *)gnode->id);
+ ntreeUpdateTree(snode->nodetree);
+
snode_notify(C, snode);
snode_dag_update(C, snode);
return OPERATOR_FINISHED;
}
+static int node_group_make_invoke(bContext *C, wmOperator *UNUSED(op), wmEvent *UNUSED(event))
+{
+ SpaceNode *snode = CTX_wm_space_node(C);
+ bNode *act = nodeGetActive(snode->edittree);
+ uiPopupMenu *pup = uiPupMenuBegin(C, "Make Group", ICON_NONE);
+ uiLayout *layout = uiPupMenuLayout(pup);
+
+ uiLayoutSetOperatorContext(layout, WM_OP_EXEC_DEFAULT);
+ uiItemEnumO(layout, "NODE_OT_group_make", NULL, 0, "type", NODE_GM_NEW);
+
+ /* if active node is a group, add insert option */
+ if (act && act->type == NODE_GROUP) {
+ uiItemEnumO(layout, "NODE_OT_group_make", NULL, 0, "type", NODE_GM_INSERT);
+ }
+
+ uiPupMenuEnd(C, pup);
+
+ return OPERATOR_CANCELLED;
+}
+
void NODE_OT_group_make(wmOperatorType *ot)
{
/* identifiers */
@@ -3198,11 +3904,14 @@ void NODE_OT_group_make(wmOperatorType *ot)
ot->idname = "NODE_OT_group_make";
/* api callbacks */
+ ot->invoke = node_group_make_invoke;
ot->exec = node_group_make_exec;
ot->poll = ED_operator_node_active;
/* flags */
ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO;
+
+ RNA_def_enum(ot->srna, "type", node_group_make_types, NODE_GM_NEW, "Type", "");
}
/* ****************** Hide operator *********************** */
@@ -4055,7 +4764,7 @@ void NODE_OT_join(wmOperatorType *ot)
{
/* identifiers */
ot->name = "Join Nodes";
- ot->description = "Attaches selected nodes to a new common frame";
+ ot->description = "Attach selected nodes to a new common frame";
ot->idname = "NODE_OT_join";
/* api callbacks */
@@ -4125,7 +4834,7 @@ void NODE_OT_attach(wmOperatorType *ot)
{
/* identifiers */
ot->name = "Attach Nodes";
- ot->description = "Attaches active node to a frame";
+ ot->description = "Attach active node to a frame";
ot->idname = "NODE_OT_attach";
/* api callbacks */
@@ -4194,7 +4903,7 @@ void NODE_OT_detach(wmOperatorType *ot)
{
/* identifiers */
ot->name = "Detach Nodes";
- ot->description = "Detaches selected nodes from parents";
+ ot->description = "Detach selected nodes from parents";
ot->idname = "NODE_OT_detach";
/* api callbacks */
diff --git a/source/blender/editors/space_node/node_header.c b/source/blender/editors/space_node/node_header.c
index bb52c1570aa..0d03df2298f 100644
--- a/source/blender/editors/space_node/node_header.c
+++ b/source/blender/editors/space_node/node_header.c
@@ -157,22 +157,6 @@ static void do_node_add_group(bContext *C, void *UNUSED(arg), int event)
do_node_add(C, &ntemp);
}
-#if 0 /* disabled */
-static void do_node_add_dynamic(bContext *C, void *UNUSED(arg), int event)
-{
- Main *bmain = CTX_data_main(C);
- Scene *scene = CTX_data_scene(C);
- bNodeTemplate ntemp;
-
- ntemp.type = NODE_DYNAMIC;
-
- ntemp.main = bmain;
- ntemp.scene = scene;
-
- do_node_add(C, &ntemp);
-}
-#endif
-
static int node_tree_has_type(int treetype, int nodetype)
{
bNodeTreeType *ttype= ntreeGetType(treetype);
@@ -228,9 +212,6 @@ static void node_add_menu(bContext *C, uiLayout *layout, void *arg_nodeclass)
}
}
}
- else if (nodeclass==NODE_DYNAMIC) {
- /* disabled */
- }
else {
bNodeType *ntype;
diff --git a/source/blender/editors/space_node/node_intern.h b/source/blender/editors/space_node/node_intern.h
index 60177192e2a..d9dbd646fa5 100644
--- a/source/blender/editors/space_node/node_intern.h
+++ b/source/blender/editors/space_node/node_intern.h
@@ -50,8 +50,7 @@ struct bNodeLink;
struct Main;
/* temp data to pass on to modal */
-typedef struct bNodeLinkDrag
-{
+typedef struct bNodeLinkDrag {
struct bNodeLinkDrag *next, *prev;
/* List of links dragged by the operator.
@@ -70,11 +69,13 @@ void node_menus_register(void);
/* node_draw.c */
int node_get_colorid(struct bNode *node);
-void node_socket_circle_draw(struct bNodeTree *ntree, struct bNodeSocket *sock, float size);
+void node_socket_circle_draw(struct bNodeTree *ntree, struct bNodeSocket *sock, float size, int highlight);
int node_get_resize_cursor(int directions);
-void node_draw_shadow(struct SpaceNode *snode, struct bNode *node, float radius);
+void node_draw_shadow(struct SpaceNode *snode, struct bNode *node, float radius, float alpha);
void node_draw_default(const struct bContext *C, struct ARegion *ar, struct SpaceNode *snode, struct bNodeTree *ntree, struct bNode *node);
void node_update_default(const struct bContext *C, struct bNodeTree *ntree, struct bNode *node);
+int node_select_area_default(struct bNode *node, int x, int y);
+int node_tweak_area_default(struct bNode *node, int x, int y);
void node_update_nodetree(const struct bContext *C, struct bNodeTree *ntree, float offsetx, float offsety);
void node_draw_nodetree(const struct bContext *C, struct ARegion *ar, struct SpaceNode *snode, struct bNodeTree *ntree);
void drawnodespace(const bContext *C, ARegion *ar, View2D *v2d);
@@ -144,9 +145,11 @@ void NODE_OT_link(struct wmOperatorType *ot);
void NODE_OT_link_make(struct wmOperatorType *ot);
void NODE_OT_links_cut(struct wmOperatorType *ot);
void NODE_OT_links_detach(struct wmOperatorType *ot);
+void NODE_OT_add_reroute(struct wmOperatorType *ot);
void NODE_OT_group_make(struct wmOperatorType *ot);
void NODE_OT_group_ungroup(struct wmOperatorType *ot);
+void NODE_OT_group_separate(struct wmOperatorType *ot);
void NODE_OT_group_edit(struct wmOperatorType *ot);
void NODE_OT_group_socket_add(struct wmOperatorType *ot);
void NODE_OT_group_socket_remove(struct wmOperatorType *ot);
diff --git a/source/blender/editors/space_node/node_ops.c b/source/blender/editors/space_node/node_ops.c
index 781a14fca59..ff1661f0327 100644
--- a/source/blender/editors/space_node/node_ops.c
+++ b/source/blender/editors/space_node/node_ops.c
@@ -79,9 +79,11 @@ void node_operatortypes(void)
WM_operatortype_append(NODE_OT_link_make);
WM_operatortype_append(NODE_OT_links_cut);
WM_operatortype_append(NODE_OT_links_detach);
+ WM_operatortype_append(NODE_OT_add_reroute);
WM_operatortype_append(NODE_OT_group_make);
WM_operatortype_append(NODE_OT_group_ungroup);
+ WM_operatortype_append(NODE_OT_group_separate);
WM_operatortype_append(NODE_OT_group_edit);
WM_operatortype_append(NODE_OT_group_socket_add);
WM_operatortype_append(NODE_OT_group_socket_remove);
@@ -218,6 +220,7 @@ void node_keymap(struct wmKeyConfig *keyconf)
RNA_boolean_set(kmi->ptr, "detach", TRUE);
WM_keymap_add_item(keymap, "NODE_OT_resize", LEFTMOUSE, KM_PRESS, 0, 0);
+ WM_keymap_add_item(keymap, "NODE_OT_add_reroute", LEFTMOUSE, KM_PRESS, KM_SHIFT, 0);
WM_keymap_add_item(keymap, "NODE_OT_links_cut", LEFTMOUSE, KM_PRESS, KM_CTRL, 0);
WM_keymap_add_item(keymap, "NODE_OT_select_link_viewer", LEFTMOUSE, KM_PRESS, KM_SHIFT|KM_CTRL, 0);
@@ -267,6 +270,7 @@ void node_keymap(struct wmKeyConfig *keyconf)
WM_keymap_add_item(keymap, "NODE_OT_group_make", GKEY, KM_PRESS, KM_CTRL, 0);
WM_keymap_add_item(keymap, "NODE_OT_group_ungroup", GKEY, KM_PRESS, KM_ALT, 0);
+ WM_keymap_add_item(keymap, "NODE_OT_group_separate", PKEY, KM_PRESS, 0, 0);
WM_keymap_add_item(keymap, "NODE_OT_group_edit", TABKEY, KM_PRESS, 0, 0);
WM_keymap_add_item(keymap, "NODE_OT_read_renderlayers", RKEY, KM_PRESS, KM_CTRL, 0);
diff --git a/source/blender/editors/space_node/node_select.c b/source/blender/editors/space_node/node_select.c
index 9098c8a4255..e7be750928d 100644
--- a/source/blender/editors/space_node/node_select.c
+++ b/source/blender/editors/space_node/node_select.c
@@ -38,6 +38,7 @@
#include "BKE_context.h"
#include "BKE_main.h"
+#include "BKE_node.h"
#include "BLI_rect.h"
#include "BLI_utildefines.h"
@@ -58,14 +59,28 @@
/* ****** helpers ****** */
-static bNode *node_under_mouse(bNodeTree *ntree, int mx, int my)
+static bNode *node_under_mouse_select(bNodeTree *ntree, int mx, int my)
{
bNode *node;
for (node=ntree->nodes.last; node; node=node->prev) {
- /* node body (header and scale are in other operators) */
- if (BLI_in_rctf(&node->totr, mx, my))
- return node;
+ if (node->typeinfo->select_area_func) {
+ if (node->typeinfo->select_area_func(node, mx, my))
+ return node;
+ }
+ }
+ return NULL;
+}
+
+static bNode *node_under_mouse_tweak(bNodeTree *ntree, int mx, int my)
+{
+ bNode *node;
+
+ for (node=ntree->nodes.last; node; node=node->prev) {
+ if (node->typeinfo->tweak_area_func) {
+ if (node->typeinfo->tweak_area_func(node, mx, my))
+ return node;
+ }
}
return NULL;
}
@@ -350,7 +365,7 @@ static int node_mouse_select(Main *bmain, SpaceNode *snode, ARegion *ar, const i
}
else {
/* find the closest visible node */
- node = node_under_mouse(snode->edittree, mx, my);
+ node = node_under_mouse_select(snode->edittree, mx, my);
if (node) {
node_toggle(node);
@@ -363,7 +378,7 @@ static int node_mouse_select(Main *bmain, SpaceNode *snode, ARegion *ar, const i
else { /* extend==0 */
/* find the closest visible node */
- node = node_under_mouse(snode->edittree, mx, my);
+ node = node_under_mouse_select(snode->edittree, mx, my);
if (node) {
for (tnode=snode->edittree->nodes.first; tnode; tnode=tnode->next)
@@ -490,7 +505,7 @@ static int node_border_select_invoke(bContext *C, wmOperator *op, wmEvent *event
UI_view2d_region_to_view(&ar->v2d, event->mval[0], event->mval[1], &mx, &my);
- if (node_under_mouse(snode->edittree, mx, my))
+ if (node_under_mouse_tweak(snode->edittree, mx, my))
return OPERATOR_CANCELLED|OPERATOR_PASS_THROUGH;
}
diff --git a/source/blender/editors/space_node/node_templates.c b/source/blender/editors/space_node/node_templates.c
index ee3827428bc..97e64c4acdf 100644
--- a/source/blender/editors/space_node/node_templates.c
+++ b/source/blender/editors/space_node/node_templates.c
@@ -483,7 +483,7 @@ static void ui_template_node_link_menu(bContext *C, uiLayout *layout, void *but_
uiBlockSetCurLayout(block, column);
if (sock->link) {
- uiItemL(column, "Link", ICON_NONE);
+ uiItemL(column, IFACE_("Link"), ICON_NONE);
but= block->buttons.last;
but->flag= UI_TEXT_LEFT;
diff --git a/source/blender/editors/space_node/space_node.c b/source/blender/editors/space_node/space_node.c
index 4d5964c72e5..e069ba2a5fc 100644
--- a/source/blender/editors/space_node/space_node.c
+++ b/source/blender/editors/space_node/space_node.c
@@ -226,11 +226,6 @@ static void node_area_listener(ScrArea *sa, wmNotifier *wmn)
ED_area_tag_refresh(sa);
}
break;
- case NC_TEXT:
- /* pynodes */
- if (wmn->data==ND_SHADING)
- ED_area_tag_refresh(sa);
- break;
case NC_SPACE:
if (wmn->data==ND_SPACE_NODE)
ED_area_tag_refresh(sa);
@@ -250,6 +245,13 @@ static void node_area_listener(ScrArea *sa, wmNotifier *wmn)
break;
}
break;
+ case NC_MASK:
+ if (wmn->action == NA_EDITED) {
+ if (type==NTREE_COMPOSIT) {
+ ED_area_tag_refresh(sa);
+ }
+ }
+ break;
case NC_IMAGE:
if (wmn->action == NA_EDITED) {
@@ -466,7 +468,7 @@ static void node_region_listener(ARegion *ar, wmNotifier *wmn)
}
}
-const char *node_context_dir[] = {"selected_nodes", NULL};
+const char *node_context_dir[] = {"selected_nodes", "active_node", NULL};
static int node_context(const bContext *C, const char *member, bContextDataResult *result)
{
@@ -490,16 +492,11 @@ static int node_context(const bContext *C, const char *member, bContextDataResul
return 1;
}
else if (CTX_data_equals(member, "active_node")) {
- bNode *node;
-
if (snode->edittree) {
- for (node=snode->edittree->nodes.last; node; node=node->prev) {
- if (node->flag & NODE_ACTIVE) {
- CTX_data_pointer_set(result, &snode->edittree->id, &RNA_Node, node);
- break;
- }
- }
+ bNode *node = nodeGetActive(snode->edittree);
+ CTX_data_pointer_set(result, &snode->edittree->id, &RNA_Node, node);
}
+
CTX_data_type_set(result, CTX_DATA_TYPE_POINTER);
return 1;
}
diff --git a/source/blender/editors/space_outliner/outliner_draw.c b/source/blender/editors/space_outliner/outliner_draw.c
index fddd7af93f1..f0ecaf3ab2c 100644
--- a/source/blender/editors/space_outliner/outliner_draw.c
+++ b/source/blender/editors/space_outliner/outliner_draw.c
@@ -69,6 +69,9 @@
#include "outliner_intern.h"
+/* disable - this is far too slow - campbell */
+// #define USE_GROUP_SELECT
+
/* ****************************************************** */
/* Tree Size Functions */
@@ -207,6 +210,7 @@ static int group_restrict_flag(Group *gr, int flag)
return 1;
}
+#ifdef USE_GROUP_SELECT
static int group_select_flag(Group *gr)
{
GroupObject *gob;
@@ -217,6 +221,7 @@ static int group_select_flag(Group *gr)
return 0;
}
+#endif
void restrictbutton_gr_restrict_flag(void *poin, void *poin2, int flag)
{
@@ -300,7 +305,8 @@ static void namebutton_cb(bContext *C, void *tsep, char *oldname)
BLI_strncpy(expanded, lib->name, sizeof(expanded));
BLI_path_abs(expanded, G.main->name);
if (!BLI_exists(expanded)) {
- BKE_reportf(CTX_wm_reports(C), RPT_ERROR, "Library path '%s' does not exist, correct this before saving", expanded);
+ BKE_reportf(CTX_wm_reports(C), RPT_ERROR,
+ "Library path '%s' does not exist, correct this before saving", expanded);
}
}
}
@@ -421,16 +427,26 @@ static void outliner_draw_restrictbuts(uiBlock *block, Scene *scene, ARegion *ar
gr = (Group *)tselem->id;
uiBlockSetEmboss(block, UI_EMBOSSN);
-
+
+#ifndef USE_GROUP_SELECT
+ restrict_bool = FALSE;
+#endif
+
+#ifdef USE_GROUP_SELECT
restrict_bool = group_restrict_flag(gr, OB_RESTRICT_VIEW);
+#endif
bt = uiDefIconBut(block, ICONTOG, 0, restrict_bool ? ICON_RESTRICT_VIEW_ON : ICON_RESTRICT_VIEW_OFF, (int)ar->v2d.cur.xmax - OL_TOG_RESTRICT_VIEWX, (int)te->ys, UI_UNIT_X - 1, UI_UNIT_Y - 1, NULL, 0, 0, 0, 0, "Restrict/Allow visibility in the 3D View");
uiButSetFunc(bt, restrictbutton_gr_restrict_view, scene, gr);
+#ifdef USE_GROUP_SELECT
restrict_bool = group_restrict_flag(gr, OB_RESTRICT_SELECT);
+#endif
bt = uiDefIconBut(block, ICONTOG, 0, restrict_bool ? ICON_RESTRICT_SELECT_ON : ICON_RESTRICT_SELECT_OFF, (int)ar->v2d.cur.xmax - OL_TOG_RESTRICT_SELECTX, (int)te->ys, UI_UNIT_X - 1, UI_UNIT_Y - 1, NULL, 0, 0, 0, 0, "Restrict/Allow selection in the 3D View");
uiButSetFunc(bt, restrictbutton_gr_restrict_select, scene, gr);
-
+
+#ifdef USE_GROUP_SELECT
restrict_bool = group_restrict_flag(gr, OB_RESTRICT_RENDER);
+#endif
bt = uiDefIconBut(block, ICONTOG, 0, restrict_bool ? ICON_RESTRICT_RENDER_ON : ICON_RESTRICT_RENDER_OFF, (int)ar->v2d.cur.xmax - OL_TOG_RESTRICT_RENDERX, (int)te->ys, UI_UNIT_X - 1, UI_UNIT_Y - 1, NULL, 0, 0, 0, 0, "Restrict/Allow renderability");
uiButSetFunc(bt, restrictbutton_gr_restrict_render, scene, gr);
@@ -570,7 +586,8 @@ static void operator_call_cb(struct bContext *UNUSED(C), void *arg_kmi, void *ar
BLI_strncpy(kmi->idname, ot->idname, OP_MAX_TYPENAME);
}
-static void operator_search_cb(const struct bContext *UNUSED(C), void *UNUSED(arg_kmi), const char *str, uiSearchItems *items)
+static void operator_search_cb(const struct bContext *UNUSED(C), void *UNUSED(arg_kmi),
+ const char *str, uiSearchItems *items)
{
GHashIterator *iter = WM_operatortype_iter();
@@ -1038,17 +1055,17 @@ static void tselem_draw_icon(uiBlock *block, int xmax, float x, float y, TreeSto
case TSE_LINKED_MAT:
UI_icon_draw(x, y, ICON_MATERIAL_DATA); break;
case TSE_POSEGRP_BASE:
- UI_icon_draw(x, y, ICON_VERTEXSEL); break;
+ UI_icon_draw(x, y, ICON_GROUP_BONE); break;
case TSE_SEQUENCE:
- if (te->idcode == SEQ_MOVIE)
+ if (te->idcode == SEQ_TYPE_MOVIE)
UI_icon_draw(x, y, ICON_SEQUENCE);
- else if (te->idcode == SEQ_META)
+ else if (te->idcode == SEQ_TYPE_META)
UI_icon_draw(x, y, ICON_DOT);
- else if (te->idcode == SEQ_SCENE)
+ else if (te->idcode == SEQ_TYPE_SCENE)
UI_icon_draw(x, y, ICON_SCENE);
- else if (te->idcode == SEQ_SOUND)
+ else if (te->idcode == SEQ_TYPE_SOUND_RAM)
UI_icon_draw(x, y, ICON_SOUND);
- else if (te->idcode == SEQ_IMAGE)
+ else if (te->idcode == SEQ_TYPE_IMAGE)
UI_icon_draw(x, y, ICON_IMAGE_COL);
else
UI_icon_draw(x, y, ICON_PARTICLES);
@@ -1192,7 +1209,11 @@ static void outliner_draw_iconrow(bContext *C, uiBlock *block, Scene *scene, Spa
uiSetRoundBox(UI_CNR_ALL);
glColor4ub(255, 255, 255, 100);
- uiRoundBox((float) *offsx - 0.5f * ufac, (float)ys - 1.0f * ufac, (float)*offsx + UI_UNIT_Y - 3.0f * ufac, (float)ys + UI_UNIT_Y - 3.0f * ufac, UI_UNIT_Y / 2.0f - 2.0f * ufac);
+ uiRoundBox((float) *offsx - 0.5f * ufac,
+ (float)ys - 1.0f * ufac,
+ (float)*offsx + UI_UNIT_Y - 3.0f * ufac,
+ (float)ys + UI_UNIT_Y - 3.0f * ufac,
+ (float)UI_UNIT_Y / 2.0f - 2.0f * ufac);
glEnable(GL_BLEND); /* roundbox disables */
}
@@ -1268,8 +1289,8 @@ static void outliner_draw_tree_element(bContext *C, uiBlock *block, Scene *scene
}
}
else if (te->idcode == ID_GR) {
+#ifdef USE_GROUP_SELECT
Group *gr = (Group *)tselem->id;
-
if (group_select_flag(gr)) {
char col[4];
UI_GetThemeColorType4ubv(TH_SELECT, SPACE_VIEW3D, col);
@@ -1278,6 +1299,7 @@ static void outliner_draw_tree_element(bContext *C, uiBlock *block, Scene *scene
active = 2;
}
+#endif
}
else if (te->idcode == ID_OB) {
Object *ob = (Object *)tselem->id;
@@ -1324,7 +1346,11 @@ static void outliner_draw_tree_element(bContext *C, uiBlock *block, Scene *scene
/* active circle */
if (active) {
uiSetRoundBox(UI_CNR_ALL);
- uiRoundBox((float)startx + UI_UNIT_Y - 1.5f * ufac, (float)*starty + 2.0f * ufac, (float)startx + 2.0f * UI_UNIT_Y - 4.0f * ufac, (float)*starty + UI_UNIT_Y - 1.0f * ufac, UI_UNIT_Y / 2.0f - 2.0f * ufac);
+ uiRoundBox((float)startx + UI_UNIT_Y - 1.5f * ufac,
+ (float)*starty + 2.0f * ufac,
+ (float)startx + 2.0f * UI_UNIT_Y - 4.0f * ufac,
+ (float)*starty + UI_UNIT_Y - 1.0f * ufac,
+ UI_UNIT_Y / 2.0f - 2.0f * ufac);
glEnable(GL_BLEND); /* roundbox disables it */
te->flag |= TE_ACTIVE; // for lookup in display hierarchies
@@ -1549,7 +1575,10 @@ static void outliner_draw_restrictcols(ARegion *ar)
/* background underneath */
UI_ThemeColor(TH_BACK);
- glRecti((int)ar->v2d.cur.xmax - OL_TOGW, (int)ar->v2d.cur.ymin - V2D_SCROLL_HEIGHT - 1, (int)ar->v2d.cur.xmax + V2D_SCROLL_WIDTH, (int)ar->v2d.cur.ymax);
+ glRecti((int)ar->v2d.cur.xmax - OL_TOGW,
+ (int)ar->v2d.cur.ymin - V2D_SCROLL_HEIGHT - 1,
+ (int)ar->v2d.cur.xmax + V2D_SCROLL_WIDTH,
+ (int)ar->v2d.cur.ymax);
UI_ThemeColorShade(TH_BACK, 6);
ystart = (int)ar->v2d.tot.ymax;
diff --git a/source/blender/editors/space_outliner/outliner_edit.c b/source/blender/editors/space_outliner/outliner_edit.c
index 04e9cbf24c2..eb740e441b7 100644
--- a/source/blender/editors/space_outliner/outliner_edit.c
+++ b/source/blender/editors/space_outliner/outliner_edit.c
@@ -35,6 +35,7 @@
#include "DNA_group_types.h"
#include "DNA_scene_types.h"
#include "DNA_object_types.h"
+#include "DNA_material_types.h"
#include "BLI_blenlib.h"
#include "BLI_utildefines.h"
@@ -48,6 +49,7 @@
#include "BKE_main.h"
#include "BKE_report.h"
#include "BKE_scene.h"
+#include "BKE_material.h"
#include "ED_object.h"
#include "ED_screen.h"
@@ -205,7 +207,8 @@ static void do_item_rename(ARegion *ar, TreeElement *te, TreeStoreElem *tselem,
}
}
-void item_rename_cb(bContext *C, Scene *UNUSED(scene), TreeElement *te, TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
+void item_rename_cb(bContext *C, Scene *UNUSED(scene), TreeElement *te,
+ TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
{
ARegion *ar = CTX_wm_region(C);
ReportList *reports = CTX_wm_reports(C); // XXX
@@ -340,7 +343,8 @@ int common_restrict_check(bContext *C, Object *ob)
/* Toggle Visibility ---------------------------------------- */
-void object_toggle_visibility_cb(bContext *C, Scene *scene, TreeElement *te, TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
+void object_toggle_visibility_cb(bContext *C, Scene *scene, TreeElement *te,
+ TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
{
Base *base = (Base *)te->directdata;
Object *ob = (Object *)tselem->id;
@@ -355,7 +359,8 @@ void object_toggle_visibility_cb(bContext *C, Scene *scene, TreeElement *te, Tre
}
}
-void group_toggle_visibility_cb(bContext *UNUSED(C), Scene *scene, TreeElement *UNUSED(te), TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
+void group_toggle_visibility_cb(bContext *UNUSED(C), Scene *scene, TreeElement *UNUSED(te),
+ TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
{
Group *group = (Group *)tselem->id;
restrictbutton_gr_restrict_flag(scene, group, OB_RESTRICT_VIEW);
@@ -391,7 +396,8 @@ void OUTLINER_OT_visibility_toggle(wmOperatorType *ot)
/* Toggle Selectability ---------------------------------------- */
-void object_toggle_selectability_cb(bContext *UNUSED(C), Scene *scene, TreeElement *te, TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
+void object_toggle_selectability_cb(bContext *UNUSED(C), Scene *scene, TreeElement *te,
+ TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
{
Base *base = (Base *)te->directdata;
@@ -401,7 +407,8 @@ void object_toggle_selectability_cb(bContext *UNUSED(C), Scene *scene, TreeEleme
}
}
-void group_toggle_selectability_cb(bContext *UNUSED(C), Scene *scene, TreeElement *UNUSED(te), TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
+void group_toggle_selectability_cb(bContext *UNUSED(C), Scene *scene, TreeElement *UNUSED(te),
+ TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
{
Group *group = (Group *)tselem->id;
restrictbutton_gr_restrict_flag(scene, group, OB_RESTRICT_SELECT);
@@ -437,7 +444,8 @@ void OUTLINER_OT_selectability_toggle(wmOperatorType *ot)
/* Toggle Renderability ---------------------------------------- */
-void object_toggle_renderability_cb(bContext *UNUSED(C), Scene *scene, TreeElement *te, TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
+void object_toggle_renderability_cb(bContext *UNUSED(C), Scene *scene, TreeElement *te,
+ TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
{
Base *base = (Base *)te->directdata;
@@ -447,7 +455,8 @@ void object_toggle_renderability_cb(bContext *UNUSED(C), Scene *scene, TreeEleme
}
}
-void group_toggle_renderability_cb(bContext *UNUSED(C), Scene *scene, TreeElement *UNUSED(te), TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
+void group_toggle_renderability_cb(bContext *UNUSED(C), Scene *scene, TreeElement *UNUSED(te),
+ TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
{
Group *group = (Group *)tselem->id;
restrictbutton_gr_restrict_flag(scene, group, OB_RESTRICT_RENDER);
@@ -674,7 +683,8 @@ static void outliner_set_coordinates(ARegion *ar, SpaceOops *soops)
}
/* find next element that has this name */
-static TreeElement *outliner_find_name(SpaceOops *soops, ListBase *lb, char *name, int flags, TreeElement *prev, int *prevFound)
+static TreeElement *outliner_find_name(SpaceOops *soops, ListBase *lb, char *name, int flags,
+ TreeElement *prev, int *prevFound)
{
TreeElement *te, *tes;
@@ -961,7 +971,8 @@ static void tree_element_to_path(SpaceOops *soops, TreeElement *te, TreeStoreEle
BLI_addhead(&hierarchy, ld);
}
- /* step 2: step down hierarchy building the path (NOTE: addhead in previous loop was needed so that we can loop like this) */
+ /* step 2: step down hierarchy building the path
+ * (NOTE: addhead in previous loop was needed so that we can loop like this) */
for (ld = hierarchy.first; ld; ld = ld->next) {
/* get data */
tem = (TreeElement *)ld->data;
@@ -972,7 +983,7 @@ static void tree_element_to_path(SpaceOops *soops, TreeElement *te, TreeStoreEle
/* check if we're looking for first ID, or appending to path */
if (*id) {
/* just 'append' property to path
- * - to prevent memory leaks, we must write to newpath not path, then free old path + swap them
+ * - to prevent memory leaks, we must write to newpath not path, then free old path + swap them
*/
if (tse->type == TSE_RNA_PROPERTY) {
if (RNA_property_type(prop) == PROP_POINTER) {
@@ -1019,7 +1030,8 @@ static void tree_element_to_path(SpaceOops *soops, TreeElement *te, TreeStoreEle
else {
/* no ID, so check if entry is RNA-struct, and if that RNA-struct is an ID datablock to extract info from */
if (tse->type == TSE_RNA_STRUCT) {
- /* ptr->data not ptr->id.data seems to be the one we want, since ptr->data is sometimes the owner of this ID? */
+ /* ptr->data not ptr->id.data seems to be the one we want,
+ * since ptr->data is sometimes the owner of this ID? */
if (RNA_struct_is_ID(ptr->type)) {
*id = (ID *)ptr->data;
@@ -1090,7 +1102,9 @@ static void do_outliner_drivers_editop(SpaceOops *soops, ListBase *tree, ReportL
short groupmode = KSP_GROUP_KSNAME;
/* check if RNA-property described by this selected element is an animatable prop */
- if (ELEM(tselem->type, TSE_RNA_PROPERTY, TSE_RNA_ARRAY_ELEM) && RNA_property_animateable(&te->rnaptr, te->directdata)) {
+ if (ELEM(tselem->type, TSE_RNA_PROPERTY, TSE_RNA_ARRAY_ELEM) &&
+ RNA_property_animateable(&te->rnaptr, te->directdata))
+ {
/* get id + path + index info from the selected element */
tree_element_to_path(soops, te, tselem,
&id, &path, &array_index, &flag, &groupmode);
@@ -1269,7 +1283,9 @@ static void do_outliner_keyingset_editop(SpaceOops *soops, KeyingSet *ks, ListBa
short groupmode = KSP_GROUP_KSNAME;
/* check if RNA-property described by this selected element is an animatable prop */
- if (ELEM(tselem->type, TSE_RNA_PROPERTY, TSE_RNA_ARRAY_ELEM) && RNA_property_animateable(&te->rnaptr, te->directdata)) {
+ if (ELEM(tselem->type, TSE_RNA_PROPERTY, TSE_RNA_ARRAY_ELEM) &&
+ RNA_property_animateable(&te->rnaptr, te->directdata))
+ {
/* get id + path + index info from the selected element */
tree_element_to_path(soops, te, tselem,
&id, &path, &array_index, &flag, &groupmode);
@@ -1282,7 +1298,8 @@ static void do_outliner_keyingset_editop(SpaceOops *soops, KeyingSet *ks, ListBa
case KEYINGSET_EDITMODE_ADD:
{
/* add a new path with the information obtained (only if valid) */
- // TODO: what do we do with group name? for now, we don't supply one, and just let this use the KeyingSet name
+ /* TODO: what do we do with group name?
+ * for now, we don't supply one, and just let this use the KeyingSet name */
BKE_keyingset_add_path(ks, id, NULL, path, array_index, flag, groupmode);
ks->active_path = BLI_countlist(&ks->paths);
}
@@ -1426,7 +1443,7 @@ TreeElement *outliner_dropzone_parent(bContext *C, wmEvent *event, TreeElement *
/* name and first icon */
if ((fmval[0] > te->xs + UI_UNIT_X) && (fmval[0] < te->xend)) {
/* always makes active object */
- if (te->idcode == ID_OB) {
+ if (te->idcode == ID_OB && tselem->type == 0) {
return te;
}
else {
@@ -1453,7 +1470,7 @@ static int parent_drop_invoke(bContext *C, wmOperator *op, wmEvent *event)
SpaceOops *soops = CTX_wm_space_outliner(C);
ARegion *ar = CTX_wm_region(C);
Main *bmain = CTX_data_main(C);
- Scene *scene = CTX_data_scene(C);
+ Scene *scene = NULL;
TreeElement *te = NULL;
TreeElement *te_found = NULL;
char childname[MAX_ID_NAME];
@@ -1485,10 +1502,17 @@ static int parent_drop_invoke(bContext *C, wmOperator *op, wmEvent *event)
return OPERATOR_CANCELLED;
}
- /* check dragged object (child) is active */
- if (ob != CTX_data_active_object(C))
- ED_base_object_select(BKE_scene_base_find(scene, ob), BA_SELECT);
-
+ scene = (Scene *)outliner_search_back(soops, te_found, ID_SCE);
+
+ if (scene == NULL) {
+ /* currently outlier organized in a way, that if there's no parent scene
+ * element for object it means that all displayed objects belong to
+ * active scene and parenting them is allowed (sergey)
+ */
+
+ scene = CTX_data_scene(C);
+ }
+
if ((par->type != OB_ARMATURE) && (par->type != OB_CURVE) && (par->type != OB_LATTICE)) {
if (ED_object_parent_set(op->reports, bmain, scene, ob, par, partype)) {
DAG_scene_sort(bmain, scene);
@@ -1635,7 +1659,7 @@ int outliner_dropzone_parent_clear(bContext *C, wmEvent *event, TreeElement *te,
if ((fmval[0] < (te->xs + UI_UNIT_X)) || (fmval[0] > te->xend)) {
return 1;
}
- else if (te->idcode != ID_OB) {
+ else if (te->idcode != ID_OB || ELEM(tselem->type, TSE_MODIFIER_BASE, TSE_CONSTRAINT_BASE)) {
return 1;
}
@@ -1654,19 +1678,31 @@ int outliner_dropzone_parent_clear(bContext *C, wmEvent *event, TreeElement *te,
static int parent_clear_invoke(bContext *C, wmOperator *op, wmEvent *UNUSED(event))
{
- Scene *scene = CTX_data_scene(C);
+ Main *bmain = CTX_data_main(C);
+ Scene *scene = NULL;
Object *ob = NULL;
+ SpaceOops *soops = CTX_wm_space_outliner(C);
+ TreeElement *te;
char obname[MAX_ID_NAME];
RNA_string_get(op->ptr, "dragged_obj", obname);
ob = (Object *)BKE_libblock_find_name(ID_OB, obname);
- /* check dragged object (child) is active */
- if (ob != CTX_data_active_object(C))
- ED_base_object_select(BKE_scene_base_find(scene, ob), BA_SELECT);
+ /* search forwards to find the object */
+ te = outliner_find_id(soops, &soops->tree, (ID *)ob);
+ /* then search backwards to get the scene */
+ scene = (Scene *)outliner_search_back(soops, te, ID_SCE);
+
+ if (scene == NULL) {
+ return OPERATOR_CANCELLED;
+ }
- ED_object_parent_clear(C, RNA_enum_get(op->ptr, "type"));
+ ED_object_parent_clear(ob, RNA_enum_get(op->ptr, "type"));
+ DAG_scene_sort(bmain, scene);
+ DAG_ids_flush_update(bmain, 0);
+ WM_event_add_notifier(C, NC_OBJECT | ND_TRANSFORM, NULL);
+ WM_event_add_notifier(C, NC_OBJECT | ND_PARENT, NULL);
return OPERATOR_FINISHED;
}
@@ -1689,3 +1725,161 @@ void OUTLINER_OT_parent_clear(wmOperatorType *ot)
RNA_def_string(ot->srna, "dragged_obj", "Object", MAX_ID_NAME, "Child", "Child Object");
RNA_def_enum(ot->srna, "type", prop_clear_parent_types, 0, "Type", "");
}
+
+TreeElement *outliner_dropzone_scene(bContext *C, wmEvent *UNUSED(event), TreeElement *te, float *fmval)
+{
+ SpaceOops *soops = CTX_wm_space_outliner(C);
+ TreeStoreElem *tselem = TREESTORE(te);
+
+ if ((fmval[1] > te->ys) && (fmval[1] < (te->ys + UI_UNIT_Y))) {
+ /* name and first icon */
+ if ((fmval[0] > te->xs + UI_UNIT_X) && (fmval[0] < te->xend)) {
+ if (te->idcode == ID_SCE && tselem->type == 0) {
+ return te;
+ }
+ }
+ }
+ return NULL;
+}
+
+static int scene_drop_invoke(bContext *C, wmOperator *op, wmEvent *event)
+{
+ Scene *scene = NULL;
+ Object *ob = NULL;
+ SpaceOops *soops = CTX_wm_space_outliner(C);
+ ARegion *ar = CTX_wm_region(C);
+ Main *bmain = CTX_data_main(C);
+ TreeElement *te = NULL;
+ TreeElement *te_found = NULL;
+ char obname[MAX_ID_NAME];
+ float fmval[2];
+
+ UI_view2d_region_to_view(&ar->v2d, event->mval[0], event->mval[1], &fmval[0], &fmval[1]);
+
+ /* Find object hovered over */
+ for (te = soops->tree.first; te; te = te->next) {
+ te_found = outliner_dropzone_scene(C, event, te, fmval);
+ if (te_found)
+ break;
+ }
+
+ if (te_found) {
+ Base *base;
+
+ RNA_string_set(op->ptr, "scene", te_found->name);
+ scene = (Scene *)BKE_libblock_find_name(ID_SCE, te_found->name);
+
+ RNA_string_get(op->ptr, "object", obname);
+ ob = (Object *)BKE_libblock_find_name(ID_OB, obname);
+
+ if (ELEM(NULL, ob, scene) || scene->id.lib != NULL) {
+ return OPERATOR_CANCELLED;
+ }
+
+ base = ED_object_scene_link(scene, ob);
+
+ if (base == NULL) {
+ return OPERATOR_CANCELLED;
+ }
+
+ if (scene == CTX_data_scene(C)) {
+ /* when linking to an inactive scene don't touch the layer */
+ ob->lay = base->lay;
+ ED_base_object_select(base, BA_SELECT);
+ }
+
+ DAG_scene_sort(bmain, scene);
+ DAG_ids_flush_update(bmain, 0);
+
+ WM_main_add_notifier(NC_SCENE | ND_OB_SELECT, scene);
+
+ return OPERATOR_FINISHED;
+ }
+
+ return OPERATOR_CANCELLED;
+}
+
+void OUTLINER_OT_scene_drop(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name = "Drop Object to Scene";
+ ot->description = "Drag object to scene in Outliner";
+ ot->idname = "OUTLINER_OT_scene_drop";
+
+ /* api callbacks */
+ ot->invoke = scene_drop_invoke;
+
+ ot->poll = ED_operator_outliner_active;
+
+ /* flags */
+ ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
+
+ /* properties */
+ RNA_def_string(ot->srna, "object", "Object", MAX_ID_NAME, "Object", "Target Object");
+ RNA_def_string(ot->srna, "scene", "Scene", MAX_ID_NAME, "Scene", "Target Scene");
+}
+
+static int material_drop_invoke(bContext *C, wmOperator *op, wmEvent *event)
+{
+ Main *bmain = CTX_data_main(C);
+ Material *ma = NULL;
+ Object *ob = NULL;
+ SpaceOops *soops = CTX_wm_space_outliner(C);
+ ARegion *ar = CTX_wm_region(C);
+ TreeElement *te = NULL;
+ TreeElement *te_found = NULL;
+ char mat_name[MAX_ID_NAME - 2];
+ float fmval[2];
+
+ UI_view2d_region_to_view(&ar->v2d, event->mval[0], event->mval[1], &fmval[0], &fmval[1]);
+
+ /* Find object hovered over */
+ for (te = soops->tree.first; te; te = te->next) {
+ te_found = outliner_dropzone_parent(C, event, te, fmval);
+ if (te_found)
+ break;
+ }
+
+ if (te_found) {
+ RNA_string_set(op->ptr, "object", te_found->name);
+ ob = (Object *)BKE_libblock_find_name(ID_OB, te_found->name);
+
+ RNA_string_get(op->ptr, "material", mat_name);
+ ma = (Material *)BKE_libblock_find_name(ID_MA, mat_name);
+
+ if (ELEM(NULL, ob, ma)) {
+ return OPERATOR_CANCELLED;
+ }
+
+ assign_material(ob, ma, ob->totcol + 1);
+
+ DAG_ids_flush_update(bmain, 0);
+ WM_event_add_notifier(C, NC_SPACE | ND_SPACE_VIEW3D, CTX_wm_view3d(C));
+ WM_event_add_notifier(C, NC_MATERIAL | ND_SHADING, ma);
+
+ return OPERATOR_FINISHED;
+ }
+
+ return OPERATOR_CANCELLED;
+}
+
+void OUTLINER_OT_material_drop(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name = "Drop Material on Object";
+ ot->description = "Drag material to object in Outliner";
+ ot->idname = "OUTLINER_OT_material_drop";
+
+ /* api callbacks */
+ ot->invoke = material_drop_invoke;
+
+ ot->poll = ED_operator_outliner_active;
+
+ /* flags */
+ ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
+
+ /* properties */
+ RNA_def_string(ot->srna, "object", "Object", MAX_ID_NAME, "Object", "Target Object");
+ RNA_def_string(ot->srna, "material", "Material", MAX_ID_NAME, "Material", "Target Material");
+}
+
diff --git a/source/blender/editors/space_outliner/outliner_intern.h b/source/blender/editors/space_outliner/outliner_intern.h
index d8d10519bd6..65de2a27568 100644
--- a/source/blender/editors/space_outliner/outliner_intern.h
+++ b/source/blender/editors/space_outliner/outliner_intern.h
@@ -110,7 +110,7 @@ typedef struct TreeElement {
/* get TreeStoreElem associated with a TreeElement
* < a: (TreeElement) tree element to find stored element for
*/
-#define TREESTORE(a) ((a) ? soops->treestore->data + (a)->store_index : NULL)
+#define TREESTORE(a) (soops->treestore->data + (a)->store_index)
/* size constants */
#define OL_Y_OFFSET 2
@@ -190,7 +190,7 @@ void item_rename_cb(struct bContext *C, struct Scene *scene, TreeElement *te, st
TreeElement *outliner_dropzone_parent(struct bContext *C, struct wmEvent *event, struct TreeElement *te, float *fmval);
int outliner_dropzone_parent_clear(struct bContext *C, struct wmEvent *event, struct TreeElement *te, float *fmval);
-
+TreeElement *outliner_dropzone_scene(struct bContext *C, struct wmEvent *event, struct TreeElement *te, float *fmval);
/* ...................................................... */
void OUTLINER_OT_item_activate(struct wmOperatorType *ot);
@@ -220,6 +220,8 @@ void OUTLINER_OT_drivers_delete_selected(struct wmOperatorType *ot);
void OUTLINER_OT_parent_drop(struct wmOperatorType *ot);
void OUTLINER_OT_parent_clear(struct wmOperatorType *ot);
+void OUTLINER_OT_scene_drop(struct wmOperatorType *ot);
+void OUTLINER_OT_material_drop(struct wmOperatorType *ot);
/* outliner_tools.c ---------------------------------------------- */
diff --git a/source/blender/editors/space_outliner/outliner_ops.c b/source/blender/editors/space_outliner/outliner_ops.c
index 12f8f2cb38b..1dd043409a5 100644
--- a/source/blender/editors/space_outliner/outliner_ops.c
+++ b/source/blender/editors/space_outliner/outliner_ops.c
@@ -76,6 +76,8 @@ void outliner_operatortypes(void)
WM_operatortype_append(OUTLINER_OT_parent_drop);
WM_operatortype_append(OUTLINER_OT_parent_clear);
+ WM_operatortype_append(OUTLINER_OT_scene_drop);
+ WM_operatortype_append(OUTLINER_OT_material_drop);
}
void outliner_keymap(wmKeyConfig *keyconf)
diff --git a/source/blender/editors/space_outliner/outliner_select.c b/source/blender/editors/space_outliner/outliner_select.c
index 18769476118..812fba50295 100644
--- a/source/blender/editors/space_outliner/outliner_select.c
+++ b/source/blender/editors/space_outliner/outliner_select.c
@@ -43,6 +43,7 @@
#include "DNA_world_types.h"
#include "BLI_utildefines.h"
+#include "BLI_listbase.h"
#include "BKE_context.h"
#include "BKE_depsgraph.h"
@@ -52,6 +53,7 @@
#include "ED_armature.h"
#include "ED_object.h"
#include "ED_screen.h"
+#include "ED_sequencer.h"
#include "ED_util.h"
#include "WM_api.h"
@@ -568,16 +570,34 @@ static int tree_element_active_pose(bContext *C, Scene *scene, TreeElement *UNUS
return 0;
}
-static int tree_element_active_sequence(TreeElement *te, TreeStoreElem *UNUSED(tselem), int set)
+static int tree_element_active_sequence(bContext *C, Scene *scene, TreeElement *te, TreeStoreElem *UNUSED(tselem), int set)
{
Sequence *seq = (Sequence *) te->directdata;
+ Editing *ed = BKE_sequencer_editing_get(scene, FALSE);
if (set) {
-// XXX select_single_seq(seq, 1);
+ /* only check on setting */
+ if (BLI_findindex(ed->seqbasep, seq) != -1) {
+ if (set == 2) {
+ BKE_sequencer_active_set(scene, NULL);
+ }
+ ED_sequencer_deselect_all(scene);
+
+ if (set == 2 && seq->flag & SELECT) {
+ seq->flag &= ~SELECT;
+ }
+ else {
+ seq->flag |= SELECT;
+ BKE_sequencer_active_set(scene, seq);
+ }
+ }
+
+ WM_event_add_notifier(C, NC_SCENE | ND_SEQUENCER | NA_SELECTED, scene);
}
else {
- if (seq->flag & SELECT)
- return(1);
+ if (ed->act_seq == seq && seq->flag & SELECT) {
+ return 1;
+ }
}
return(0);
}
@@ -650,7 +670,8 @@ int tree_element_active(bContext *C, Scene *scene, SpaceOops *soops, TreeElement
/* generic call for non-id data to make/check active in UI */
/* Context can be NULL when set==0 */
-int tree_element_type_active(bContext *C, Scene *scene, SpaceOops *soops, TreeElement *te, TreeStoreElem *tselem, int set)
+int tree_element_type_active(bContext *C, Scene *scene, SpaceOops *soops,
+ TreeElement *te, TreeStoreElem *tselem, int set)
{
switch (tselem->type) {
case TSE_DEFGROUP:
@@ -678,7 +699,7 @@ int tree_element_type_active(bContext *C, Scene *scene, SpaceOops *soops, TreeEl
case TSE_POSEGRP:
return tree_element_active_posegroup(C, scene, te, tselem, set);
case TSE_SEQUENCE:
- return tree_element_active_sequence(te, tselem, set);
+ return tree_element_active_sequence(C, scene, te, tselem, set);
case TSE_SEQUENCE_DUP:
return tree_element_active_sequence_dup(scene, te, tselem, set);
case TSE_KEYMAP_ITEM:
@@ -690,7 +711,8 @@ int tree_element_type_active(bContext *C, Scene *scene, SpaceOops *soops, TreeEl
/* ================================================ */
-static int do_outliner_item_activate(bContext *C, Scene *scene, ARegion *ar, SpaceOops *soops, TreeElement *te, int extend, const float mval[2])
+static int do_outliner_item_activate(bContext *C, Scene *scene, ARegion *ar, SpaceOops *soops,
+ TreeElement *te, int extend, const float mval[2])
{
if (mval[1] > te->ys && mval[1] < te->ys + UI_UNIT_Y) {
diff --git a/source/blender/editors/space_outliner/outliner_tools.c b/source/blender/editors/space_outliner/outliner_tools.c
index a3ed2eac2d5..3d01de1c67a 100644
--- a/source/blender/editors/space_outliner/outliner_tools.c
+++ b/source/blender/editors/space_outliner/outliner_tools.c
@@ -39,6 +39,7 @@
#include "DNA_mesh_types.h"
#include "DNA_meta_types.h"
#include "DNA_scene_types.h"
+#include "DNA_sequence_types.h"
#include "DNA_world_types.h"
#include "DNA_object_types.h"
@@ -54,10 +55,12 @@
#include "BKE_main.h"
#include "BKE_report.h"
#include "BKE_scene.h"
+#include "BKE_sequencer.h"
#include "ED_armature.h"
#include "ED_object.h"
#include "ED_screen.h"
+#include "ED_sequencer.h"
#include "ED_util.h"
#include "WM_api.h"
@@ -122,13 +125,15 @@ static void set_operation_types(SpaceOops *soops, ListBase *lb,
}
}
-static void unlink_action_cb(bContext *C, Scene *UNUSED(scene), TreeElement *UNUSED(te), TreeStoreElem *tsep, TreeStoreElem *UNUSED(tselem))
+static void unlink_action_cb(bContext *C, Scene *UNUSED(scene), TreeElement *UNUSED(te),
+ TreeStoreElem *tsep, TreeStoreElem *UNUSED(tselem))
{
/* just set action to NULL */
BKE_animdata_set_action(CTX_wm_reports(C), tsep->id, NULL);
}
-static void unlink_material_cb(bContext *UNUSED(C), Scene *UNUSED(scene), TreeElement *te, TreeStoreElem *tsep, TreeStoreElem *UNUSED(tselem))
+static void unlink_material_cb(bContext *UNUSED(C), Scene *UNUSED(scene), TreeElement *te,
+ TreeStoreElem *tsep, TreeStoreElem *UNUSED(tselem))
{
Material **matar = NULL;
int a, totcol = 0;
@@ -162,7 +167,8 @@ static void unlink_material_cb(bContext *UNUSED(C), Scene *UNUSED(scene), TreeEl
}
}
-static void unlink_texture_cb(bContext *UNUSED(C), Scene *UNUSED(scene), TreeElement *te, TreeStoreElem *tsep, TreeStoreElem *UNUSED(tselem))
+static void unlink_texture_cb(bContext *UNUSED(C), Scene *UNUSED(scene), TreeElement *te,
+ TreeStoreElem *tsep, TreeStoreElem *UNUSED(tselem))
{
MTex **mtex = NULL;
int a;
@@ -191,7 +197,8 @@ static void unlink_texture_cb(bContext *UNUSED(C), Scene *UNUSED(scene), TreeEle
}
}
-static void unlink_group_cb(bContext *UNUSED(C), Scene *UNUSED(scene), TreeElement *UNUSED(te), TreeStoreElem *tsep, TreeStoreElem *tselem)
+static void unlink_group_cb(bContext *UNUSED(C), Scene *UNUSED(scene), TreeElement *UNUSED(te),
+ TreeStoreElem *tsep, TreeStoreElem *tselem)
{
Group *group = (Group *)tselem->id;
@@ -206,7 +213,8 @@ static void unlink_group_cb(bContext *UNUSED(C), Scene *UNUSED(scene), TreeEleme
}
}
-static void unlink_world_cb(bContext *UNUSED(C), Scene *UNUSED(scene), TreeElement *UNUSED(te), TreeStoreElem *tsep, TreeStoreElem *tselem)
+static void unlink_world_cb(bContext *UNUSED(C), Scene *UNUSED(scene), TreeElement *UNUSED(te),
+ TreeStoreElem *tsep, TreeStoreElem *tselem)
{
Scene *parscene = (Scene *)tsep->id;
World *wo = (World *)tselem->id;
@@ -217,7 +225,8 @@ static void unlink_world_cb(bContext *UNUSED(C), Scene *UNUSED(scene), TreeEleme
}
static void outliner_do_libdata_operation(bContext *C, Scene *scene, SpaceOops *soops, ListBase *lb,
- void (*operation_cb)(bContext *C, Scene *scene, TreeElement *, TreeStoreElem *, TreeStoreElem *))
+ void (*operation_cb)(bContext *C, Scene *scene, TreeElement *,
+ TreeStoreElem *, TreeStoreElem *))
{
TreeElement *te;
TreeStoreElem *tselem;
@@ -226,7 +235,7 @@ static void outliner_do_libdata_operation(bContext *C, Scene *scene, SpaceOops *
tselem = TREESTORE(te);
if (tselem->flag & TSE_SELECTED) {
if (tselem->type == 0) {
- TreeStoreElem *tsep = TREESTORE(te->parent);
+ TreeStoreElem *tsep = te->parent ? TREESTORE(te->parent) : NULL;
operation_cb(C, scene, te, tsep, tselem);
}
}
@@ -238,7 +247,8 @@ static void outliner_do_libdata_operation(bContext *C, Scene *scene, SpaceOops *
/* */
-static void object_select_cb(bContext *UNUSED(C), Scene *scene, TreeElement *te, TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
+static void object_select_cb(bContext *UNUSED(C), Scene *scene, TreeElement *te,
+ TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
{
Base *base = (Base *)te->directdata;
@@ -249,7 +259,8 @@ static void object_select_cb(bContext *UNUSED(C), Scene *scene, TreeElement *te,
}
}
-static void object_deselect_cb(bContext *UNUSED(C), Scene *scene, TreeElement *te, TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
+static void object_deselect_cb(bContext *UNUSED(C), Scene *scene, TreeElement *te,
+ TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
{
Base *base = (Base *)te->directdata;
@@ -260,7 +271,8 @@ static void object_deselect_cb(bContext *UNUSED(C), Scene *scene, TreeElement *t
}
}
-static void object_delete_cb(bContext *C, Scene *scene, TreeElement *te, TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
+static void object_delete_cb(bContext *C, Scene *scene, TreeElement *te,
+ TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
{
Base *base = (Base *)te->directdata;
@@ -277,7 +289,8 @@ static void object_delete_cb(bContext *C, Scene *scene, TreeElement *te, TreeSto
}
}
-static void id_local_cb(bContext *C, Scene *UNUSED(scene), TreeElement *UNUSED(te), TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
+static void id_local_cb(bContext *C, Scene *UNUSED(scene), TreeElement *UNUSED(te),
+ TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
{
if (tselem->id->lib && (tselem->id->flag & LIB_EXTERN)) {
/* if the ID type has no special local function,
@@ -289,7 +302,8 @@ static void id_local_cb(bContext *C, Scene *UNUSED(scene), TreeElement *UNUSED(t
}
}
-static void id_fake_user_set_cb(bContext *UNUSED(C), Scene *UNUSED(scene), TreeElement *UNUSED(te), TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
+static void id_fake_user_set_cb(bContext *UNUSED(C), Scene *UNUSED(scene), TreeElement *UNUSED(te),
+ TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
{
ID *id = tselem->id;
@@ -299,7 +313,8 @@ static void id_fake_user_set_cb(bContext *UNUSED(C), Scene *UNUSED(scene), TreeE
}
}
-static void id_fake_user_clear_cb(bContext *UNUSED(C), Scene *UNUSED(scene), TreeElement *UNUSED(te), TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
+static void id_fake_user_clear_cb(bContext *UNUSED(C), Scene *UNUSED(scene), TreeElement *UNUSED(te),
+ TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
{
ID *id = tselem->id;
@@ -309,7 +324,8 @@ static void id_fake_user_clear_cb(bContext *UNUSED(C), Scene *UNUSED(scene), Tre
}
}
-static void singleuser_action_cb(bContext *C, Scene *UNUSED(scene), TreeElement *UNUSED(te), TreeStoreElem *tsep, TreeStoreElem *tselem)
+static void singleuser_action_cb(bContext *C, Scene *UNUSED(scene), TreeElement *UNUSED(te),
+ TreeStoreElem *tsep, TreeStoreElem *tselem)
{
ID *id = tselem->id;
@@ -325,7 +341,8 @@ static void singleuser_action_cb(bContext *C, Scene *UNUSED(scene), TreeElement
}
}
-static void singleuser_world_cb(bContext *C, Scene *UNUSED(scene), TreeElement *UNUSED(te), TreeStoreElem *tsep, TreeStoreElem *tselem)
+static void singleuser_world_cb(bContext *C, Scene *UNUSED(scene), TreeElement *UNUSED(te),
+ TreeStoreElem *tsep, TreeStoreElem *tselem)
{
ID *id = tselem->id;
@@ -342,7 +359,8 @@ static void singleuser_world_cb(bContext *C, Scene *UNUSED(scene), TreeElement *
}
}
-static void group_linkobs2scene_cb(bContext *UNUSED(C), Scene *scene, TreeElement *UNUSED(te), TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
+static void group_linkobs2scene_cb(bContext *UNUSED(C), Scene *scene, TreeElement *UNUSED(te),
+ TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
{
Group *group = (Group *)tselem->id;
GroupObject *gob;
@@ -367,8 +385,21 @@ static void group_linkobs2scene_cb(bContext *UNUSED(C), Scene *scene, TreeElemen
}
}
+static void group_instance_cb(bContext *C, Scene *scene, TreeElement *UNUSED(te),
+ TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
+{
+ Group *group = (Group *)tselem->id;
+
+ Object *ob = ED_object_add_type(C, OB_EMPTY, scene->cursor, NULL, FALSE, scene->layact);
+ rename_id(&ob->id, group->id.name + 2);
+ ob->dup_group = group;
+ ob->transflag |= OB_DUPLIGROUP;
+ id_lib_extern(&group->id);
+}
+
void outliner_do_object_operation(bContext *C, Scene *scene_act, SpaceOops *soops, ListBase *lb,
- void (*operation_cb)(bContext *C, Scene *scene, TreeElement *, TreeStoreElem *, TreeStoreElem *))
+ void (*operation_cb)(bContext *C, Scene *scene, TreeElement *,
+ TreeStoreElem *, TreeStoreElem *))
{
TreeElement *te;
TreeStoreElem *tselem;
@@ -396,13 +427,15 @@ void outliner_do_object_operation(bContext *C, Scene *scene_act, SpaceOops *soop
/* ******************************************** */
-static void unlinkact_animdata_cb(int UNUSED(event), TreeElement *UNUSED(te), TreeStoreElem *tselem)
+static void unlinkact_animdata_cb(int UNUSED(event), TreeElement *UNUSED(te),
+ TreeStoreElem *tselem, void *UNUSED(arg))
{
/* just set action to NULL */
BKE_animdata_set_action(NULL, tselem->id, NULL);
}
-static void cleardrivers_animdata_cb(int UNUSED(event), TreeElement *UNUSED(te), TreeStoreElem *tselem)
+static void cleardrivers_animdata_cb(int UNUSED(event), TreeElement *UNUSED(te),
+ TreeStoreElem *tselem, void *UNUSED(arg))
{
IdAdtTemplate *iat = (IdAdtTemplate *)tselem->id;
@@ -410,7 +443,8 @@ static void cleardrivers_animdata_cb(int UNUSED(event), TreeElement *UNUSED(te),
free_fcurves(&iat->adt->drivers);
}
-static void refreshdrivers_animdata_cb(int UNUSED(event), TreeElement *UNUSED(te), TreeStoreElem *tselem)
+static void refreshdrivers_animdata_cb(int UNUSED(event), TreeElement *UNUSED(te),
+ TreeStoreElem *tselem, void *UNUSED(arg))
{
IdAdtTemplate *iat = (IdAdtTemplate *)tselem->id;
FCurve *fcu;
@@ -426,7 +460,7 @@ static void refreshdrivers_animdata_cb(int UNUSED(event), TreeElement *UNUSED(te
/* --------------------------------- */
-static void pchan_cb(int event, TreeElement *te, TreeStoreElem *UNUSED(tselem))
+static void pchan_cb(int event, TreeElement *te, TreeStoreElem *UNUSED(tselem), void *UNUSED(arg))
{
bPoseChannel *pchan = (bPoseChannel *)te->directdata;
@@ -442,7 +476,7 @@ static void pchan_cb(int event, TreeElement *te, TreeStoreElem *UNUSED(tselem))
pchan->bone->flag &= ~BONE_HIDDEN_P;
}
-static void bone_cb(int event, TreeElement *te, TreeStoreElem *UNUSED(tselem))
+static void bone_cb(int event, TreeElement *te, TreeStoreElem *UNUSED(tselem), void *UNUSED(arg))
{
Bone *bone = (Bone *)te->directdata;
@@ -458,7 +492,7 @@ static void bone_cb(int event, TreeElement *te, TreeStoreElem *UNUSED(tselem))
bone->flag &= ~BONE_HIDDEN_P;
}
-static void ebone_cb(int event, TreeElement *te, TreeStoreElem *UNUSED(tselem))
+static void ebone_cb(int event, TreeElement *te, TreeStoreElem *UNUSED(tselem), void *UNUSED(arg))
{
EditBone *ebone = (EditBone *)te->directdata;
@@ -474,16 +508,23 @@ static void ebone_cb(int event, TreeElement *te, TreeStoreElem *UNUSED(tselem))
ebone->flag &= ~BONE_HIDDEN_A;
}
-static void sequence_cb(int event, TreeElement *UNUSED(te), TreeStoreElem *UNUSED(tselem))
+static void sequence_cb(int event, TreeElement *te, TreeStoreElem *tselem, void *scene_ptr)
{
-// Sequence *seq= (Sequence*) te->directdata;
+ Sequence *seq = (Sequence *)te->directdata;
if (event == 1) {
-// XXX select_single_seq(seq, 1);
+ Scene *scene = (Scene *)scene_ptr;
+ Editing *ed = BKE_sequencer_editing_get(scene, FALSE);
+ if (BLI_findindex(ed->seqbasep, seq) != -1) {
+ ED_sequencer_select_sequence_single(scene, seq, TRUE);
+ }
}
+
+ (void)tselem;
}
-static void outliner_do_data_operation(SpaceOops *soops, int type, int event, ListBase *lb,
- void (*operation_cb)(int, TreeElement *, TreeStoreElem *))
+static void outliner_do_data_operation(SpaceOops *soops, int type, int event, ListBase *lb,
+ void (*operation_cb)(int, TreeElement *, TreeStoreElem *, void *),
+ void *arg)
{
TreeElement *te;
TreeStoreElem *tselem;
@@ -492,11 +533,11 @@ static void outliner_do_data_operation(SpaceOops *soops, int type, int event, Li
tselem = TREESTORE(te);
if (tselem->flag & TSE_SELECTED) {
if (tselem->type == type) {
- operation_cb(event, te, tselem);
+ operation_cb(event, te, tselem, arg);
}
}
if (TSELEM_OPEN(tselem, soops)) {
- outliner_do_data_operation(soops, type, event, &te->subtree, operation_cb);
+ outliner_do_data_operation(soops, type, event, &te->subtree, operation_cb, arg);
}
}
}
@@ -607,13 +648,14 @@ void OUTLINER_OT_object_operation(wmOperatorType *ot)
/* **************************************** */
static EnumPropertyItem prop_group_op_types[] = {
- {1, "UNLINK", 0, "Unlink", ""},
- {2, "LOCAL", 0, "Make Local", ""},
- {3, "LINK", 0, "Link Group Objects to Scene", ""},
- {4, "TOGVIS", 0, "Toggle Visible", ""},
- {5, "TOGSEL", 0, "Toggle Selectable", ""},
- {6, "TOGREN", 0, "Toggle Renderable", ""},
- {7, "RENAME", 0, "Rename", ""},
+ {0, "UNLINK", 0, "Unlink Group", ""},
+ {1, "LOCAL", 0, "Make Local Group", ""},
+ {2, "LINK", 0, "Link Group Objects to Scene", ""},
+ {3, "INSTANCE", 0, "Instance Groups in Scene", ""},
+ {4, "TOGVIS", 0, "Toggle Visible Group", ""},
+ {5, "TOGSEL", 0, "Toggle Selectable", ""},
+ {6, "TOGREN", 0, "Toggle Renderable", ""},
+ {7, "RENAME", 0, "Rename", ""},
{0, NULL, 0, NULL, NULL}
};
@@ -622,45 +664,36 @@ static int outliner_group_operation_exec(bContext *C, wmOperator *op)
Scene *scene = CTX_data_scene(C);
SpaceOops *soops = CTX_wm_space_outliner(C);
int event;
- const char *str = NULL;
/* check for invalid states */
if (soops == NULL)
return OPERATOR_CANCELLED;
event = RNA_enum_get(op->ptr, "type");
-
- if (event == 1) {
- outliner_do_libdata_operation(C, scene, soops, &soops->tree, unlink_group_cb);
- str = "Unlink group";
- }
- else if (event == 2) {
- outliner_do_libdata_operation(C, scene, soops, &soops->tree, id_local_cb);
- str = "Localized Data";
- }
- else if (event == 3) {
- outliner_do_libdata_operation(C, scene, soops, &soops->tree, group_linkobs2scene_cb);
- str = "Link Group Objects to Scene";
- }
- else if (event == 4) {
- outliner_do_libdata_operation(C, scene, soops, &soops->tree, group_toggle_visibility_cb);
- str = "Toggle Visibility";
- }
- else if (event == 5) {
- outliner_do_libdata_operation(C, scene, soops, &soops->tree, group_toggle_selectability_cb);
- str = "Toggle Selectability";
- }
- else if (event == 6) {
- outliner_do_libdata_operation(C, scene, soops, &soops->tree, group_toggle_renderability_cb);
- str = "Toggle Renderability";
- }
- else if (event == 7) {
- outliner_do_libdata_operation(C, scene, soops, &soops->tree, item_rename_cb);
- str = "Rename";
+
+ switch (event) {
+ case 0: outliner_do_libdata_operation(C, scene, soops, &soops->tree, unlink_group_cb); break;
+ case 1: outliner_do_libdata_operation(C, scene, soops, &soops->tree, id_local_cb); break;
+ case 2: outliner_do_libdata_operation(C, scene, soops, &soops->tree, group_linkobs2scene_cb); break;
+ case 3: outliner_do_libdata_operation(C, scene, soops, &soops->tree, group_instance_cb); break;
+ case 4: outliner_do_libdata_operation(C, scene, soops, &soops->tree, group_toggle_visibility_cb); break;
+ case 5: outliner_do_libdata_operation(C, scene, soops, &soops->tree, group_toggle_selectability_cb); break;
+ case 6: outliner_do_libdata_operation(C, scene, soops, &soops->tree, group_toggle_renderability_cb); break;
+ case 7: outliner_do_libdata_operation(C, scene, soops, &soops->tree, item_rename_cb); break;
+ default:
+ BLI_assert(0);
+ return OPERATOR_CANCELLED;
}
+
+ if (event == 3) { /* instance */
+ Main *bmain = CTX_data_main(C);
+
+ /* works without this except if you try render right after, see: 22027 */
+ DAG_scene_sort(bmain, scene);
+ }
- ED_undo_push(C, str);
+ ED_undo_push(C, prop_group_op_types[event].name);
WM_event_add_notifier(C, NC_GROUP, NULL);
return OPERATOR_FINISHED;
@@ -703,7 +736,8 @@ static EnumPropertyItem prop_id_op_types[] = {
{OUTLINER_IDOP_UNLINK, "UNLINK", 0, "Unlink", ""},
{OUTLINER_IDOP_LOCAL, "LOCAL", 0, "Make Local", ""},
{OUTLINER_IDOP_SINGLE, "SINGLE", 0, "Make Single User", ""},
- {OUTLINER_IDOP_FAKE_ADD, "ADD_FAKE", 0, "Add Fake User", "Ensure datablock gets saved even if it isn't in use (e.g. for motion and material libraries)"},
+ {OUTLINER_IDOP_FAKE_ADD, "ADD_FAKE", 0, "Add Fake User",
+ "Ensure datablock gets saved even if it isn't in use (e.g. for motion and material libraries)"},
{OUTLINER_IDOP_FAKE_CLEAR, "CLEAR_FAKE", 0, "Clear Fake User", ""},
{OUTLINER_IDOP_RENAME, "RENAME", 0, "Rename", ""},
{0, NULL, 0, NULL, NULL}
@@ -866,7 +900,7 @@ static void outliner_do_id_set_operation(SpaceOops *soops, int type, ListBase *l
tselem = TREESTORE(te);
if (tselem->flag & TSE_SELECTED) {
if (tselem->type == type) {
- TreeStoreElem *tsep = TREESTORE(te->parent);
+ TreeStoreElem *tsep = te->parent ? TREESTORE(te->parent) : NULL;
operation_cb(te, tselem, tsep, newid);
}
}
@@ -918,7 +952,9 @@ static int outliner_action_set_exec(bContext *C, wmOperator *op)
else if (act->idroot == 0) {
/* hopefully in this case (i.e. library of userless actions), the user knows what they're doing... */
BKE_reportf(op->reports, RPT_WARNING,
- "Action '%s' does not specify what datablocks it can be used on. Try setting the 'ID Root Type' setting from the Datablocks Editor for this Action to avoid future problems",
+ "Action '%s' does not specify what datablocks it can be used on. "
+ "Try setting the 'ID Root Type' setting from the Datablocks Editor "
+ "for this Action to avoid future problems",
act->id.name + 2);
}
@@ -1013,14 +1049,14 @@ static int outliner_animdata_operation_exec(bContext *C, wmOperator *op)
case OUTLINER_ANIMOP_CLEAR_ACT:
/* clear active action - using standard rules */
- outliner_do_data_operation(soops, datalevel, event, &soops->tree, unlinkact_animdata_cb);
+ outliner_do_data_operation(soops, datalevel, event, &soops->tree, unlinkact_animdata_cb, NULL);
WM_event_add_notifier(C, NC_ANIMATION | ND_NLA_ACTCHANGE, NULL);
ED_undo_push(C, "Unlink action");
break;
case OUTLINER_ANIMOP_REFRESH_DRV:
- outliner_do_data_operation(soops, datalevel, event, &soops->tree, refreshdrivers_animdata_cb);
+ outliner_do_data_operation(soops, datalevel, event, &soops->tree, refreshdrivers_animdata_cb, NULL);
WM_event_add_notifier(C, NC_ANIMATION | ND_ANIMCHAN, NULL);
//ED_undo_push(C, "Refresh Drivers"); /* no undo needed - shouldn't have any impact? */
@@ -1028,7 +1064,7 @@ static int outliner_animdata_operation_exec(bContext *C, wmOperator *op)
break;
case OUTLINER_ANIMOP_CLEAR_DRV:
- outliner_do_data_operation(soops, datalevel, event, &soops->tree, cleardrivers_animdata_cb);
+ outliner_do_data_operation(soops, datalevel, event, &soops->tree, cleardrivers_animdata_cb, NULL);
WM_event_add_notifier(C, NC_ANIMATION | ND_ANIMCHAN, NULL);
ED_undo_push(C, "Clear Drivers");
@@ -1097,28 +1133,29 @@ static int outliner_data_operation_exec(bContext *C, wmOperator *op)
if (datalevel == TSE_POSE_CHANNEL) {
if (event > 0) {
- outliner_do_data_operation(soops, datalevel, event, &soops->tree, pchan_cb);
+ outliner_do_data_operation(soops, datalevel, event, &soops->tree, pchan_cb, NULL);
WM_event_add_notifier(C, NC_OBJECT | ND_POSE, NULL);
ED_undo_push(C, "PoseChannel operation");
}
}
else if (datalevel == TSE_BONE) {
if (event > 0) {
- outliner_do_data_operation(soops, datalevel, event, &soops->tree, bone_cb);
+ outliner_do_data_operation(soops, datalevel, event, &soops->tree, bone_cb, NULL);
WM_event_add_notifier(C, NC_OBJECT | ND_POSE, NULL);
ED_undo_push(C, "Bone operation");
}
}
else if (datalevel == TSE_EBONE) {
if (event > 0) {
- outliner_do_data_operation(soops, datalevel, event, &soops->tree, ebone_cb);
+ outliner_do_data_operation(soops, datalevel, event, &soops->tree, ebone_cb, NULL);
WM_event_add_notifier(C, NC_OBJECT | ND_POSE, NULL);
ED_undo_push(C, "EditBone operation");
}
}
else if (datalevel == TSE_SEQUENCE) {
if (event > 0) {
- outliner_do_data_operation(soops, datalevel, event, &soops->tree, sequence_cb);
+ Scene *scene = CTX_data_scene(C);
+ outliner_do_data_operation(soops, datalevel, event, &soops->tree, sequence_cb, scene);
}
}
@@ -1147,7 +1184,8 @@ void OUTLINER_OT_data_operation(wmOperatorType *ot)
/* ******************** */
-static int do_outliner_operation_event(bContext *C, Scene *scene, ARegion *ar, SpaceOops *soops, TreeElement *te, wmEvent *event, const float mval[2])
+static int do_outliner_operation_event(bContext *C, Scene *scene, ARegion *ar, SpaceOops *soops,
+ TreeElement *te, wmEvent *event, const float mval[2])
{
ReportList *reports = CTX_wm_reports(C); // XXX...
diff --git a/source/blender/editors/space_outliner/outliner_tree.c b/source/blender/editors/space_outliner/outliner_tree.c
index 8a31305d65e..63907f530eb 100644
--- a/source/blender/editors/space_outliner/outliner_tree.c
+++ b/source/blender/editors/space_outliner/outliner_tree.c
@@ -132,6 +132,14 @@ static void outliner_storage_cleanup(SpaceOops *soops)
}
}
+/* XXX - THIS FUNCTION IS INCREDIBLY SLOW
+ * ... it can bring blenders tools and viewport to a grinding halt becuase of searching
+ * for duplicate items every times they are added.
+ *
+ * TODO (possible speedups)
+ * - use a hash for duplicate (could even store a hash per type)
+ * - use mempool for TreeElements
+ * */
static void check_persistent(SpaceOops *soops, TreeElement *te, ID *id, short type, short nr)
{
TreeStore *ts;
@@ -147,8 +155,8 @@ static void check_persistent(SpaceOops *soops, TreeElement *te, ID *id, short ty
/* check if 'te' is in treestore */
tselem = ts->data;
for (a = 0; a < ts->usedelem; a++, tselem++) {
- if (tselem->id == id && tselem->used == 0) {
- if ((type == 0 && tselem->type == 0) || (tselem->type == type && tselem->nr == nr)) {
+ if ((tselem->used == 0) && (tselem->type == type) && (tselem->id == id)) {
+ if ((type == 0) || (tselem->nr == nr)) {
te->store_index = a;
tselem->used = 1;
return;
@@ -889,24 +897,16 @@ static TreeElement *outliner_add_element(SpaceOops *soops, ListBase *lb, void *i
*/
te->idcode = seq->type;
te->directdata = seq;
+ te->name = seq->name + 2;
- if (seq->type < 7) {
+ if (seq->type < SEQ_TYPE_EFFECT) {
/*
* This work like the sequence.
* If the sequence have a name (not default name)
* show it, in other case put the filename.
*/
- if (strcmp(seq->name, "SQ"))
- te->name = seq->name;
- else {
- if ((seq->strip) && (seq->strip->stripdata))
- te->name = seq->strip->stripdata->name;
- else
- te->name = "SQ None";
- }
- if (seq->type == SEQ_META) {
- te->name = "Meta Strip";
+ if (seq->type == SEQ_TYPE_META) {
p = seq->seqbase.first;
while (p) {
outliner_add_element(soops, &te->subtree, (void *)p, te, TSE_SEQUENCE, index);
@@ -916,8 +916,6 @@ static TreeElement *outliner_add_element(SpaceOops *soops, ListBase *lb, void *i
else
outliner_add_element(soops, &te->subtree, (void *)seq->strip, te, TSE_SEQ_STRIP, index);
}
- else
- te->name = "Effect";
}
else if (type == TSE_SEQ_STRIP) {
Strip *strip = (Strip *)idv;
diff --git a/source/blender/editors/space_outliner/space_outliner.c b/source/blender/editors/space_outliner/space_outliner.c
index 3110ff3e29e..489a4efe891 100644
--- a/source/blender/editors/space_outliner/space_outliner.c
+++ b/source/blender/editors/space_outliner/space_outliner.c
@@ -41,6 +41,7 @@
#include "BKE_context.h"
#include "BKE_screen.h"
+#include "BKE_scene.h"
#include "ED_space_api.h"
#include "ED_screen.h"
@@ -52,6 +53,9 @@
#include "RNA_access.h"
+#include "DNA_scene_types.h"
+#include "DNA_object_types.h"
+
#include "UI_resources.h"
#include "UI_view2d.h"
@@ -91,7 +95,22 @@ static int outliner_parent_drop_poll(bContext *C, wmDrag *drag, wmEvent *event)
for (te = soops->tree.first; te; te = te->next) {
TreeElement *te_valid;
te_valid = outliner_dropzone_parent(C, event, te, fmval);
- if (te_valid) return 1;
+ if (te_valid) {
+ /* check that parent/child are both in the same scene */
+ Scene *scene = (Scene *)outliner_search_back(soops, te_valid, ID_SCE);
+
+ if (!scene) {
+ /* currently outlier organized in a way, that if there's no parent scene
+ * element for object it means that all displayed objects belong to
+ * active scene and parenting them is allowed (sergey)
+ */
+ return 1;
+ }
+
+ if (scene && BKE_scene_base_find(scene, (Object *)id)) {
+ return 1;
+ }
+ }
}
}
}
@@ -117,7 +136,9 @@ static int outliner_parent_clear_poll(bContext *C, wmDrag *drag, wmEvent *event)
if (drag->type == WM_DRAG_ID) {
ID *id = (ID *)drag->poin;
if (GS(id->name) == ID_OB) {
- //TODO: Check if no parent?
+ if (((Object *)id)->parent == NULL) {
+ return 0;
+ }
/* Ensure location under cursor is valid dropzone */
for (te = soops->tree.first; te; te = te->next) {
if (outliner_dropzone_parent_clear(C, event, te, fmval)) return 1;
@@ -144,6 +165,64 @@ static void outliner_parent_clear_copy(wmDrag *drag, wmDropBox *drop)
RNA_enum_set(drop->ptr, "type", 0);
}
+static int outliner_scene_drop_poll(bContext *C, wmDrag *drag, wmEvent *event)
+{
+ ARegion *ar = CTX_wm_region(C);
+ SpaceOops *soops = CTX_wm_space_outliner(C);
+ TreeElement *te = NULL;
+ float fmval[2];
+ UI_view2d_region_to_view(&ar->v2d, event->mval[0], event->mval[1], &fmval[0], &fmval[1]);
+
+ if (drag->type == WM_DRAG_ID) {
+ ID *id = (ID *)drag->poin;
+ if (GS(id->name) == ID_OB) {
+ /* Ensure item under cursor is valid drop target */
+ /* Find object hovered over */
+ for (te = soops->tree.first; te; te = te->next) {
+ if (outliner_dropzone_scene(C, event, te, fmval))
+ return 1;
+ }
+ }
+ }
+ return 0;
+}
+
+static void outliner_scene_drop_copy(wmDrag *drag, wmDropBox *drop)
+{
+ ID *id = (ID *)drag->poin;
+
+ RNA_string_set(drop->ptr, "object", id->name + 2);
+}
+
+static int outliner_material_drop_poll(bContext *C, wmDrag *drag, wmEvent *event)
+{
+ ARegion *ar = CTX_wm_region(C);
+ SpaceOops *soops = CTX_wm_space_outliner(C);
+ TreeElement *te = NULL;
+ float fmval[2];
+ UI_view2d_region_to_view(&ar->v2d, event->mval[0], event->mval[1], &fmval[0], &fmval[1]);
+
+ if (drag->type == WM_DRAG_ID) {
+ ID *id = (ID *)drag->poin;
+ if (GS(id->name) == ID_MA) {
+ /* Ensure item under cursor is valid drop target */
+ /* Find object hovered over */
+ for (te = soops->tree.first; te; te = te->next) {
+ if (outliner_dropzone_parent(C, event, te, fmval))
+ return 1;
+ }
+ }
+ }
+ return 0;
+}
+
+static void outliner_material_drop_copy(wmDrag *drag, wmDropBox *drop)
+{
+ ID *id = (ID *)drag->poin;
+
+ RNA_string_set(drop->ptr, "material", id->name + 2);
+}
+
/* region dropbox definition */
static void outliner_dropboxes(void)
{
@@ -151,6 +230,8 @@ static void outliner_dropboxes(void)
WM_dropbox_add(lb, "OUTLINER_OT_parent_drop", outliner_parent_drop_poll, outliner_parent_drop_copy);
WM_dropbox_add(lb, "OUTLINER_OT_parent_clear", outliner_parent_clear_poll, outliner_parent_clear_copy);
+ WM_dropbox_add(lb, "OUTLINER_OT_scene_drop", outliner_scene_drop_poll, outliner_scene_drop_copy);
+ WM_dropbox_add(lb, "OUTLINER_OT_material_drop", outliner_material_drop_poll, outliner_material_drop_copy);
}
static void outliner_main_area_draw(const bContext *C, ARegion *ar)
diff --git a/source/blender/editors/space_sequencer/CMakeLists.txt b/source/blender/editors/space_sequencer/CMakeLists.txt
index bfd9ed95ee4..7bee8c2bebf 100644
--- a/source/blender/editors/space_sequencer/CMakeLists.txt
+++ b/source/blender/editors/space_sequencer/CMakeLists.txt
@@ -20,6 +20,7 @@
set(INC
../include
+ ../../blenfont
../../blenkernel
../../blenlib
../../blenloader
diff --git a/source/blender/editors/space_sequencer/SConscript b/source/blender/editors/space_sequencer/SConscript
index 65aadfa1c8a..ec06eacae9c 100644
--- a/source/blender/editors/space_sequencer/SConscript
+++ b/source/blender/editors/space_sequencer/SConscript
@@ -5,7 +5,7 @@ sources = env.Glob('*.c')
incs = '../include ../../blenlib ../../blenkernel ../../blenfont ../../makesdna ../../imbuf'
incs += ' ../../windowmanager #/intern/guardedalloc #/extern/glew/include'
-incs += ' ../../makesrna ../../blenloader'
+incs += ' ../../makesrna ../../blenloader ../../blenfont'
incs += ' #/intern/audaspace/intern'
if env['OURPLATFORM'] in ('win32-vc', 'win32-mingw', 'linuxcross', 'win64-vc', 'win64-mingw'):
diff --git a/source/blender/editors/space_sequencer/sequencer_add.c b/source/blender/editors/space_sequencer/sequencer_add.c
index 97bfe1bafc2..26bedd14d6e 100644
--- a/source/blender/editors/space_sequencer/sequencer_add.c
+++ b/source/blender/editors/space_sequencer/sequencer_add.c
@@ -46,6 +46,7 @@
#include "BLI_utildefines.h"
#include "DNA_scene_types.h"
+#include "DNA_mask_types.h"
#include "DNA_userdef_types.h"
#include "BKE_context.h"
@@ -54,6 +55,8 @@
#include "BKE_main.h"
#include "BKE_sequencer.h"
#include "BKE_movieclip.h"
+#include "BKE_sequencer.h"
+#include "BKE_mask.h"
#include "BKE_report.h"
#include "WM_api.h"
@@ -65,6 +68,7 @@
/* for menu/popup icons etc etc*/
#include "ED_screen.h"
+#include "ED_sequencer.h"
#include "UI_view2d.h"
@@ -227,8 +231,8 @@ static int sequencer_add_scene_strip_exec(bContext *C, wmOperator *op)
}
seq = alloc_sequence(ed->seqbasep, start_frame, channel);
- seq->type = SEQ_SCENE;
- seq->blend_mode = SEQ_CROSS; /* so alpha adjustment fade to the strip below */
+ seq->type = SEQ_TYPE_SCENE;
+ seq->blend_mode = SEQ_TYPE_CROSS; /* so alpha adjustment fade to the strip below */
seq->scene = sce_seq;
@@ -246,7 +250,7 @@ static int sequencer_add_scene_strip_exec(bContext *C, wmOperator *op)
BKE_sequencer_sort(scene);
if (RNA_boolean_get(op->ptr, "replace_sel")) {
- deselect_all_seq(scene);
+ ED_sequencer_deselect_all(scene);
BKE_sequencer_active_set(scene, seq);
seq->flag |= SELECT;
}
@@ -326,8 +330,8 @@ static int sequencer_add_movieclip_strip_exec(bContext *C, wmOperator *op)
}
seq = alloc_sequence(ed->seqbasep, start_frame, channel);
- seq->type = SEQ_MOVIECLIP;
- seq->blend_mode = SEQ_CROSS;
+ seq->type = SEQ_TYPE_MOVIECLIP;
+ seq->blend_mode = SEQ_TYPE_CROSS;
seq->clip = clip;
if (seq->clip->id.us == 0)
@@ -345,7 +349,7 @@ static int sequencer_add_movieclip_strip_exec(bContext *C, wmOperator *op)
BKE_sequencer_sort(scene);
if (RNA_boolean_get(op->ptr, "replace_sel")) {
- deselect_all_seq(scene);
+ ED_sequencer_deselect_all(scene);
BKE_sequencer_active_set(scene, seq);
seq->flag |= SELECT;
}
@@ -359,7 +363,6 @@ static int sequencer_add_movieclip_strip_exec(bContext *C, wmOperator *op)
return OPERATOR_FINISHED;
}
-
static int sequencer_add_movieclip_strip_invoke(bContext *C, wmOperator *op, wmEvent *event)
{
if (!ED_operator_sequencer_active(C)) {
@@ -376,11 +379,10 @@ static int sequencer_add_movieclip_strip_invoke(bContext *C, wmOperator *op, wmE
// return WM_menu_invoke(C, op, event);
}
-
void SEQUENCER_OT_movieclip_strip_add(struct wmOperatorType *ot)
{
PropertyRNA *prop;
-
+
/* identifiers */
ot->name = "Add MovieClip Strip";
ot->idname = "SEQUENCER_OT_movieclip_strip_add";
@@ -391,16 +393,113 @@ void SEQUENCER_OT_movieclip_strip_add(struct wmOperatorType *ot)
ot->exec = sequencer_add_movieclip_strip_exec;
ot->poll = ED_operator_scene_editable;
-
+
/* flags */
ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
-
+
sequencer_generic_props__internal(ot, SEQPROP_STARTFRAME);
prop = RNA_def_enum(ot->srna, "clip", DummyRNA_NULL_items, 0, "Clip", "");
RNA_def_enum_funcs(prop, RNA_movieclip_itemf);
ot->prop = prop;
}
+static int sequencer_add_mask_strip_exec(bContext *C, wmOperator *op)
+{
+ Scene *scene = CTX_data_scene(C);
+ Editing *ed = BKE_sequencer_editing_get(scene, TRUE);
+
+ Mask *mask;
+
+ Sequence *seq; /* generic strip vars */
+ Strip *strip;
+
+ int start_frame, channel; /* operator props */
+
+ start_frame = RNA_int_get(op->ptr, "frame_start");
+ channel = RNA_int_get(op->ptr, "channel");
+
+ mask = BLI_findlink(&CTX_data_main(C)->mask, RNA_enum_get(op->ptr, "mask"));
+
+ if (mask == NULL) {
+ BKE_report(op->reports, RPT_ERROR, "Mask not found");
+ return OPERATOR_CANCELLED;
+ }
+
+ seq = alloc_sequence(ed->seqbasep, start_frame, channel);
+ seq->type = SEQ_TYPE_MASK;
+ seq->blend_mode = SEQ_TYPE_CROSS;
+ seq->mask = mask;
+
+ if (seq->mask->id.us == 0)
+ seq->mask->id.us = 1;
+
+ /* basic defaults */
+ seq->strip = strip = MEM_callocN(sizeof(Strip), "strip");
+ seq->len = BKE_mask_get_duration(mask);
+ strip->us = 1;
+
+ BLI_strncpy(seq->name + 2, mask->id.name + 2, sizeof(seq->name) - 2);
+ seqbase_unique_name_recursive(&ed->seqbase, seq);
+
+ calc_sequence_disp(scene, seq);
+ BKE_sequencer_sort(scene);
+
+ if (RNA_boolean_get(op->ptr, "replace_sel")) {
+ ED_sequencer_deselect_all(scene);
+ BKE_sequencer_active_set(scene, seq);
+ seq->flag |= SELECT;
+ }
+
+ if (RNA_boolean_get(op->ptr, "overlap") == FALSE) {
+ if (seq_test_overlap(ed->seqbasep, seq)) shuffle_seq(ed->seqbasep, seq, scene);
+ }
+
+ WM_event_add_notifier(C, NC_SCENE | ND_SEQUENCER, scene);
+
+ return OPERATOR_FINISHED;
+}
+
+static int sequencer_add_mask_strip_invoke(bContext *C, wmOperator *op, wmEvent *event)
+{
+ if (!ED_operator_sequencer_active(C)) {
+ BKE_report(op->reports, RPT_ERROR, "Sequencer area not active");
+ return OPERATOR_CANCELLED;
+ }
+
+ if (!RNA_struct_property_is_set(op->ptr, "mask"))
+ return WM_enum_search_invoke(C, op, event);
+
+ sequencer_generic_invoke_xy__internal(C, op, event, 0);
+ return sequencer_add_mask_strip_exec(C, op);
+ // needs a menu
+ // return WM_menu_invoke(C, op, event);
+}
+
+
+void SEQUENCER_OT_mask_strip_add(struct wmOperatorType *ot)
+{
+ PropertyRNA *prop;
+
+ /* identifiers */
+ ot->name = "Add Mask Strip";
+ ot->idname = "SEQUENCER_OT_mask_strip_add";
+ ot->description = "Add a mask strip to the sequencer";
+
+ /* api callbacks */
+ ot->invoke = sequencer_add_mask_strip_invoke;
+ ot->exec = sequencer_add_mask_strip_exec;
+
+ ot->poll = ED_operator_scene_editable;
+
+ /* flags */
+ ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
+
+ sequencer_generic_props__internal(ot, SEQPROP_STARTFRAME);
+ prop = RNA_def_enum(ot->srna, "mask", DummyRNA_NULL_items, 0, "Mask", "");
+ RNA_def_enum_funcs(prop, RNA_mask_itemf);
+ ot->prop = prop;
+}
+
static int sequencer_add_generic_strip_exec(bContext *C, wmOperator *op, SeqLoadFunc seq_load_func)
{
@@ -414,7 +513,7 @@ static int sequencer_add_generic_strip_exec(bContext *C, wmOperator *op, SeqLoad
seq_load_operator_info(&seq_load, op);
if (seq_load.flag & SEQ_LOAD_REPLACE_SEL)
- deselect_all_seq(scene);
+ ED_sequencer_deselect_all(scene);
if (RNA_struct_property_is_set(op->ptr, "files"))
tot_files = RNA_property_collection_length(op->ptr, RNA_struct_find_property(op->ptr, "files"));
@@ -595,7 +694,7 @@ static int sequencer_add_image_strip_exec(bContext *C, wmOperator *op)
return OPERATOR_CANCELLED;
if (seq_load.flag & SEQ_LOAD_REPLACE_SEL)
- deselect_all_seq(scene);
+ ED_sequencer_deselect_all(scene);
/* main adding function */
@@ -739,27 +838,14 @@ static int sequencer_add_effect_strip_exec(bContext *C, wmOperator *op)
seq->strip = strip = MEM_callocN(sizeof(Strip), "strip");
strip->us = 1;
- if (seq->type == SEQ_PLUGIN) {
- char path[FILE_MAX];
- RNA_string_get(op->ptr, "filepath", path);
-
- sh.init_plugin(seq, path);
-
- if (seq->plugin == NULL) {
- BLI_remlink(ed->seqbasep, seq);
- seq_free_sequence(scene, seq);
- BKE_reportf(op->reports, RPT_ERROR, "Sequencer plugin \"%s\" could not load", path);
- return OPERATOR_CANCELLED;
- }
- }
- else if (seq->type == SEQ_COLOR) {
+ if (seq->type == SEQ_TYPE_COLOR) {
SolidColorVars *colvars = (SolidColorVars *)seq->effectdata;
RNA_float_get_array(op->ptr, "color", colvars->col);
- seq->blend_mode = SEQ_CROSS; /* so alpha adjustment fade to the strip below */
+ seq->blend_mode = SEQ_TYPE_CROSS; /* so alpha adjustment fade to the strip below */
}
- else if (seq->type == SEQ_ADJUSTMENT) {
- seq->blend_mode = SEQ_CROSS;
+ else if (seq->type == SEQ_TYPE_ADJUSTMENT) {
+ seq->blend_mode = SEQ_TYPE_CROSS;
}
/* an unset channel is a special case where we automatically go above
@@ -786,7 +872,7 @@ static int sequencer_add_effect_strip_exec(bContext *C, wmOperator *op)
BKE_sequencer_sort(scene);
if (RNA_boolean_get(op->ptr, "replace_sel")) {
- deselect_all_seq(scene);
+ ED_sequencer_deselect_all(scene);
BKE_sequencer_active_set(scene, seq);
seq->flag |= SELECT;
}
@@ -823,14 +909,7 @@ static int sequencer_add_effect_strip_invoke(bContext *C, wmOperator *op, wmEven
sequencer_generic_invoke_xy__internal(C, op, event, prop_flag);
- if (is_type_set && type == SEQ_PLUGIN) {
- /* only plugins need the file selector */
- WM_event_add_fileselect(C, op);
- return OPERATOR_RUNNING_MODAL;
- }
- else {
- return sequencer_add_effect_strip_exec(C, op);
- }
+ return sequencer_add_effect_strip_exec(C, op);
}
void SEQUENCER_OT_effect_strip_add(struct wmOperatorType *ot)
@@ -851,6 +930,6 @@ void SEQUENCER_OT_effect_strip_add(struct wmOperatorType *ot)
WM_operator_properties_filesel(ot, 0, FILE_SPECIAL, FILE_OPENFILE, WM_FILESEL_FILEPATH | WM_FILESEL_RELPATH, FILE_DEFAULTDISPLAY);
sequencer_generic_props__internal(ot, SEQPROP_STARTFRAME | SEQPROP_ENDFRAME);
- RNA_def_enum(ot->srna, "type", sequencer_prop_effect_types, SEQ_CROSS, "Type", "Sequencer effect type");
+ RNA_def_enum(ot->srna, "type", sequencer_prop_effect_types, SEQ_TYPE_CROSS, "Type", "Sequencer effect type");
RNA_def_float_vector(ot->srna, "color", 3, NULL, 0.0f, 1.0f, "Color", "Initialize the strip with this color (only used when type='COLOR')", 0.0f, 1.0f);
}
diff --git a/source/blender/editors/space_sequencer/sequencer_buttons.c b/source/blender/editors/space_sequencer/sequencer_buttons.c
index aeedafa9992..1e452f2052d 100644
--- a/source/blender/editors/space_sequencer/sequencer_buttons.c
+++ b/source/blender/editors/space_sequencer/sequencer_buttons.c
@@ -25,8 +25,6 @@
* \ingroup spseq
*/
-
-
#include <string.h>
#include <stdio.h>
@@ -36,10 +34,13 @@
#include "BLI_blenlib.h"
#include "BLI_utildefines.h"
+#include "BLF_translation.h"
+
#include "BKE_context.h"
#include "BKE_screen.h"
#include "ED_screen.h"
+#include "ED_gpencil.h"
#include "WM_api.h"
#include "WM_types.h"
@@ -48,6 +49,19 @@
#include "sequencer_intern.h"
+/* **************************** buttons ********************************* */
+
+void sequencer_buttons_register(ARegionType *art)
+{
+ PanelType *pt;
+
+ pt = MEM_callocN(sizeof(PanelType), "spacetype sequencer panel gpencil");
+ strcpy(pt->idname, "SEQUENCER_PT_gpencil");
+ strcpy(pt->label, N_("Grease Pencil"));
+ pt->draw= gpencil_panel_standard;
+ BLI_addtail(&art->paneltypes, pt);
+}
+
/* **************** operator to open/close properties view ************* */
static int sequencer_properties(bContext *C, wmOperator *UNUSED(op))
diff --git a/source/blender/editors/space_sequencer/sequencer_draw.c b/source/blender/editors/space_sequencer/sequencer_draw.c
index 392e7793a0f..e48450e93bd 100644
--- a/source/blender/editors/space_sequencer/sequencer_draw.c
+++ b/source/blender/editors/space_sequencer/sequencer_draw.c
@@ -40,6 +40,7 @@
#include "IMB_imbuf_types.h"
#include "DNA_scene_types.h"
+#include "DNA_mask_types.h"
#include "DNA_screen_types.h"
#include "DNA_space_types.h"
#include "DNA_userdef_types.h"
@@ -57,8 +58,11 @@
#include "BIF_glutil.h"
#include "ED_anim_api.h"
+#include "ED_gpencil.h"
#include "ED_markers.h"
+#include "ED_mask.h"
#include "ED_types.h"
+#include "ED_space_api.h"
#include "UI_interface.h"
#include "UI_resources.h"
@@ -82,23 +86,27 @@ static void get_seq_color3ubv(Scene *curscene, Sequence *seq, unsigned char col[
SolidColorVars *colvars = (SolidColorVars *)seq->effectdata;
switch (seq->type) {
- case SEQ_IMAGE:
+ case SEQ_TYPE_IMAGE:
UI_GetThemeColor3ubv(TH_SEQ_IMAGE, col);
break;
- case SEQ_META:
+ case SEQ_TYPE_META:
UI_GetThemeColor3ubv(TH_SEQ_META, col);
break;
- case SEQ_MOVIE:
+ case SEQ_TYPE_MOVIE:
UI_GetThemeColor3ubv(TH_SEQ_MOVIE, col);
break;
- case SEQ_MOVIECLIP:
+ case SEQ_TYPE_MOVIECLIP:
UI_GetThemeColor3ubv(TH_SEQ_MOVIECLIP, col);
break;
-
- case SEQ_SCENE:
+
+ case SEQ_TYPE_MASK:
+ UI_GetThemeColor3ubv(TH_SEQ_MASK, col); /* TODO */
+ break;
+
+ case SEQ_TYPE_SCENE:
UI_GetThemeColor3ubv(TH_SEQ_SCENE, col);
if (seq->scene == curscene) {
@@ -107,45 +115,45 @@ static void get_seq_color3ubv(Scene *curscene, Sequence *seq, unsigned char col[
break;
/* transitions */
- case SEQ_CROSS:
- case SEQ_GAMCROSS:
- case SEQ_WIPE:
+ case SEQ_TYPE_CROSS:
+ case SEQ_TYPE_GAMCROSS:
+ case SEQ_TYPE_WIPE:
UI_GetThemeColor3ubv(TH_SEQ_TRANSITION, col);
/* slightly offset hue to distinguish different effects */
- if (seq->type == SEQ_CROSS) rgb_byte_set_hue_float_offset(col, 0.04);
- if (seq->type == SEQ_GAMCROSS) rgb_byte_set_hue_float_offset(col, 0.08);
- if (seq->type == SEQ_WIPE) rgb_byte_set_hue_float_offset(col, 0.12);
+ if (seq->type == SEQ_TYPE_CROSS) rgb_byte_set_hue_float_offset(col, 0.04);
+ if (seq->type == SEQ_TYPE_GAMCROSS) rgb_byte_set_hue_float_offset(col, 0.08);
+ if (seq->type == SEQ_TYPE_WIPE) rgb_byte_set_hue_float_offset(col, 0.12);
break;
/* effects */
- case SEQ_TRANSFORM:
- case SEQ_SPEED:
- case SEQ_ADD:
- case SEQ_SUB:
- case SEQ_MUL:
- case SEQ_ALPHAOVER:
- case SEQ_ALPHAUNDER:
- case SEQ_OVERDROP:
- case SEQ_GLOW:
- case SEQ_MULTICAM:
- case SEQ_ADJUSTMENT:
+ case SEQ_TYPE_TRANSFORM:
+ case SEQ_TYPE_SPEED:
+ case SEQ_TYPE_ADD:
+ case SEQ_TYPE_SUB:
+ case SEQ_TYPE_MUL:
+ case SEQ_TYPE_ALPHAOVER:
+ case SEQ_TYPE_ALPHAUNDER:
+ case SEQ_TYPE_OVERDROP:
+ case SEQ_TYPE_GLOW:
+ case SEQ_TYPE_MULTICAM:
+ case SEQ_TYPE_ADJUSTMENT:
UI_GetThemeColor3ubv(TH_SEQ_EFFECT, col);
/* slightly offset hue to distinguish different effects */
- if (seq->type == SEQ_ADD) rgb_byte_set_hue_float_offset(col, 0.04);
- else if (seq->type == SEQ_SUB) rgb_byte_set_hue_float_offset(col, 0.08);
- else if (seq->type == SEQ_MUL) rgb_byte_set_hue_float_offset(col, 0.12);
- else if (seq->type == SEQ_ALPHAOVER) rgb_byte_set_hue_float_offset(col, 0.16);
- else if (seq->type == SEQ_ALPHAUNDER) rgb_byte_set_hue_float_offset(col, 0.20);
- else if (seq->type == SEQ_OVERDROP) rgb_byte_set_hue_float_offset(col, 0.24);
- else if (seq->type == SEQ_GLOW) rgb_byte_set_hue_float_offset(col, 0.28);
- else if (seq->type == SEQ_TRANSFORM) rgb_byte_set_hue_float_offset(col, 0.36);
- else if (seq->type == SEQ_MULTICAM) rgb_byte_set_hue_float_offset(col, 0.32);
- else if (seq->type == SEQ_ADJUSTMENT) rgb_byte_set_hue_float_offset(col, 0.40);
+ if (seq->type == SEQ_TYPE_ADD) rgb_byte_set_hue_float_offset(col, 0.04);
+ else if (seq->type == SEQ_TYPE_SUB) rgb_byte_set_hue_float_offset(col, 0.08);
+ else if (seq->type == SEQ_TYPE_MUL) rgb_byte_set_hue_float_offset(col, 0.12);
+ else if (seq->type == SEQ_TYPE_ALPHAOVER) rgb_byte_set_hue_float_offset(col, 0.16);
+ else if (seq->type == SEQ_TYPE_ALPHAUNDER) rgb_byte_set_hue_float_offset(col, 0.20);
+ else if (seq->type == SEQ_TYPE_OVERDROP) rgb_byte_set_hue_float_offset(col, 0.24);
+ else if (seq->type == SEQ_TYPE_GLOW) rgb_byte_set_hue_float_offset(col, 0.28);
+ else if (seq->type == SEQ_TYPE_TRANSFORM) rgb_byte_set_hue_float_offset(col, 0.36);
+ else if (seq->type == SEQ_TYPE_MULTICAM) rgb_byte_set_hue_float_offset(col, 0.32);
+ else if (seq->type == SEQ_TYPE_ADJUSTMENT) rgb_byte_set_hue_float_offset(col, 0.40);
break;
- case SEQ_COLOR:
+ case SEQ_TYPE_COLOR:
if (colvars->col) {
rgb_float_to_uchar(col, colvars->col);
}
@@ -153,12 +161,8 @@ static void get_seq_color3ubv(Scene *curscene, Sequence *seq, unsigned char col[
col[0] = col[1] = col[2] = 128;
}
break;
-
- case SEQ_PLUGIN:
- UI_GetThemeColor3ubv(TH_SEQ_PLUGIN, col);
- break;
- case SEQ_SOUND:
+ case SEQ_TYPE_SOUND_RAM:
UI_GetThemeColor3ubv(TH_SEQ_AUDIO, col);
blendcol[0] = blendcol[1] = blendcol[2] = 128;
if (seq->flag & SEQ_MUTE) UI_GetColorPtrBlendShade3ubv(col, blendcol, col, 0.5, 20);
@@ -366,7 +370,7 @@ static void draw_seq_handle(View2D *v2d, Sequence *seq, float pixelx, short dire
}
/* draw! */
- if (seq->type < SEQ_EFFECT ||
+ if (seq->type < SEQ_TYPE_EFFECT ||
get_sequence_effect_num_inputs(seq->type) == 0)
{
glEnable(GL_BLEND);
@@ -413,7 +417,7 @@ static void draw_seq_extensions(Scene *scene, ARegion *ar, Sequence *seq)
unsigned char col[3], blendcol[3];
View2D *v2d = &ar->v2d;
- if (seq->type >= SEQ_EFFECT) return;
+ if (seq->type >= SEQ_TYPE_EFFECT) return;
x1 = seq->startdisp;
x2 = seq->enddisp;
@@ -525,10 +529,10 @@ static void draw_seq_text(View2D *v2d, Sequence *seq, float x1, float x2, float
if (name[0] == '\0')
name = give_seqname(seq);
- if (seq->type == SEQ_META || seq->type == SEQ_ADJUSTMENT) {
+ if (seq->type == SEQ_TYPE_META || seq->type == SEQ_TYPE_ADJUSTMENT) {
BLI_snprintf(str, sizeof(str), "%d | %s", seq->len, name);
}
- else if (seq->type == SEQ_SCENE) {
+ else if (seq->type == SEQ_TYPE_SCENE) {
if (seq->scene) {
if (seq->scene_camera) {
BLI_snprintf(str, sizeof(str), "%d | %s: %s (%s)",
@@ -544,7 +548,7 @@ static void draw_seq_text(View2D *v2d, Sequence *seq, float x1, float x2, float
seq->len, name);
}
}
- else if (seq->type == SEQ_MOVIECLIP) {
+ else if (seq->type == SEQ_TYPE_MOVIECLIP) {
if (seq->clip && strcmp(name, seq->clip->id.name + 2) != 0) {
BLI_snprintf(str, sizeof(str), "%d | %s: %s",
seq->len, name, seq->clip->id.name + 2);
@@ -554,33 +558,29 @@ static void draw_seq_text(View2D *v2d, Sequence *seq, float x1, float x2, float
seq->len, name);
}
}
- else if (seq->type == SEQ_MULTICAM) {
+ else if (seq->type == SEQ_TYPE_MASK) {
+ if (seq->mask && strcmp(name, seq->mask->id.name + 2) != 0) {
+ BLI_snprintf(str, sizeof(str), "%d | %s: %s",
+ seq->len, name, seq->mask->id.name + 2);
+ }
+ else {
+ BLI_snprintf(str, sizeof(str), "%d | %s",
+ seq->len, name);
+ }
+ }
+ else if (seq->type == SEQ_TYPE_MULTICAM) {
BLI_snprintf(str, sizeof(str), "Cam | %s: %d",
name, seq->multicam_source);
}
- else if (seq->type == SEQ_IMAGE) {
+ else if (seq->type == SEQ_TYPE_IMAGE) {
BLI_snprintf(str, sizeof(str), "%d | %s: %s%s",
seq->len, name, seq->strip->dir, seq->strip->stripdata->name);
}
- else if (seq->type & SEQ_EFFECT) {
- int can_float = (seq->type != SEQ_PLUGIN) || (seq->plugin && seq->plugin->version >= 4);
-
- if (seq->seq3 != seq->seq2 && seq->seq1 != seq->seq3) {
- BLI_snprintf(str, sizeof(str), "%d | %s: %d>%d (use %d)%s",
- seq->len, name, seq->seq1->machine, seq->seq2->machine, seq->seq3->machine,
- can_float ? "" : " No float, upgrade plugin!");
- }
- else if (seq->seq1 && seq->seq2) {
- BLI_snprintf(str, sizeof(str), "%d | %s: %d>%d%s",
- seq->len, name, seq->seq1->machine, seq->seq2->machine,
- can_float ? "" : " No float, upgrade plugin!");
- }
- else {
- BLI_snprintf(str, sizeof(str), "%d | %s",
+ else if (seq->type & SEQ_TYPE_EFFECT) {
+ BLI_snprintf(str, sizeof(str), "%d | %s",
seq->len, name);
- }
}
- else if (seq->type == SEQ_SOUND) {
+ else if (seq->type == SEQ_TYPE_SOUND_RAM) {
if (seq->sound)
BLI_snprintf(str, sizeof(str), "%d | %s: %s",
seq->len, name, seq->sound->name);
@@ -588,7 +588,7 @@ static void draw_seq_text(View2D *v2d, Sequence *seq, float x1, float x2, float
BLI_snprintf(str, sizeof(str), "%d | %s",
seq->len, name);
}
- else if (seq->type == SEQ_MOVIE) {
+ else if (seq->type == SEQ_TYPE_MOVIE) {
BLI_snprintf(str, sizeof(str), "%d | %s: %s%s",
seq->len, name, seq->strip->dir, seq->strip->stripdata->name);
}
@@ -714,7 +714,7 @@ static void draw_seq_strip(Scene *scene, ARegion *ar, Sequence *seq, int outline
x2 = seq->enddisp;
/* draw sound wave */
- if (seq->type == SEQ_SOUND) {
+ if (seq->type == SEQ_TYPE_SOUND_RAM) {
drawseqwave(scene, seq, x1, y1, x2, y2, (ar->v2d.cur.xmax - ar->v2d.cur.xmin) / ar->winx);
}
@@ -761,7 +761,7 @@ static void draw_seq_strip(Scene *scene, ARegion *ar, Sequence *seq, int outline
glDisable(GL_LINE_STIPPLE);
}
- if (seq->type == SEQ_META) {
+ if (seq->type == SEQ_TYPE_META) {
drawmeta_contents(scene, seq, x1, y1, x2, y2);
}
@@ -976,17 +976,68 @@ void draw_image_seq(const bContext *C, Scene *scene, ARegion *ar, SpaceSeq *sseq
}
/* draw grease-pencil (image aligned) */
-// if (sseq->flag & SEQ_DRAW_GPENCIL)
-// XXX draw_gpencil_2dimage(sa, ibuf);
+ draw_gpencil_2dimage(C);
IMB_freeImBuf(ibuf);
- /* draw grease-pencil (screen aligned) */
-// if (sseq->flag & SEQ_DRAW_GPENCIL)
-// XXX draw_gpencil_view2d(sa, 0);
-
/* ortho at pixel level */
UI_view2d_view_restore(C);
+
+ /* draw grease-pencil (screen aligned) */
+ draw_gpencil_view2d(C, 0);
+
+ //if (sc->mode == SC_MODE_MASKEDIT) {
+ if (sseq->mainb == SEQ_DRAW_IMG_IMBUF) {
+ Sequence *seq_act = BKE_sequencer_active_get(scene);
+
+ if (seq_act && seq_act->type == SEQ_TYPE_MASK && seq_act->mask) {
+ int x, y;
+ int width, height;
+ float zoomx, zoomy;
+
+ /* frame image */
+ float maxdim;
+ float xofs, yofs;
+
+ /* find window pixel coordinates of origin */
+ UI_view2d_to_region_no_clip(&ar->v2d, 0.0f, 0.0f, &x, &y);
+
+ width = v2d->tot.xmax - v2d->tot.xmin;
+ height = v2d->tot.ymax - v2d->tot.ymin;
+
+ zoomx = (float)(ar->winrct.xmax - ar->winrct.xmin + 1) / (float)((ar->v2d.cur.xmax - ar->v2d.cur.xmin));
+ zoomy = (float)(ar->winrct.ymax - ar->winrct.ymin + 1) / (float)((ar->v2d.cur.ymax - ar->v2d.cur.ymin));
+
+ x += v2d->tot.xmin * zoomx;
+ y += v2d->tot.ymin * zoomy;
+
+ /* frame the image */
+ maxdim = maxf(width, height);
+ if (width == height) {
+ xofs = yofs = 0;
+ }
+ else if (width < height) {
+ xofs = ((height - width) / -2.0f) * zoomx;
+ yofs = 0.0f;
+ }
+ else { /* (width > height) */
+ xofs = 0.0f;
+ yofs = ((width - height) / -2.0f) * zoomy;
+ }
+
+ /* apply transformation so mask editing tools will assume drawing from the origin in normalized space */
+ glPushMatrix();
+ glTranslatef(x + xofs, y + yofs, 0);
+ glScalef(maxdim * zoomx, maxdim * zoomy, 0);
+
+ ED_mask_draw((bContext *)C, 0, 0); // sc->mask_draw_flag, sc->mask_draw_type
+
+ ED_region_draw_cb_draw(C, ar, REGION_DRAW_POST_VIEW);
+
+ glPopMatrix();
+ }
+ }
+
}
#if 0
diff --git a/source/blender/editors/space_sequencer/sequencer_edit.c b/source/blender/editors/space_sequencer/sequencer_edit.c
index b3b4e47ba81..c686f8440a9 100644
--- a/source/blender/editors/space_sequencer/sequencer_edit.c
+++ b/source/blender/editors/space_sequencer/sequencer_edit.c
@@ -79,21 +79,21 @@
/* XXX */
/* RNA Enums, used in multiple files */
EnumPropertyItem sequencer_prop_effect_types[] = {
- {SEQ_CROSS, "CROSS", 0, "Crossfade", "Crossfade effect strip type"},
- {SEQ_ADD, "ADD", 0, "Add", "Add effect strip type"},
- {SEQ_SUB, "SUBTRACT", 0, "Subtract", "Subtract effect strip type"},
- {SEQ_ALPHAOVER, "ALPHA_OVER", 0, "Alpha Over", "Alpha Over effect strip type"},
- {SEQ_ALPHAUNDER, "ALPHA_UNDER", 0, "Alpha Under", "Alpha Under effect strip type"},
- {SEQ_GAMCROSS, "GAMMA_CROSS", 0, "Gamma Cross", "Gamma Cross effect strip type"},
- {SEQ_MUL, "MULTIPLY", 0, "Multiply", "Multiply effect strip type"},
- {SEQ_OVERDROP, "OVER_DROP", 0, "Alpha Over Drop", "Alpha Over Drop effect strip type"},
- {SEQ_WIPE, "WIPE", 0, "Wipe", "Wipe effect strip type"},
- {SEQ_GLOW, "GLOW", 0, "Glow", "Glow effect strip type"},
- {SEQ_TRANSFORM, "TRANSFORM", 0, "Transform", "Transform effect strip type"},
- {SEQ_COLOR, "COLOR", 0, "Color", "Color effect strip type"},
- {SEQ_SPEED, "SPEED", 0, "Speed", "Color effect strip type"},
- {SEQ_MULTICAM, "MULTICAM", 0, "Multicam Selector", ""},
- {SEQ_ADJUSTMENT, "ADJUSTMENT", 0, "Adjustment Layer", ""},
+ {SEQ_TYPE_CROSS, "CROSS", 0, "Crossfade", "Crossfade effect strip type"},
+ {SEQ_TYPE_ADD, "ADD", 0, "Add", "Add effect strip type"},
+ {SEQ_TYPE_SUB, "SUBTRACT", 0, "Subtract", "Subtract effect strip type"},
+ {SEQ_TYPE_ALPHAOVER, "ALPHA_OVER", 0, "Alpha Over", "Alpha Over effect strip type"},
+ {SEQ_TYPE_ALPHAUNDER, "ALPHA_UNDER", 0, "Alpha Under", "Alpha Under effect strip type"},
+ {SEQ_TYPE_GAMCROSS, "GAMMA_CROSS", 0, "Gamma Cross", "Gamma Cross effect strip type"},
+ {SEQ_TYPE_MUL, "MULTIPLY", 0, "Multiply", "Multiply effect strip type"},
+ {SEQ_TYPE_OVERDROP, "OVER_DROP", 0, "Alpha Over Drop", "Alpha Over Drop effect strip type"},
+ {SEQ_TYPE_WIPE, "WIPE", 0, "Wipe", "Wipe effect strip type"},
+ {SEQ_TYPE_GLOW, "GLOW", 0, "Glow", "Glow effect strip type"},
+ {SEQ_TYPE_TRANSFORM, "TRANSFORM", 0, "Transform", "Transform effect strip type"},
+ {SEQ_TYPE_COLOR, "COLOR", 0, "Color", "Color effect strip type"},
+ {SEQ_TYPE_SPEED, "SPEED", 0, "Speed", "Color effect strip type"},
+ {SEQ_TYPE_MULTICAM, "MULTICAM", 0, "Multicam Selector", ""},
+ {SEQ_TYPE_ADJUSTMENT, "ADJUSTMENT", 0, "Adjustment Layer", ""},
{0, NULL, 0, NULL, NULL}
};
@@ -231,27 +231,6 @@ void seq_rectf(Sequence *seq, rctf *rectf)
rectf->ymax = seq->machine + SEQ_STRIP_OFSTOP;
}
-static void UNUSED_FUNCTION(change_plugin_seq) (Scene * scene, char *str) /* called from fileselect */
-{
- Editing *ed = BKE_sequencer_editing_get(scene, FALSE);
- struct SeqEffectHandle sh;
- Sequence *last_seq = BKE_sequencer_active_get(scene);
-
- if (last_seq == NULL || last_seq->type != SEQ_PLUGIN) return;
-
- sh = get_sequence_effect(last_seq);
- sh.free(last_seq);
- sh.init_plugin(last_seq, str);
-
- last_seq->machine = MAX3(last_seq->seq1->machine,
- last_seq->seq2->machine,
- last_seq->seq3->machine);
-
- if (seq_test_overlap(ed->seqbasep, last_seq) ) shuffle_seq(ed->seqbasep, last_seq, scene);
-
-}
-
-
void boundbox_seq(Scene *scene, rctf *rect)
{
Sequence *seq;
@@ -454,7 +433,7 @@ static int seq_is_predecessor(Sequence *pred, Sequence *seq)
return 0;
}
-void deselect_all_seq(Scene *scene)
+void ED_sequencer_deselect_all(Scene *scene)
{
Sequence *seq;
Editing *ed = BKE_sequencer_editing_get(scene, FALSE);
@@ -499,7 +478,7 @@ int seq_effect_find_selected(Scene *scene, Sequence *activeseq, int type, Sequen
for (seq = ed->seqbasep->first; seq; seq = seq->next) {
if (seq->flag & SELECT) {
- if (seq->type == SEQ_SOUND && get_sequence_effect_num_inputs(type) != 0) {
+ if (seq->type == SEQ_TYPE_SOUND_RAM && get_sequence_effect_num_inputs(type) != 0) {
*error_str = "Can't apply effects to audio sequence strips";
return 0;
}
@@ -564,7 +543,7 @@ static Sequence *del_seq_find_replace_recurs(Scene *scene, Sequence *seq)
if (!seq)
return NULL;
- else if (!(seq->type & SEQ_EFFECT))
+ else if (!(seq->type & SEQ_TYPE_EFFECT))
return ((seq->flag & SELECT) ? NULL : seq);
else if (!(seq->flag & SELECT)) {
/* try to find replacement for effect inputs */
@@ -605,7 +584,7 @@ static void recurs_del_seq_flag(Scene *scene, ListBase *lb, short flag, short de
if ((seq->flag & flag) || deleteall) {
BLI_remlink(lb, seq);
if (seq == last_seq) BKE_sequencer_active_set(scene, NULL);
- if (seq->type == SEQ_META) recurs_del_seq_flag(scene, &seq->seqbase, flag, 1);
+ if (seq->type == SEQ_TYPE_META) recurs_del_seq_flag(scene, &seq->seqbase, flag, 1);
seq_free_sequence(scene, seq);
}
seq = seqn;
@@ -637,7 +616,7 @@ static Sequence *cut_seq_hard(Scene *scene, Sequence *seq, int cutframe)
if ((seq->startstill) && (cutframe < seq->start)) {
/* don't do funny things with METAs ... */
- if (seq->type == SEQ_META) {
+ if (seq->type == SEQ_TYPE_META) {
skip_dup = TRUE;
seq->startstill = seq->start - cutframe;
}
@@ -658,7 +637,7 @@ static Sequence *cut_seq_hard(Scene *scene, Sequence *seq, int cutframe)
else if (((seq->start + seq->len) < cutframe) && (seq->endstill)) {
seq->endstill -= seq->enddisp - cutframe;
/* don't do funny things with METAs ... */
- if (seq->type == SEQ_META) {
+ if (seq->type == SEQ_TYPE_META) {
skip_dup = TRUE;
}
}
@@ -733,7 +712,7 @@ static Sequence *cut_seq_soft(Scene *scene, Sequence *seq, int cutframe)
if ((seq->startstill) && (cutframe < seq->start)) {
/* don't do funny things with METAs ... */
- if (seq->type == SEQ_META) {
+ if (seq->type == SEQ_TYPE_META) {
skip_dup = TRUE;
seq->startstill = seq->start - cutframe;
}
@@ -752,7 +731,7 @@ static Sequence *cut_seq_soft(Scene *scene, Sequence *seq, int cutframe)
else if (((seq->start + seq->len) < cutframe) && (seq->endstill)) {
seq->endstill -= seq->enddisp - cutframe;
/* don't do funny things with METAs ... */
- if (seq->type == SEQ_META) {
+ if (seq->type == SEQ_TYPE_META) {
skip_dup = TRUE;
}
}
@@ -876,7 +855,7 @@ static void UNUSED_FUNCTION(touch_seq_files) (Scene * scene)
SEQP_BEGIN (ed, seq)
{
if (seq->flag & SELECT) {
- if (seq->type == SEQ_MOVIE) {
+ if (seq->type == SEQ_TYPE_MOVIE) {
if (seq->strip && seq->strip->stripdata) {
BLI_make_file_string(G.main->name, str, seq->strip->dir, seq->strip->stripdata->name);
BLI_file_touch(seq->name);
@@ -904,7 +883,7 @@ static void set_filter_seq(Scene *scene)
SEQP_BEGIN (ed, seq)
{
if (seq->flag & SELECT) {
- if (seq->type == SEQ_MOVIE) {
+ if (seq->type == SEQ_TYPE_MOVIE) {
seq->flag |= SEQ_FILTERY;
reload_sequence_new_file(scene, seq, FALSE);
calc_sequence(scene, seq);
@@ -1073,7 +1052,7 @@ static int sequencer_snap_exec(bContext *C, wmOperator *op)
shuffle_seq(ed->seqbasep, seq, scene);
}
}
- else if (seq->type & SEQ_EFFECT) {
+ else if (seq->type & SEQ_TYPE_EFFECT) {
if (seq->seq1 && (seq->seq1->flag & SELECT))
calc_sequence(scene, seq);
else if (seq->seq2 && (seq->seq2->flag & SELECT))
@@ -1389,7 +1368,7 @@ static int sequencer_effect_poll(bContext *C)
if (ed) {
Sequence *last_seq = BKE_sequencer_active_get(scene);
- if (last_seq && (last_seq->type & SEQ_EFFECT)) {
+ if (last_seq && (last_seq->type & SEQ_TYPE_EFFECT)) {
return 1;
}
}
@@ -1647,7 +1626,7 @@ static int sequencer_delete_exec(bContext *C, wmOperator *UNUSED(op))
/* for effects, try to find a replacement input */
for (seq = ed->seqbasep->first; seq; seq = seq->next)
- if ((seq->type & SEQ_EFFECT) && !(seq->flag & SELECT))
+ if ((seq->type & SEQ_TYPE_EFFECT) && !(seq->flag & SELECT))
del_seq_find_replace_recurs(scene, seq);
/* delete all selected strips */
@@ -1700,7 +1679,7 @@ static int sequencer_offset_clear_exec(bContext *C, wmOperator *UNUSED(op))
/* for effects, try to find a replacement input */
for (seq = ed->seqbasep->first; seq; seq = seq->next) {
- if ((seq->type & SEQ_EFFECT) == 0 && (seq->flag & SELECT)) {
+ if ((seq->type & SEQ_TYPE_EFFECT) == 0 && (seq->flag & SELECT)) {
seq->startofs = seq->endofs = seq->startstill = seq->endstill = 0;
}
}
@@ -1713,7 +1692,7 @@ static int sequencer_offset_clear_exec(bContext *C, wmOperator *UNUSED(op))
}
for (seq = ed->seqbasep->first; seq; seq = seq->next) {
- if ((seq->type & SEQ_EFFECT) == 0 && (seq->flag & SELECT)) {
+ if ((seq->type & SEQ_TYPE_EFFECT) == 0 && (seq->flag & SELECT)) {
if (seq_test_overlap(ed->seqbasep, seq)) {
shuffle_seq(ed->seqbasep, seq, scene);
}
@@ -1758,7 +1737,7 @@ static int sequencer_separate_images_exec(bContext *C, wmOperator *op)
seq = ed->seqbasep->first; /* poll checks this is valid */
while (seq) {
- if ((seq->flag & SELECT) && (seq->type == SEQ_IMAGE) && (seq->len > 1)) {
+ if ((seq->flag & SELECT) && (seq->type == SEQ_TYPE_IMAGE) && (seq->len > 1)) {
/* remove seq so overlap tests don't conflict,
* see seq_free_sequence below for the real free'ing */
BLI_remlink(ed->seqbasep, seq);
@@ -1776,7 +1755,7 @@ static int sequencer_separate_images_exec(bContext *C, wmOperator *op)
BLI_addtail(ed->seqbasep, seq_new);
seq_new->start = start_ofs;
- seq_new->type = SEQ_IMAGE;
+ seq_new->type = SEQ_TYPE_IMAGE;
seq_new->len = 1;
seq_new->endstill = step - 1;
@@ -1847,7 +1826,7 @@ static int sequencer_meta_toggle_exec(bContext *C, wmOperator *UNUSED(op))
Sequence *last_seq = BKE_sequencer_active_get(scene);
MetaStack *ms;
- if (last_seq && last_seq->type == SEQ_META && last_seq->flag & SELECT) {
+ if (last_seq && last_seq->type == SEQ_TYPE_META && last_seq->flag & SELECT) {
/* Enter Metastrip */
ms = MEM_mallocN(sizeof(MetaStack), "metastack");
BLI_addtail(&ed->metastack, ms);
@@ -1925,7 +1904,7 @@ static int sequencer_meta_make_exec(bContext *C, wmOperator *op)
seqm = alloc_sequence(ed->seqbasep, 1, 1); /* channel number set later */
strcpy(seqm->name + 2, "MetaStrip");
- seqm->type = SEQ_META;
+ seqm->type = SEQ_TYPE_META;
seqm->flag = SELECT;
seq = ed->seqbasep->first;
@@ -1991,7 +1970,7 @@ static int sequencer_meta_separate_exec(bContext *C, wmOperator *UNUSED(op))
Sequence *seq, *last_seq = BKE_sequencer_active_get(scene); /* last_seq checks (ed == NULL) */
- if (last_seq == NULL || last_seq->type != SEQ_META)
+ if (last_seq == NULL || last_seq->type != SEQ_TYPE_META)
return OPERATOR_CANCELLED;
BLI_movelisttolist(ed->seqbasep, &last_seq->seqbase);
@@ -2004,7 +1983,7 @@ static int sequencer_meta_separate_exec(bContext *C, wmOperator *UNUSED(op))
/* emtpy meta strip, delete all effects depending on it */
for (seq = ed->seqbasep->first; seq; seq = seq->next)
- if ((seq->type & SEQ_EFFECT) && seq_depends_on_meta(seq, last_seq))
+ if ((seq->type & SEQ_TYPE_EFFECT) && seq_depends_on_meta(seq, last_seq))
seq->flag |= SEQ_FLAG_DELETE;
recurs_del_seq_flag(scene, ed->seqbasep, SEQ_FLAG_DELETE, 0);
@@ -2475,14 +2454,14 @@ static int sequencer_swap_exec(bContext *C, wmOperator *op)
// XXX - should be a generic function
for (iseq = scene->ed->seqbasep->first; iseq; iseq = iseq->next) {
- if ((iseq->type & SEQ_EFFECT) && (seq_is_parent(iseq, active_seq) || seq_is_parent(iseq, seq))) {
+ if ((iseq->type & SEQ_TYPE_EFFECT) && (seq_is_parent(iseq, active_seq) || seq_is_parent(iseq, seq))) {
calc_sequence(scene, iseq);
}
}
/* do this in a new loop since both effects need to be calculated first */
for (iseq = scene->ed->seqbasep->first; iseq; iseq = iseq->next) {
- if ((iseq->type & SEQ_EFFECT) && (seq_is_parent(iseq, active_seq) || seq_is_parent(iseq, seq))) {
+ if ((iseq->type & SEQ_TYPE_EFFECT) && (seq_is_parent(iseq, active_seq) || seq_is_parent(iseq, seq))) {
/* this may now overlap */
if (seq_test_overlap(ed->seqbasep, iseq) ) {
shuffle_seq(ed->seqbasep, iseq, scene);
@@ -2533,16 +2512,16 @@ static int sequencer_rendersize_exec(bContext *C, wmOperator *UNUSED(op))
if (active_seq->strip) {
switch (active_seq->type) {
- case SEQ_IMAGE:
+ case SEQ_TYPE_IMAGE:
se = give_stripelem(active_seq, scene->r.cfra);
break;
- case SEQ_MOVIE:
+ case SEQ_TYPE_MOVIE:
se = active_seq->strip->stripdata;
break;
- case SEQ_SCENE:
- case SEQ_META:
- case SEQ_RAM_SOUND:
- case SEQ_HD_SOUND:
+ case SEQ_TYPE_SCENE:
+ case SEQ_TYPE_META:
+ case SEQ_TYPE_SOUND_RAM:
+ case SEQ_TYPE_SOUND_HD:
default:
break;
}
@@ -2580,7 +2559,7 @@ void SEQUENCER_OT_rendersize(wmOperatorType *ot)
static void seq_copy_del_sound(Scene *scene, Sequence *seq)
{
- if (seq->type == SEQ_META) {
+ if (seq->type == SEQ_TYPE_META) {
Sequence *iseq;
for (iseq = seq->seqbase.first; iseq; iseq = iseq->next) {
seq_copy_del_sound(scene, iseq);
@@ -2665,7 +2644,7 @@ static int sequencer_paste_exec(bContext *C, wmOperator *UNUSED(op))
int ofs;
Sequence *iseq;
- deselect_all_seq(scene);
+ ED_sequencer_deselect_all(scene);
ofs = scene->r.cfra - seqbase_clipboard_frame;
seqbase_dupli_recursive(scene, NULL, &nseqbase, &seqbase_clipboard, SEQ_DUPE_UNIQUE_NAME);
@@ -2921,7 +2900,7 @@ static int sequencer_change_effect_type_exec(bContext *C, wmOperator *op)
/* free previous effect and init new effect */
struct SeqEffectHandle sh;
- if ((seq->type & SEQ_EFFECT) == 0) {
+ if ((seq->type & SEQ_TYPE_EFFECT) == 0) {
return OPERATOR_CANCELLED;
}
@@ -2968,7 +2947,7 @@ void SEQUENCER_OT_change_effect_type(struct wmOperatorType *ot)
/* flags */
ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
- ot->prop = RNA_def_enum(ot->srna, "type", sequencer_prop_effect_types, SEQ_CROSS, "Type", "Sequencer effect type");
+ ot->prop = RNA_def_enum(ot->srna, "type", sequencer_prop_effect_types, SEQ_TYPE_CROSS, "Type", "Sequencer effect type");
}
static int sequencer_change_path_exec(bContext *C, wmOperator *op)
@@ -2979,7 +2958,7 @@ static int sequencer_change_path_exec(bContext *C, wmOperator *op)
Sequence *seq = BKE_sequencer_active_get(scene);
const int is_relative_path = RNA_boolean_get(op->ptr, "relative_path");
- if (seq->type == SEQ_IMAGE) {
+ if (seq->type == SEQ_TYPE_IMAGE) {
char directory[FILE_MAX];
const int len = RNA_property_collection_length(op->ptr, RNA_struct_find_property(op->ptr, "files"));
StripElem *se;
@@ -3049,7 +3028,7 @@ static int sequencer_change_path_invoke(bContext *C, wmOperator *op, wmEvent *UN
RNA_string_set(op->ptr, "directory", seq->strip->dir);
/* set default display depending on seq type */
- if (seq->type == SEQ_IMAGE) {
+ if (seq->type == SEQ_TYPE_IMAGE) {
RNA_boolean_set(op->ptr, "filter_movie", FALSE);
}
else {
diff --git a/source/blender/editors/space_sequencer/sequencer_intern.h b/source/blender/editors/space_sequencer/sequencer_intern.h
index fd536524c11..14d2ccdbbbe 100644
--- a/source/blender/editors/space_sequencer/sequencer_intern.h
+++ b/source/blender/editors/space_sequencer/sequencer_intern.h
@@ -61,7 +61,6 @@ void seq_rectf(struct Sequence *seq, struct rctf *rectf);
void boundbox_seq(struct Scene *scene, struct rctf *rect);
struct Sequence *find_nearest_seq(struct Scene *scene, struct View2D *v2d, int *hand, const int mval[2]);
struct Sequence *find_neighboring_sequence(struct Scene *scene, struct Sequence *test, int lr, int sel);
-void deselect_all_seq(struct Scene *scene);
void recurs_sel_seq(struct Sequence *seqm);
int seq_effect_find_selected(struct Scene *scene, struct Sequence *activeseq, int type, struct Sequence **selseq1, struct Sequence **selseq2, struct Sequence **selseq3, const char **error_str);
@@ -139,6 +138,7 @@ void SEQUENCER_OT_select_grouped(struct wmOperatorType *ot);
void SEQUENCER_OT_scene_strip_add(struct wmOperatorType *ot);
void SEQUENCER_OT_movie_strip_add(struct wmOperatorType *ot);
void SEQUENCER_OT_movieclip_strip_add(struct wmOperatorType *ot);
+void SEQUENCER_OT_mask_strip_add(struct wmOperatorType *ot);
void SEQUENCER_OT_sound_strip_add(struct wmOperatorType *ot);
void SEQUENCER_OT_image_strip_add(struct wmOperatorType *ot);
void SEQUENCER_OT_effect_strip_add(struct wmOperatorType *ot);
@@ -174,7 +174,7 @@ struct ImBuf *make_zebra_view_from_ibuf(struct ImBuf * ibuf, float perc);
struct ImBuf *make_histogram_view_from_ibuf(struct ImBuf * ibuf);
/* sequencer_buttons.c */
-
+void sequencer_buttons_register(struct ARegionType *art);
void SEQUENCER_OT_properties(struct wmOperatorType *ot);
#endif /* __SEQUENCER_INTERN_H__ */
diff --git a/source/blender/editors/space_sequencer/sequencer_ops.c b/source/blender/editors/space_sequencer/sequencer_ops.c
index 3a02c90f99a..79ecd9f7481 100644
--- a/source/blender/editors/space_sequencer/sequencer_ops.c
+++ b/source/blender/editors/space_sequencer/sequencer_ops.c
@@ -105,6 +105,7 @@ void sequencer_operatortypes(void)
/* sequencer_add.c */
WM_operatortype_append(SEQUENCER_OT_scene_strip_add);
WM_operatortype_append(SEQUENCER_OT_movieclip_strip_add);
+ WM_operatortype_append(SEQUENCER_OT_mask_strip_add);
WM_operatortype_append(SEQUENCER_OT_movie_strip_add);
WM_operatortype_append(SEQUENCER_OT_sound_strip_add);
WM_operatortype_append(SEQUENCER_OT_image_strip_add);
diff --git a/source/blender/editors/space_sequencer/sequencer_select.c b/source/blender/editors/space_sequencer/sequencer_select.c
index 811a89b07a8..b03edfc61b9 100644
--- a/source/blender/editors/space_sequencer/sequencer_select.c
+++ b/source/blender/editors/space_sequencer/sequencer_select.c
@@ -58,6 +58,7 @@
#include "ED_types.h"
#include "ED_screen.h"
+#include "ED_sequencer.h"
#include "UI_view2d.h"
@@ -161,20 +162,20 @@ void select_surround_from_last(Scene *scene)
}
#endif
-
-static void UNUSED_FUNCTION(select_single_seq) (Scene * scene, Sequence * seq, int deselect_all) /* BRING BACK */
+void ED_sequencer_select_sequence_single(Scene * scene, Sequence * seq, int deselect_all)
{
Editing *ed = BKE_sequencer_editing_get(scene, FALSE);
if (deselect_all)
- deselect_all_seq(scene);
+ ED_sequencer_deselect_all(scene);
+
BKE_sequencer_active_set(scene, seq);
- if ((seq->type == SEQ_IMAGE) || (seq->type == SEQ_MOVIE)) {
+ if ((seq->type == SEQ_TYPE_IMAGE) || (seq->type == SEQ_TYPE_MOVIE)) {
if (seq->strip)
BLI_strncpy(ed->act_imagedir, seq->strip->dir, FILE_MAXDIR);
}
- else if (seq->type == SEQ_SOUND) {
+ else if (seq->type == SEQ_TYPE_SOUND_RAM) {
if (seq->strip)
BLI_strncpy(ed->act_sounddir, seq->strip->dir, FILE_MAXDIR);
}
@@ -359,7 +360,7 @@ static int sequencer_select_invoke(bContext *C, wmOperator *op, wmEvent *event)
else if (left_right) {
/* use different logic for this */
float x;
- deselect_all_seq(scene);
+ ED_sequencer_deselect_all(scene);
UI_view2d_region_to_view(v2d, event->mval[0], event->mval[1], &x, NULL);
SEQP_BEGIN (ed, seq)
@@ -403,18 +404,18 @@ static int sequencer_select_invoke(bContext *C, wmOperator *op, wmEvent *event)
act_orig = ed->act_seq;
if (extend == 0 && linked_handle == 0)
- deselect_all_seq(scene);
+ ED_sequencer_deselect_all(scene);
if (seq) {
BKE_sequencer_active_set(scene, seq);
- if ((seq->type == SEQ_IMAGE) || (seq->type == SEQ_MOVIE)) {
+ if ((seq->type == SEQ_TYPE_IMAGE) || (seq->type == SEQ_TYPE_MOVIE)) {
if (seq->strip) {
BLI_strncpy(ed->act_imagedir, seq->strip->dir, FILE_MAXDIR);
}
}
else
- if (seq->type == SEQ_SOUND) {
+ if (seq->type == SEQ_TYPE_SOUND_RAM) {
if (seq->strip) {
BLI_strncpy(ed->act_sounddir, seq->strip->dir, FILE_MAXDIR);
}
@@ -442,7 +443,7 @@ static int sequencer_select_invoke(bContext *C, wmOperator *op, wmEvent *event)
/* On Alt selection, select the strip and bordering handles */
if (linked_handle && !ELEM(hand, SEQ_SIDE_LEFT, SEQ_SIDE_RIGHT)) {
- if (extend == 0) deselect_all_seq(scene);
+ if (extend == 0) ED_sequencer_deselect_all(scene);
seq->flag |= SELECT;
select_surrounding_handles(scene, seq);
}
@@ -458,13 +459,13 @@ static int sequencer_select_invoke(bContext *C, wmOperator *op, wmEvent *event)
switch (sel_side) {
case SEQ_SIDE_LEFT:
if ((seq->flag & SEQ_LEFTSEL) && (neighbor->flag & SEQ_RIGHTSEL)) {
- if (extend == 0) deselect_all_seq(scene);
+ if (extend == 0) ED_sequencer_deselect_all(scene);
seq->flag |= SELECT;
select_active_side(ed->seqbasep, SEQ_SIDE_LEFT, seq->machine, seq->startdisp);
}
else {
- if (extend == 0) deselect_all_seq(scene);
+ if (extend == 0) ED_sequencer_deselect_all(scene);
seq->flag |= SELECT;
neighbor->flag |= SELECT;
@@ -475,13 +476,13 @@ static int sequencer_select_invoke(bContext *C, wmOperator *op, wmEvent *event)
break;
case SEQ_SIDE_RIGHT:
if ((seq->flag & SEQ_RIGHTSEL) && (neighbor->flag & SEQ_LEFTSEL)) {
- if (extend == 0) deselect_all_seq(scene);
+ if (extend == 0) ED_sequencer_deselect_all(scene);
seq->flag |= SELECT;
select_active_side(ed->seqbasep, SEQ_SIDE_RIGHT, seq->machine, seq->startdisp);
}
else {
- if (extend == 0) deselect_all_seq(scene);
+ if (extend == 0) ED_sequencer_deselect_all(scene);
seq->flag |= SELECT;
neighbor->flag |= SELECT;
@@ -493,7 +494,7 @@ static int sequencer_select_invoke(bContext *C, wmOperator *op, wmEvent *event)
}
}
else {
- if (extend == 0) deselect_all_seq(scene);
+ if (extend == 0) ED_sequencer_deselect_all(scene);
select_active_side(ed->seqbasep, sel_side, seq->machine, seq->startdisp);
}
}
@@ -686,7 +687,7 @@ static int sequencer_select_linked_pick_invoke(bContext *C, wmOperator *op, wmEv
return OPERATOR_FINISHED; /* user error as with mesh?? */
if (extend == 0)
- deselect_all_seq(scene);
+ ED_sequencer_deselect_all(scene);
mouse_seq->flag |= SELECT;
recurs_sel_seq(mouse_seq);
@@ -929,11 +930,11 @@ static EnumPropertyItem sequencer_prop_select_grouped_types[] = {
{0, NULL, 0, NULL, NULL}
};
-#define SEQ_IS_SOUND(_seq) ((_seq->type & SEQ_SOUND) && !(_seq->type & SEQ_EFFECT))
+#define SEQ_IS_SOUND(_seq) ((_seq->type & SEQ_TYPE_SOUND_RAM) && !(_seq->type & SEQ_TYPE_EFFECT))
-#define SEQ_IS_EFFECT(_seq) (_seq->type & SEQ_EFFECT)
+#define SEQ_IS_EFFECT(_seq) (_seq->type & SEQ_TYPE_EFFECT)
-#define SEQ_USE_DATA(_seq) (ELEM(_seq->type, SEQ_SCENE, SEQ_MOVIECLIP) || SEQ_HAS_PATH(_seq))
+#define SEQ_USE_DATA(_seq) (ELEM3(_seq->type, SEQ_TYPE_SCENE, SEQ_TYPE_MOVIECLIP, SEQ_TYPE_MASK) || SEQ_HAS_PATH(_seq))
static short select_grouped_type(Editing *ed, Sequence *actseq)
{
@@ -1007,22 +1008,33 @@ static short select_grouped_data(Editing *ed, Sequence *actseq)
}
SEQ_END;
}
- else if (actseq->type == SEQ_SCENE) {
+ else if (actseq->type == SEQ_TYPE_SCENE) {
Scene *sce = actseq->scene;
SEQP_BEGIN (ed, seq)
{
- if (seq->type == SEQ_SCENE && seq->scene == sce) {
+ if (seq->type == SEQ_TYPE_SCENE && seq->scene == sce) {
seq->flag |= SELECT;
changed = TRUE;
}
}
SEQ_END;
}
- else if (actseq->type == SEQ_MOVIECLIP) {
+ else if (actseq->type == SEQ_TYPE_MOVIECLIP) {
MovieClip *clip = actseq->clip;
SEQP_BEGIN (ed, seq)
{
- if (seq->type == SEQ_MOVIECLIP && seq->clip == clip) {
+ if (seq->type == SEQ_TYPE_MOVIECLIP && seq->clip == clip) {
+ seq->flag |= SELECT;
+ changed = TRUE;
+ }
+ }
+ SEQ_END;
+ }
+ else if (actseq->type == SEQ_TYPE_MASK) {
+ struct Mask *mask = actseq->mask;
+ SEQP_BEGIN (ed, seq)
+ {
+ if (seq->type == SEQ_TYPE_MASK && seq->mask == mask) {
seq->flag |= SELECT;
changed = TRUE;
}
@@ -1037,10 +1049,10 @@ static short select_grouped_effect(Editing *ed, Sequence *actseq)
{
Sequence *seq;
short changed = FALSE;
- short effects[SEQ_EFFECT_MAX + 1];
+ short effects[SEQ_TYPE_EFFECT_MAX + 1];
int i;
- for (i = 0; i <= SEQ_EFFECT_MAX; i++)
+ for (i = 0; i <= SEQ_TYPE_EFFECT_MAX; i++)
effects[i] = FALSE;
SEQP_BEGIN (ed, seq)
@@ -1086,7 +1098,7 @@ static short select_grouped_effect_link(Editing *ed, Sequence *actseq)
{
Sequence *seq = NULL;
short changed = FALSE;
- short is_audio = ((actseq->type == SEQ_META) || SEQ_IS_SOUND(actseq));
+ short is_audio = ((actseq->type == SEQ_TYPE_META) || SEQ_IS_SOUND(actseq));
int startdisp = actseq->startdisp;
int enddisp = actseq->enddisp;
int machine = actseq->machine;
@@ -1108,7 +1120,7 @@ static short select_grouped_effect_link(Editing *ed, Sequence *actseq)
/* Ignore all seqs of incompatible types (audio vs video). */
if ((seq->flag & SELECT) || (seq->startdisp >= enddisp) || (seq->enddisp < startdisp) ||
(!is_audio && SEQ_IS_SOUND(seq)) ||
- (is_audio && !((seq->type == SEQ_META) || SEQ_IS_SOUND(seq))))
+ (is_audio && !((seq->type == SEQ_TYPE_META) || SEQ_IS_SOUND(seq))))
{
continue;
}
diff --git a/source/blender/editors/space_sequencer/space_sequencer.c b/source/blender/editors/space_sequencer/space_sequencer.c
index 4168cb9ac77..b8bf764fabc 100644
--- a/source/blender/editors/space_sequencer/space_sequencer.c
+++ b/source/blender/editors/space_sequencer/space_sequencer.c
@@ -33,6 +33,7 @@
#include <stdio.h>
#include "DNA_scene_types.h"
+#include "DNA_mask_types.h"
#include "MEM_guardedalloc.h"
@@ -324,27 +325,43 @@ static void sequencer_main_area_draw(const bContext *C, ARegion *ar)
/* ************* dropboxes ************* */
-static int image_drop_poll(bContext *UNUSED(C), wmDrag *drag, wmEvent *UNUSED(event))
+static int image_drop_poll(bContext *C, wmDrag *drag, wmEvent *event)
{
+ ARegion *ar = CTX_wm_region(C);
+ Scene *scene = CTX_data_scene(C);
+ int hand;
+
if (drag->type == WM_DRAG_PATH)
if (ELEM(drag->icon, ICON_FILE_IMAGE, ICON_FILE_BLANK)) /* rule might not work? */
- return 1;
+ if (find_nearest_seq(scene, &ar->v2d, &hand, event->mval) == NULL)
+ return 1;
+
return 0;
}
-static int movie_drop_poll(bContext *UNUSED(C), wmDrag *drag, wmEvent *UNUSED(event))
+static int movie_drop_poll(bContext *C, wmDrag *drag, wmEvent *event)
{
+ ARegion *ar = CTX_wm_region(C);
+ Scene *scene = CTX_data_scene(C);
+ int hand;
+
if (drag->type == WM_DRAG_PATH)
if (ELEM3(drag->icon, 0, ICON_FILE_MOVIE, ICON_FILE_BLANK)) /* rule might not work? */
- return 1;
+ if (find_nearest_seq(scene, &ar->v2d, &hand, event->mval) == NULL)
+ return 1;
return 0;
}
-static int sound_drop_poll(bContext *UNUSED(C), wmDrag *drag, wmEvent *UNUSED(event))
+static int sound_drop_poll(bContext *C, wmDrag *drag, wmEvent *event)
{
+ ARegion *ar = CTX_wm_region(C);
+ Scene *scene = CTX_data_scene(C);
+ int hand;
+
if (drag->type == WM_DRAG_PATH)
if (ELEM(drag->icon, ICON_FILE_SOUND, ICON_FILE_BLANK)) /* rule might not work? */
- return 1;
+ if (find_nearest_seq(scene, &ar->v2d, &hand, event->mval) == NULL)
+ return 1;
return 0;
}
@@ -380,6 +397,29 @@ static void sequencer_dropboxes(void)
/* ************* end drop *********** */
+const char *sequencer_context_dir[] = {"edit_mask", NULL};
+
+static int sequencer_context(const bContext *C, const char *member, bContextDataResult *result)
+{
+ Scene *scene = CTX_data_scene(C);
+
+ if (CTX_data_dir(member)) {
+ CTX_data_dir_set(result, sequencer_context_dir);
+
+ return TRUE;
+ }
+ else if (CTX_data_equals(member, "edit_mask")) {
+ Sequence *seq_act = BKE_sequencer_active_get(scene);
+ if (seq_act && seq_act->type == SEQ_TYPE_MASK && seq_act->mask) {
+ CTX_data_id_pointer_set(result, &seq_act->mask->id);
+ }
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+
/* add handlers, stuff you only do once or on area/region changes */
static void sequencer_header_area_init(wmWindowManager *UNUSED(wm), ARegion *ar)
{
@@ -461,6 +501,11 @@ static void sequencer_preview_area_listener(ARegion *ar, wmNotifier *wmn)
{
/* context changes */
switch (wmn->category) {
+ case NC_SCREEN:
+ if (wmn->data == ND_GPENCIL) {
+ ED_region_tag_redraw(ar);
+ }
+ break;
case NC_SCENE:
switch (wmn->data) {
case ND_FRAME:
@@ -482,6 +527,12 @@ static void sequencer_preview_area_listener(ARegion *ar, wmNotifier *wmn)
break;
}
break;
+
+ case NC_MASK:
+ if (wmn->action == NA_EDITED) {
+ ED_region_tag_redraw(ar);
+ }
+ break;
}
}
@@ -504,6 +555,11 @@ static void sequencer_buttons_area_listener(ARegion *ar, wmNotifier *wmn)
{
/* context changes */
switch (wmn->category) {
+ case NC_SCREEN:
+ if (wmn->data == ND_GPENCIL) {
+ ED_region_tag_redraw(ar);
+ }
+ break;
case NC_SCENE:
switch (wmn->data) {
case ND_FRAME:
@@ -539,6 +595,7 @@ void ED_spacetype_sequencer(void)
st->duplicate = sequencer_duplicate;
st->operatortypes = sequencer_operatortypes;
st->keymap = sequencer_keymap;
+ st->context = sequencer_context;
st->dropboxes = sequencer_dropboxes;
st->refresh = sequencer_refresh;
@@ -559,7 +616,7 @@ void ED_spacetype_sequencer(void)
art->init = sequencer_preview_area_init;
art->draw = sequencer_preview_area_draw;
art->listener = sequencer_preview_area_listener;
- art->keymapflag = ED_KEYMAP_VIEW2D | ED_KEYMAP_FRAMES | ED_KEYMAP_ANIMATION;
+ art->keymapflag = ED_KEYMAP_VIEW2D | ED_KEYMAP_FRAMES | ED_KEYMAP_GPENCIL;
BLI_addhead(&st->regiontypes, art);
/* regions: listview/buttons */
@@ -571,6 +628,8 @@ void ED_spacetype_sequencer(void)
art->init = sequencer_buttons_area_init;
art->draw = sequencer_buttons_area_draw;
BLI_addhead(&st->regiontypes, art);
+
+ sequencer_buttons_register(art);
/* regions: header */
art = MEM_callocN(sizeof(ARegionType), "spacetype sequencer region");
@@ -591,4 +650,3 @@ void ED_spacetype_sequencer(void)
sequencer_view3d_cb = ED_view3d_draw_offscreen_imbuf_simple;
}
}
-
diff --git a/source/blender/editors/space_view3d/drawarmature.c b/source/blender/editors/space_view3d/drawarmature.c
index 0de7e2569c0..e51f7a312eb 100644
--- a/source/blender/editors/space_view3d/drawarmature.c
+++ b/source/blender/editors/space_view3d/drawarmature.c
@@ -557,7 +557,7 @@ static void draw_bone_solid_octahedral(void)
/* *************** Armature drawing, bones ******************* */
-static void draw_bone_points(int dt, int armflag, unsigned int boneflag, int id)
+static void draw_bone_points(const short dt, int armflag, unsigned int boneflag, int id)
{
/* Draw root point if we are not connected */
if ((boneflag & BONE_CONNECTED) == 0) {
@@ -862,7 +862,7 @@ static void draw_sphere_bone_wire(float smat[][4], float imat[][4],
}
/* does wire only for outline selecting */
-static void draw_sphere_bone(int dt, int armflag, int boneflag, short constflag, unsigned int id,
+static void draw_sphere_bone(const short dt, int armflag, int boneflag, short constflag, unsigned int id,
bPoseChannel *pchan, EditBone *ebone)
{
GLUquadricObj *qobj;
@@ -1100,7 +1100,7 @@ static void draw_line_bone(int armflag, int boneflag, short constflag, unsigned
glPopMatrix();
}
-static void draw_b_bone_boxes(int dt, bPoseChannel *pchan, float xwidth, float length, float zwidth)
+static void draw_b_bone_boxes(const short dt, bPoseChannel *pchan, float xwidth, float length, float zwidth)
{
int segments = 0;
@@ -1128,7 +1128,7 @@ static void draw_b_bone_boxes(int dt, bPoseChannel *pchan, float xwidth, float l
}
}
-static void draw_b_bone(int dt, int armflag, int boneflag, short constflag, unsigned int id,
+static void draw_b_bone(const short dt, int armflag, int boneflag, short constflag, unsigned int id,
bPoseChannel *pchan, EditBone *ebone)
{
float xwidth, length, zwidth;
@@ -1242,7 +1242,7 @@ static void draw_wire_bone_segments(bPoseChannel *pchan, Mat4 *bbones, float len
}
}
-static void draw_wire_bone(int dt, int armflag, int boneflag, short constflag, unsigned int id,
+static void draw_wire_bone(const short dt, int armflag, int boneflag, short constflag, unsigned int id,
bPoseChannel *pchan, EditBone *ebone)
{
Mat4 *bbones = NULL;
@@ -1293,7 +1293,7 @@ static void draw_wire_bone(int dt, int armflag, int boneflag, short constflag, u
draw_wire_bone_segments(pchan, bbones, length, segments);
}
-static void draw_bone(int dt, int armflag, int boneflag, short constflag, unsigned int id, float length)
+static void draw_bone(const short dt, int armflag, int boneflag, short constflag, unsigned int id, float length)
{
/* Draw a 3d octahedral bone, we use normalized space based on length,
@@ -1364,7 +1364,7 @@ static void draw_bone(int dt, int armflag, int boneflag, short constflag, unsign
}
static void draw_custom_bone(Scene *scene, View3D *v3d, RegionView3D *rv3d, Object *ob,
- int dt, int armflag, int boneflag, unsigned int id, float length)
+ const short dt, int armflag, int boneflag, unsigned int id, float length)
{
if (ob == NULL) return;
@@ -1656,8 +1656,9 @@ static void bone_matrix_translate_y(float mat[][4], float y)
}
/* assumes object is Armature with pose */
-static void draw_pose_bones(Scene *scene, View3D *v3d, ARegion *ar, Base *base, int dt,
- const short is_ghost, const short is_outline)
+static void draw_pose_bones(Scene *scene, View3D *v3d, ARegion *ar, Base *base,
+ const short dt, const unsigned char ob_wire_col[4],
+ const short do_const_color, const short is_outline)
{
RegionView3D *rv3d = ar->regiondata;
Object *ob = base->object;
@@ -1752,8 +1753,13 @@ static void draw_pose_bones(Scene *scene, View3D *v3d, ARegion *ar, Base *base,
if (bone == arm->act_bone)
flag |= BONE_DRAW_ACTIVE;
- /* set color-set to use */
- set_pchan_colorset(ob, pchan);
+ if (do_const_color) {
+ /* keep color */
+ }
+ else {
+ /* set color-set to use */
+ set_pchan_colorset(ob, pchan);
+ }
if (use_custom) {
/* if drawwire, don't try to draw in solid */
@@ -1827,20 +1833,13 @@ static void draw_pose_bones(Scene *scene, View3D *v3d, ARegion *ar, Base *base,
}
/* prepare colors */
- if (is_ghost) {
+ if (do_const_color) {
/* 13 October 2009, Disabled this to make ghosting show the right colors (Aligorith) */
}
- else if (arm->flag & ARM_POSEMODE)
+ else if (arm->flag & ARM_POSEMODE)
set_pchan_colorset(ob, pchan);
else {
- if ((scene->basact) == base) {
- if (base->flag & (SELECT + BA_WAS_SEL)) UI_ThemeColor(TH_ACTIVE);
- else UI_ThemeColor(TH_WIRE);
- }
- else {
- if (base->flag & (SELECT + BA_WAS_SEL)) UI_ThemeColor(TH_SELECT);
- else UI_ThemeColor(TH_WIRE);
- }
+ glColor3ubv(ob_wire_col);
}
/* catch exception for bone with hidden parent */
@@ -1956,7 +1955,12 @@ static void draw_pose_bones(Scene *scene, View3D *v3d, ARegion *ar, Base *base,
/* extra draw service for pose mode */
/* set color-set to use */
- set_pchan_colorset(ob, pchan);
+ if (do_const_color) {
+ /* keep color */
+ }
+ else {
+ set_pchan_colorset(ob, pchan);
+ }
if ((pchan->custom) && !(arm->flag & ARM_NO_CUSTOM)) {
/* custom bone shapes should not be drawn here! */
@@ -1991,20 +1995,35 @@ static void draw_pose_bones(Scene *scene, View3D *v3d, ARegion *ar, Base *base,
glDisable(GL_CULL_FACE);
/* draw DoFs */
- if (arm->flag & ARM_POSEMODE)
- draw_pose_dofs(ob);
+ if (arm->flag & ARM_POSEMODE) {
+ if (((base->flag & OB_FROMDUPLI) == 0)) {
+ draw_pose_dofs(ob);
+ }
+ }
/* finally names and axes */
- if ((arm->flag & (ARM_DRAWNAMES | ARM_DRAWAXES)) && (is_outline == 0)) {
+ if ((arm->flag & (ARM_DRAWNAMES | ARM_DRAWAXES)) &&
+ (is_outline == 0) &&
+ ((base->flag & OB_FROMDUPLI) == 0))
+ {
/* patch for several 3d cards (IBM mostly) that crash on GL_SELECT with text drawing */
if ((G.f & G_PICKSEL) == 0) {
float vec[3];
-
+
unsigned char col[4];
- float col_f[4];
- glGetFloatv(GL_CURRENT_COLOR, col_f); /* in case this is not set below */
- rgb_float_to_uchar(col, col_f);
- col[3] = 255;
+ if (do_const_color) {
+ /* so we can draw bone names in current const color */
+ float tcol[4];
+ glGetFloatv(GL_CURRENT_COLOR, tcol);
+ rgb_float_to_uchar(col, tcol);
+ col[3] = 255;
+ }
+ else {
+ col[0] = ob_wire_col[0];
+ col[1] = ob_wire_col[1];
+ col[2] = ob_wire_col[2];
+ col[3] = 255;
+ }
if (v3d->zbuf) glDisable(GL_DEPTH_TEST);
@@ -2063,7 +2082,7 @@ static void get_matrix_editbone(EditBone *eBone, float bmat[][4])
add_v3_v3(bmat[3], eBone->head);
}
-static void draw_ebones(View3D *v3d, ARegion *ar, Object *ob, int dt)
+static void draw_ebones(View3D *v3d, ARegion *ar, Object *ob, const short dt)
{
RegionView3D *rv3d = ar->regiondata;
EditBone *eBone;
@@ -2353,7 +2372,7 @@ static void draw_ghost_poses_range(Scene *scene, View3D *v3d, ARegion *ar, Base
BKE_animsys_evaluate_animdata(scene, &ob->id, adt, (float)CFRA, ADT_RECALC_ALL);
BKE_pose_where_is(scene, ob);
- draw_pose_bones(scene, v3d, ar, base, OB_WIRE, TRUE, FALSE);
+ draw_pose_bones(scene, v3d, ar, base, OB_WIRE, NULL, TRUE, FALSE);
}
glDisable(GL_BLEND);
if (v3d->zbuf) glEnable(GL_DEPTH_TEST);
@@ -2432,7 +2451,7 @@ static void draw_ghost_poses_keys(Scene *scene, View3D *v3d, ARegion *ar, Base *
BKE_animsys_evaluate_animdata(scene, &ob->id, adt, (float)CFRA, ADT_RECALC_ALL);
BKE_pose_where_is(scene, ob);
- draw_pose_bones(scene, v3d, ar, base, OB_WIRE, TRUE, FALSE);
+ draw_pose_bones(scene, v3d, ar, base, OB_WIRE, NULL, TRUE, FALSE);
}
glDisable(GL_BLEND);
if (v3d->zbuf) glEnable(GL_DEPTH_TEST);
@@ -2502,7 +2521,7 @@ static void draw_ghost_poses(Scene *scene, View3D *v3d, ARegion *ar, Base *base)
if (CFRA != cfrao) {
BKE_animsys_evaluate_animdata(scene, &ob->id, adt, (float)CFRA, ADT_RECALC_ALL);
BKE_pose_where_is(scene, ob);
- draw_pose_bones(scene, v3d, ar, base, OB_WIRE, TRUE, FALSE);
+ draw_pose_bones(scene, v3d, ar, base, OB_WIRE, NULL, TRUE, FALSE);
}
}
@@ -2517,7 +2536,7 @@ static void draw_ghost_poses(Scene *scene, View3D *v3d, ARegion *ar, Base *base)
if (CFRA != cfrao) {
BKE_animsys_evaluate_animdata(scene, &ob->id, adt, (float)CFRA, ADT_RECALC_ALL);
BKE_pose_where_is(scene, ob);
- draw_pose_bones(scene, v3d, ar, base, OB_WIRE, TRUE, FALSE);
+ draw_pose_bones(scene, v3d, ar, base, OB_WIRE, NULL, TRUE, FALSE);
}
}
}
@@ -2537,8 +2556,11 @@ static void draw_ghost_poses(Scene *scene, View3D *v3d, ARegion *ar, Base *base)
/* ********************************** Armature Drawing - Main ************************* */
-/* called from drawobject.c, return 1 if nothing was drawn */
-int draw_armature(Scene *scene, View3D *v3d, ARegion *ar, Base *base, int dt, int flag, const short is_outline)
+/* called from drawobject.c, return 1 if nothing was drawn
+ * (ob_wire_col == NULL) when drawing ghost */
+int draw_armature(Scene *scene, View3D *v3d, ARegion *ar, Base *base,
+ const short dt, const short dflag, const unsigned char ob_wire_col[4],
+ const short is_outline)
{
Object *ob = base->object;
bArmature *arm = ob->data;
@@ -2549,11 +2571,8 @@ int draw_armature(Scene *scene, View3D *v3d, ARegion *ar, Base *base, int dt, in
if (dt > OB_WIRE && !ELEM(arm->drawtype, ARM_LINE, ARM_WIRE)) {
/* we use color for solid lighting */
- glColorMaterial(GL_FRONT_AND_BACK, GL_SPECULAR);
- glEnable(GL_COLOR_MATERIAL);
- glColor3ub(255, 255, 255); // clear spec
- glDisable(GL_COLOR_MATERIAL);
-
+ const float white[4] = {1.0f, 1.0f, 1.0f, 1.0f};
+ glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, white);
glColorMaterial(GL_FRONT_AND_BACK, GL_DIFFUSE);
glFrontFace((ob->transflag & OB_NEG_SCALE) ? GL_CW : GL_CCW); // only for lighting...
}
@@ -2594,7 +2613,7 @@ int draw_armature(Scene *scene, View3D *v3d, ARegion *ar, Base *base, int dt, in
if (arm->ghostep)
draw_ghost_poses(scene, v3d, ar, base);
}
- if ((flag & DRAW_SCENESET) == 0) {
+ if ((dflag & DRAW_SCENESET) == 0) {
if (ob == OBACT)
arm->flag |= ARM_POSEMODE;
else if (OBACT && (OBACT->mode & OB_MODE_WEIGHT_PAINT)) {
@@ -2605,7 +2624,7 @@ int draw_armature(Scene *scene, View3D *v3d, ARegion *ar, Base *base, int dt, in
}
}
}
- draw_pose_bones(scene, v3d, ar, base, dt, FALSE, is_outline);
+ draw_pose_bones(scene, v3d, ar, base, dt, ob_wire_col, (dflag & DRAW_CONSTCOLOR), is_outline);
arm->flag &= ~ARM_POSEMODE;
if (ob->mode & OB_MODE_POSE)
diff --git a/source/blender/editors/space_view3d/drawmesh.c b/source/blender/editors/space_view3d/drawmesh.c
index de1d9f22667..19696b2b0e0 100644
--- a/source/blender/editors/space_view3d/drawmesh.c
+++ b/source/blender/editors/space_view3d/drawmesh.c
@@ -1015,14 +1015,14 @@ void draw_mesh_paint(View3D *v3d, RegionView3D *rv3d, Object *ob, DerivedMesh *d
if (ob && ob->mode & OB_MODE_WEIGHT_PAINT) {
if (do_light) {
+ const float spec[4] = {0.47f, 0.47f, 0.47f, 0.47f};
+
/* enforce default material settings */
GPU_enable_material(0, NULL);
/* but set default spec */
glColorMaterial(GL_FRONT_AND_BACK, GL_SPECULAR);
- glEnable(GL_COLOR_MATERIAL); /* according manpages needed */
- glColor3ub(120, 120, 120);
- glDisable(GL_COLOR_MATERIAL);
+ glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, spec);
/* diffuse */
glColorMaterial(GL_FRONT_AND_BACK, GL_DIFFUSE);
diff --git a/source/blender/editors/space_view3d/drawobject.c b/source/blender/editors/space_view3d/drawobject.c
index aec7913e80d..b92d3d9d24c 100644
--- a/source/blender/editors/space_view3d/drawobject.c
+++ b/source/blender/editors/space_view3d/drawobject.c
@@ -333,7 +333,7 @@ static void view3d_project_short_clip_persmat(ARegion *ar, const float vec[3], s
/* check for glsl drawing */
-int draw_glsl_material(Scene *scene, Object *ob, View3D *v3d, int dt)
+int draw_glsl_material(Scene *scene, Object *ob, View3D *v3d, const short dt)
{
if (!GPU_glsl_support())
return 0;
@@ -1189,14 +1189,17 @@ static void draw_transp_spot_volume(Lamp *la, float x, float z)
glCullFace(GL_BACK);
}
-static void drawlamp(Scene *scene, View3D *v3d, RegionView3D *rv3d, Base *base, int dt, int flag)
+static void drawlamp(Scene *scene, View3D *v3d, RegionView3D *rv3d, Base *base,
+ const short dt, const short dflag, const unsigned char ob_wire_col[4])
{
Object *ob = base->object;
const float pixsize = ED_view3d_pixel_size(rv3d, ob->obmat[3]);
Lamp *la = ob->data;
float vec[3], lvec[3], vvec[3], circrad, x, y, z;
float lampsize;
- float imat[4][4], curcol[4];
+ float imat[4][4];
+
+ unsigned char curcol[4];
unsigned char col[4];
/* cone can't be drawn for duplicated lamps, because duplilist would be freed to */
/* the moment of view3d_draw_transp() call */
@@ -1210,7 +1213,7 @@ static void drawlamp(Scene *scene, View3D *v3d, RegionView3D *rv3d, Base *base,
if (drawcone && !v3d->transp) {
/* in this case we need to draw delayed */
- add_view3d_after(&v3d->afterdraw_transp, base, flag);
+ ED_view3d_after_add(&v3d->afterdraw_transp, base, dflag);
return;
}
@@ -1228,17 +1231,23 @@ static void drawlamp(Scene *scene, View3D *v3d, RegionView3D *rv3d, Base *base,
/* lamp center */
copy_v3_v3(vec, ob->obmat[3]);
-
- /* for AA effects */
- glGetFloatv(GL_CURRENT_COLOR, curcol);
- curcol[3] = 0.6;
- glColor4fv(curcol);
-
+
+ if ((dflag & DRAW_CONSTCOLOR) == 0) {
+ /* for AA effects */
+ curcol[0] = ob_wire_col[0];
+ curcol[1] = ob_wire_col[1];
+ curcol[2] = ob_wire_col[2];
+ curcol[3] = 154;
+ glColor4ubv(curcol);
+ }
+
if (lampsize > 0.0f) {
- if (ob->id.us > 1) {
- if (ob == OBACT || (ob->flag & SELECT)) glColor4ub(0x88, 0xFF, 0xFF, 155);
- else glColor4ub(0x77, 0xCC, 0xCC, 155);
+ if ((dflag & DRAW_CONSTCOLOR) == 0) {
+ if (ob->id.us > 1) {
+ if (ob == OBACT || (ob->flag & SELECT)) glColor4ub(0x88, 0xFF, 0xFF, 155);
+ else glColor4ub(0x77, 0xCC, 0xCC, 155);
+ }
}
/* Inner Circle */
@@ -1248,8 +1257,10 @@ static void drawlamp(Scene *scene, View3D *v3d, RegionView3D *rv3d, Base *base,
drawcircball(GL_POLYGON, vec, lampsize, imat);
/* restore */
- if (ob->id.us > 1)
- glColor4fv(curcol);
+ if ((dflag & DRAW_CONSTCOLOR) == 0) {
+ if (ob->id.us > 1)
+ glColor4ubv(curcol);
+ }
/* Outer circle */
circrad = 3.0f * lampsize;
@@ -1481,9 +1492,10 @@ static void drawlamp(Scene *scene, View3D *v3d, RegionView3D *rv3d, Base *base,
glDisable(GL_BLEND);
- /* restore for drawing extra stuff */
- glColor3fv(curcol);
-
+ if ((dflag & DRAW_CONSTCOLOR) == 0) {
+ /* restore for drawing extra stuff */
+ glColor3ubv(ob_wire_col);
+ }
}
static void draw_limit_line(float sta, float end, unsigned int col)
@@ -1516,7 +1528,7 @@ static void draw_focus_cross(float dist, float size)
}
#ifdef VIEW3D_CAMERA_BORDER_HACK
-float view3d_camera_border_hack_col[4];
+unsigned char view3d_camera_border_hack_col[3];
short view3d_camera_border_hack_test = FALSE;
#endif
@@ -1546,20 +1558,20 @@ static void draw_bundle_sphere(void)
}
static void draw_viewport_object_reconstruction(Scene *scene, Base *base, View3D *v3d,
- MovieClip *clip, MovieTrackingObject *tracking_object, int flag,
- int *global_track_index, int draw_selected)
+ MovieClip *clip, MovieTrackingObject *tracking_object,
+ const short dflag, int *global_track_index, int draw_selected)
{
MovieTracking *tracking = &clip->tracking;
MovieTrackingTrack *track;
float mat[4][4], imat[4][4];
unsigned char col[4], scol[4];
int tracknr = *global_track_index;
- ListBase *tracksbase = BKE_tracking_object_tracks(tracking, tracking_object);
+ ListBase *tracksbase = BKE_tracking_object_get_tracks(tracking, tracking_object);
UI_GetThemeColor4ubv(TH_TEXT, col);
UI_GetThemeColor4ubv(TH_SELECT, scol);
- BKE_get_tracking_mat(scene, base->object, mat);
+ BKE_tracking_get_camera_object_matrix(scene, base->object, mat);
glPushMatrix();
@@ -1575,7 +1587,7 @@ static void draw_viewport_object_reconstruction(Scene *scene, Base *base, View3D
else {
float obmat[4][4];
- BKE_tracking_get_interpolated_camera(tracking, tracking_object, scene->r.cfra, obmat);
+ BKE_tracking_camera_get_reconstructed_interpolate(tracking, tracking_object, scene->r.cfra, obmat);
invert_m4_m4(imat, obmat);
glMultMatrixf(imat);
@@ -1590,7 +1602,7 @@ static void draw_viewport_object_reconstruction(Scene *scene, Base *base, View3D
if ((track->flag & TRACK_HAS_BUNDLE) == 0)
continue;
- if (flag & DRAW_PICKING)
+ if (dflag & DRAW_PICKING)
glLoadName(base->selcol + (tracknr << 16));
glPushMatrix();
@@ -1656,7 +1668,7 @@ static void draw_viewport_object_reconstruction(Scene *scene, Base *base, View3D
glPopMatrix();
- if ((flag & DRAW_PICKING) == 0 && (v3d->flag2 & V3D_SHOW_BUNDLENAME)) {
+ if ((dflag & DRAW_PICKING) == 0 && (v3d->flag2 & V3D_SHOW_BUNDLENAME)) {
float pos[3];
unsigned char tcol[4];
@@ -1670,10 +1682,10 @@ static void draw_viewport_object_reconstruction(Scene *scene, Base *base, View3D
tracknr++;
}
- if ((flag & DRAW_PICKING) == 0) {
+ if ((dflag & DRAW_PICKING) == 0) {
if ((v3d->flag2 & V3D_SHOW_CAMERAPATH) && (tracking_object->flag & TRACKING_OBJECT_CAMERA)) {
MovieTrackingReconstruction *reconstruction;
- reconstruction = BKE_tracking_object_reconstruction(tracking, tracking_object);
+ reconstruction = BKE_tracking_object_get_reconstruction(tracking, tracking_object);
if (reconstruction->camnr) {
MovieReconstructedCamera *camera = reconstruction->cameras;
@@ -1701,11 +1713,11 @@ static void draw_viewport_object_reconstruction(Scene *scene, Base *base, View3D
}
static void draw_viewport_reconstruction(Scene *scene, Base *base, View3D *v3d, MovieClip *clip,
- int flag, int draw_selected)
+ const short dflag, const unsigned char ob_wire_col[4],
+ int draw_selected)
{
MovieTracking *tracking = &clip->tracking;
MovieTrackingObject *tracking_object;
- float curcol[4];
int global_track_index = 1;
if ((v3d->flag2 & V3D_SHOW_RECONSTRUCTION) == 0)
@@ -1714,8 +1726,6 @@ static void draw_viewport_reconstruction(Scene *scene, Base *base, View3D *v3d,
if (v3d->flag2 & V3D_RENDER_OVERRIDE)
return;
- glGetFloatv(GL_CURRENT_COLOR, curcol);
-
glEnable(GL_LIGHTING);
glColorMaterial(GL_FRONT_AND_BACK, GL_DIFFUSE);
glEnable(GL_COLOR_MATERIAL);
@@ -1724,7 +1734,7 @@ static void draw_viewport_reconstruction(Scene *scene, Base *base, View3D *v3d,
tracking_object = tracking->objects.first;
while (tracking_object) {
draw_viewport_object_reconstruction(scene, base, v3d, clip, tracking_object,
- flag, &global_track_index, draw_selected);
+ dflag, &global_track_index, draw_selected);
tracking_object = tracking_object->next;
}
@@ -1734,14 +1744,17 @@ static void draw_viewport_reconstruction(Scene *scene, Base *base, View3D *v3d,
glDisable(GL_COLOR_MATERIAL);
glDisable(GL_LIGHTING);
- glColor4fv(curcol);
+ if ((dflag & DRAW_CONSTCOLOR) == 0) {
+ glColor3ubv(ob_wire_col);
+ }
- if (flag & DRAW_PICKING)
+ if (dflag & DRAW_PICKING)
glLoadName(base->selcol);
}
/* flag similar to draw_object() */
-static void drawcamera(Scene *scene, View3D *v3d, RegionView3D *rv3d, Base *base, int flag)
+static void drawcamera(Scene *scene, View3D *v3d, RegionView3D *rv3d, Base *base,
+ const short dflag, const unsigned char ob_wire_col[4])
{
/* a standing up pyramid with (0,0,0) as top */
Camera *cam;
@@ -1755,13 +1768,22 @@ static void drawcamera(Scene *scene, View3D *v3d, RegionView3D *rv3d, Base *base
/* draw data for movie clip set as active for scene */
if (clip) {
- draw_viewport_reconstruction(scene, base, v3d, clip, flag, FALSE);
- draw_viewport_reconstruction(scene, base, v3d, clip, flag, TRUE);
+ draw_viewport_reconstruction(scene, base, v3d, clip, dflag, ob_wire_col, FALSE);
+ draw_viewport_reconstruction(scene, base, v3d, clip, dflag, ob_wire_col, TRUE);
}
#ifdef VIEW3D_CAMERA_BORDER_HACK
if (is_view && !(G.f & G_PICKSEL)) {
- glGetFloatv(GL_CURRENT_COLOR, view3d_camera_border_hack_col);
+ if ((dflag & DRAW_CONSTCOLOR) == 0) {
+ view3d_camera_border_hack_col[0] = ob_wire_col[0];
+ view3d_camera_border_hack_col[1] = ob_wire_col[1];
+ view3d_camera_border_hack_col[2] = ob_wire_col[2];
+ }
+ else {
+ float col[4];
+ glGetFloatv(GL_CURRENT_COLOR, col);
+ rgb_float_to_uchar(view3d_camera_border_hack_col, col);
+ }
view3d_camera_border_hack_test = TRUE;
return;
}
@@ -1829,7 +1851,7 @@ static void drawcamera(Scene *scene, View3D *v3d, RegionView3D *rv3d, Base *base
glEnd();
}
- if (flag == 0) {
+ if (dflag == 0) {
if (cam->flag & (CAM_SHOWLIMITS + CAM_SHOWMIST)) {
float nobmat[4][4];
World *wrld;
@@ -2451,7 +2473,7 @@ static void draw_dm_verts__mapFunc(void *userData, int index, const float co[3],
}
static void draw_dm_verts(BMEditMesh *em, DerivedMesh *dm, int sel, BMVert *eve_act,
- RegionView3D *rv3d)
+ RegionView3D *rv3d)
{
drawDMVerts_userData data;
data.sel = sel;
@@ -2953,7 +2975,7 @@ static void draw_em_measure_stats(View3D *v3d, Object *ob, BMEditMesh *em, UnitS
else \
BLI_snprintf(numstr, sizeof(numstr), conv_float, area); \
view3d_cached_text_draw_add(vmid, numstr, 0, txt_flag, col); \
- }
+ } (void)0
UI_GetThemeColor3ubv(TH_DRAWEXTRA_FACEAREA, col);
@@ -2974,16 +2996,16 @@ static void draw_em_measure_stats(View3D *v3d, Object *ob, BMEditMesh *em, UnitS
copy_v3_v3(v1, l[0]->v->co);
copy_v3_v3(v2, l[1]->v->co);
copy_v3_v3(v3, l[2]->v->co);
+ add_v3_v3(vmid, v1);
+ add_v3_v3(vmid, v2);
+ add_v3_v3(vmid, v3);
+ n += 3;
if (do_global) {
mul_mat3_m4_v3(ob->obmat, v1);
mul_mat3_m4_v3(ob->obmat, v2);
mul_mat3_m4_v3(ob->obmat, v3);
}
area += area_tri_v3(v1, v2, v3);
- add_v3_v3(vmid, v1);
- add_v3_v3(vmid, v2);
- add_v3_v3(vmid, v3);
- n += 3;
}
if (f) {
@@ -3030,16 +3052,15 @@ static void draw_em_measure_stats(View3D *v3d, Object *ob, BMEditMesh *em, UnitS
mul_mat3_m4_v3(ob->obmat, v3);
angle = angle_v3v3v3(v1, v2, v3);
- interp_v3_v3v3(fvec, vmid, v2, 0.8f);
copy_v3_v3(v1, v2);
copy_v3_v3(v2, v3);
}
else {
angle = angle_v3v3v3(loop->prev->v->co, loop->v->co, loop->next->v->co);
- interp_v3_v3v3(fvec, vmid, loop->v->co, 0.8f);
}
BLI_snprintf(numstr, sizeof(numstr), "%.3f", is_rad ? angle : RAD2DEGF(angle));
+ interp_v3_v3v3(fvec, vmid, loop->v->co, 0.8f);
view3d_cached_text_draw_add(fvec, numstr, 0, txt_flag, col);
}
}
@@ -3125,7 +3146,7 @@ static DMDrawOption draw_em_fancy__setGLSLFaceOpts(void *userData, int index)
}
static void draw_em_fancy(Scene *scene, View3D *v3d, RegionView3D *rv3d,
- Object *ob, BMEditMesh *em, DerivedMesh *cageDM, DerivedMesh *finalDM, int dt)
+ Object *ob, BMEditMesh *em, DerivedMesh *cageDM, DerivedMesh *finalDM, const short dt)
{
Mesh *me = ob->data;
@@ -3332,7 +3353,8 @@ static void draw_mesh_object_outline(View3D *v3d, Object *ob, DerivedMesh *dm)
}
}
-static void draw_mesh_fancy(Scene *scene, ARegion *ar, View3D *v3d, RegionView3D *rv3d, Base *base, int dt, int flag)
+static void draw_mesh_fancy(Scene *scene, ARegion *ar, View3D *v3d, RegionView3D *rv3d, Base *base,
+ const short dt, const short dflag)
{
Object *ob = base->object;
Mesh *me = ob->data;
@@ -3418,10 +3440,12 @@ static void draw_mesh_fancy(Scene *scene, ARegion *ar, View3D *v3d, RegionView3D
else if (dt == OB_SOLID) {
if (draw_flags & DRAW_MODIFIERS_PREVIEW) {
/* for object selection draws no shade */
- if (flag & (DRAW_PICKING | DRAW_CONSTCOLOR)) {
+ if (dflag & (DRAW_PICKING | DRAW_CONSTCOLOR)) {
dm->drawFacesSolid(dm, NULL, 0, GPU_enable_material);
}
else {
+ const float spec[4] = {0.47f, 0.47f, 0.47f, 0.47f};
+
/* draw outline */
if ( (v3d->flag & V3D_SELECT_OUTLINE) &&
((v3d->flag2 & V3D_RENDER_OVERRIDE) == 0) &&
@@ -3439,9 +3463,7 @@ static void draw_mesh_fancy(Scene *scene, ARegion *ar, View3D *v3d, RegionView3D
/* set default spec */
glColorMaterial(GL_FRONT_AND_BACK, GL_SPECULAR);
- glEnable(GL_COLOR_MATERIAL); /* according manpages needed */
- glColor3ub(120, 120, 120);
- glDisable(GL_COLOR_MATERIAL);
+ glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, spec);
/* diffuse */
glColorMaterial(GL_FRONT_AND_BACK, GL_DIFFUSE);
glEnable(GL_LIGHTING);
@@ -3520,7 +3542,7 @@ static void draw_mesh_fancy(Scene *scene, ARegion *ar, View3D *v3d, RegionView3D
UI_ThemeColor(TH_GROUP_ACTIVE);
else if (ob->flag & OB_FROMGROUP)
UI_ThemeColorShade(TH_GROUP_ACTIVE, -16);
- else if (flag != DRAW_CONSTCOLOR)
+ else if (dflag != DRAW_CONSTCOLOR)
UI_ThemeColor(is_obact ? TH_ACTIVE : TH_SELECT);
else
glColor3ub(80, 80, 80);
@@ -3529,7 +3551,7 @@ static void draw_mesh_fancy(Scene *scene, ARegion *ar, View3D *v3d, RegionView3D
if (ob->flag & OB_FROMGROUP)
UI_ThemeColor(TH_GROUP);
else {
- if (ob->dtx & OB_DRAWWIRE && flag == DRAW_CONSTCOLOR)
+ if (ob->dtx & OB_DRAWWIRE && dflag == DRAW_CONSTCOLOR)
glColor3ub(80, 80, 80);
else
UI_ThemeColor(TH_WIRE);
@@ -3586,7 +3608,8 @@ static void draw_mesh_fancy(Scene *scene, ARegion *ar, View3D *v3d, RegionView3D
}
/* returns 1 if nothing was drawn, for detecting to draw an object center */
-static int draw_mesh_object(Scene *scene, ARegion *ar, View3D *v3d, RegionView3D *rv3d, Base *base, int dt, int flag)
+static int draw_mesh_object(Scene *scene, ARegion *ar, View3D *v3d, RegionView3D *rv3d, Base *base,
+ const short dt, const short dflag)
{
Object *ob = base->object;
Object *obedit = scene->obedit;
@@ -3650,7 +3673,7 @@ static int draw_mesh_object(Scene *scene, ARegion *ar, View3D *v3d, RegionView3D
(check_alpha) ? &do_alpha_after : NULL);
}
- draw_mesh_fancy(scene, ar, v3d, rv3d, base, dt, flag);
+ draw_mesh_fancy(scene, ar, v3d, rv3d, base, dt, dflag);
GPU_end_object_materials();
@@ -3658,20 +3681,20 @@ static int draw_mesh_object(Scene *scene, ARegion *ar, View3D *v3d, RegionView3D
}
}
- if ((flag & DRAW_PICKING) == 0 && (base->flag & OB_FROMDUPLI) == 0) {
+ if ((dflag & DRAW_PICKING) == 0 && (base->flag & OB_FROMDUPLI) == 0) {
/* GPU_begin_object_materials checked if this is needed */
if (do_alpha_after) {
if (ob->dtx & OB_DRAWXRAY) {
- add_view3d_after(&v3d->afterdraw_xraytransp, base, flag);
+ ED_view3d_after_add(&v3d->afterdraw_xraytransp, base, dflag);
}
else {
- add_view3d_after(&v3d->afterdraw_transp, base, flag);
+ ED_view3d_after_add(&v3d->afterdraw_transp, base, dflag);
}
}
else if (ob->dtx & OB_DRAWXRAY && ob->dtx & OB_DRAWTRANSP) {
/* special case xray+transp when alpha is 1.0, without this the object vanishes */
if (v3d->xray == 0 && v3d->transp == 0) {
- add_view3d_after(&v3d->afterdraw_xray, base, flag);
+ ED_view3d_after_add(&v3d->afterdraw_xray, base, dflag);
}
}
}
@@ -3779,17 +3802,15 @@ static int drawDispListwire(ListBase *dlbase)
return 0;
}
-static void drawDispListsolid(ListBase *lb, Object *ob, int glsl)
+static void drawDispListsolid(ListBase *lb, Object *ob,
+ const unsigned char ob_wire_col[4], int use_glsl)
{
DispList *dl;
GPUVertexAttribs gattribs;
- float *data, curcol[4];
+ float *data;
float *ndata;
if (lb == NULL) return;
-
- /* for drawing wire */
- glGetFloatv(GL_CURRENT_COLOR, curcol);
glEnable(GL_LIGHTING);
glEnableClientState(GL_VERTEX_ARRAY);
@@ -3812,7 +3833,7 @@ static void drawDispListsolid(ListBase *lb, Object *ob, int glsl)
int nr;
glDisable(GL_LIGHTING);
- glColor3fv(curcol);
+ glColor3ubv(ob_wire_col);
// glVertexPointer(3, GL_FLOAT, 0, dl->verts);
// glDrawArrays(GL_LINE_STRIP, 0, dl->nr);
@@ -3846,7 +3867,7 @@ static void drawDispListsolid(ListBase *lb, Object *ob, int glsl)
case DL_SURF:
if (dl->index) {
- GPU_enable_material(dl->col + 1, (glsl) ? &gattribs : NULL);
+ GPU_enable_material(dl->col + 1, (use_glsl) ? &gattribs : NULL);
if (dl->rt & CU_SMOOTH) glShadeModel(GL_SMOOTH);
else glShadeModel(GL_FLAT);
@@ -3860,11 +3881,11 @@ static void drawDispListsolid(ListBase *lb, Object *ob, int glsl)
break;
case DL_INDEX3:
- GPU_enable_material(dl->col + 1, (glsl) ? &gattribs : NULL);
+ GPU_enable_material(dl->col + 1, (use_glsl) ? &gattribs : NULL);
glVertexPointer(3, GL_FLOAT, 0, dl->verts);
- /* voor polys only one normal needed */
+ /* for polys only one normal needed */
if (index3_nors_incr) {
glEnableClientState(GL_NORMAL_ARRAY);
glNormalPointer(GL_FLOAT, 0, dl->nors);
@@ -3880,7 +3901,7 @@ static void drawDispListsolid(ListBase *lb, Object *ob, int glsl)
break;
case DL_INDEX4:
- GPU_enable_material(dl->col + 1, (glsl) ? &gattribs : NULL);
+ GPU_enable_material(dl->col + 1, (use_glsl) ? &gattribs : NULL);
glEnableClientState(GL_NORMAL_ARRAY);
glVertexPointer(3, GL_FLOAT, 0, dl->verts);
@@ -3906,7 +3927,7 @@ static void drawCurveDMWired(Object *ob)
}
/* return 1 when nothing was drawn */
-static int drawCurveDerivedMesh(Scene *scene, View3D *v3d, RegionView3D *rv3d, Base *base, int dt)
+static int drawCurveDerivedMesh(Scene *scene, View3D *v3d, RegionView3D *rv3d, Base *base, const short dt)
{
Object *ob = base->object;
DerivedMesh *dm = ob->derivedFinal;
@@ -3938,7 +3959,8 @@ static int drawCurveDerivedMesh(Scene *scene, View3D *v3d, RegionView3D *rv3d, B
}
/* returns 1 when nothing was drawn */
-static int drawDispList(Scene *scene, View3D *v3d, RegionView3D *rv3d, Base *base, int dt)
+static int drawDispList(Scene *scene, View3D *v3d, RegionView3D *rv3d, Base *base,
+ const short dt, const unsigned char ob_wire_col[4])
{
Object *ob = base->object;
ListBase *lb = NULL;
@@ -3986,12 +4008,12 @@ static int drawDispList(Scene *scene, View3D *v3d, RegionView3D *rv3d, Base *bas
else {
if (draw_glsl_material(scene, ob, v3d, dt)) {
GPU_begin_object_materials(v3d, rv3d, scene, ob, 1, NULL);
- drawDispListsolid(lb, ob, 1);
+ drawDispListsolid(lb, ob, ob_wire_col, TRUE);
GPU_end_object_materials();
}
else {
GPU_begin_object_materials(v3d, rv3d, scene, ob, 0, NULL);
- drawDispListsolid(lb, ob, 0);
+ drawDispListsolid(lb, ob, ob_wire_col, FALSE);
GPU_end_object_materials();
}
if (cu->editnurb && cu->bevobj == NULL && cu->taperobj == NULL && cu->ext1 == 0.0f && cu->ext2 == 0.0f) {
@@ -4023,12 +4045,12 @@ static int drawDispList(Scene *scene, View3D *v3d, RegionView3D *rv3d, Base *bas
if (draw_glsl_material(scene, ob, v3d, dt)) {
GPU_begin_object_materials(v3d, rv3d, scene, ob, 1, NULL);
- drawDispListsolid(lb, ob, 1);
+ drawDispListsolid(lb, ob, ob_wire_col, TRUE);
GPU_end_object_materials();
}
else {
GPU_begin_object_materials(v3d, rv3d, scene, ob, 0, NULL);
- drawDispListsolid(lb, ob, 0);
+ drawDispListsolid(lb, ob, ob_wire_col, FALSE);
GPU_end_object_materials();
}
}
@@ -4047,12 +4069,12 @@ static int drawDispList(Scene *scene, View3D *v3d, RegionView3D *rv3d, Base *bas
if (draw_glsl_material(scene, ob, v3d, dt)) {
GPU_begin_object_materials(v3d, rv3d, scene, ob, 1, NULL);
- drawDispListsolid(lb, ob, 1);
+ drawDispListsolid(lb, ob, ob_wire_col, TRUE);
GPU_end_object_materials();
}
else {
GPU_begin_object_materials(v3d, rv3d, scene, ob, 0, NULL);
- drawDispListsolid(lb, ob, 0);
+ drawDispListsolid(lb, ob, ob_wire_col, FALSE);
GPU_end_object_materials();
}
}
@@ -5564,7 +5586,8 @@ static void draw_editnurb(Object *ob, Nurb *nurb, int sel)
}
}
-static void drawnurb(Scene *scene, View3D *v3d, RegionView3D *rv3d, Base *base, Nurb *nurb, int dt)
+static void drawnurb(Scene *scene, View3D *v3d, RegionView3D *rv3d, Base *base, Nurb *nurb,
+ const short dt, const unsigned char ob_wire_col[4])
{
ToolSettings *ts = scene->toolsettings;
Object *ob = base->object;
@@ -5573,10 +5596,13 @@ static void drawnurb(Scene *scene, View3D *v3d, RegionView3D *rv3d, Base *base,
BevList *bl;
short hide_handles = (cu->drawflag & CU_HIDE_HANDLES);
int index;
+ unsigned char wire_col[3];
/* DispList */
- UI_ThemeColor(TH_WIRE);
- drawDispList(scene, v3d, rv3d, base, dt);
+ UI_GetThemeColor3ubv(TH_WIRE, wire_col);
+ glColor3ubv(wire_col);
+
+ drawDispList(scene, v3d, rv3d, base, dt, ob_wire_col);
if (v3d->zbuf) glDisable(GL_DEPTH_TEST);
@@ -5888,7 +5914,8 @@ static void drawcone(const float vec[3], float radius, float height, float tmat[
glEnd();
}
/* return 1 if nothing was drawn */
-static int drawmball(Scene *scene, View3D *v3d, RegionView3D *rv3d, Base *base, int dt)
+static int drawmball(Scene *scene, View3D *v3d, RegionView3D *rv3d, Base *base,
+ const short dt, const unsigned char ob_wire_col[4])
{
Object *ob = base->object;
MetaBall *mb;
@@ -5899,13 +5926,19 @@ static int drawmball(Scene *scene, View3D *v3d, RegionView3D *rv3d, Base *base,
mb = ob->data;
if (mb->editelems) {
- UI_ThemeColor(TH_WIRE);
- if ((G.f & G_PICKSEL) == 0) drawDispList(scene, v3d, rv3d, base, dt);
+ if ((G.f & G_PICKSEL) == 0) {
+ unsigned char wire_col[3];
+ UI_GetThemeColor3ubv(TH_WIRE, wire_col);
+ glColor3ubv(wire_col);
+
+ drawDispList(scene, v3d, rv3d, base, dt, wire_col);
+ }
ml = mb->editelems->first;
}
else {
- if ((base->flag & OB_FROMDUPLI) == 0)
- drawDispList(scene, v3d, rv3d, base, dt);
+ if ((base->flag & OB_FROMDUPLI) == 0) {
+ drawDispList(scene, v3d, rv3d, base, dt, ob_wire_col);
+ }
ml = mb->elems.first;
}
@@ -6277,7 +6310,8 @@ static void drawtexspace(Object *ob)
}
/* draws wire outline */
-static void drawObjectSelect(Scene *scene, View3D *v3d, ARegion *ar, Base *base)
+static void drawObjectSelect(Scene *scene, View3D *v3d, ARegion *ar, Base *base,
+ const unsigned char ob_wire_col[4])
{
RegionView3D *rv3d = ar->regiondata;
Object *ob = base->object;
@@ -6316,7 +6350,7 @@ static void drawObjectSelect(Scene *scene, View3D *v3d, ARegion *ar, Base *base)
}
else if (ob->type == OB_ARMATURE) {
if (!(ob->mode & OB_MODE_POSE && base == scene->basact))
- draw_armature(scene, v3d, ar, base, OB_WIRE, FALSE, TRUE);
+ draw_armature(scene, v3d, ar, base, OB_WIRE, FALSE, ob_wire_col, TRUE);
}
glLineWidth(1.0);
@@ -6408,19 +6442,13 @@ static void draw_hooks(Object *ob)
}
}
-static void drawRBpivot(bRigidBodyJointConstraint *data)
+static void drawRBpivot(bRigidBodyJointConstraint *data, const unsigned char ob_wire_col[4])
{
const char *axis_str[3] = {"px", "py", "pz"};
int axis;
float mat[4][4];
/* color */
- float curcol[4];
- unsigned char tcol[4];
-
- glGetFloatv(GL_CURRENT_COLOR, curcol);
- rgb_float_to_uchar(tcol, curcol);
- tcol[3] = 255;
eul_to_mat4(mat, &data->axX);
glLineWidth(4.0f);
@@ -6439,14 +6467,89 @@ static void drawRBpivot(bRigidBodyJointConstraint *data)
glVertex3fv(v);
glEnd();
- view3d_cached_text_draw_add(v, axis_str[axis], 0, V3D_CACHE_TEXT_ASCII, tcol);
+ view3d_cached_text_draw_add(v, axis_str[axis], 0, V3D_CACHE_TEXT_ASCII, ob_wire_col);
}
glLineWidth(1.0f);
setlinestyle(0);
}
+static void draw_object_wire_color(Scene *scene, Base *base, unsigned char r_ob_wire_col[4],
+ const int warning_recursive)
+{
+ Object *ob = base->object;
+ int colindex = 0;
+
+ /* confusing logic here, there are 2 methods of setting the color
+ * 'colortab[colindex]' and 'theme_id', colindex overrides theme_id.
+ *
+ * note: no theme yet for 'colindex' */
+ int theme_id = TH_WIRE;
+ int theme_shade = 0;
+
+ if ((scene->obedit == NULL) &&
+ (G.moving & G_TRANSFORM_OBJ) &&
+ (base->flag & (SELECT + BA_WAS_SEL)))
+ {
+ theme_id = TH_TRANSFORM;
+ }
+ else {
+ /* Sets the 'colindex' */
+ if (ob->id.lib) {
+ colindex = (base->flag & (SELECT + BA_WAS_SEL)) ? 4 : 3;
+ }
+ else if (warning_recursive == 1) {
+ if (base->flag & (SELECT + BA_WAS_SEL)) {
+ colindex = (scene->basact == base) ? 8 : 7;
+ }
+ else {
+ colindex = 6;
+ }
+ }
+ /* Sets the 'theme_id' or fallback to wire */
+ else {
+ if (ob->flag & OB_FROMGROUP) {
+ if (base->flag & (SELECT + BA_WAS_SEL)) {
+ /* uses darker active color for non-active + selected*/
+ theme_id = TH_GROUP_ACTIVE;
+
+ if (scene->basact != base) {
+ theme_shade = -16;
+ }
+ }
+ else {
+ theme_id = TH_GROUP;
+ }
+ }
+ else {
+ if (base->flag & (SELECT + BA_WAS_SEL)) {
+ theme_id = scene->basact == base ? TH_ACTIVE : TH_SELECT;
+ }
+ else {
+ if (ob->type == OB_LAMP) theme_id = TH_LAMP;
+ else if (ob->type == OB_SPEAKER) theme_id = TH_SPEAKER;
+ else if (ob->type == OB_CAMERA) theme_id = TH_CAMERA;
+ else if (ob->type == OB_EMPTY) theme_id = TH_EMPTY;
+ /* fallback to TH_WIRE */
+ }
+ }
+ }
+ }
+
+ /* finally set the color */
+ if (colindex == 0) {
+ if (theme_shade == 0) UI_GetThemeColor3ubv(theme_id, r_ob_wire_col);
+ else UI_GetThemeColorShade3ubv(theme_id, theme_shade, r_ob_wire_col);
+ }
+ else {
+ cpack_cpy_3ub(r_ob_wire_col, colortab[colindex]);
+ }
+
+ /* no reason to use this but some functions take col[4] */
+ r_ob_wire_col[3] = 255;
+}
+
/* flag can be DRAW_PICKING and/or DRAW_CONSTCOLOR, DRAW_SCENESET */
-void draw_object(Scene *scene, ARegion *ar, View3D *v3d, Base *base, int flag)
+void draw_object(Scene *scene, ARegion *ar, View3D *v3d, Base *base, const short dflag)
{
static int warning_recursive = 0;
ModifierData *md = NULL;
@@ -6455,7 +6558,8 @@ void draw_object(Scene *scene, ARegion *ar, View3D *v3d, Base *base, int flag)
RegionView3D *rv3d = ar->regiondata;
float vec1[3], vec2[3];
unsigned int col = 0;
- int /*sel, drawtype,*/ colindex = 0;
+ unsigned char _ob_wire_col[4]; /* dont initialize this */
+ unsigned char *ob_wire_col = NULL; /* dont initialize this, use NULL crashes as a way to find invalid use */
int i, selstart, selend, empty_object = 0;
short dt, dtx, zbufoff = 0;
const short is_obact = (ob == OBACT);
@@ -6479,12 +6583,12 @@ void draw_object(Scene *scene, ARegion *ar, View3D *v3d, Base *base, int flag)
return;
/* xray delay? */
- if ((flag & DRAW_PICKING) == 0 && (base->flag & OB_FROMDUPLI) == 0) {
+ if ((dflag & DRAW_PICKING) == 0 && (base->flag & OB_FROMDUPLI) == 0) {
/* don't do xray in particle mode, need the z-buffer */
if (!(ob->mode & OB_MODE_PARTICLE_EDIT)) {
/* xray and transp are set when it is drawing the 2nd/3rd pass */
if (!v3d->xray && !v3d->transp && (ob->dtx & OB_DRAWXRAY) && !(ob->dtx & OB_DRAWTRANSP)) {
- add_view3d_after(&v3d->afterdraw_xray, base, flag);
+ ED_view3d_after_add(&v3d->afterdraw_xray, base, dflag);
return;
}
}
@@ -6493,9 +6597,6 @@ void draw_object(Scene *scene, ARegion *ar, View3D *v3d, Base *base, int flag)
/* no return after this point, otherwise leaks */
view3d_cached_text_draw_begin();
- /* patch? children objects with a timeoffs change the parents. How to solve! */
- /* if ( ((int)ob->ctime) != F_(scene->r.cfra)) BKE_object_where_is_calc(scene, ob); */
-
/* draw motion paths (in view space) */
if (ob->mpath && (v3d->flag2 & V3D_RENDER_OVERRIDE) == 0) {
bAnimVizSettings *avs = &ob->avs;
@@ -6515,74 +6616,14 @@ void draw_object(Scene *scene, ARegion *ar, View3D *v3d, Base *base, int flag)
ED_view3d_init_mats_rv3d_gl(ob, rv3d);
/* which wire color */
- if ((flag & DRAW_CONSTCOLOR) == 0) {
- /* confusing logic here, there are 2 methods of setting the color
- * 'colortab[colindex]' and 'theme_id', colindex overrides theme_id.
- *
- * note: no theme yet for 'colindex' */
- int theme_id = TH_WIRE;
- int theme_shade = 0;
+ if ((dflag & DRAW_CONSTCOLOR) == 0) {
project_short(ar, ob->obmat[3], &base->sx);
- if ((scene->obedit == NULL) &&
- (G.moving & G_TRANSFORM_OBJ) &&
- (base->flag & (SELECT + BA_WAS_SEL)))
- {
- theme_id = TH_TRANSFORM;
- }
- else {
- /* Sets the 'colindex' */
- if (ob->id.lib) {
- colindex = (base->flag & (SELECT + BA_WAS_SEL)) ? 4 : 3;
- }
- else if (warning_recursive == 1) {
- if (base->flag & (SELECT + BA_WAS_SEL)) {
- colindex = (scene->basact == base) ? 8 : 7;
- }
- else {
- colindex = 6;
- }
- }
- /* Sets the 'theme_id' or fallback to wire */
- else {
- if (ob->flag & OB_FROMGROUP) {
- if (base->flag & (SELECT + BA_WAS_SEL)) {
- /* uses darker active color for non-active + selected*/
- theme_id = TH_GROUP_ACTIVE;
-
- if (scene->basact != base) {
- theme_shade = -16;
- }
- }
- else {
- theme_id = TH_GROUP;
- }
- }
- else {
- if (base->flag & (SELECT + BA_WAS_SEL)) {
- theme_id = scene->basact == base ? TH_ACTIVE : TH_SELECT;
- }
- else {
- if (ob->type == OB_LAMP) theme_id = TH_LAMP;
- else if (ob->type == OB_SPEAKER) theme_id = TH_SPEAKER;
- else if (ob->type == OB_CAMERA) theme_id = TH_CAMERA;
- else if (ob->type == OB_EMPTY) theme_id = TH_EMPTY;
- /* fallback to TH_WIRE */
- }
- }
- }
- }
+ draw_object_wire_color(scene, base, _ob_wire_col, warning_recursive);
+ ob_wire_col = _ob_wire_col;
- /* finally set the color */
- if (colindex == 0) {
- if (theme_shade == 0) UI_ThemeColor(theme_id);
- else UI_ThemeColorShade(theme_id, theme_shade);
- }
- else {
- col = colortab[colindex];
- cpack(col);
- }
+ glColor3ubv(ob_wire_col);
}
/* maximum drawtype */
@@ -6640,18 +6681,18 @@ void draw_object(Scene *scene, ARegion *ar, View3D *v3d, Base *base, int flag)
/* draw outline for selected objects, mesh does itself */
if ((v3d->flag & V3D_SELECT_OUTLINE) && ((v3d->flag2 & V3D_RENDER_OVERRIDE) == 0) && ob->type != OB_MESH) {
- if (dt > OB_WIRE && (ob->mode & OB_MODE_EDIT) == 0 && (flag & DRAW_SCENESET) == 0) {
- if (!(ob->dtx & OB_DRAWWIRE) && (ob->flag & SELECT) && !(flag & DRAW_PICKING)) {
+ if (dt > OB_WIRE && (ob->mode & OB_MODE_EDIT) == 0 && (dflag & DRAW_SCENESET) == 0) {
+ if (!(ob->dtx & OB_DRAWWIRE) && (ob->flag & SELECT) && !(dflag & DRAW_PICKING)) {
- drawObjectSelect(scene, v3d, ar, base);
+ drawObjectSelect(scene, v3d, ar, base, ob_wire_col);
}
}
}
switch (ob->type) {
case OB_MESH:
- empty_object = draw_mesh_object(scene, ar, v3d, rv3d, base, dt, flag);
- if (flag != DRAW_CONSTCOLOR) dtx &= ~OB_DRAWWIRE; // mesh draws wire itself
+ empty_object = draw_mesh_object(scene, ar, v3d, rv3d, base, dt, dflag);
+ if (dflag != DRAW_CONSTCOLOR) dtx &= ~OB_DRAWWIRE; // mesh draws wire itself
break;
case OB_FONT:
@@ -6662,11 +6703,11 @@ void draw_object(Scene *scene, ARegion *ar, View3D *v3d, Base *base, int flag)
if (cu->flag & CU_FAST) {
cpack(0xFFFFFF);
set_inverted_drawing(1);
- drawDispList(scene, v3d, rv3d, base, OB_WIRE);
+ drawDispList(scene, v3d, rv3d, base, OB_WIRE, ob_wire_col);
set_inverted_drawing(0);
}
else {
- drawDispList(scene, v3d, rv3d, base, dt);
+ drawDispList(scene, v3d, rv3d, base, dt, ob_wire_col);
}
if (cu->linewidth != 0.0f) {
@@ -6741,7 +6782,7 @@ void draw_object(Scene *scene, ARegion *ar, View3D *v3d, Base *base, int flag)
}
}
else if (ED_view3d_boundbox_clip(rv3d, ob->obmat, ob->bb ? ob->bb : cu->bb)) {
- empty_object = drawDispList(scene, v3d, rv3d, base, dt);
+ empty_object = drawDispList(scene, v3d, rv3d, base, dt, ob_wire_col);
}
break;
@@ -6751,7 +6792,7 @@ void draw_object(Scene *scene, ARegion *ar, View3D *v3d, Base *base, int flag)
if (cu->editnurb) {
ListBase *nurbs = BKE_curve_editNurbs_get(cu);
- drawnurb(scene, v3d, rv3d, base, nurbs->first, dt);
+ drawnurb(scene, v3d, rv3d, base, nurbs->first, dt, ob_wire_col);
}
else if (dt == OB_BOUNDBOX) {
if (((v3d->flag2 & V3D_RENDER_OVERRIDE) && (v3d->drawtype >= OB_WIRE)) == 0) {
@@ -6759,7 +6800,7 @@ void draw_object(Scene *scene, ARegion *ar, View3D *v3d, Base *base, int flag)
}
}
else if (ED_view3d_boundbox_clip(rv3d, ob->obmat, ob->bb ? ob->bb : cu->bb)) {
- empty_object = drawDispList(scene, v3d, rv3d, base, dt);
+ empty_object = drawDispList(scene, v3d, rv3d, base, dt, ob_wire_col);
//XXX old animsys if (cu->path)
// curve_draw_speed(scene, ob);
@@ -6770,14 +6811,14 @@ void draw_object(Scene *scene, ARegion *ar, View3D *v3d, Base *base, int flag)
MetaBall *mb = ob->data;
if (mb->editelems)
- drawmball(scene, v3d, rv3d, base, dt);
+ drawmball(scene, v3d, rv3d, base, dt, ob_wire_col);
else if (dt == OB_BOUNDBOX) {
if (((v3d->flag2 & V3D_RENDER_OVERRIDE) && (v3d->drawtype >= OB_WIRE)) == 0) {
draw_bounding_volume(scene, ob, ob->boundtype);
}
}
else
- empty_object = drawmball(scene, v3d, rv3d, base, dt);
+ empty_object = drawmball(scene, v3d, rv3d, base, dt, ob_wire_col);
break;
}
case OB_EMPTY:
@@ -6792,7 +6833,7 @@ void draw_object(Scene *scene, ARegion *ar, View3D *v3d, Base *base, int flag)
break;
case OB_LAMP:
if ((v3d->flag2 & V3D_RENDER_OVERRIDE) == 0) {
- drawlamp(scene, v3d, rv3d, base, dt, flag);
+ drawlamp(scene, v3d, rv3d, base, dt, dflag, ob_wire_col);
if (dtx || (base->flag & SELECT)) glMultMatrixf(ob->obmat);
}
break;
@@ -6800,12 +6841,12 @@ void draw_object(Scene *scene, ARegion *ar, View3D *v3d, Base *base, int flag)
if ((v3d->flag2 & V3D_RENDER_OVERRIDE) == 0 ||
(rv3d->persp == RV3D_CAMOB && v3d->camera == ob)) /* special exception for active camera */
{
- drawcamera(scene, v3d, rv3d, base, flag);
+ drawcamera(scene, v3d, rv3d, base, dflag, ob_wire_col);
break;
}
case OB_SPEAKER:
if ((v3d->flag2 & V3D_RENDER_OVERRIDE) == 0)
- drawspeaker(scene, v3d, rv3d, ob, flag);
+ drawspeaker(scene, v3d, rv3d, ob, dflag);
break;
case OB_LATTICE:
if ((v3d->flag2 & V3D_RENDER_OVERRIDE) == 0) {
@@ -6823,7 +6864,7 @@ void draw_object(Scene *scene, ARegion *ar, View3D *v3d, Base *base, int flag)
else {
if (dt > OB_WIRE)
GPU_enable_material(0, NULL); /* we use default material */
- empty_object = draw_armature(scene, v3d, ar, base, dt, flag, FALSE);
+ empty_object = draw_armature(scene, v3d, ar, base, dt, dflag, ob_wire_col, FALSE);
if (dt > OB_WIRE)
GPU_disable_material();
}
@@ -6837,7 +6878,7 @@ void draw_object(Scene *scene, ARegion *ar, View3D *v3d, Base *base, int flag)
if ((v3d->flag2 & V3D_RENDER_OVERRIDE) == 0) {
- if (ob->soft /*&& flag & OB_SBMOTION*/) {
+ if (ob->soft /*&& dflag & OB_SBMOTION*/) {
float mrt[3][3], msc[3][3], mtr[3][3];
SoftBody *sb = NULL;
float tipw = 0.5f, tiph = 0.5f, drawsize = 4.0f;
@@ -6862,7 +6903,7 @@ void draw_object(Scene *scene, ARegion *ar, View3D *v3d, Base *base, int flag)
/* code for new particle system */
if ((warning_recursive == 0) &&
(ob->particlesystem.first) &&
- (flag & DRAW_PICKING) == 0 &&
+ (dflag & DRAW_PICKING) == 0 &&
(ob != scene->obedit)
)
{
@@ -6896,7 +6937,7 @@ void draw_object(Scene *scene, ARegion *ar, View3D *v3d, Base *base, int flag)
/* draw edit particles last so that they can draw over child particles */
if ( (warning_recursive == 0) &&
- (flag & DRAW_PICKING) == 0 &&
+ (dflag & DRAW_PICKING) == 0 &&
(!scene->obedit))
{
@@ -7027,7 +7068,7 @@ void draw_object(Scene *scene, ARegion *ar, View3D *v3d, Base *base, int flag)
if (con->type == CONSTRAINT_TYPE_RIGIDBODYJOINT) {
bRigidBodyJointConstraint *data = (bRigidBodyJointConstraint *)con->data;
if (data->flag & CONSTRAINT_DRAW_PIVOT)
- drawRBpivot(data);
+ drawRBpivot(data, ob_wire_col);
}
}
@@ -7054,14 +7095,9 @@ void draw_object(Scene *scene, ARegion *ar, View3D *v3d, Base *base, int flag)
if (dtx & OB_DRAWNAME) {
/* patch for several 3d cards (IBM mostly) that crash on GL_SELECT with text drawing */
/* but, we also don't draw names for sets or duplicators */
- if (flag == 0) {
- float zero[3] = {0, 0, 0};
- float curcol[4];
- unsigned char tcol[4];
- glGetFloatv(GL_CURRENT_COLOR, curcol);
- rgb_float_to_uchar(tcol, curcol);
- tcol[3] = 255;
- view3d_cached_text_draw_add(zero, ob->id.name + 2, 10, 0, tcol);
+ if (dflag == 0) {
+ const float zero[3] = {0, 0, 0};
+ view3d_cached_text_draw_add(zero, ob->id.name + 2, 10, 0, ob_wire_col);
}
}
/*if (dtx & OB_DRAWIMAGE) drawDispListwire(&ob->disp);*/
@@ -7117,13 +7153,13 @@ void draw_object(Scene *scene, ARegion *ar, View3D *v3d, Base *base, int flag)
do_draw_center = DESELECT;
if (do_draw_center != -1) {
- if (flag & DRAW_PICKING) {
+ if (dflag & DRAW_PICKING) {
/* draw a single point for opengl selection */
glBegin(GL_POINTS);
glVertex3fv(ob->obmat[3]);
glEnd();
}
- else if ((flag & DRAW_CONSTCOLOR) == 0) {
+ else if ((dflag & DRAW_CONSTCOLOR) == 0) {
/* we don't draw centers for duplicators and sets */
if (U.obcenter_dia > 0) {
/* check > 0 otherwise grease pencil can draw into the circle select which is annoying. */
@@ -7134,7 +7170,7 @@ void draw_object(Scene *scene, ARegion *ar, View3D *v3d, Base *base, int flag)
}
/* not for sets, duplicators or picking */
- if (flag == 0 && (v3d->flag & V3D_HIDE_HELPLINES) == 0 && (v3d->flag2 & V3D_RENDER_OVERRIDE) == 0) {
+ if (dflag == 0 && (v3d->flag & V3D_HIDE_HELPLINES) == 0 && (v3d->flag2 & V3D_RENDER_OVERRIDE) == 0) {
ListBase *list;
/* draw hook center and offset line */
@@ -7476,7 +7512,7 @@ void draw_object_backbufsel(Scene *scene, View3D *v3d, RegionView3D *rv3d, Objec
/* helper function for drawing object instances - meshes */
static void draw_object_mesh_instance(Scene *scene, View3D *v3d, RegionView3D *rv3d,
- Object *ob, int dt, int outline)
+ Object *ob, const short dt, int outline)
{
Mesh *me = ob->data;
DerivedMesh *dm = NULL, *edm = NULL;
@@ -7524,7 +7560,7 @@ static void draw_object_mesh_instance(Scene *scene, View3D *v3d, RegionView3D *r
if (dm) dm->release(dm);
}
-void draw_object_instance(Scene *scene, View3D *v3d, RegionView3D *rv3d, Object *ob, int dt, int outline)
+void draw_object_instance(Scene *scene, View3D *v3d, RegionView3D *rv3d, Object *ob, const short dt, int outline)
{
if (ob == NULL)
return;
diff --git a/source/blender/editors/space_view3d/drawvolume.c b/source/blender/editors/space_view3d/drawvolume.c
index 19cf9d9e20f..43252111303 100644
--- a/source/blender/editors/space_view3d/drawvolume.c
+++ b/source/blender/editors/space_view3d/drawvolume.c
@@ -146,7 +146,7 @@ static int intersect_edges(float *points, float a, float b, float c, float d, fl
return numpoints;
}
-static int convex(float *p0, float *up, float *a, float *b)
+static int convex(const float p0[3], const float up[3], const float a[3], const float b[3])
{
// Vec3 va = a-p0, vb = b-p0;
float va[3], vb[3], tmp[3];
diff --git a/source/blender/editors/space_view3d/space_view3d.c b/source/blender/editors/space_view3d/space_view3d.c
index 28fd2c8bc74..a6948222d93 100644
--- a/source/blender/editors/space_view3d/space_view3d.c
+++ b/source/blender/editors/space_view3d/space_view3d.c
@@ -1016,7 +1016,7 @@ static void space_view3d_listener(struct ScrArea *sa, struct wmNotifier *wmn)
break;
}
- // removed since BKE_image_user_frame_calc is now called in draw_bgpic because screen_ops doesnt call the notifier.
+ // removed since BKE_image_user_frame_calc is now called in view3d_draw_bgpic because screen_ops doesnt call the notifier.
#if 0
if (wmn->category == NC_SCENE && wmn->data == ND_FRAME) {
View3D *v3d = area->spacedata.first;
diff --git a/source/blender/editors/space_view3d/view3d_draw.c b/source/blender/editors/space_view3d/view3d_draw.c
index ee02f99d5b7..709a73178aa 100644
--- a/source/blender/editors/space_view3d/view3d_draw.c
+++ b/source/blender/editors/space_view3d/view3d_draw.c
@@ -153,12 +153,14 @@ static void view3d_draw_clipping(RegionView3D *rv3d)
BoundBox *bb = rv3d->clipbb;
if (bb) {
- static unsigned int clipping_index[6][4] = {{0, 1, 2, 3},
- {0, 4, 5, 1},
- {4, 7, 6, 5},
- {7, 3, 2, 6},
- {1, 5, 6, 2},
- {7, 4, 0, 3}};
+ static unsigned int clipping_index[6][4] = {
+ {0, 1, 2, 3},
+ {0, 4, 5, 1},
+ {4, 7, 6, 5},
+ {7, 3, 2, 6},
+ {1, 5, 6, 2},
+ {7, 4, 0, 3}
+ };
/* fill in zero alpha for rendering & re-projection [#31530] */
unsigned char col[4];
@@ -437,16 +439,9 @@ static void drawgrid(UnitSettings *unit, ARegion *ar, View3D *v3d, const char **
}
#undef GRID_MIN_PX
-static void drawfloor(Scene *scene, View3D *v3d, const char **grid_unit)
+float ED_view3d_grid_scale(Scene *scene, View3D *v3d, const char **grid_unit)
{
- float grid, grid_scale;
- unsigned char col_grid[3];
- const int gridlines = v3d->gridlines / 2;
-
- if (v3d->gridlines < 3) return;
-
- grid_scale = v3d->grid;
- /* use 'grid_scale' instead of 'v3d->grid' from now on */
+ float grid_scale = v3d->grid;
/* apply units */
if (scene->unit.system) {
@@ -457,11 +452,25 @@ static void drawfloor(Scene *scene, View3D *v3d, const char **grid_unit)
if (usys) {
int i = bUnit_GetBaseUnit(usys);
- *grid_unit = bUnit_GetNameDisplay(usys, i);
+ if (grid_unit)
+ *grid_unit = bUnit_GetNameDisplay(usys, i);
grid_scale = (grid_scale * (float)bUnit_GetScaler(usys, i)) / scene->unit.scale_length;
}
}
+ return grid_scale;
+}
+
+static void drawfloor(Scene *scene, View3D *v3d, const char **grid_unit)
+{
+ float grid, grid_scale;
+ unsigned char col_grid[3];
+ const int gridlines = v3d->gridlines / 2;
+
+ if (v3d->gridlines < 3) return;
+
+ /* use 'grid_scale' instead of 'v3d->grid' from now on */
+ grid_scale = ED_view3d_grid_scale(scene, v3d, grid_unit);
grid = gridlines * grid_scale;
if (v3d->zbuf && scene->obedit) glDepthMask(0); // for zbuffer-select
@@ -501,8 +510,7 @@ static void drawfloor(Scene *scene, View3D *v3d, const char **grid_unit)
}
/* set variable axis */
- vert[0][1] = vert[1][1] =
- vert[2][0] = vert[3][0] = line;
+ vert[0][1] = vert[1][1] = vert[2][0] = vert[3][0] = line;
glDrawArrays(GL_LINES, 0, 4);
}
@@ -1121,7 +1129,7 @@ static void drawviewborder(Scene *scene, ARegion *ar, View3D *v3d)
#ifdef VIEW3D_CAMERA_BORDER_HACK
if (view3d_camera_border_hack_test == TRUE) {
- glColor4fv(view3d_camera_border_hack_col);
+ glColor3ubv(view3d_camera_border_hack_col);
glRectf(x1i + 1, y1i + 1, x2i - 1, y2i - 1);
view3d_camera_border_hack_test = FALSE;
}
@@ -1140,7 +1148,6 @@ static void drawviewborder(Scene *scene, ARegion *ar, View3D *v3d)
/* border */
if (scene->r.mode & R_BORDER) {
-
cpack(0);
x3 = x1 + scene->r.border.xmin * (x2 - x1);
y3 = y1 + scene->r.border.ymin * (y2 - y1);
@@ -1521,7 +1528,8 @@ exit:
/* ************************************************************* */
-static void draw_bgpic(Scene *scene, ARegion *ar, View3D *v3d, int foreground)
+static void view3d_draw_bgpic(Scene *scene, ARegion *ar, View3D *v3d,
+ const short do_forground, const short do_camera_frame)
{
RegionView3D *rv3d = ar->regiondata;
BGpic *bgpic;
@@ -1530,7 +1538,7 @@ static void draw_bgpic(Scene *scene, ARegion *ar, View3D *v3d, int foreground)
ImBuf *ibuf = NULL, *freeibuf;
float vec[4], fac, asp, zoomx, zoomy;
float x1, y1, x2, y2, cx, cy;
- int fg_flag = foreground ? V3D_BGPIC_FOREGROUND : 0;
+ int fg_flag = do_forground ? V3D_BGPIC_FOREGROUND : 0;
for (bgpic = v3d->bgpicbase.first; bgpic; bgpic = bgpic->next) {
@@ -1541,6 +1549,8 @@ static void draw_bgpic(Scene *scene, ARegion *ar, View3D *v3d, int foreground)
(bgpic->view & (1 << rv3d->view)) || /* check agaist flags */
(rv3d->persp == RV3D_CAMOB && bgpic->view == (1 << RV3D_VIEW_CAMERA)))
{
+ float image_aspect[2];
+
/* disable individual images */
if ((bgpic->flag & V3D_BGPIC_DISABLED))
continue;
@@ -1552,8 +1562,11 @@ static void draw_bgpic(Scene *scene, ARegion *ar, View3D *v3d, int foreground)
continue;
BKE_image_user_frame_calc(&bgpic->iuser, CFRA, 0);
ibuf = BKE_image_get_ibuf(ima, &bgpic->iuser);
+
+ image_aspect[0] = ima->aspx;
+ image_aspect[1] = ima->aspx;
}
- else {
+ else if (bgpic->source == V3D_BGPIC_MOVIE) {
clip = NULL;
if (bgpic->flag & V3D_BGPIC_CAMERACLIP) {
@@ -1568,6 +1581,9 @@ static void draw_bgpic(Scene *scene, ARegion *ar, View3D *v3d, int foreground)
BKE_movieclip_user_set_frame(&bgpic->cuser, CFRA);
ibuf = BKE_movieclip_get_ibuf(clip, &bgpic->cuser);
+ image_aspect[0] = clip->aspx;
+ image_aspect[1] = clip->aspx;
+
/* working with ibuf from image and clip has got different workflow now.
* ibuf acquired from clip is referenced by cache system and should
* be dereferenced after usage. */
@@ -1588,14 +1604,65 @@ static void draw_bgpic(Scene *scene, ARegion *ar, View3D *v3d, int foreground)
IMB_rect_from_float(ibuf);
if (rv3d->persp == RV3D_CAMOB) {
- rctf vb;
- ED_view3d_calc_camera_border(scene, ar, v3d, rv3d, &vb, FALSE);
+ if (do_camera_frame) {
+ rctf vb;
+ ED_view3d_calc_camera_border(scene, ar, v3d, rv3d, &vb, FALSE);
+ x1 = vb.xmin;
+ y1 = vb.ymin;
+ x2 = vb.xmax;
+ y2 = vb.ymax;
+ }
+ else {
+ x1 = ar->winrct.xmin;
+ y1 = ar->winrct.ymin;
+ x2 = ar->winrct.xmax;
+ y2 = ar->winrct.ymax;
+ }
- x1 = vb.xmin;
- y1 = vb.ymin;
- x2 = vb.xmax;
- y2 = vb.ymax;
+ /* apply offset last - camera offset is different to offset in blender units */
+ /* so this has some sane way of working - this matches camera's shift _exactly_ */
+ {
+ const float max_dim = maxf(x2 - x1, y2 - y1);
+ const float xof_scale = bgpic->xof * max_dim;
+ const float yof_scale = bgpic->yof * max_dim;
+
+ x1 += xof_scale;
+ y1 += yof_scale;
+ x2 += xof_scale;
+ y2 += yof_scale;
+ }
+
+ /* aspect correction */
+ if (bgpic->flag & V3D_BGPIC_CAMERA_ASPECT) {
+ /* apply aspect from clip */
+ const float w_src = ibuf->x * image_aspect[0];
+ const float h_src = ibuf->y * image_aspect[1];
+
+ /* destination aspect is already applied from the camera frame */
+ const float w_dst = x1 - x2;
+ const float h_dst = y1 - y2;
+
+ const float asp_src = w_src / h_src;
+ const float asp_dst = w_dst / h_dst;
+
+ if (fabsf(asp_src - asp_dst) >= FLT_EPSILON) {
+ if ((asp_src > asp_dst) == ((bgpic->flag & V3D_BGPIC_CAMERA_CROP) != 0)) {
+ /* fit X */
+ const float div = asp_src / asp_dst;
+ const float cent = (x1 + x2) / 2.0f;
+ x1 = ((x1 - cent) * div) + cent;
+ x2 = ((x2 - cent) * div) + cent;
+ }
+ else {
+ /* fit Y */
+ const float div = asp_dst / asp_src;
+ const float cent = (y1 + y2) / 2.0f;
+ y1 = ((y1 - cent) * div) + cent;
+ y2 = ((y2 - cent) * div) + cent;
+ }
+ }
+ }
}
else {
float sco[2];
@@ -1689,7 +1756,8 @@ static void draw_bgpic(Scene *scene, ARegion *ar, View3D *v3d, int foreground)
}
}
-static void draw_bgpics(Scene *scene, ARegion *ar, View3D *v3d, int foreground)
+static void view3d_draw_bgpic_test(Scene *scene, ARegion *ar, View3D *v3d,
+ const short do_forground, const short do_camera_frame)
{
RegionView3D *rv3d = ar->regiondata;
@@ -1701,11 +1769,11 @@ static void draw_bgpics(Scene *scene, ARegion *ar, View3D *v3d, int foreground)
if ((rv3d->view == RV3D_VIEW_USER) || (rv3d->persp != RV3D_ORTHO)) {
if (rv3d->persp == RV3D_CAMOB) {
- draw_bgpic(scene, ar, v3d, foreground);
+ view3d_draw_bgpic(scene, ar, v3d, do_forground, do_camera_frame);
}
}
else {
- draw_bgpic(scene, ar, v3d, foreground);
+ view3d_draw_bgpic(scene, ar, v3d, do_forground, do_camera_frame);
}
}
@@ -1714,17 +1782,17 @@ static void draw_bgpics(Scene *scene, ARegion *ar, View3D *v3d, int foreground)
typedef struct View3DAfter {
struct View3DAfter *next, *prev;
struct Base *base;
- int flag;
+ short dflag;
} View3DAfter;
/* temp storage of Objects that need to be drawn as last */
-void add_view3d_after(ListBase *lb, Base *base, int flag)
+void ED_view3d_after_add(ListBase *lb, Base *base, const short dflag)
{
View3DAfter *v3da = MEM_callocN(sizeof(View3DAfter), "View 3d after");
BLI_assert((base->flag & OB_FROMDUPLI) == 0);
BLI_addtail(lb, v3da);
v3da->base = base;
- v3da->flag = flag;
+ v3da->dflag = dflag;
}
/* disables write in zbuffer and draws it over */
@@ -1737,7 +1805,7 @@ static void view3d_draw_transp(Scene *scene, ARegion *ar, View3D *v3d)
for (v3da = v3d->afterdraw_transp.first; v3da; v3da = next) {
next = v3da->next;
- draw_object(scene, ar, v3d, v3da->base, v3da->flag);
+ draw_object(scene, ar, v3d, v3da->base, v3da->dflag);
BLI_remlink(&v3d->afterdraw_transp, v3da);
MEM_freeN(v3da);
}
@@ -1758,7 +1826,7 @@ static void view3d_draw_xray(Scene *scene, ARegion *ar, View3D *v3d, int clear)
v3d->xray = TRUE;
for (v3da = v3d->afterdraw_xray.first; v3da; v3da = next) {
next = v3da->next;
- draw_object(scene, ar, v3d, v3da->base, v3da->flag);
+ draw_object(scene, ar, v3d, v3da->base, v3da->dflag);
BLI_remlink(&v3d->afterdraw_xray, v3da);
MEM_freeN(v3da);
}
@@ -1779,7 +1847,7 @@ static void view3d_draw_xraytransp(Scene *scene, ARegion *ar, View3D *v3d, int c
for (v3da = v3d->afterdraw_xraytransp.first; v3da; v3da = next) {
next = v3da->next;
- draw_object(scene, ar, v3d, v3da->base, v3da->flag);
+ draw_object(scene, ar, v3d, v3da->base, v3da->dflag);
BLI_remlink(&v3d->afterdraw_xraytransp, v3da);
MEM_freeN(v3da);
}
@@ -2421,14 +2489,13 @@ static void view3d_main_area_setup_view(Scene *scene, View3D *v3d, ARegion *ar,
void ED_view3d_draw_offscreen(Scene *scene, View3D *v3d, ARegion *ar,
int winx, int winy, float viewmat[][4], float winmat[][4],
- int draw_background)
+ int do_bgpic)
{
RegionView3D *rv3d = ar->regiondata;
Base *base;
float backcol[3];
int bwinx, bwiny;
rcti brect;
- ImBuf *bg_ibuf = NULL;
glPushMatrix();
@@ -2458,66 +2525,21 @@ void ED_view3d_draw_offscreen(Scene *scene, View3D *v3d, ARegion *ar,
if (draw_glsl_material(scene, NULL, v3d, v3d->drawtype))
gpu_update_lamps_shadows(scene, v3d);
- /* if scene has got active clip, use it for render backdrop */
- if (draw_background && scene->clip && rv3d->persp == RV3D_CAMOB && v3d->camera) {
- MovieClipUser user = {0};
-
- BKE_movieclip_user_set_frame(&user, CFRA);
- bg_ibuf = BKE_movieclip_get_ibuf(scene->clip, &user);
+ /* set background color, fallback on the view background color
+ * (if active clip is set but frame is failed to load fallback to horizon color as background) */
+ if (scene->world) {
+ if (scene->r.color_mgt_flag & R_COLOR_MANAGEMENT)
+ linearrgb_to_srgb_v3_v3(backcol, &scene->world->horr);
+ else
+ copy_v3_v3(backcol, &scene->world->horr);
+ glClearColor(backcol[0], backcol[1], backcol[2], 0.0);
}
-
- if (!bg_ibuf) {
- /* set background color, fallback on the view background color
- * (if active clip is set but frame is failed to load fallback to horizon color as background) */
- if (scene->world) {
- if (scene->r.color_mgt_flag & R_COLOR_MANAGEMENT)
- linearrgb_to_srgb_v3_v3(backcol, &scene->world->horr);
- else
- copy_v3_v3(backcol, &scene->world->horr);
- glClearColor(backcol[0], backcol[1], backcol[2], 0.0);
- }
- else {
- UI_ThemeClearColor(TH_BACK);
- }
+ else {
+ UI_ThemeClearColor(TH_BACK);
}
- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
-
- if (bg_ibuf) {
- unsigned char *pixels, *cp, *dst_cp;
- int i;
-
- if (bg_ibuf->rect_float && !bg_ibuf->rect)
- IMB_rect_from_float(bg_ibuf);
-
- dst_cp = pixels = MEM_callocN(4 * sizeof(unsigned char) * bg_ibuf->x * bg_ibuf->y, "draw offscreen clip pixels");
- cp = (unsigned char *)bg_ibuf->rect;
- for (i = 0; i < bg_ibuf->x * bg_ibuf->y; i++, cp += 4, dst_cp += 4) {
- dst_cp[0] = cp[0];
- dst_cp[1] = cp[1];
- dst_cp[2] = cp[2];
- dst_cp[3] = 255;
- }
-
- glMatrixMode(GL_PROJECTION);
- glPushMatrix();
- glMatrixMode(GL_MODELVIEW);
- glPushMatrix();
- ED_region_pixelspace(ar);
-
- glPixelZoom((float)winx / bg_ibuf->x, (float)winy / bg_ibuf->y);
- glaDrawPixelsTex(0, 0, bg_ibuf->x, bg_ibuf->y, GL_UNSIGNED_BYTE, pixels);
-
- glPixelZoom(1.0, 1.0);
- glMatrixMode(GL_PROJECTION);
- glPopMatrix();
- glMatrixMode(GL_MODELVIEW);
- glPopMatrix();
-
- IMB_freeImBuf(bg_ibuf);
- MEM_freeN(pixels);
- }
+ glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
/* setup view matrices */
view3d_main_area_setup_view(scene, v3d, ar, viewmat, winmat);
@@ -2533,6 +2555,11 @@ void ED_view3d_draw_offscreen(Scene *scene, View3D *v3d, ARegion *ar,
else
v3d->zbuf = FALSE;
+ /* important to do before clipping */
+ if (do_bgpic) {
+ view3d_draw_bgpic_test(scene, ar, v3d, FALSE, FALSE);
+ }
+
if (rv3d->rflag & RV3D_CLIPPING)
ED_view3d_clipping_set(rv3d);
@@ -2574,6 +2601,11 @@ void ED_view3d_draw_offscreen(Scene *scene, View3D *v3d, ARegion *ar,
if (rv3d->rflag & RV3D_CLIPPING)
ED_view3d_clipping_disable();
+ /* important to do after clipping */
+ if (do_bgpic) {
+ view3d_draw_bgpic_test(scene, ar, v3d, TRUE, FALSE);
+ }
+
/* cleanup */
if (v3d->zbuf) {
v3d->zbuf = FALSE;
@@ -2756,12 +2788,15 @@ static void draw_viewport_fps(Scene *scene, ARegion *ar)
BLF_draw_default_ascii(22, ar->winy - 17, 0.0f, printable, sizeof(printable));
}
-static int view3d_main_area_draw_engine(const bContext *C, ARegion *ar)
+static void view3d_main_area_draw_objects(const bContext *C, ARegion *ar, const char **grid_unit);
+
+static int view3d_main_area_draw_engine(const bContext *C, ARegion *ar, int draw_border)
{
Scene *scene = CTX_data_scene(C);
View3D *v3d = CTX_wm_view3d(C);
RegionView3D *rv3d = CTX_wm_region_view3d(C);
RenderEngineType *type;
+ GLint scissor[4];
/* create render engine */
if (!rv3d->render_engine) {
@@ -2778,22 +2813,57 @@ static int view3d_main_area_draw_engine(const bContext *C, ARegion *ar)
view3d_main_area_setup_view(scene, v3d, ar, NULL, NULL);
/* background draw */
+ ED_region_pixelspace(ar);
+
+ if (draw_border) {
+ /* for border draw, we only need to clear a subset of the 3d view */
+ rctf viewborder;
+ rcti cliprct;
+
+ ED_view3d_calc_camera_border(scene, ar, v3d, rv3d, &viewborder, FALSE);
+
+ cliprct.xmin = viewborder.xmin + scene->r.border.xmin * (viewborder.xmax - viewborder.xmin);
+ cliprct.ymin = viewborder.ymin + scene->r.border.ymin * (viewborder.ymax - viewborder.ymin);
+ cliprct.xmax = viewborder.xmin + scene->r.border.xmax * (viewborder.xmax - viewborder.xmin);
+ cliprct.ymax = viewborder.ymin + scene->r.border.ymax * (viewborder.ymax - viewborder.ymin);
+
+ cliprct.xmin += ar->winrct.xmin;
+ cliprct.xmax += ar->winrct.xmin;
+ cliprct.ymin += ar->winrct.ymin;
+ cliprct.ymax += ar->winrct.ymin;
+
+ cliprct.xmin = CLAMPIS(cliprct.xmin, ar->winrct.xmin, ar->winrct.xmax);
+ cliprct.ymin = CLAMPIS(cliprct.ymin, ar->winrct.ymin, ar->winrct.ymax);
+ cliprct.xmax = CLAMPIS(cliprct.xmax, ar->winrct.xmin, ar->winrct.xmax);
+ cliprct.ymax = CLAMPIS(cliprct.ymax, ar->winrct.ymin, ar->winrct.ymax);
+
+ if (cliprct.xmax > cliprct.xmin && cliprct.ymax > cliprct.ymin) {
+ glGetIntegerv(GL_SCISSOR_BOX, scissor);
+ glScissor(cliprct.xmin, cliprct.ymin, cliprct.xmax - cliprct.xmin, cliprct.ymax - cliprct.ymin);
+ }
+ else
+ return 0;
+ }
+
glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
- ED_region_pixelspace(ar);
-
- /* render result draw */
if (v3d->flag & V3D_DISPBGPICS)
- draw_bgpic(scene, ar, v3d, FALSE);
+ view3d_draw_bgpic(scene, ar, v3d, FALSE, TRUE);
else
fdrawcheckerboard(0, 0, ar->winx, ar->winy);
+ /* render result draw */
type = rv3d->render_engine->type;
type->view_draw(rv3d->render_engine, C);
if (v3d->flag & V3D_DISPBGPICS)
- draw_bgpic(scene, ar, v3d, TRUE);
+ view3d_draw_bgpic(scene, ar, v3d, TRUE, TRUE);
+
+ if (draw_border) {
+ /* restore scissor as it was before */
+ glScissor(scissor[0], scissor[1], scissor[2], scissor[3]);
+ }
return 1;
}
@@ -2889,7 +2959,7 @@ static void view3d_main_area_draw_objects(const bContext *C, ARegion *ar, const
}
}
- draw_bgpics(scene, ar, v3d, FALSE);
+ view3d_draw_bgpic_test(scene, ar, v3d, FALSE, TRUE);
if (rv3d->rflag & RV3D_CLIPPING)
ED_view3d_clipping_set(rv3d);
@@ -2948,8 +3018,6 @@ static void view3d_main_area_draw_objects(const bContext *C, ARegion *ar, const
}
}
- draw_bgpics(scene, ar, v3d, TRUE);
-
// REEB_draw();
if ((v3d->flag2 & V3D_RENDER_OVERRIDE) == 0) {
@@ -2969,6 +3037,9 @@ static void view3d_main_area_draw_objects(const bContext *C, ARegion *ar, const
if (rv3d->rflag & RV3D_CLIPPING)
ED_view3d_clipping_disable();
+ /* important to do after clipping */
+ view3d_draw_bgpic_test(scene, ar, v3d, TRUE, TRUE);
+
BIF_draw_manipulator(C);
#if 0
@@ -3048,15 +3119,21 @@ static void view3d_main_area_draw_info(const bContext *C, ARegion *ar, const cha
void view3d_main_area_draw(const bContext *C, ARegion *ar)
{
+ Scene *scene = CTX_data_scene(C);
View3D *v3d = CTX_wm_view3d(C);
+ RegionView3D *rv3d = CTX_wm_region_view3d(C);
const char *grid_unit = NULL;
+ int draw_border = (rv3d->persp == RV3D_CAMOB && (scene->r.mode & R_BORDER));
- /* draw viewport using external renderer? */
- if (!(v3d->drawtype == OB_RENDER && view3d_main_area_draw_engine(C, ar))) {
- /* draw viewport using opengl */
+ /* draw viewport using opengl */
+ if (v3d->drawtype != OB_RENDER || draw_border) {
view3d_main_area_draw_objects(C, ar, &grid_unit);
ED_region_pixelspace(ar);
}
+
+ /* draw viewport using external renderer */
+ if (v3d->drawtype == OB_RENDER)
+ view3d_main_area_draw_engine(C, ar, draw_border);
view3d_main_area_draw_info(C, ar, grid_unit);
diff --git a/source/blender/editors/space_view3d/view3d_edit.c b/source/blender/editors/space_view3d/view3d_edit.c
index 8ba0d75c786..d632314f3ca 100644
--- a/source/blender/editors/space_view3d/view3d_edit.c
+++ b/source/blender/editors/space_view3d/view3d_edit.c
@@ -498,7 +498,7 @@ static void viewops_data_create(bContext *C, wmOperator *op, wmEvent *event)
static void viewops_data_free(bContext *C, wmOperator *op)
{
ARegion *ar;
- Paint *p = paint_get_active(CTX_data_scene(C));
+ Paint *p = paint_get_active_from_context(C);
if (op->customdata) {
ViewOpsData *vod = op->customdata;
diff --git a/source/blender/editors/space_view3d/view3d_intern.h b/source/blender/editors/space_view3d/view3d_intern.h
index 29edc0158d6..3c6a0dd4b9f 100644
--- a/source/blender/editors/space_view3d/view3d_intern.h
+++ b/source/blender/editors/space_view3d/view3d_intern.h
@@ -53,13 +53,17 @@ struct wmWindowManager;
#define BL_NEAR_CLIP 0.001
/* drawing flags: */
-#define DRAW_PICKING 1
-#define DRAW_CONSTCOLOR 2
-#define DRAW_SCENESET 4
+enum {
+ DRAW_PICKING = (1 << 0),
+ DRAW_CONSTCOLOR = (1 << 1),
+ DRAW_SCENESET = (1 << 2)
+};
/* draw_mesh_fancy/draw_mesh_textured draw_flags */
-#define DRAW_MODIFIERS_PREVIEW 1
-#define DRAW_FACE_SELECT 2
+enum {
+ DRAW_MODIFIERS_PREVIEW = (1 << 0),
+ DRAW_FACE_SELECT = (1 << 1)
+};
/* view3d_header.c */
void VIEW3D_OT_layers(struct wmOperatorType *ot);
@@ -112,23 +116,28 @@ void draw_motion_paths_cleanup(View3D *v3d);
/* drawobject.c */
-void draw_object(Scene *scene, struct ARegion *ar, View3D *v3d, Base *base, int flag);
-int draw_glsl_material(Scene *scene, struct Object *ob, View3D *v3d, int dt);
-void draw_object_instance(Scene *scene, View3D *v3d, RegionView3D *rv3d, struct Object *ob, int dt, int outline);
+void draw_object(Scene *scene, struct ARegion *ar, View3D *v3d, Base *base, const short dflag);
+int draw_glsl_material(Scene *scene, struct Object *ob, View3D *v3d, const short dt);
+void draw_object_instance(Scene *scene, View3D *v3d, RegionView3D *rv3d, struct Object *ob, const short dt, int outline);
void draw_object_backbufsel(Scene *scene, View3D *v3d, RegionView3D *rv3d, struct Object *ob);
void drawaxes(float size, char drawtype);
void view3d_cached_text_draw_begin(void);
void view3d_cached_text_draw_add(const float co[3], const char *str, short xoffs, short flag, const unsigned char col[4]);
void view3d_cached_text_draw_end(View3D * v3d, ARegion * ar, int depth_write, float mat[][4]);
-#define V3D_CACHE_TEXT_ZBUF (1 << 0)
-#define V3D_CACHE_TEXT_WORLDSPACE (1 << 1)
-#define V3D_CACHE_TEXT_ASCII (1 << 2)
-#define V3D_CACHE_TEXT_GLOBALSPACE (1 << 3)
-#define V3D_CACHE_TEXT_LOCALCLIP (1 << 4)
+
+enum {
+ V3D_CACHE_TEXT_ZBUF = (1 << 0),
+ V3D_CACHE_TEXT_WORLDSPACE = (1 << 1),
+ V3D_CACHE_TEXT_ASCII = (1 << 2),
+ V3D_CACHE_TEXT_GLOBALSPACE = (1 << 3),
+ V3D_CACHE_TEXT_LOCALCLIP = (1 << 4)
+};
/* drawarmature.c */
-int draw_armature(Scene *scene, View3D *v3d, ARegion *ar, Base *base, int dt, int flag, const short is_outline);
+int draw_armature(Scene *scene, View3D *v3d, ARegion *ar, Base *base,
+ const short dt, const short dflag, const unsigned char ob_wire_col[4],
+ const short is_outline);
/* drawmesh.c */
void draw_mesh_textured(Scene *scene, View3D *v3d, RegionView3D *rv3d,
@@ -140,7 +149,7 @@ void draw_mesh_paint(View3D *v3d, RegionView3D *rv3d,
void view3d_main_area_draw(const struct bContext *C, struct ARegion *ar);
void draw_depth(Scene *scene, struct ARegion *ar, View3D *v3d, int (*func)(void *));
void draw_depth_gpencil(Scene *scene, ARegion *ar, View3D *v3d);
-void add_view3d_after(ListBase *lb, Base *base, int flag);
+void ED_view3d_after_add(ListBase *lb, Base *base, const short dflag);
void circf(float x, float y, float rad);
void circ(float x, float y, float rad);
@@ -211,7 +220,7 @@ void draw_volume(struct ARegion *ar, struct GPUTexture *tex, float min[3], float
* any direction it starts to fail */
#define VIEW3D_CAMERA_BORDER_HACK
#ifdef VIEW3D_CAMERA_BORDER_HACK
-extern float view3d_camera_border_hack_col[4];
+extern unsigned char view3d_camera_border_hack_col[3];
extern short view3d_camera_border_hack_test;
#endif
diff --git a/source/blender/editors/space_view3d/view3d_select.c b/source/blender/editors/space_view3d/view3d_select.c
index 18c7e975356..f9ebd4e39c1 100644
--- a/source/blender/editors/space_view3d/view3d_select.c
+++ b/source/blender/editors/space_view3d/view3d_select.c
@@ -64,6 +64,7 @@
#include "BKE_context.h"
#include "BKE_paint.h"
#include "BKE_armature.h"
+#include "BKE_depsgraph.h"
#include "BKE_tessmesh.h"
#include "BKE_movieclip.h"
#include "BKE_object.h"
@@ -333,7 +334,7 @@ static void do_lasso_select_pose(ViewContext *vc, Object *ob, int mcords[][2], s
int sco1[2], sco2[2];
bArmature *arm = ob->data;
- if (ob->type != OB_ARMATURE || ob->pose == NULL) return;
+ if ((ob->type != OB_ARMATURE) || (ob->pose == NULL)) return;
for (pchan = ob->pose->chanbase.first; pchan; pchan = pchan->next) {
if (PBONE_VISIBLE(arm, pchan->bone) && (pchan->bone->flag & BONE_UNSELECTABLE) == 0) {
@@ -348,6 +349,11 @@ static void do_lasso_select_pose(ViewContext *vc, Object *ob, int mcords[][2], s
}
}
}
+
+ if (arm->flag & ARM_HAS_VIZ_DEPS) {
+ /* mask modifier ('armature' mode), etc. */
+ DAG_id_tag_update(&ob->id, OB_RECALC_DATA);
+ }
}
static void object_deselect_all_visible(Scene *scene, View3D *v3d)
@@ -1297,11 +1303,11 @@ static void deselect_all_tracks(MovieTracking *tracking)
object = tracking->objects.first;
while (object) {
- ListBase *tracksbase = BKE_tracking_object_tracks(tracking, object);
+ ListBase *tracksbase = BKE_tracking_object_get_tracks(tracking, object);
MovieTrackingTrack *track = tracksbase->first;
while (track) {
- BKE_tracking_deselect_track(track, TRACK_AREA_ALL);
+ BKE_tracking_track_deselect(track, TRACK_AREA_ALL);
track = track->next;
}
@@ -1402,18 +1408,18 @@ static int mouse_select(bContext *C, const int mval[2], short extend, short dese
ListBase *tracksbase;
MovieTrackingTrack *track;
- track = BKE_tracking_indexed_track(&clip->tracking, hitresult >> 16, &tracksbase);
+ track = BKE_tracking_track_get_indexed(&clip->tracking, hitresult >> 16, &tracksbase);
if (TRACK_SELECTED(track) && extend) {
changed = 0;
- BKE_tracking_deselect_track(track, TRACK_AREA_ALL);
+ BKE_tracking_track_deselect(track, TRACK_AREA_ALL);
}
else {
int oldsel = TRACK_SELECTED(track) ? 1 : 0;
if (!extend)
deselect_all_tracks(tracking);
- BKE_tracking_select_track(tracksbase, track, TRACK_AREA_ALL, extend);
+ BKE_tracking_track_select(tracksbase, track, TRACK_AREA_ALL, extend);
if (oldsel != (TRACK_SELECTED(track) ? 1 : 0))
changed = 1;
@@ -1864,7 +1870,6 @@ static int do_object_pose_box_select(bContext *C, ViewContext *vc, rcti *rect, i
for (base = vc->scene->base.first; base && hits; base = base->next) {
if (BASE_SELECTABLE(vc->v3d, base)) {
while (base->selcol == (*col & 0xFFFF)) { /* we got an object */
-
if (*col & 0xFFFF0000) { /* we got a bone */
bone = get_indexed_bone(base->object, *col & ~(BONESEL_ANY));
if (bone) {
@@ -1872,16 +1877,13 @@ static int do_object_pose_box_select(bContext *C, ViewContext *vc, rcti *rect, i
if ((bone->flag & BONE_UNSELECTABLE) == 0) {
bone->flag |= BONE_SELECTED;
bone_selected = 1;
-// XXX select_actionchannel_by_name(base->object->action, bone->name, 1);
}
}
else {
bArmature *arm = base->object->data;
bone->flag &= ~BONE_SELECTED;
-// XXX select_actionchannel_by_name(base->object->action, bone->name, 0);
if (arm->act_bone == bone)
arm->act_bone = NULL;
-
}
}
}
@@ -1891,7 +1893,7 @@ static int do_object_pose_box_select(bContext *C, ViewContext *vc, rcti *rect, i
else
ED_base_object_select(base, BA_DESELECT);
}
-
+
col += 4; /* next color */
hits--;
if (hits == 0) break;
@@ -1899,12 +1901,22 @@ static int do_object_pose_box_select(bContext *C, ViewContext *vc, rcti *rect, i
}
if (bone_selected) {
- WM_event_add_notifier(C, NC_OBJECT | ND_BONE_SELECT, base->object);
+ Object *ob = base->object;
+
+ if (ob && (ob->type == OB_ARMATURE)) {
+ bArmature *arm = ob->data;
+
+ WM_event_add_notifier(C, NC_OBJECT | ND_BONE_SELECT, ob);
+
+ if (arm && (arm->flag & ARM_HAS_VIZ_DEPS)) {
+ /* mask modifier ('armature' mode), etc. */
+ DAG_id_tag_update(&ob->id, OB_RECALC_DATA);
+ }
+ }
}
}
-
+
WM_event_add_notifier(C, NC_SCENE | ND_OB_SELECT, vc->scene);
-
}
MEM_freeN(vbuffer);
@@ -2152,9 +2164,8 @@ void VIEW3D_OT_select(wmOperatorType *ot)
ot->flag = OPTYPE_UNDO;
/* properties */
- RNA_def_boolean(ot->srna, "extend", 0, "Extend", "Extend selection instead of deselecting everything first");
- RNA_def_boolean(ot->srna, "deselect", 0, "Deselect", "Remove from selection");
- RNA_def_boolean(ot->srna, "toggle", 0, "Toggle Selection", "Toggles selection");
+ WM_operator_properties_mouse_select(ot);
+
RNA_def_boolean(ot->srna, "center", 0, "Center", "Use the object center when selecting, in editmode used to extend object selection");
RNA_def_boolean(ot->srna, "enumerate", 0, "Enumerate", "List objects under the mouse (object mode only)");
RNA_def_boolean(ot->srna, "object", 0, "Object", "Use object selection (editmode only)");
diff --git a/source/blender/editors/space_view3d/view3d_snap.c b/source/blender/editors/space_view3d/view3d_snap.c
index 5af1829af5a..1991d4bce4f 100644
--- a/source/blender/editors/space_view3d/view3d_snap.c
+++ b/source/blender/editors/space_view3d/view3d_snap.c
@@ -831,12 +831,12 @@ static void bundle_midpoint(Scene *scene, Object *ob, float vec[3])
copy_m4_m4(cammat, ob->obmat);
- BKE_get_tracking_mat(scene, ob, mat);
+ BKE_tracking_get_camera_object_matrix(scene, ob, mat);
INIT_MINMAX(min, max);
for (object = tracking->objects.first; object; object = object->next) {
- ListBase *tracksbase = BKE_tracking_object_tracks(tracking, object);
+ ListBase *tracksbase = BKE_tracking_object_get_tracks(tracking, object);
MovieTrackingTrack *track = tracksbase->first;
float obmat[4][4];
@@ -846,7 +846,7 @@ static void bundle_midpoint(Scene *scene, Object *ob, float vec[3])
else {
float imat[4][4];
- BKE_tracking_get_interpolated_camera(tracking, object, scene->r.cfra, imat);
+ BKE_tracking_camera_get_reconstructed_interpolate(tracking, object, scene->r.cfra, imat);
invert_m4(imat);
mult_m4_m4m4(obmat, cammat, imat);
diff --git a/source/blender/editors/transform/transform.c b/source/blender/editors/transform/transform.c
index 43fdb779470..9e7facf1b6f 100644
--- a/source/blender/editors/transform/transform.c
+++ b/source/blender/editors/transform/transform.c
@@ -49,8 +49,9 @@
#include "DNA_constraint_types.h"
#include "DNA_mesh_types.h"
#include "DNA_meshdata_types.h"
+#include "DNA_mask_types.h"
#include "DNA_movieclip_types.h"
-#include "DNA_scene_types.h" /* PET modes */
+#include "DNA_scene_types.h" /* PET modes */
#include "RNA_access.h"
@@ -104,7 +105,7 @@ static int doEdgeSlide(TransInfo *t, float perc);
void setTransformViewMatrices(TransInfo *t)
{
- if (t->spacetype==SPACE_VIEW3D && t->ar && t->ar->regiontype == RGN_TYPE_WINDOW) {
+ if (t->spacetype == SPACE_VIEW3D && t->ar && t->ar->regiontype == RGN_TYPE_WINDOW) {
RegionView3D *rv3d = t->ar->regiondata;
copy_m4_m4(t->viewmat, rv3d->viewmat);
@@ -128,12 +129,12 @@ static void convertViewVec2D(View2D *v2d, float vec[3], int dx, int dy)
{
float divx, divy;
- divx= v2d->mask.xmax - v2d->mask.xmin;
- divy= v2d->mask.ymax - v2d->mask.ymin;
+ divx = v2d->mask.xmax - v2d->mask.xmin;
+ divy = v2d->mask.ymax - v2d->mask.ymin;
- vec[0]= (v2d->cur.xmax - v2d->cur.xmin) * dx / divx;
- vec[1]= (v2d->cur.ymax - v2d->cur.ymin) * dy / divy;
- vec[2]= 0.0f;
+ vec[0] = (v2d->cur.xmax - v2d->cur.xmin) * dx / divx;
+ vec[1] = (v2d->cur.ymax - v2d->cur.ymin) * dy / divy;
+ vec[2] = 0.0f;
}
void convertViewVec(TransInfo *t, float r_vec[3], int dx, int dy)
@@ -144,7 +145,7 @@ void convertViewVec(TransInfo *t, float r_vec[3], int dx, int dy)
mval_f[1] = dy;
ED_view3d_win_to_delta(t->ar, mval_f, r_vec);
}
- else if (t->spacetype==SPACE_IMAGE) {
+ else if (t->spacetype == SPACE_IMAGE) {
float aspx, aspy;
convertViewVec2D(t->view, r_vec, dx, dy);
@@ -159,16 +160,38 @@ void convertViewVec(TransInfo *t, float r_vec[3], int dx, int dy)
else if (ELEM(t->spacetype, SPACE_NODE, SPACE_SEQ)) {
convertViewVec2D(&t->ar->v2d, r_vec, dx, dy);
}
- else if (t->spacetype==SPACE_CLIP) {
+ else if (t->spacetype == SPACE_CLIP) {
View2D *v2d = t->view;
float divx, divy;
+ float mulx, muly;
+ float aspx = 1.0f, aspy = 1.0f;
- divx = v2d->mask.xmax-v2d->mask.xmin;
- divy = v2d->mask.ymax-v2d->mask.ymin;
+ divx = v2d->mask.xmax - v2d->mask.xmin;
+ divy = v2d->mask.ymax - v2d->mask.ymin;
- r_vec[0] = (v2d->cur.xmax-v2d->cur.xmin)*(dx)/divx;
- r_vec[1] = (v2d->cur.ymax-v2d->cur.ymin)*(dy)/divy;
+ mulx = (v2d->cur.xmax - v2d->cur.xmin);
+ muly = (v2d->cur.ymax - v2d->cur.ymin);
+
+ if (t->options & CTX_MASK) {
+ /* clamp w/h, mask only */
+ divx = divy = maxf(divx, divy);
+ mulx = muly = minf(mulx, muly);
+ }
+
+ r_vec[0] = mulx * (dx) / divx;
+ r_vec[1] = muly * (dy) / divy;
r_vec[2] = 0.0f;
+
+ if (t->options & CTX_MOVIECLIP) {
+ ED_space_clip_aspect_dimension_aware(t->sa->spacedata.first, &aspx, &aspy);
+ }
+ else if (t->options & CTX_MASK) {
+ /* TODO - NOT WORKING, this isnt so bad since its only display aspect */
+ ED_space_clip_mask_aspect(t->sa->spacedata.first, &aspx, &aspy);
+ }
+
+ r_vec[0] *= aspx;
+ r_vec[1] *= aspy;
}
else {
printf("%s: called in an invalid context\n", __func__);
@@ -178,18 +201,18 @@ void convertViewVec(TransInfo *t, float r_vec[3], int dx, int dy)
void projectIntView(TransInfo *t, const float vec[3], int adr[2])
{
- if (t->spacetype==SPACE_VIEW3D) {
+ if (t->spacetype == SPACE_VIEW3D) {
if (t->ar->regiontype == RGN_TYPE_WINDOW)
project_int_noclip(t->ar, vec, adr);
}
- else if (t->spacetype==SPACE_IMAGE) {
+ else if (t->spacetype == SPACE_IMAGE) {
float aspx, aspy, v[2];
ED_space_image_uv_aspect(t->sa->spacedata.first, &aspx, &aspy);
- v[0]= vec[0]/aspx;
- v[1]= vec[1]/aspy;
+ v[0] = vec[0] / aspx;
+ v[1] = vec[1] / aspy;
- UI_view2d_to_region_no_clip(t->view, v[0], v[1], adr, adr+1);
+ UI_view2d_to_region_no_clip(t->view, v[0], v[1], adr, adr + 1);
}
else if (t->spacetype == SPACE_ACTION) {
int out[2] = {0, 0};
@@ -199,37 +222,46 @@ void projectIntView(TransInfo *t, const float vec[3], int adr[2])
if (sact->flag & SACTION_DRAWTIME) {
//vec[0] = vec[0]/((t->scene->r.frs_sec / t->scene->r.frs_sec_base));
/* same as below */
- UI_view2d_to_region_no_clip((View2D *)t->view, vec[0], vec[1], out, out+1);
+ UI_view2d_to_region_no_clip((View2D *)t->view, vec[0], vec[1], out, out + 1);
}
else
#endif
{
- UI_view2d_to_region_no_clip((View2D *)t->view, vec[0], vec[1], out, out+1);
+ UI_view2d_to_region_no_clip((View2D *)t->view, vec[0], vec[1], out, out + 1);
}
- adr[0]= out[0];
- adr[1]= out[1];
+ adr[0] = out[0];
+ adr[1] = out[1];
}
else if (ELEM(t->spacetype, SPACE_IPO, SPACE_NLA)) {
int out[2] = {0, 0};
- UI_view2d_to_region_no_clip((View2D *)t->view, vec[0], vec[1], out, out+1);
- adr[0]= out[0];
- adr[1]= out[1];
+ UI_view2d_to_region_no_clip((View2D *)t->view, vec[0], vec[1], out, out + 1);
+ adr[0] = out[0];
+ adr[1] = out[1];
}
- else if (t->spacetype==SPACE_SEQ) { /* XXX not tested yet, but should work */
+ else if (t->spacetype == SPACE_SEQ) { /* XXX not tested yet, but should work */
int out[2] = {0, 0};
- UI_view2d_to_region_no_clip((View2D *)t->view, vec[0], vec[1], out, out+1);
- adr[0]= out[0];
- adr[1]= out[1];
+ UI_view2d_to_region_no_clip((View2D *)t->view, vec[0], vec[1], out, out + 1);
+ adr[0] = out[0];
+ adr[1] = out[1];
}
- else if (t->spacetype==SPACE_CLIP) {
+ else if (t->spacetype == SPACE_CLIP) {
float v[2];
+ float aspx = 1.0f, aspy = 1.0f;
copy_v2_v2(v, vec);
- UI_view2d_to_region_no_clip(t->view, v[0], v[1], adr, adr+1);
+ if (t->options & CTX_MOVIECLIP)
+ ED_space_clip_aspect_dimension_aware(t->sa->spacedata.first, &aspx, &aspy);
+ else if (t->options & CTX_MASK)
+ ED_space_clip_mask_aspect(t->sa->spacedata.first, &aspx, &aspy);
+
+ v[0] /= aspx;
+ v[1] /= aspy;
+
+ UI_view2d_to_region_no_clip(t->view, v[0], v[1], adr, adr + 1);
}
}
@@ -262,11 +294,11 @@ void projectFloatView(TransInfo *t, const float vec[3], float adr[2])
void applyAspectRatio(TransInfo *t, float vec[2])
{
- if ((t->spacetype==SPACE_IMAGE) && (t->mode==TFM_TRANSLATION)) {
- SpaceImage *sima= t->sa->spacedata.first;
+ if ((t->spacetype == SPACE_IMAGE) && (t->mode == TFM_TRANSLATION)) {
+ SpaceImage *sima = t->sa->spacedata.first;
float aspx, aspy;
- if ((sima->flag & SI_COORDFLOATS)==0) {
+ if ((sima->flag & SI_COORDFLOATS) == 0) {
int width, height;
ED_space_image_size(sima, &width, &height);
@@ -278,28 +310,35 @@ void applyAspectRatio(TransInfo *t, float vec[2])
vec[0] /= aspx;
vec[1] /= aspy;
}
- else if ((t->spacetype==SPACE_CLIP) && (t->mode==TFM_TRANSLATION)) {
- if (t->options & CTX_MOVIECLIP) {
+ else if ((t->spacetype == SPACE_CLIP) && (t->mode == TFM_TRANSLATION)) {
+ if (t->options & (CTX_MOVIECLIP | CTX_MASK)) {
SpaceClip *sc = t->sa->spacedata.first;
float aspx, aspy;
- int width, height;
- ED_space_clip_size(sc, &width, &height);
- ED_space_clip_aspect(sc, &aspx, &aspy);
- vec[0] *= width / aspx;
- vec[1] *= height / aspy;
+ if (t->options & CTX_MOVIECLIP) {
+ ED_space_clip_aspect_dimension_aware(sc, &aspx, &aspy);
+
+ vec[0] /= aspx;
+ vec[1] /= aspy;
+ }
+ else if (t->options & CTX_MASK) {
+ ED_space_clip_mask_aspect(sc, &aspx, &aspy);
+
+ vec[0] /= aspx;
+ vec[1] /= aspy;
+ }
}
}
}
void removeAspectRatio(TransInfo *t, float vec[2])
{
- if ((t->spacetype==SPACE_IMAGE) && (t->mode==TFM_TRANSLATION)) {
- SpaceImage *sima= t->sa->spacedata.first;
+ if ((t->spacetype == SPACE_IMAGE) && (t->mode == TFM_TRANSLATION)) {
+ SpaceImage *sima = t->sa->spacedata.first;
float aspx, aspy;
- if ((sima->flag & SI_COORDFLOATS)==0) {
+ if ((sima->flag & SI_COORDFLOATS) == 0) {
int width, height;
ED_space_image_size(sima, &width, &height);
@@ -311,17 +350,20 @@ void removeAspectRatio(TransInfo *t, float vec[2])
vec[0] *= aspx;
vec[1] *= aspy;
}
- else if ((t->spacetype==SPACE_CLIP) && (t->mode==TFM_TRANSLATION)) {
- if (t->options & CTX_MOVIECLIP) {
+ else if ((t->spacetype == SPACE_CLIP) && (t->mode == TFM_TRANSLATION)) {
+ if (t->options & (CTX_MOVIECLIP | CTX_MASK)) {
SpaceClip *sc = t->sa->spacedata.first;
- float aspx, aspy;
- int width, height;
+ float aspx = 1.0f, aspy = 1.0f;
- ED_space_clip_size(sc, &width, &height);
- ED_space_clip_aspect(sc, &aspx, &aspy);
+ if (t->options & CTX_MOVIECLIP) {
+ ED_space_clip_aspect_dimension_aware(sc, &aspx, &aspy);
+ }
+ else if (t->options & CTX_MASK) {
+ ED_space_clip_mask_aspect(sc, &aspx, &aspy);
+ }
- vec[0] *= aspx / width;
- vec[1] *= aspy / height;
+ vec[0] *= aspx;
+ vec[1] *= aspy;
}
}
}
@@ -331,48 +373,56 @@ static void viewRedrawForce(const bContext *C, TransInfo *t)
if (t->spacetype == SPACE_VIEW3D) {
/* Do we need more refined tags? */
if (t->flag & T_POSE)
- WM_event_add_notifier(C, NC_OBJECT|ND_POSE, NULL);
+ WM_event_add_notifier(C, NC_OBJECT | ND_POSE, NULL);
else
- WM_event_add_notifier(C, NC_OBJECT|ND_TRANSFORM, NULL);
+ WM_event_add_notifier(C, NC_OBJECT | ND_TRANSFORM, NULL);
/* for realtime animation record - send notifiers recognised by animation editors */
// XXX: is this notifier a lame duck?
if ((t->animtimer) && IS_AUTOKEY_ON(t->scene))
- WM_event_add_notifier(C, NC_OBJECT|ND_KEYS, NULL);
+ WM_event_add_notifier(C, NC_OBJECT | ND_KEYS, NULL);
}
else if (t->spacetype == SPACE_ACTION) {
//SpaceAction *saction= (SpaceAction *)t->sa->spacedata.first;
- WM_event_add_notifier(C, NC_ANIMATION|ND_KEYFRAME|NA_EDITED, NULL);
+ WM_event_add_notifier(C, NC_ANIMATION | ND_KEYFRAME | NA_EDITED, NULL);
}
else if (t->spacetype == SPACE_IPO) {
//SpaceIpo *sipo= (SpaceIpo *)t->sa->spacedata.first;
- WM_event_add_notifier(C, NC_ANIMATION|ND_KEYFRAME|NA_EDITED, NULL);
+ WM_event_add_notifier(C, NC_ANIMATION | ND_KEYFRAME | NA_EDITED, NULL);
}
else if (t->spacetype == SPACE_NLA) {
- WM_event_add_notifier(C, NC_ANIMATION|ND_NLA|NA_EDITED, NULL);
+ WM_event_add_notifier(C, NC_ANIMATION | ND_NLA | NA_EDITED, NULL);
}
else if (t->spacetype == SPACE_NODE) {
//ED_area_tag_redraw(t->sa);
- WM_event_add_notifier(C, NC_SPACE|ND_SPACE_NODE_VIEW, NULL);
+ WM_event_add_notifier(C, NC_SPACE | ND_SPACE_NODE_VIEW, NULL);
}
else if (t->spacetype == SPACE_SEQ) {
- WM_event_add_notifier(C, NC_SCENE|ND_SEQUENCER, NULL);
+ WM_event_add_notifier(C, NC_SCENE | ND_SEQUENCER, NULL);
}
- else if (t->spacetype==SPACE_IMAGE) {
+ else if (t->spacetype == SPACE_IMAGE) {
// XXX how to deal with lock?
- SpaceImage *sima= (SpaceImage*)t->sa->spacedata.first;
- if (sima->lock) WM_event_add_notifier(C, NC_GEOM|ND_DATA, t->obedit->data);
+ SpaceImage *sima = (SpaceImage *)t->sa->spacedata.first;
+ if (sima->lock) WM_event_add_notifier(C, NC_GEOM | ND_DATA, t->obedit->data);
else ED_area_tag_redraw(t->sa);
}
- else if (t->spacetype==SPACE_CLIP) {
- SpaceClip *sc = (SpaceClip*)t->sa->spacedata.first;
- MovieClip *clip = ED_space_clip(sc);
+ else if (t->spacetype == SPACE_CLIP) {
+ SpaceClip *sc = (SpaceClip *)t->sa->spacedata.first;
+
+ if (ED_space_clip_show_trackedit(sc)) {
+ MovieClip *clip = ED_space_clip(sc);
- /* objects could be parented to tracking data, so send this for viewport refresh */
- WM_event_add_notifier(C, NC_OBJECT|ND_TRANSFORM, NULL);
+ /* objects could be parented to tracking data, so send this for viewport refresh */
+ WM_event_add_notifier(C, NC_OBJECT | ND_TRANSFORM, NULL);
- WM_event_add_notifier(C, NC_MOVIECLIP|NA_EDITED, clip);
+ WM_event_add_notifier(C, NC_MOVIECLIP | NA_EDITED, clip);
+ }
+ else if (ED_space_clip_show_maskedit(sc)) {
+ Mask *mask = ED_space_clip_mask(sc);
+
+ WM_event_add_notifier(C, NC_MASK | NA_EDITED, mask);
+ }
}
}
@@ -383,19 +433,19 @@ static void viewRedrawPost(bContext *C, TransInfo *t)
if (t->spacetype == SPACE_VIEW3D) {
/* if autokeying is enabled, send notifiers that keyframes were added */
if (IS_AUTOKEY_ON(t->scene))
- WM_main_add_notifier(NC_ANIMATION|ND_KEYFRAME|NA_EDITED, NULL);
+ WM_main_add_notifier(NC_ANIMATION | ND_KEYFRAME | NA_EDITED, NULL);
/* XXX temp, first hack to get auto-render in compositor work (ton) */
- WM_event_add_notifier(C, NC_SCENE|ND_TRANSFORM_DONE, CTX_data_scene(C));
+ WM_event_add_notifier(C, NC_SCENE | ND_TRANSFORM_DONE, CTX_data_scene(C));
}
#if 0 // TRANSFORM_FIX_ME
- if (t->spacetype==SPACE_VIEW3D) {
+ if (t->spacetype == SPACE_VIEW3D) {
allqueue(REDRAWBUTSOBJECT, 0);
allqueue(REDRAWVIEW3D, 0);
}
- else if (t->spacetype==SPACE_IMAGE) {
+ else if (t->spacetype == SPACE_IMAGE) {
allqueue(REDRAWIMAGE, 0);
allqueue(REDRAWVIEW3D, 0);
}
@@ -419,7 +469,7 @@ void BIF_selectOrientation(void)
#if 0 // TRANSFORM_FIX_ME
short val;
char *str_menu = BIF_menustringTransformOrientation("Orientation");
- val= pupmenu(str_menu);
+ val = pupmenu(str_menu);
MEM_freeN(str_menu);
if (val >= 0) {
@@ -447,8 +497,8 @@ static void view_editmove(unsigned short UNUSED(event))
switch (event) {
case WHEELUPMOUSE:
- if ( G.qual & LR_SHIFTKEY ) {
- if ( G.qual & LR_ALTKEY ) {
+ if (G.qual & LR_SHIFTKEY) {
+ if (G.qual & LR_ALTKEY) {
G.qual &= ~LR_SHIFTKEY;
persptoetsen(PAD2);
G.qual |= LR_SHIFTKEY;
@@ -457,8 +507,8 @@ static void view_editmove(unsigned short UNUSED(event))
persptoetsen(PAD2);
}
}
- else if ( G.qual & LR_CTRLKEY ) {
- if ( G.qual & LR_ALTKEY ) {
+ else if (G.qual & LR_CTRLKEY) {
+ if (G.qual & LR_ALTKEY) {
G.qual &= ~LR_CTRLKEY;
persptoetsen(PAD4);
G.qual |= LR_CTRLKEY;
@@ -475,8 +525,8 @@ static void view_editmove(unsigned short UNUSED(event))
refresh = 1;
break;
case WHEELDOWNMOUSE:
- if ( G.qual & LR_SHIFTKEY ) {
- if ( G.qual & LR_ALTKEY ) {
+ if (G.qual & LR_SHIFTKEY) {
+ if (G.qual & LR_ALTKEY) {
G.qual &= ~LR_SHIFTKEY;
persptoetsen(PAD8);
G.qual |= LR_SHIFTKEY;
@@ -485,8 +535,8 @@ static void view_editmove(unsigned short UNUSED(event))
persptoetsen(PAD8);
}
}
- else if ( G.qual & LR_CTRLKEY ) {
- if ( G.qual & LR_ALTKEY ) {
+ else if (G.qual & LR_CTRLKEY) {
+ if (G.qual & LR_ALTKEY) {
G.qual &= ~LR_CTRLKEY;
persptoetsen(PAD6);
G.qual |= LR_CTRLKEY;
@@ -512,73 +562,71 @@ static void view_editmove(unsigned short UNUSED(event))
/* ************************************************* */
/* NOTE: these defines are saved in keymap files, do not change values but just add new ones */
-#define TFM_MODAL_CANCEL 1
-#define TFM_MODAL_CONFIRM 2
-#define TFM_MODAL_TRANSLATE 3
-#define TFM_MODAL_ROTATE 4
-#define TFM_MODAL_RESIZE 5
-#define TFM_MODAL_SNAP_INV_ON 6
-#define TFM_MODAL_SNAP_INV_OFF 7
-#define TFM_MODAL_SNAP_TOGGLE 8
-#define TFM_MODAL_AXIS_X 9
-#define TFM_MODAL_AXIS_Y 10
-#define TFM_MODAL_AXIS_Z 11
-#define TFM_MODAL_PLANE_X 12
-#define TFM_MODAL_PLANE_Y 13
-#define TFM_MODAL_PLANE_Z 14
-#define TFM_MODAL_CONS_OFF 15
-#define TFM_MODAL_ADD_SNAP 16
-#define TFM_MODAL_REMOVE_SNAP 17
+#define TFM_MODAL_CANCEL 1
+#define TFM_MODAL_CONFIRM 2
+#define TFM_MODAL_TRANSLATE 3
+#define TFM_MODAL_ROTATE 4
+#define TFM_MODAL_RESIZE 5
+#define TFM_MODAL_SNAP_INV_ON 6
+#define TFM_MODAL_SNAP_INV_OFF 7
+#define TFM_MODAL_SNAP_TOGGLE 8
+#define TFM_MODAL_AXIS_X 9
+#define TFM_MODAL_AXIS_Y 10
+#define TFM_MODAL_AXIS_Z 11
+#define TFM_MODAL_PLANE_X 12
+#define TFM_MODAL_PLANE_Y 13
+#define TFM_MODAL_PLANE_Z 14
+#define TFM_MODAL_CONS_OFF 15
+#define TFM_MODAL_ADD_SNAP 16
+#define TFM_MODAL_REMOVE_SNAP 17
/* 18 and 19 used by numinput, defined in transform.h
* */
-#define TFM_MODAL_PROPSIZE_UP 20
-#define TFM_MODAL_PROPSIZE_DOWN 21
+#define TFM_MODAL_PROPSIZE_UP 20
+#define TFM_MODAL_PROPSIZE_DOWN 21
#define TFM_MODAL_AUTOIK_LEN_INC 22
#define TFM_MODAL_AUTOIK_LEN_DEC 23
#define TFM_MODAL_EDGESLIDE_UP 24
#define TFM_MODAL_EDGESLIDE_DOWN 25
-#define TFM_WHEEL_DOWN_EVT TFM_MODAL_PROPSIZE_DOWN|TFM_MODAL_EDGESLIDE_DOWN
-#define TFM_WHEEL_UP_EVT TFM_MODAL_PROPSIZE_UP|TFM_MODAL_EDGESLIDE_UP
-
/* called in transform_ops.c, on each regeneration of keymaps */
-wmKeyMap* transform_modal_keymap(wmKeyConfig *keyconf)
+wmKeyMap *transform_modal_keymap(wmKeyConfig *keyconf)
{
static EnumPropertyItem modal_items[] = {
- {TFM_MODAL_CANCEL, "CANCEL", 0, "Cancel", ""},
- {TFM_MODAL_CONFIRM, "CONFIRM", 0, "Confirm", ""},
- {TFM_MODAL_TRANSLATE, "TRANSLATE", 0, "Translate", ""},
- {TFM_MODAL_ROTATE, "ROTATE", 0, "Rotate", ""},
- {TFM_MODAL_RESIZE, "RESIZE", 0, "Resize", ""},
- {TFM_MODAL_SNAP_INV_ON, "SNAP_INV_ON", 0, "Invert Snap On", ""},
- {TFM_MODAL_SNAP_INV_OFF, "SNAP_INV_OFF", 0, "Invert Snap Off", ""},
- {TFM_MODAL_SNAP_TOGGLE, "SNAP_TOGGLE", 0, "Snap Toggle", ""},
- {TFM_MODAL_AXIS_X, "AXIS_X", 0, "Orientation X axis", ""},
- {TFM_MODAL_AXIS_Y, "AXIS_Y", 0, "Orientation Y axis", ""},
- {TFM_MODAL_AXIS_Z, "AXIS_Z", 0, "Orientation Z axis", ""},
- {TFM_MODAL_PLANE_X, "PLANE_X", 0, "Orientation X plane", ""},
- {TFM_MODAL_PLANE_Y, "PLANE_Y", 0, "Orientation Y plane", ""},
- {TFM_MODAL_PLANE_Z, "PLANE_Z", 0, "Orientation Z plane", ""},
- {TFM_MODAL_CONS_OFF, "CONS_OFF", 0, "Remove Constraints", ""},
- {TFM_MODAL_ADD_SNAP, "ADD_SNAP", 0, "Add Snap Point", ""},
- {TFM_MODAL_REMOVE_SNAP, "REMOVE_SNAP", 0, "Remove Last Snap Point", ""},
- {NUM_MODAL_INCREMENT_UP, "INCREMENT_UP", 0, "Numinput Increment Up", ""},
- {NUM_MODAL_INCREMENT_DOWN, "INCREMENT_DOWN", 0, "Numinput Increment Down", ""},
- {TFM_MODAL_PROPSIZE_UP, "PROPORTIONAL_SIZE_UP", 0, "Increase Proportional Influence", ""},
- {TFM_MODAL_PROPSIZE_DOWN, "PROPORTIONAL_SIZE_DOWN", 0, "Decrease Proportional Influence", ""},
- {TFM_MODAL_AUTOIK_LEN_INC, "AUTOIK_CHAIN_LEN_UP", 0, "Increase Max AutoIK Chain Length", ""},
- {TFM_MODAL_AUTOIK_LEN_DEC, "AUTOIK_CHAIN_LEN_DOWN", 0, "Decrease Max AutoIK Chain Length", ""},
- {TFM_MODAL_EDGESLIDE_UP, "EDGESLIDE_EDGE_NEXT", 0, "Select next Edge Slide Edge", ""},
- {TFM_MODAL_EDGESLIDE_DOWN, "EDGESLIDE_PREV_NEXT", 0, "Select previous Edge Slide Edge", ""},
- {0, NULL, 0, NULL, NULL}};
-
- wmKeyMap *keymap= WM_modalkeymap_get(keyconf, "Transform Modal Map");
+ {TFM_MODAL_CANCEL, "CANCEL", 0, "Cancel", ""},
+ {TFM_MODAL_CONFIRM, "CONFIRM", 0, "Confirm", ""},
+ {TFM_MODAL_TRANSLATE, "TRANSLATE", 0, "Translate", ""},
+ {TFM_MODAL_ROTATE, "ROTATE", 0, "Rotate", ""},
+ {TFM_MODAL_RESIZE, "RESIZE", 0, "Resize", ""},
+ {TFM_MODAL_SNAP_INV_ON, "SNAP_INV_ON", 0, "Invert Snap On", ""},
+ {TFM_MODAL_SNAP_INV_OFF, "SNAP_INV_OFF", 0, "Invert Snap Off", ""},
+ {TFM_MODAL_SNAP_TOGGLE, "SNAP_TOGGLE", 0, "Snap Toggle", ""},
+ {TFM_MODAL_AXIS_X, "AXIS_X", 0, "Orientation X axis", ""},
+ {TFM_MODAL_AXIS_Y, "AXIS_Y", 0, "Orientation Y axis", ""},
+ {TFM_MODAL_AXIS_Z, "AXIS_Z", 0, "Orientation Z axis", ""},
+ {TFM_MODAL_PLANE_X, "PLANE_X", 0, "Orientation X plane", ""},
+ {TFM_MODAL_PLANE_Y, "PLANE_Y", 0, "Orientation Y plane", ""},
+ {TFM_MODAL_PLANE_Z, "PLANE_Z", 0, "Orientation Z plane", ""},
+ {TFM_MODAL_CONS_OFF, "CONS_OFF", 0, "Remove Constraints", ""},
+ {TFM_MODAL_ADD_SNAP, "ADD_SNAP", 0, "Add Snap Point", ""},
+ {TFM_MODAL_REMOVE_SNAP, "REMOVE_SNAP", 0, "Remove Last Snap Point", ""},
+ {NUM_MODAL_INCREMENT_UP, "INCREMENT_UP", 0, "Numinput Increment Up", ""},
+ {NUM_MODAL_INCREMENT_DOWN, "INCREMENT_DOWN", 0, "Numinput Increment Down", ""},
+ {TFM_MODAL_PROPSIZE_UP, "PROPORTIONAL_SIZE_UP", 0, "Increase Proportional Influence", ""},
+ {TFM_MODAL_PROPSIZE_DOWN, "PROPORTIONAL_SIZE_DOWN", 0, "Decrease Proportional Influence", ""},
+ {TFM_MODAL_AUTOIK_LEN_INC, "AUTOIK_CHAIN_LEN_UP", 0, "Increase Max AutoIK Chain Length", ""},
+ {TFM_MODAL_AUTOIK_LEN_DEC, "AUTOIK_CHAIN_LEN_DOWN", 0, "Decrease Max AutoIK Chain Length", ""},
+ {TFM_MODAL_EDGESLIDE_UP, "EDGESLIDE_EDGE_NEXT", 0, "Select next Edge Slide Edge", ""},
+ {TFM_MODAL_EDGESLIDE_DOWN, "EDGESLIDE_PREV_NEXT", 0, "Select previous Edge Slide Edge", ""},
+ {0, NULL, 0, NULL, NULL}
+ };
+
+ wmKeyMap *keymap = WM_modalkeymap_get(keyconf, "Transform Modal Map");
/* this function is called for each spacetype, only needs to add map once */
if (keymap && keymap->modal_items) return NULL;
- keymap= WM_modalkeymap_add(keyconf, "Transform Modal Map", modal_items);
+ keymap = WM_modalkeymap_add(keyconf, "Transform Modal Map", modal_items);
/* items for modal map */
WM_modalkeymap_add_item(keymap, ESCKEY, KM_PRESS, KM_ANY, 0, TFM_MODAL_CANCEL);
@@ -603,8 +651,11 @@ wmKeyMap* transform_modal_keymap(wmKeyConfig *keyconf)
WM_modalkeymap_add_item(keymap, PAGEUPKEY, KM_PRESS, 0, 0, TFM_MODAL_PROPSIZE_UP);
WM_modalkeymap_add_item(keymap, PAGEDOWNKEY, KM_PRESS, 0, 0, TFM_MODAL_PROPSIZE_DOWN);
- WM_modalkeymap_add_item(keymap, WHEELDOWNMOUSE, KM_PRESS, 0, 0, TFM_WHEEL_UP_EVT);
- WM_modalkeymap_add_item(keymap, WHEELUPMOUSE, KM_PRESS, 0, 0, TFM_WHEEL_DOWN_EVT);
+ WM_modalkeymap_add_item(keymap, WHEELDOWNMOUSE, KM_PRESS, 0, 0, TFM_MODAL_PROPSIZE_UP);
+ WM_modalkeymap_add_item(keymap, WHEELUPMOUSE, KM_PRESS, 0, 0, TFM_MODAL_PROPSIZE_DOWN);
+
+ WM_modalkeymap_add_item(keymap, WHEELDOWNMOUSE, KM_PRESS, KM_ALT, 0, TFM_MODAL_EDGESLIDE_UP);
+ WM_modalkeymap_add_item(keymap, WHEELUPMOUSE, KM_PRESS, KM_ALT, 0, TFM_MODAL_EDGESLIDE_DOWN);
WM_modalkeymap_add_item(keymap, PAGEUPKEY, KM_PRESS, KM_SHIFT, 0, TFM_MODAL_AUTOIK_LEN_INC);
WM_modalkeymap_add_item(keymap, PAGEDOWNKEY, KM_PRESS, KM_SHIFT, 0, TFM_MODAL_AUTOIK_LEN_DEC);
@@ -645,8 +696,7 @@ static void transform_event_xyz_constraint(TransInfo *t, short key_type, char cm
msg1[sizeof(msg1) - 2] = axis;
msg2[sizeof(msg2) - 2] = axis;
msg3[sizeof(msg3) - 2] = axis;
- constraint_plane = ((CON_AXIS0 | CON_AXIS1 | CON_AXIS2) &
- (~constraint_axis));
+ constraint_plane = ((CON_AXIS0 | CON_AXIS1 | CON_AXIS2) & (~constraint_axis));
if (edit_2d && (key_type != ZKEY)) {
if (cmode == axis) {
@@ -663,7 +713,7 @@ static void transform_event_xyz_constraint(TransInfo *t, short key_type, char cm
}
else {
short orientation = (t->current_orientation != V3D_MANIP_GLOBAL ?
- t->current_orientation : V3D_MANIP_LOCAL);
+ t->current_orientation : V3D_MANIP_LOCAL);
if (!(t->modifiers & MOD_CONSTRAINT_PLANE))
setUserConstraint(t, orientation, constraint_axis, msg2);
else if (t->modifiers & MOD_CONSTRAINT_PLANE)
@@ -683,7 +733,7 @@ static void transform_event_xyz_constraint(TransInfo *t, short key_type, char cm
int transformEvent(TransInfo *t, wmEvent *event)
{
- float mati[3][3]= MAT3_UNITY;
+ float mati[3][3] = MAT3_UNITY;
char cmode = constraintModeToChar(t);
int handled = 1;
@@ -720,7 +770,7 @@ int transformEvent(TransInfo *t, wmEvent *event)
break;
case TFM_MODAL_TRANSLATE:
/* only switch when... */
- if ( ELEM3(t->mode, TFM_ROTATION, TFM_RESIZE, TFM_TRACKBALL) ) {
+ if (ELEM3(t->mode, TFM_ROTATION, TFM_RESIZE, TFM_TRACKBALL) ) {
resetTransRestrictions(t);
restoreTransObjects(t);
initTranslation(t);
@@ -728,7 +778,7 @@ int transformEvent(TransInfo *t, wmEvent *event)
t->redraw |= TREDRAW_HARD;
}
else if (t->mode == TFM_TRANSLATION) {
- if (t->options & CTX_MOVIECLIP) {
+ if (t->options & (CTX_MOVIECLIP | CTX_MASK)) {
restoreTransObjects(t);
t->flag ^= T_ALT_TRANSFORM;
@@ -738,8 +788,8 @@ int transformEvent(TransInfo *t, wmEvent *event)
break;
case TFM_MODAL_ROTATE:
/* only switch when... */
- if (!(t->options & CTX_TEXTURE) && !(t->options & CTX_MOVIECLIP)) {
- if ( ELEM4(t->mode, TFM_ROTATION, TFM_RESIZE, TFM_TRACKBALL, TFM_TRANSLATION) ) {
+ if (!(t->options & CTX_TEXTURE) && !(t->options & (CTX_MOVIECLIP | CTX_MASK))) {
+ if (ELEM4(t->mode, TFM_ROTATION, TFM_RESIZE, TFM_TRACKBALL, TFM_TRANSLATION) ) {
resetTransRestrictions(t);
@@ -758,13 +808,21 @@ int transformEvent(TransInfo *t, wmEvent *event)
break;
case TFM_MODAL_RESIZE:
/* only switch when... */
- if ( ELEM3(t->mode, TFM_ROTATION, TFM_TRANSLATION, TFM_TRACKBALL) ) {
+ if (ELEM3(t->mode, TFM_ROTATION, TFM_TRANSLATION, TFM_TRACKBALL) ) {
resetTransRestrictions(t);
restoreTransObjects(t);
initResize(t);
initSnapping(t, NULL); // need to reinit after mode change
t->redraw |= TREDRAW_HARD;
}
+ else if (t->mode == TFM_RESIZE) {
+ if (t->options & CTX_MOVIECLIP) {
+ restoreTransObjects(t);
+
+ t->flag ^= T_ALT_TRANSFORM;
+ t->redraw |= TREDRAW_HARD;
+ }
+ }
break;
case TFM_MODAL_SNAP_INV_ON:
@@ -780,7 +838,7 @@ int transformEvent(TransInfo *t, wmEvent *event)
t->redraw |= TREDRAW_HARD;
break;
case TFM_MODAL_AXIS_X:
- if ((t->flag & T_NO_CONSTRAINT)==0) {
+ if ((t->flag & T_NO_CONSTRAINT) == 0) {
if (cmode == 'X') {
stopConstraint(t);
}
@@ -796,7 +854,7 @@ int transformEvent(TransInfo *t, wmEvent *event)
}
break;
case TFM_MODAL_AXIS_Y:
- if ((t->flag & T_NO_CONSTRAINT)==0) {
+ if ((t->flag & T_NO_CONSTRAINT) == 0) {
if (cmode == 'Y') {
stopConstraint(t);
}
@@ -812,7 +870,7 @@ int transformEvent(TransInfo *t, wmEvent *event)
}
break;
case TFM_MODAL_AXIS_Z:
- if ((t->flag & (T_NO_CONSTRAINT|T_2D_EDIT))== 0) {
+ if ((t->flag & (T_NO_CONSTRAINT | T_2D_EDIT)) == 0) {
if (cmode == 'Z') {
stopConstraint(t);
}
@@ -823,40 +881,40 @@ int transformEvent(TransInfo *t, wmEvent *event)
}
break;
case TFM_MODAL_PLANE_X:
- if ((t->flag & (T_NO_CONSTRAINT|T_2D_EDIT))== 0) {
+ if ((t->flag & (T_NO_CONSTRAINT | T_2D_EDIT)) == 0) {
if (cmode == 'X') {
stopConstraint(t);
}
else {
- setUserConstraint(t, t->current_orientation, (CON_AXIS1|CON_AXIS2), "locking %s X");
+ setUserConstraint(t, t->current_orientation, (CON_AXIS1 | CON_AXIS2), "locking %s X");
}
t->redraw |= TREDRAW_HARD;
}
break;
case TFM_MODAL_PLANE_Y:
- if ((t->flag & (T_NO_CONSTRAINT|T_2D_EDIT))== 0) {
+ if ((t->flag & (T_NO_CONSTRAINT | T_2D_EDIT)) == 0) {
if (cmode == 'Y') {
stopConstraint(t);
}
else {
- setUserConstraint(t, t->current_orientation, (CON_AXIS0|CON_AXIS2), "locking %s Y");
+ setUserConstraint(t, t->current_orientation, (CON_AXIS0 | CON_AXIS2), "locking %s Y");
}
t->redraw |= TREDRAW_HARD;
}
break;
case TFM_MODAL_PLANE_Z:
- if ((t->flag & (T_NO_CONSTRAINT|T_2D_EDIT))== 0) {
+ if ((t->flag & (T_NO_CONSTRAINT | T_2D_EDIT)) == 0) {
if (cmode == 'Z') {
stopConstraint(t);
}
else {
- setUserConstraint(t, t->current_orientation, (CON_AXIS0|CON_AXIS1), "locking %s Z");
+ setUserConstraint(t, t->current_orientation, (CON_AXIS0 | CON_AXIS1), "locking %s Z");
}
t->redraw |= TREDRAW_HARD;
}
break;
case TFM_MODAL_CONS_OFF:
- if ((t->flag & T_NO_CONSTRAINT)==0) {
+ if ((t->flag & T_NO_CONSTRAINT) == 0) {
stopConstraint(t);
t->redraw |= TREDRAW_HARD;
}
@@ -869,22 +927,26 @@ int transformEvent(TransInfo *t, wmEvent *event)
removeSnapPoint(t);
t->redraw |= TREDRAW_HARD;
break;
- case TFM_WHEEL_UP_EVT:
+ case TFM_MODAL_PROPSIZE_UP:
if (t->flag & T_PROP_EDIT) {
- t->prop_size*= 1.1f;
- if (t->spacetype==SPACE_VIEW3D && t->persp != RV3D_ORTHO)
- t->prop_size= MIN2(t->prop_size, ((View3D *)t->view)->far);
+ t->prop_size *= 1.1f;
+ if (t->spacetype == SPACE_VIEW3D && t->persp != RV3D_ORTHO)
+ t->prop_size = MIN2(t->prop_size, ((View3D *)t->view)->far);
calculatePropRatio(t);
}
t->redraw |= TREDRAW_HARD;
break;
- case TFM_WHEEL_DOWN_EVT:
+ case TFM_MODAL_PROPSIZE_DOWN:
if (t->flag & T_PROP_EDIT) {
- t->prop_size*= 0.90909090f;
+ t->prop_size *= 0.90909090f;
calculatePropRatio(t);
}
t->redraw |= TREDRAW_HARD;
break;
+ case TFM_MODAL_EDGESLIDE_UP:
+ case TFM_MODAL_EDGESLIDE_DOWN:
+ t->redraw |= TREDRAW_HARD;
+ break;
case TFM_MODAL_AUTOIK_LEN_INC:
if (t->flag & T_AUTOIK)
transform_autoik_update(t, 1);
@@ -906,170 +968,170 @@ int transformEvent(TransInfo *t, wmEvent *event)
/* else do non-mapped events */
else if (event->val == KM_PRESS) {
switch (event->type) {
- case RIGHTMOUSE:
- t->state = TRANS_CANCEL;
- break;
- /* enforce redraw of transform when modifiers are used */
- case LEFTSHIFTKEY:
- case RIGHTSHIFTKEY:
- t->modifiers |= MOD_CONSTRAINT_PLANE;
- t->redraw |= TREDRAW_HARD;
- break;
+ case RIGHTMOUSE:
+ t->state = TRANS_CANCEL;
+ break;
+ /* enforce redraw of transform when modifiers are used */
+ case LEFTSHIFTKEY:
+ case RIGHTSHIFTKEY:
+ t->modifiers |= MOD_CONSTRAINT_PLANE;
+ t->redraw |= TREDRAW_HARD;
+ break;
- case SPACEKEY:
- if ((t->spacetype==SPACE_VIEW3D) && event->alt) {
+ case SPACEKEY:
+ if ((t->spacetype == SPACE_VIEW3D) && event->alt) {
#if 0 // TRANSFORM_FIX_ME
- int mval[2];
+ int mval[2];
- getmouseco_sc(mval);
- BIF_selectOrientation();
- calc_manipulator_stats(curarea);
- copy_m3_m4(t->spacemtx, G.vd->twmat);
- warp_pointer(mval[0], mval[1]);
+ getmouseco_sc(mval);
+ BIF_selectOrientation();
+ calc_manipulator_stats(curarea);
+ copy_m3_m4(t->spacemtx, G.vd->twmat);
+ warp_pointer(mval[0], mval[1]);
#endif
- }
- else {
- t->state = TRANS_CONFIRM;
- }
- break;
-
- case MIDDLEMOUSE:
- if ((t->flag & T_NO_CONSTRAINT)==0) {
- /* exception for switching to dolly, or trackball, in camera view */
- if (t->flag & T_CAMERA) {
- if (t->mode==TFM_TRANSLATION)
- setLocalConstraint(t, (CON_AXIS2), "along local Z");
- else if (t->mode==TFM_ROTATION) {
- restoreTransObjects(t);
- initTrackball(t);
- }
}
else {
- t->modifiers |= MOD_CONSTRAINT_SELECT;
- if (t->con.mode & CON_APPLY) {
- stopConstraint(t);
+ t->state = TRANS_CONFIRM;
+ }
+ break;
+
+ case MIDDLEMOUSE:
+ if ((t->flag & T_NO_CONSTRAINT) == 0) {
+ /* exception for switching to dolly, or trackball, in camera view */
+ if (t->flag & T_CAMERA) {
+ if (t->mode == TFM_TRANSLATION)
+ setLocalConstraint(t, (CON_AXIS2), "along local Z");
+ else if (t->mode == TFM_ROTATION) {
+ restoreTransObjects(t);
+ initTrackball(t);
+ }
}
else {
- if (event->shift) {
- initSelectConstraint(t, t->spacemtx);
+ t->modifiers |= MOD_CONSTRAINT_SELECT;
+ if (t->con.mode & CON_APPLY) {
+ stopConstraint(t);
}
else {
- /* bit hackish... but it prevents mmb select to print the orientation from menu */
- strcpy(t->spacename, "global");
- initSelectConstraint(t, mati);
+ if (event->shift) {
+ initSelectConstraint(t, t->spacemtx);
+ }
+ else {
+ /* bit hackish... but it prevents mmb select to print the orientation from menu */
+ strcpy(t->spacename, "global");
+ initSelectConstraint(t, mati);
+ }
+ postSelectConstraint(t);
}
- postSelectConstraint(t);
}
+ t->redraw |= TREDRAW_HARD;
}
- t->redraw |= TREDRAW_HARD;
- }
- break;
- case ESCKEY:
- t->state = TRANS_CANCEL;
- break;
- case PADENTER:
- case RETKEY:
- t->state = TRANS_CONFIRM;
- break;
- case GKEY:
- /* only switch when... */
- if ( ELEM3(t->mode, TFM_ROTATION, TFM_RESIZE, TFM_TRACKBALL) ) {
- resetTransRestrictions(t);
- restoreTransObjects(t);
- initTranslation(t);
- initSnapping(t, NULL); // need to reinit after mode change
- t->redraw |= TREDRAW_HARD;
- }
- break;
- case SKEY:
- /* only switch when... */
- if ( ELEM3(t->mode, TFM_ROTATION, TFM_TRANSLATION, TFM_TRACKBALL) ) {
- resetTransRestrictions(t);
- restoreTransObjects(t);
- initResize(t);
- initSnapping(t, NULL); // need to reinit after mode change
- t->redraw |= TREDRAW_HARD;
- }
- break;
- case RKEY:
- /* only switch when... */
- if (!(t->options & CTX_TEXTURE) && !(t->options & CTX_MOVIECLIP)) {
- if ( ELEM4(t->mode, TFM_ROTATION, TFM_RESIZE, TFM_TRACKBALL, TFM_TRANSLATION) ) {
-
+ break;
+ case ESCKEY:
+ t->state = TRANS_CANCEL;
+ break;
+ case PADENTER:
+ case RETKEY:
+ t->state = TRANS_CONFIRM;
+ break;
+ case GKEY:
+ /* only switch when... */
+ if (ELEM3(t->mode, TFM_ROTATION, TFM_RESIZE, TFM_TRACKBALL) ) {
+ resetTransRestrictions(t);
+ restoreTransObjects(t);
+ initTranslation(t);
+ initSnapping(t, NULL); // need to reinit after mode change
+ t->redraw |= TREDRAW_HARD;
+ }
+ break;
+ case SKEY:
+ /* only switch when... */
+ if (ELEM3(t->mode, TFM_ROTATION, TFM_TRANSLATION, TFM_TRACKBALL) ) {
resetTransRestrictions(t);
+ restoreTransObjects(t);
+ initResize(t);
+ initSnapping(t, NULL); // need to reinit after mode change
+ t->redraw |= TREDRAW_HARD;
+ }
+ break;
+ case RKEY:
+ /* only switch when... */
+ if (!(t->options & CTX_TEXTURE)) {
+ if (ELEM4(t->mode, TFM_ROTATION, TFM_RESIZE, TFM_TRACKBALL, TFM_TRANSLATION) ) {
- if (t->mode == TFM_ROTATION) {
- restoreTransObjects(t);
- initTrackball(t);
- }
- else {
- restoreTransObjects(t);
- initRotation(t);
+ resetTransRestrictions(t);
+
+ if (t->mode == TFM_ROTATION) {
+ restoreTransObjects(t);
+ initTrackball(t);
+ }
+ else {
+ restoreTransObjects(t);
+ initRotation(t);
+ }
+ initSnapping(t, NULL); // need to reinit after mode change
+ t->redraw |= TREDRAW_HARD;
}
- initSnapping(t, NULL); // need to reinit after mode change
+ }
+ break;
+ case CKEY:
+ if (event->alt) {
+ t->flag ^= T_PROP_CONNECTED;
+ sort_trans_data_dist(t);
+ calculatePropRatio(t);
+ t->redraw = 1;
+ }
+ else {
+ stopConstraint(t);
t->redraw |= TREDRAW_HARD;
}
- }
- break;
- case CKEY:
- if (event->alt) {
- t->flag ^= T_PROP_CONNECTED;
- sort_trans_data_dist(t);
- calculatePropRatio(t);
- t->redraw= 1;
- }
- else {
- stopConstraint(t);
- t->redraw |= TREDRAW_HARD;
- }
- break;
- case XKEY:
- case YKEY:
- case ZKEY:
- transform_event_xyz_constraint(t, event->type, cmode);
- break;
- case OKEY:
- if (t->flag & T_PROP_EDIT && event->shift) {
- t->prop_mode = (t->prop_mode + 1) % PROP_MODE_MAX;
- calculatePropRatio(t);
- t->redraw |= TREDRAW_HARD;
- }
- break;
- case PADPLUSKEY:
- if (event->alt && t->flag & T_PROP_EDIT) {
- t->prop_size *= 1.1f;
- if (t->spacetype==SPACE_VIEW3D && t->persp != RV3D_ORTHO)
- t->prop_size= MIN2(t->prop_size, ((View3D *)t->view)->far);
- calculatePropRatio(t);
- }
- t->redraw= 1;
- break;
- case PAGEUPKEY:
- case WHEELDOWNMOUSE:
- if (t->flag & T_AUTOIK) {
- transform_autoik_update(t, 1);
- }
- else view_editmove(event->type);
- t->redraw= 1;
- break;
- case PADMINUS:
- if (event->alt && t->flag & T_PROP_EDIT) {
- t->prop_size*= 0.90909090f;
- calculatePropRatio(t);
- }
- t->redraw= 1;
- break;
- case PAGEDOWNKEY:
- case WHEELUPMOUSE:
- if (t->flag & T_AUTOIK) {
- transform_autoik_update(t, -1);
- }
- else view_editmove(event->type);
- t->redraw= 1;
- break;
- default:
- handled = 0;
- break;
+ break;
+ case XKEY:
+ case YKEY:
+ case ZKEY:
+ transform_event_xyz_constraint(t, event->type, cmode);
+ break;
+ case OKEY:
+ if (t->flag & T_PROP_EDIT && event->shift) {
+ t->prop_mode = (t->prop_mode + 1) % PROP_MODE_MAX;
+ calculatePropRatio(t);
+ t->redraw |= TREDRAW_HARD;
+ }
+ break;
+ case PADPLUSKEY:
+ if (event->alt && t->flag & T_PROP_EDIT) {
+ t->prop_size *= 1.1f;
+ if (t->spacetype == SPACE_VIEW3D && t->persp != RV3D_ORTHO)
+ t->prop_size = MIN2(t->prop_size, ((View3D *)t->view)->far);
+ calculatePropRatio(t);
+ }
+ t->redraw = 1;
+ break;
+ case PAGEUPKEY:
+ case WHEELDOWNMOUSE:
+ if (t->flag & T_AUTOIK) {
+ transform_autoik_update(t, 1);
+ }
+ else view_editmove(event->type);
+ t->redraw = 1;
+ break;
+ case PADMINUS:
+ if (event->alt && t->flag & T_PROP_EDIT) {
+ t->prop_size *= 0.90909090f;
+ calculatePropRatio(t);
+ }
+ t->redraw = 1;
+ break;
+ case PAGEDOWNKEY:
+ case WHEELUPMOUSE:
+ if (t->flag & T_AUTOIK) {
+ transform_autoik_update(t, -1);
+ }
+ else view_editmove(event->type);
+ t->redraw = 1;
+ break;
+ default:
+ handled = 0;
+ break;
}
// Numerical input events
@@ -1079,30 +1141,30 @@ int transformEvent(TransInfo *t, wmEvent *event)
t->redraw |= handleSnapping(t, event);
}
- else if (event->val==KM_RELEASE) {
+ else if (event->val == KM_RELEASE) {
switch (event->type) {
- case LEFTSHIFTKEY:
- case RIGHTSHIFTKEY:
- t->modifiers &= ~MOD_CONSTRAINT_PLANE;
- t->redraw |= TREDRAW_HARD;
- break;
-
- case MIDDLEMOUSE:
- if ((t->flag & T_NO_CONSTRAINT)==0) {
- t->modifiers &= ~MOD_CONSTRAINT_SELECT;
- postSelectConstraint(t);
+ case LEFTSHIFTKEY:
+ case RIGHTSHIFTKEY:
+ t->modifiers &= ~MOD_CONSTRAINT_PLANE;
t->redraw |= TREDRAW_HARD;
- }
- break;
+ break;
+
+ case MIDDLEMOUSE:
+ if ((t->flag & T_NO_CONSTRAINT) == 0) {
+ t->modifiers &= ~MOD_CONSTRAINT_SELECT;
+ postSelectConstraint(t);
+ t->redraw |= TREDRAW_HARD;
+ }
+ break;
// case LEFTMOUSE:
// case RIGHTMOUSE:
// if (WM_modal_tweak_exit(event, t->event_type))
//// if (t->options & CTX_TWEAK)
// t->state = TRANS_CONFIRM;
// break;
- default:
- handled = 0;
- break;
+ default:
+ handled = 0;
+ break;
}
/* confirm transform if launch key is released after mouse move */
@@ -1124,10 +1186,10 @@ int transformEvent(TransInfo *t, wmEvent *event)
return OPERATOR_PASS_THROUGH;
}
-int calculateTransformCenter(bContext *C, int centerMode, float *cent3d, int *cent2d)
+int calculateTransformCenter(bContext *C, int centerMode, float cent3d[3], int cent2d[2])
{
TransInfo *t = MEM_callocN(sizeof(TransInfo), "TransInfo data");
- int success = 1;
+ int success;
t->state = TRANS_RUNNING;
@@ -1135,17 +1197,17 @@ int calculateTransformCenter(bContext *C, int centerMode, float *cent3d, int *ce
t->mode = TFM_DUMMY;
- initTransInfo(C, t, NULL, NULL); // internal data, mouse, vectors
+ initTransInfo(C, t, NULL, NULL); // internal data, mouse, vectors
- createTransData(C, t); // make TransData structs from selection
+ createTransData(C, t); // make TransData structs from selection
- t->around = centerMode; // override userdefined mode
+ t->around = centerMode; // override userdefined mode
if (t->total == 0) {
- success = 0;
+ success = FALSE;
}
else {
- success = 1;
+ success = TRUE;
calculateCenter(t);
@@ -1243,7 +1305,7 @@ static void drawArc(float size, float angle_start, float angle_end, int segments
glBegin(GL_LINE_STRIP);
- for ( angle = angle_start; angle < angle_end; angle += delta) {
+ for (angle = angle_start; angle < angle_end; angle += delta) {
glVertex2f(cosf(angle) * size, sinf(angle) * size);
}
glVertex2f(cosf(angle_end) * size, sinf(angle_end) * size);
@@ -1253,35 +1315,35 @@ static void drawArc(float size, float angle_start, float angle_end, int segments
static int helpline_poll(bContext *C)
{
- ARegion *ar= CTX_wm_region(C);
+ ARegion *ar = CTX_wm_region(C);
- if (ar && ar->regiontype==RGN_TYPE_WINDOW)
+ if (ar && ar->regiontype == RGN_TYPE_WINDOW)
return 1;
return 0;
}
static void drawHelpline(bContext *UNUSED(C), int x, int y, void *customdata)
{
- TransInfo *t = (TransInfo*)customdata;
+ TransInfo *t = (TransInfo *)customdata;
if (t->helpline != HLP_NONE && !(t->flag & T_USES_MANIPULATOR)) {
float vecrot[3], cent[2];
int mval[2];
- mval[0]= x;
- mval[1]= y;
+ mval[0] = x;
+ mval[1] = y;
copy_v3_v3(vecrot, t->center);
if (t->flag & T_EDIT) {
- Object *ob= t->obedit;
+ Object *ob = t->obedit;
if (ob) mul_m4_v3(ob->obmat, vecrot);
}
else if (t->flag & T_POSE) {
- Object *ob=t->poseobj;
+ Object *ob = t->poseobj;
if (ob) mul_m4_v3(ob->obmat, vecrot);
}
- projectFloatView(t, vecrot, cent); // no overflow in extreme cases
+ projectFloatView(t, vecrot, cent); // no overflow in extreme cases
glPushMatrix();
@@ -1326,67 +1388,67 @@ static void drawHelpline(bContext *UNUSED(C), int x, int y, void *customdata)
glLineWidth(1.0);
break;
case HLP_ANGLE:
- {
- float dx = t->mval[0] - cent[0], dy = t->mval[1] - cent[1];
- float angle = atan2f(dy, dx);
- float dist = sqrtf(dx*dx + dy*dy);
- float delta_angle = MIN2(15.0f / dist, (float)M_PI/4.0f);
- float spacing_angle = MIN2(5.0f / dist, (float)M_PI/12.0f);
- UI_ThemeColor(TH_WIRE);
+ {
+ float dx = t->mval[0] - cent[0], dy = t->mval[1] - cent[1];
+ float angle = atan2f(dy, dx);
+ float dist = sqrtf(dx * dx + dy * dy);
+ float delta_angle = MIN2(15.0f / dist, (float)M_PI / 4.0f);
+ float spacing_angle = MIN2(5.0f / dist, (float)M_PI / 12.0f);
+ UI_ThemeColor(TH_WIRE);
- setlinestyle(3);
- glBegin(GL_LINE_STRIP);
- glVertex2iv(t->mval);
- glVertex2fv(cent);
- glEnd();
+ setlinestyle(3);
+ glBegin(GL_LINE_STRIP);
+ glVertex2iv(t->mval);
+ glVertex2fv(cent);
+ glEnd();
- glTranslatef(cent[0] - t->mval[0] + mval[0], cent[1] - t->mval[1] + mval[1], 0);
+ glTranslatef(cent[0] - t->mval[0] + mval[0], cent[1] - t->mval[1] + mval[1], 0);
- setlinestyle(0);
- glLineWidth(3.0);
- drawArc(dist, angle - delta_angle, angle - spacing_angle, 10);
- drawArc(dist, angle + spacing_angle, angle + delta_angle, 10);
+ setlinestyle(0);
+ glLineWidth(3.0);
+ drawArc(dist, angle - delta_angle, angle - spacing_angle, 10);
+ drawArc(dist, angle + spacing_angle, angle + delta_angle, 10);
- glPushMatrix();
+ glPushMatrix();
- glTranslatef(cosf(angle - delta_angle) * dist, sinf(angle - delta_angle) * dist, 0);
- glRotatef(RAD2DEGF(angle - delta_angle), 0, 0, 1);
+ glTranslatef(cosf(angle - delta_angle) * dist, sinf(angle - delta_angle) * dist, 0);
+ glRotatef(RAD2DEGF(angle - delta_angle), 0, 0, 1);
- drawArrowHead(DOWN, 5);
+ drawArrowHead(DOWN, 5);
- glPopMatrix();
+ glPopMatrix();
- glTranslatef(cosf(angle + delta_angle) * dist, sinf(angle + delta_angle) * dist, 0);
- glRotatef(RAD2DEGF(angle + delta_angle), 0, 0, 1);
+ glTranslatef(cosf(angle + delta_angle) * dist, sinf(angle + delta_angle) * dist, 0);
+ glRotatef(RAD2DEGF(angle + delta_angle), 0, 0, 1);
- drawArrowHead(UP, 5);
+ drawArrowHead(UP, 5);
- glLineWidth(1.0);
- break;
- }
- case HLP_TRACKBALL:
- {
- unsigned char col[3], col2[3];
- UI_GetThemeColor3ubv(TH_GRID, col);
+ glLineWidth(1.0);
+ break;
+ }
+ case HLP_TRACKBALL:
+ {
+ unsigned char col[3], col2[3];
+ UI_GetThemeColor3ubv(TH_GRID, col);
- glTranslatef(mval[0], mval[1], 0);
+ glTranslatef(mval[0], mval[1], 0);
- glLineWidth(3.0);
+ glLineWidth(3.0);
- UI_make_axis_color(col, col2, 'X');
- glColor3ubv((GLubyte *)col2);
+ UI_make_axis_color(col, col2, 'X');
+ glColor3ubv((GLubyte *)col2);
- drawArrow(RIGHT, 5, 10, 5);
- drawArrow(LEFT, 5, 10, 5);
+ drawArrow(RIGHT, 5, 10, 5);
+ drawArrow(LEFT, 5, 10, 5);
- UI_make_axis_color(col, col2, 'Y');
- glColor3ubv((GLubyte *)col2);
+ UI_make_axis_color(col, col2, 'Y');
+ glColor3ubv((GLubyte *)col2);
- drawArrow(UP, 5, 10, 5);
- drawArrow(DOWN, 5, 10, 5);
- glLineWidth(1.0);
- break;
- }
+ drawArrow(UP, 5, 10, 5);
+ drawArrow(DOWN, 5, 10, 5);
+ glLineWidth(1.0);
+ break;
+ }
}
glPopMatrix();
@@ -1420,12 +1482,12 @@ void saveTransform(bContext *C, TransInfo *t, wmOperator *op)
PropertyRNA *prop;
// Save back mode in case we're in the generic operator
- if ((prop= RNA_struct_find_property(op->ptr, "mode"))) {
+ if ((prop = RNA_struct_find_property(op->ptr, "mode"))) {
RNA_property_enum_set(op->ptr, prop, t->mode);
}
- if ((prop= RNA_struct_find_property(op->ptr, "value"))) {
- float *values= (t->flag & T_AUTOVALUES) ? t->auto_values : t->values;
+ if ((prop = RNA_struct_find_property(op->ptr, "value"))) {
+ float *values = (t->flag & T_AUTOVALUES) ? t->auto_values : t->values;
if (RNA_property_array_check(prop)) {
RNA_property_float_set_array(op->ptr, prop, values);
}
@@ -1435,8 +1497,8 @@ void saveTransform(bContext *C, TransInfo *t, wmOperator *op)
}
/* convert flag to enum */
- switch (t->flag & (T_PROP_EDIT|T_PROP_CONNECTED)) {
- case (T_PROP_EDIT|T_PROP_CONNECTED):
+ switch (t->flag & (T_PROP_EDIT | T_PROP_CONNECTED)) {
+ case (T_PROP_EDIT | T_PROP_CONNECTED):
proportional = PROP_EDIT_CONNECTED;
break;
case T_PROP_EDIT:
@@ -1455,6 +1517,8 @@ void saveTransform(bContext *C, TransInfo *t, wmOperator *op)
{
if (t->obedit)
ts->proportional = proportional;
+ else if (t->options & CTX_MASK)
+ ts->proportional_mask = (proportional != PROP_EDIT_OFF);
else
ts->proportional_objects = (proportional != PROP_EDIT_OFF);
}
@@ -1543,7 +1607,7 @@ int initTransform(bContext *C, TransInfo *t, wmOperator *op, wmEvent *event, int
t->state = TRANS_STARTING;
- if ( (prop = RNA_struct_find_property(op->ptr, "texture_space")) && RNA_property_is_set(op->ptr, prop)) {
+ if ((prop = RNA_struct_find_property(op->ptr, "texture_space")) && RNA_property_is_set(op->ptr, prop)) {
if (RNA_property_boolean_get(op->ptr, prop)) {
options |= CTX_TEXTURE;
}
@@ -1590,12 +1654,11 @@ int initTransform(bContext *C, TransInfo *t, wmOperator *op, wmEvent *event, int
else if (t->spacetype == SPACE_CLIP) {
unit_m3(t->spacemtx);
t->draw_handle_view = ED_region_draw_cb_activate(t->ar->type, drawTransformView, t, REGION_DRAW_POST_VIEW);
- t->options |= CTX_MOVIECLIP;
}
else
unit_m3(t->spacemtx);
- createTransData(C, t); // make TransData structs from selection
+ createTransData(C, t); // make TransData structs from selection
if (t->total == 0) {
postTrans(C, t);
@@ -1635,111 +1698,114 @@ int initTransform(bContext *C, TransInfo *t, wmOperator *op, wmEvent *event, int
initMouseInput(t, &t->mouse, t->center2d, t->imval);
switch (mode) {
- case TFM_TRANSLATION:
- initTranslation(t);
- break;
- case TFM_ROTATION:
- initRotation(t);
- break;
- case TFM_RESIZE:
- initResize(t);
- break;
- case TFM_SKIN_RESIZE:
- initSkinResize(t);
- break;
- case TFM_TOSPHERE:
- initToSphere(t);
- break;
- case TFM_SHEAR:
- initShear(t);
- break;
- case TFM_WARP:
- initWarp(t);
- break;
- case TFM_SHRINKFATTEN:
- initShrinkFatten(t);
- break;
- case TFM_TILT:
- initTilt(t);
- break;
- case TFM_CURVE_SHRINKFATTEN:
- initCurveShrinkFatten(t);
- break;
- case TFM_TRACKBALL:
- initTrackball(t);
- break;
- case TFM_PUSHPULL:
- initPushPull(t);
- break;
- case TFM_CREASE:
- initCrease(t);
- break;
- case TFM_BONESIZE:
- { /* used for both B-Bone width (bonesize) as for deform-dist (envelope) */
- bArmature *arm= t->poseobj->data;
- if (arm->drawtype==ARM_ENVELOPE)
+ case TFM_TRANSLATION:
+ initTranslation(t);
+ break;
+ case TFM_ROTATION:
+ initRotation(t);
+ break;
+ case TFM_RESIZE:
+ initResize(t);
+ break;
+ case TFM_SKIN_RESIZE:
+ initSkinResize(t);
+ break;
+ case TFM_TOSPHERE:
+ initToSphere(t);
+ break;
+ case TFM_SHEAR:
+ initShear(t);
+ break;
+ case TFM_WARP:
+ initWarp(t);
+ break;
+ case TFM_SHRINKFATTEN:
+ initShrinkFatten(t);
+ break;
+ case TFM_TILT:
+ initTilt(t);
+ break;
+ case TFM_CURVE_SHRINKFATTEN:
+ initCurveShrinkFatten(t);
+ break;
+ case TFM_MASK_SHRINKFATTEN:
+ initMaskShrinkFatten(t);
+ break;
+ case TFM_TRACKBALL:
+ initTrackball(t);
+ break;
+ case TFM_PUSHPULL:
+ initPushPull(t);
+ break;
+ case TFM_CREASE:
+ initCrease(t);
+ break;
+ case TFM_BONESIZE:
+ { /* used for both B-Bone width (bonesize) as for deform-dist (envelope) */
+ bArmature *arm = t->poseobj->data;
+ if (arm->drawtype == ARM_ENVELOPE)
initBoneEnvelope(t);
else
initBoneSize(t);
}
break;
- case TFM_BONE_ENVELOPE:
- initBoneEnvelope(t);
- break;
- case TFM_EDGE_SLIDE:
- initEdgeSlide(t);
- break;
- case TFM_BONE_ROLL:
- initBoneRoll(t);
- break;
- case TFM_TIME_TRANSLATE:
- initTimeTranslate(t);
- break;
- case TFM_TIME_SLIDE:
- initTimeSlide(t);
- break;
- case TFM_TIME_SCALE:
- initTimeScale(t);
- break;
- case TFM_TIME_DUPLICATE:
- /* same as TFM_TIME_EXTEND, but we need the mode info for later
- * so that duplicate-culling will work properly
- */
- if (ELEM(t->spacetype, SPACE_IPO, SPACE_NLA))
- initTranslation(t);
- else
- initTimeTranslate(t);
- t->mode = mode;
- break;
- case TFM_TIME_EXTEND:
- /* now that transdata has been made, do like for TFM_TIME_TRANSLATE (for most Animation
- * Editors because they have only 1D transforms for time values) or TFM_TRANSLATION
- * (for Graph/NLA Editors only since they uses 'standard' transforms to get 2D movement)
- * depending on which editor this was called from
- */
- if (ELEM(t->spacetype, SPACE_IPO, SPACE_NLA))
- initTranslation(t);
- else
+ case TFM_BONE_ENVELOPE:
+ initBoneEnvelope(t);
+ break;
+ case TFM_EDGE_SLIDE:
+ initEdgeSlide(t);
+ break;
+ case TFM_BONE_ROLL:
+ initBoneRoll(t);
+ break;
+ case TFM_TIME_TRANSLATE:
initTimeTranslate(t);
- break;
- case TFM_BAKE_TIME:
- initBakeTime(t);
- break;
- case TFM_MIRROR:
- initMirror(t);
- break;
- case TFM_BEVEL:
- initBevel(t);
- break;
- case TFM_BWEIGHT:
- initBevelWeight(t);
- break;
- case TFM_ALIGN:
- initAlign(t);
- break;
- case TFM_SEQ_SLIDE:
- initSeqSlide(t);
- break;
+ break;
+ case TFM_TIME_SLIDE:
+ initTimeSlide(t);
+ break;
+ case TFM_TIME_SCALE:
+ initTimeScale(t);
+ break;
+ case TFM_TIME_DUPLICATE:
+ /* same as TFM_TIME_EXTEND, but we need the mode info for later
+ * so that duplicate-culling will work properly
+ */
+ if (ELEM(t->spacetype, SPACE_IPO, SPACE_NLA))
+ initTranslation(t);
+ else
+ initTimeTranslate(t);
+ t->mode = mode;
+ break;
+ case TFM_TIME_EXTEND:
+ /* now that transdata has been made, do like for TFM_TIME_TRANSLATE (for most Animation
+ * Editors because they have only 1D transforms for time values) or TFM_TRANSLATION
+ * (for Graph/NLA Editors only since they uses 'standard' transforms to get 2D movement)
+ * depending on which editor this was called from
+ */
+ if (ELEM(t->spacetype, SPACE_IPO, SPACE_NLA))
+ initTranslation(t);
+ else
+ initTimeTranslate(t);
+ break;
+ case TFM_BAKE_TIME:
+ initBakeTime(t);
+ break;
+ case TFM_MIRROR:
+ initMirror(t);
+ break;
+ case TFM_BEVEL:
+ initBevel(t);
+ break;
+ case TFM_BWEIGHT:
+ initBevelWeight(t);
+ break;
+ case TFM_ALIGN:
+ initAlign(t);
+ break;
+ case TFM_SEQ_SLIDE:
+ initSeqSlide(t);
+ break;
}
if (t->state == TRANS_CANCEL) {
@@ -1750,13 +1816,13 @@ int initTransform(bContext *C, TransInfo *t, wmOperator *op, wmEvent *event, int
/* overwrite initial values if operator supplied a non-null vector */
if ((prop = RNA_struct_find_property(op->ptr, "value")) && RNA_property_is_set(op->ptr, prop)) {
- float values[4]= {0}; /* in case value isn't length 4, avoid uninitialized memory */
+ float values[4] = {0}; /* in case value isn't length 4, avoid uninitialized memory */
if (RNA_property_array_check(prop)) {
RNA_float_get_array(op->ptr, "value", values);
}
else {
- values[0]= RNA_float_get(op->ptr, "value");
+ values[0] = RNA_float_get(op->ptr, "value");
}
copy_v4_v4(t->values, values);
@@ -1849,11 +1915,11 @@ int transformEnd(bContext *C, TransInfo *t)
/* handle restoring objects */
if (t->state == TRANS_CANCEL) {
/* exception, edge slide transformed UVs too */
- if (t->mode==TFM_EDGE_SLIDE)
+ if (t->mode == TFM_EDGE_SLIDE)
doEdgeSlide(t, 0.0f);
exit_code = OPERATOR_CANCELLED;
- restoreTransObjects(t); // calls recalcData()
+ restoreTransObjects(t); // calls recalcData()
}
else {
exit_code = OPERATOR_FINISHED;
@@ -1877,7 +1943,7 @@ int transformEnd(bContext *C, TransInfo *t)
// if (t->undostr) ED_undo_push(C, t->undostr);
// else ED_undo_push(C, transform_to_undostr(t));
}
- t->undostr= NULL;
+ t->undostr = NULL;
viewRedrawForce(C, t);
}
@@ -1892,31 +1958,31 @@ int transformEnd(bContext *C, TransInfo *t)
static void protectedTransBits(short protectflag, float *vec)
{
if (protectflag & OB_LOCK_LOCX)
- vec[0]= 0.0f;
+ vec[0] = 0.0f;
if (protectflag & OB_LOCK_LOCY)
- vec[1]= 0.0f;
+ vec[1] = 0.0f;
if (protectflag & OB_LOCK_LOCZ)
- vec[2]= 0.0f;
+ vec[2] = 0.0f;
}
static void protectedSizeBits(short protectflag, float *size)
{
if (protectflag & OB_LOCK_SCALEX)
- size[0]= 1.0f;
+ size[0] = 1.0f;
if (protectflag & OB_LOCK_SCALEY)
- size[1]= 1.0f;
+ size[1] = 1.0f;
if (protectflag & OB_LOCK_SCALEZ)
- size[2]= 1.0f;
+ size[2] = 1.0f;
}
static void protectedRotateBits(short protectflag, float *eul, float *oldeul)
{
if (protectflag & OB_LOCK_ROTX)
- eul[0]= oldeul[0];
+ eul[0] = oldeul[0];
if (protectflag & OB_LOCK_ROTY)
- eul[1]= oldeul[1];
+ eul[1] = oldeul[1];
if (protectflag & OB_LOCK_ROTZ)
- eul[2]= oldeul[2];
+ eul[2] = oldeul[2];
}
@@ -1925,19 +1991,19 @@ static void protectedRotateBits(short protectflag, float *eul, float *oldeul)
static void protectedAxisAngleBits(short protectflag, float axis[3], float *angle, float oldAxis[3], float oldAngle)
{
/* check that protection flags are set */
- if ((protectflag & (OB_LOCK_ROTX|OB_LOCK_ROTY|OB_LOCK_ROTZ|OB_LOCK_ROTW)) == 0)
+ if ((protectflag & (OB_LOCK_ROTX | OB_LOCK_ROTY | OB_LOCK_ROTZ | OB_LOCK_ROTW)) == 0)
return;
if (protectflag & OB_LOCK_ROT4D) {
/* axis-angle getting limited as 4D entities that they are... */
if (protectflag & OB_LOCK_ROTW)
- *angle= oldAngle;
+ *angle = oldAngle;
if (protectflag & OB_LOCK_ROTX)
- axis[0]= oldAxis[0];
+ axis[0] = oldAxis[0];
if (protectflag & OB_LOCK_ROTY)
- axis[1]= oldAxis[1];
+ axis[1] = oldAxis[1];
if (protectflag & OB_LOCK_ROTZ)
- axis[2]= oldAxis[2];
+ axis[2] = oldAxis[2];
}
else {
/* axis-angle get limited with euler... */
@@ -1947,18 +2013,18 @@ static void protectedAxisAngleBits(short protectflag, float axis[3], float *angl
axis_angle_to_eulO(oldeul, EULER_ORDER_DEFAULT, oldAxis, oldAngle);
if (protectflag & OB_LOCK_ROTX)
- eul[0]= oldeul[0];
+ eul[0] = oldeul[0];
if (protectflag & OB_LOCK_ROTY)
- eul[1]= oldeul[1];
+ eul[1] = oldeul[1];
if (protectflag & OB_LOCK_ROTZ)
- eul[2]= oldeul[2];
+ eul[2] = oldeul[2];
eulO_to_axis_angle(axis, angle, eul, EULER_ORDER_DEFAULT);
/* when converting to axis-angle, we need a special exception for the case when there is no axis */
if (IS_EQF(axis[0], axis[1]) && IS_EQF(axis[1], axis[2])) {
/* for now, rotate around y-axis then (so that it simply becomes the roll) */
- axis[1]= 1.0f;
+ axis[1] = 1.0f;
}
}
}
@@ -1967,37 +2033,37 @@ static void protectedAxisAngleBits(short protectflag, float axis[3], float *angl
static void protectedQuaternionBits(short protectflag, float *quat, float *oldquat)
{
/* check that protection flags are set */
- if ((protectflag & (OB_LOCK_ROTX|OB_LOCK_ROTY|OB_LOCK_ROTZ|OB_LOCK_ROTW)) == 0)
+ if ((protectflag & (OB_LOCK_ROTX | OB_LOCK_ROTY | OB_LOCK_ROTZ | OB_LOCK_ROTW)) == 0)
return;
if (protectflag & OB_LOCK_ROT4D) {
/* quaternions getting limited as 4D entities that they are... */
if (protectflag & OB_LOCK_ROTW)
- quat[0]= oldquat[0];
+ quat[0] = oldquat[0];
if (protectflag & OB_LOCK_ROTX)
- quat[1]= oldquat[1];
+ quat[1] = oldquat[1];
if (protectflag & OB_LOCK_ROTY)
- quat[2]= oldquat[2];
+ quat[2] = oldquat[2];
if (protectflag & OB_LOCK_ROTZ)
- quat[3]= oldquat[3];
+ quat[3] = oldquat[3];
}
else {
/* quaternions get limited with euler... (compatibility mode) */
float eul[3], oldeul[3], nquat[4], noldquat[4];
float qlen;
- qlen= normalize_qt_qt(nquat, quat);
+ qlen = normalize_qt_qt(nquat, quat);
normalize_qt_qt(noldquat, oldquat);
quat_to_eul(eul, nquat);
quat_to_eul(oldeul, noldquat);
if (protectflag & OB_LOCK_ROTX)
- eul[0]= oldeul[0];
+ eul[0] = oldeul[0];
if (protectflag & OB_LOCK_ROTY)
- eul[1]= oldeul[1];
+ eul[1] = oldeul[1];
if (protectflag & OB_LOCK_ROTZ)
- eul[2]= oldeul[2];
+ eul[2] = oldeul[2];
eul_to_quat(quat, eul);
@@ -2005,7 +2071,9 @@ static void protectedQuaternionBits(short protectflag, float *quat, float *oldqu
mul_qt_fl(quat, qlen);
/* quaternions flip w sign to accumulate rotations correctly */
- if ( (nquat[0]<0.0f && quat[0]>0.0f) || (nquat[0]>0.0f && quat[0]<0.0f) ) {
+ if ((nquat[0] < 0.0f && quat[0] > 0.0f) ||
+ (nquat[0] > 0.0f && quat[0] < 0.0f))
+ {
mul_qt_fl(quat, -1.0f);
}
}
@@ -2016,22 +2084,22 @@ static void protectedQuaternionBits(short protectflag, float *quat, float *oldqu
static void constraintTransLim(TransInfo *t, TransData *td)
{
if (td->con) {
- bConstraintTypeInfo *ctiLoc= get_constraint_typeinfo(CONSTRAINT_TYPE_LOCLIMIT);
- bConstraintTypeInfo *ctiDist= get_constraint_typeinfo(CONSTRAINT_TYPE_DISTLIMIT);
+ bConstraintTypeInfo *ctiLoc = get_constraint_typeinfo(CONSTRAINT_TYPE_LOCLIMIT);
+ bConstraintTypeInfo *ctiDist = get_constraint_typeinfo(CONSTRAINT_TYPE_DISTLIMIT);
- bConstraintOb cob= {NULL};
+ bConstraintOb cob = {NULL};
bConstraint *con;
float ctime = (float)(t->scene->r.cfra);
/* Make a temporary bConstraintOb for using these limit constraints
- * - they only care that cob->matrix is correctly set ;-)
+ * - they only care that cob->matrix is correctly set ;-)
* - current space should be local
*/
unit_m4(cob.matrix);
copy_v3_v3(cob.matrix[3], td->loc);
/* Evaluate valid constraints */
- for (con= td->con; con; con= con->next) {
+ for (con = td->con; con; con = con->next) {
bConstraintTypeInfo *cti = NULL;
ListBase targets = {NULL, NULL};
float tmat[4][4];
@@ -2042,16 +2110,16 @@ static void constraintTransLim(TransInfo *t, TransData *td)
/* only use it if it's tagged for this purpose (and the right type) */
if (con->type == CONSTRAINT_TYPE_LOCLIMIT) {
- bLocLimitConstraint *data= con->data;
+ bLocLimitConstraint *data = con->data;
- if ((data->flag2 & LIMIT_TRANSFORM)==0)
+ if ((data->flag2 & LIMIT_TRANSFORM) == 0)
continue;
cti = ctiLoc;
}
else if (con->type == CONSTRAINT_TYPE_DISTLIMIT) {
- bDistLimitConstraint *data= con->data;
+ bDistLimitConstraint *data = con->data;
- if ((data->flag & LIMITDIST_TRANSFORM)==0)
+ if ((data->flag & LIMITDIST_TRANSFORM) == 0)
continue;
cti = ctiDist;
}
@@ -2094,7 +2162,7 @@ static void constraintTransLim(TransInfo *t, TransData *td)
static void constraintob_from_transdata(bConstraintOb *cob, TransData *td)
{
/* Make a temporary bConstraintOb for use by limit constraints
- * - they only care that cob->matrix is correctly set ;-)
+ * - they only care that cob->matrix is correctly set ;-)
* - current space should be local
*/
memset(cob, 0, sizeof(bConstraintOb));
@@ -2102,8 +2170,8 @@ static void constraintob_from_transdata(bConstraintOb *cob, TransData *td)
if (td->ext->rotOrder == ROT_MODE_QUAT) {
/* quats */
/* objects and bones do normalization first too, otherwise
- * we don't necessarily end up with a rotation matrix, and
- * then conversion back to quat gives a different result */
+ * we don't necessarily end up with a rotation matrix, and
+ * then conversion back to quat gives a different result */
float quat[4];
normalize_qt_qt(quat, td->ext->quat);
quat_to_mat4(cob->matrix, quat);
@@ -2122,24 +2190,24 @@ static void constraintob_from_transdata(bConstraintOb *cob, TransData *td)
static void constraintRotLim(TransInfo *UNUSED(t), TransData *td)
{
if (td->con) {
- bConstraintTypeInfo *cti= get_constraint_typeinfo(CONSTRAINT_TYPE_ROTLIMIT);
+ bConstraintTypeInfo *cti = get_constraint_typeinfo(CONSTRAINT_TYPE_ROTLIMIT);
bConstraintOb cob;
bConstraint *con;
int do_limit = FALSE;
/* Evaluate valid constraints */
- for (con= td->con; con; con= con->next) {
+ for (con = td->con; con; con = con->next) {
/* only consider constraint if enabled */
if (con->flag & CONSTRAINT_DISABLE) continue;
if (con->enforce == 0.0f) continue;
/* we're only interested in Limit-Rotation constraints */
if (con->type == CONSTRAINT_TYPE_ROTLIMIT) {
- bRotLimitConstraint *data= con->data;
+ bRotLimitConstraint *data = con->data;
float tmat[4][4];
/* only use it if it's tagged for this purpose */
- if ((data->flag2 & LIMIT_TRANSFORM)==0)
+ if ((data->flag2 & LIMIT_TRANSFORM) == 0)
continue;
/* skip incompatable spacetypes */
@@ -2192,12 +2260,12 @@ static void constraintRotLim(TransInfo *UNUSED(t), TransData *td)
static void constraintSizeLim(TransInfo *t, TransData *td)
{
if (td->con && td->ext) {
- bConstraintTypeInfo *cti= get_constraint_typeinfo(CONSTRAINT_TYPE_SIZELIMIT);
- bConstraintOb cob= {NULL};
+ bConstraintTypeInfo *cti = get_constraint_typeinfo(CONSTRAINT_TYPE_SIZELIMIT);
+ bConstraintOb cob = {NULL};
bConstraint *con;
/* Make a temporary bConstraintOb for using these limit constraints
- * - they only care that cob->matrix is correctly set ;-)
+ * - they only care that cob->matrix is correctly set ;-)
* - current space should be local
*/
if ((td->flag & TD_SINGLESIZE) && !(t->con.mode & CON_APPLY)) {
@@ -2213,18 +2281,18 @@ static void constraintSizeLim(TransInfo *t, TransData *td)
}
/* Evaluate valid constraints */
- for (con= td->con; con; con= con->next) {
+ for (con = td->con; con; con = con->next) {
/* only consider constraint if enabled */
if (con->flag & CONSTRAINT_DISABLE) continue;
if (con->enforce == 0.0f) continue;
/* we're only interested in Limit-Scale constraints */
if (con->type == CONSTRAINT_TYPE_SIZELIMIT) {
- bSizeLimitConstraint *data= con->data;
+ bSizeLimitConstraint *data = con->data;
float tmat[4][4];
/* only use it if it's tagged for this purpose */
- if ((data->flag2 & LIMIT_TRANSFORM)==0)
+ if ((data->flag2 & LIMIT_TRANSFORM) == 0)
continue;
/* do space conversions */
@@ -2315,8 +2383,8 @@ void initWarp(TransInfo *t)
mid_v3_v3v3(t->center, min, max);
- if (max[0] == min[0]) max[0] += 0.1f; /* not optimal, but flipping is better than invalid garbage (i.e. division by zero!) */
- t->val= (max[0]-min[0])/2.0f; /* t->val is X dimension projected boundbox */
+ if (max[0] == min[0]) max[0] += 0.1f; /* not optimal, but flipping is better than invalid garbage (i.e. division by zero!) */
+ t->val = (max[0] - min[0]) / 2.0f; /* t->val is X dimension projected boundbox */
}
int handleEventWarp(TransInfo *t, wmEvent *event)
@@ -2343,7 +2411,7 @@ int Warp(TransInfo *t, const int UNUSED(mval[2]))
int i;
char str[50];
- curs= give_cursor(t->scene, t->view);
+ curs = give_cursor(t->scene, t->view);
/*
* gcursor is the one used for helpline.
* It has to be in the same space as the drawing loop
@@ -2403,18 +2471,18 @@ int Warp(TransInfo *t, const int UNUSED(mval[2]))
mul_m4_v3(t->viewmat, vec);
sub_v3_v3(vec, t->viewmat[3]);
- dist= vec[0]-cursor[0];
+ dist = vec[0] - cursor[0];
/* t->val is X dimension projected boundbox */
- phi0= (circumfac*dist/t->val);
+ phi0 = (circumfac * dist / t->val);
- vec[1]= (vec[1]-cursor[1]);
+ vec[1] = (vec[1] - cursor[1]);
- co= (float)cos(phi0);
- si= (float)sin(phi0);
- loc[0]= -si*vec[1]+cursor[0];
- loc[1]= co*vec[1]+cursor[1];
- loc[2]= vec[2];
+ co = (float)cos(phi0);
+ si = (float)sin(phi0);
+ loc[0] = -si * vec[1] + cursor[0];
+ loc[1] = co * vec[1] + cursor[1];
+ loc[2] = vec[2];
mul_m4_v3(t->viewinv, loc);
sub_v3_v3(loc, t->viewinv[3]);
@@ -2467,7 +2535,7 @@ int handleEventShear(TransInfo *t, wmEvent *event)
// Use customData pointer to signal Shear direction
if (t->customData == NULL) {
initMouseInputMode(t, &t->mouse, INPUT_VERTICAL_ABSOLUTE);
- t->customData = (void*)1;
+ t->customData = (void *)1;
}
else {
initMouseInputMode(t, &t->mouse, INPUT_HORIZONTAL_ABSOLUTE);
@@ -2525,7 +2593,7 @@ int Shear(TransInfo *t, const int UNUSED(mval[2]))
mul_m3_m3m3(tmat, smat, persmat);
mul_m3_m3m3(totmat, persinv, tmat);
- for (i = 0 ; i < t->total; i++, td++) {
+ for (i = 0; i < t->total; i++, td++) {
if (td->flag & TD_NOACTION)
break;
@@ -2588,7 +2656,7 @@ void initResize(TransInfo *t)
static void headerResize(TransInfo *t, float vec[3], char *str)
{
char tvec[60];
- char *spos= str;
+ char *spos = str;
if (hasNumInput(&t->num)) {
outputNumInput(&(t->num), tvec);
}
@@ -2600,14 +2668,14 @@ static void headerResize(TransInfo *t, float vec[3], char *str)
if (t->con.mode & CON_APPLY) {
switch (t->num.idx_max) {
- case 0:
- spos += sprintf(spos, "Scale: %s%s %s", &tvec[0], t->con.text, t->proptext);
- break;
- case 1:
- spos += sprintf(spos, "Scale: %s : %s%s %s", &tvec[0], &tvec[20], t->con.text, t->proptext);
- break;
- case 2:
- spos += sprintf(spos, "Scale: %s : %s : %s%s %s", &tvec[0], &tvec[20], &tvec[40], t->con.text, t->proptext);
+ case 0:
+ spos += sprintf(spos, "Scale: %s%s %s", &tvec[0], t->con.text, t->proptext);
+ break;
+ case 1:
+ spos += sprintf(spos, "Scale: %s : %s%s %s", &tvec[0], &tvec[20], t->con.text, t->proptext);
+ break;
+ case 2:
+ spos += sprintf(spos, "Scale: %s : %s : %s%s %s", &tvec[0], &tvec[20], &tvec[40], t->con.text, t->proptext);
}
}
else {
@@ -2617,15 +2685,15 @@ static void headerResize(TransInfo *t, float vec[3], char *str)
spos += sprintf(spos, "Scale X: %s Y: %s Z: %s%s %s", &tvec[0], &tvec[20], &tvec[40], t->con.text, t->proptext);
}
- if (t->flag & (T_PROP_EDIT|T_PROP_CONNECTED)) {
+ if (t->flag & (T_PROP_EDIT | T_PROP_CONNECTED)) {
spos += sprintf(spos, " Proportional size: %.2f", t->prop_size);
}
(void)spos;
}
-#define SIGN(a) (a<-FLT_EPSILON?1:a>FLT_EPSILON?2:3)
-#define VECSIGNFLIP(a, b) ((SIGN(a[0]) & SIGN(b[0]))==0 || (SIGN(a[1]) & SIGN(b[1]))==0 || (SIGN(a[2]) & SIGN(b[2]))==0)
+#define SIGN(a) (a<-FLT_EPSILON ? 1 : a>FLT_EPSILON ? 2 : 3)
+#define VECSIGNFLIP(a, b) ((SIGN(a[0]) & SIGN(b[0])) == 0 || (SIGN(a[1]) & SIGN(b[1])) == 0 || (SIGN(a[2]) & SIGN(b[2])) == 0)
/* smat is reference matrix, only scaled */
static void TransMat3ToSize(float mat[][3], float smat[][3], float *size)
@@ -2633,16 +2701,16 @@ static void TransMat3ToSize(float mat[][3], float smat[][3], float *size)
float vec[3];
copy_v3_v3(vec, mat[0]);
- size[0]= normalize_v3(vec);
+ size[0] = normalize_v3(vec);
copy_v3_v3(vec, mat[1]);
- size[1]= normalize_v3(vec);
+ size[1] = normalize_v3(vec);
copy_v3_v3(vec, mat[2]);
- size[2]= normalize_v3(vec);
+ size[2] = normalize_v3(vec);
/* first tried with dotproduct... but the sign flip is crucial */
- if ( VECSIGNFLIP(mat[0], smat[0]) ) size[0]= -size[0];
- if ( VECSIGNFLIP(mat[1], smat[1]) ) size[1]= -size[1];
- if ( VECSIGNFLIP(mat[2], smat[2]) ) size[2]= -size[2];
+ if (VECSIGNFLIP(mat[0], smat[0]) ) size[0] = -size[0];
+ if (VECSIGNFLIP(mat[1], smat[1]) ) size[1] = -size[1];
+ if (VECSIGNFLIP(mat[2], smat[2]) ) size[2] = -size[2];
}
@@ -2665,13 +2733,16 @@ static void ElementResize(TransInfo *t, TransData *td, float mat[3][3])
/* local constraint shouldn't alter center */
if ((t->around == V3D_LOCAL) &&
- ( (t->flag & (T_OBJECT|T_POSE)) ||
- ((t->flag & T_EDIT) && (t->settings->selectmode & (SCE_SELECT_EDGE|SCE_SELECT_FACE))) ||
- (t->obedit && t->obedit->type == OB_ARMATURE))
- )
+ ( (t->flag & (T_OBJECT | T_POSE)) ||
+ ((t->flag & T_EDIT) && (t->settings->selectmode & (SCE_SELECT_EDGE | SCE_SELECT_FACE))) ||
+ (t->obedit && t->obedit->type == OB_ARMATURE))
+ )
{
copy_v3_v3(center, td->center);
}
+ else if (t->options & CTX_MOVIECLIP) {
+ copy_v3_v3(center, td->center);
+ }
else {
copy_v3_v3(center, t->center);
}
@@ -2679,7 +2750,7 @@ static void ElementResize(TransInfo *t, TransData *td, float mat[3][3])
if (td->ext) {
float fsize[3];
- if (t->flag & (T_OBJECT|T_TEXTURE|T_POSE)) {
+ if (t->flag & (T_OBJECT | T_TEXTURE | T_POSE)) {
float obsizemat[3][3];
// Reorient the size mat to fit the oriented object.
mul_m3_m3m3(obsizemat, tmat, td->axismtx);
@@ -2693,19 +2764,19 @@ static void ElementResize(TransInfo *t, TransData *td, float mat[3][3])
protectedSizeBits(td->protectflag, fsize);
- if ((t->flag & T_V3D_ALIGN)==0) { // align mode doesn't resize objects itself
+ if ((t->flag & T_V3D_ALIGN) == 0) { // align mode doesn't resize objects itself
if ((td->flag & TD_SINGLESIZE) && !(t->con.mode & CON_APPLY)) {
/* scale val and reset size */
- *td->val = td->ival * (1 + (fsize[0] - 1) * td->factor);
+ *td->val = td->ival * (1 + (fsize[0] - 1) * td->factor);
td->ext->size[0] = td->ext->isize[0];
td->ext->size[1] = td->ext->isize[1];
td->ext->size[2] = td->ext->isize[2];
- }
+ }
else {
/* Reset val if SINGLESIZE but using a constraint */
if (td->flag & TD_SINGLESIZE)
- *td->val = td->ival;
+ *td->val = td->ival;
td->ext->size[0] = td->ext->isize[0] * (1 + (fsize[0] - 1) * td->factor);
td->ext->size[1] = td->ext->isize[1] * (1 + (fsize[1] - 1) * td->factor);
@@ -2732,7 +2803,7 @@ static void ElementResize(TransInfo *t, TransData *td, float mat[3][3])
mul_v3_fl(vec, td->factor);
- if (t->flag & (T_OBJECT|T_POSE)) {
+ if (t->flag & (T_OBJECT | T_POSE)) {
mul_m3_v3(td->smtx, vec);
}
@@ -2749,10 +2820,10 @@ int Resize(TransInfo *t, const int mval[2])
float ratio;
int i;
char str[200];
-
+
/* for manipulator, center handle, the scaling can't be done relative to center */
- if ( (t->flag & T_USES_MANIPULATOR) && t->con.mode==0) {
- ratio = 1.0f - ((t->imval[0] - mval[0]) + (t->imval[1] - mval[1]))/100.0f;
+ if ((t->flag & T_USES_MANIPULATOR) && t->con.mode == 0) {
+ ratio = 1.0f - ((t->imval[0] - mval[0]) + (t->imval[1] - mval[1])) / 100.0f;
}
else {
ratio = t->values[0];
@@ -2781,11 +2852,11 @@ int Resize(TransInfo *t, const int mval[2])
t->con.applySize(t, NULL, mat);
}
- copy_m3_m3(t->mat, mat); // used in manipulator
+ copy_m3_m3(t->mat, mat); // used in manipulator
headerResize(t, size, str);
- for (i = 0, td=t->data; i < t->total; i++, td++) {
+ for (i = 0, td = t->data; i < t->total; i++, td++) {
if (td->flag & TD_NOACTION)
break;
@@ -2802,7 +2873,7 @@ int Resize(TransInfo *t, const int mval[2])
if (t->con.applySize)
t->con.applySize(t, NULL, mat);
- for (i = 0, td=t->data; i < t->total; i++, td++)
+ for (i = 0, td = t->data; i < t->total; i++, td++)
ElementResize(t, td, mat);
}
@@ -2927,7 +2998,7 @@ void initToSphere(TransInfo *t)
t->flag |= T_NO_CONSTRAINT;
// Calculate average radius
- for (i = 0 ; i < t->total; i++, td++) {
+ for (i = 0; i < t->total; i++, td++) {
t->val += len_v3v3(t->center, td->iloc);
}
@@ -2969,7 +3040,7 @@ int ToSphere(TransInfo *t, const int UNUSED(mval[2]))
}
- for (i = 0 ; i < t->total; i++, td++) {
+ for (i = 0; i < t->total; i++, td++) {
float tratio;
if (td->flag & TD_NOACTION)
break;
@@ -3017,7 +3088,7 @@ void initRotation(TransInfo *t)
t->idx_max = 0;
t->num.idx_max = 0;
t->snap[0] = 0.0f;
- t->snap[1] = (float)((5.0/180)*M_PI);
+ t->snap[1] = (float)((5.0 / 180) * M_PI);
t->snap[2] = t->snap[1] * 0.2f;
t->num.increment = 1.0f;
@@ -3039,12 +3110,16 @@ static void ElementRotation(TransInfo *t, TransData *td, float mat[3][3], short
/* local constraint shouldn't alter center */
if (around == V3D_LOCAL) {
- if ( (t->flag & (T_OBJECT|T_POSE)) ||
- (t->settings->selectmode & (SCE_SELECT_EDGE|SCE_SELECT_FACE)) ||
+ if ( (t->flag & (T_OBJECT | T_POSE)) ||
+ (t->settings->selectmode & (SCE_SELECT_EDGE | SCE_SELECT_FACE)) ||
(t->obedit && t->obedit->type == OB_ARMATURE))
{
center = td->center;
}
+
+ if (t->options & CTX_MOVIECLIP) {
+ center = td->center;
+ }
}
if (t->flag & T_POINTS) {
@@ -3063,7 +3138,7 @@ static void ElementRotation(TransInfo *t, TransData *td, float mat[3][3], short
if (td->flag & TD_USEQUAT) {
mul_serie_m3(fmat, td->mtx, mat, td->smtx, NULL, NULL, NULL, NULL, NULL);
- mat3_to_quat(quat, fmat); // Actual transform
+ mat3_to_quat(quat, fmat); // Actual transform
if (td->ext->quat) {
mul_qt_qtqt(td->ext->quat, quat, td->ext->iquat);
@@ -3095,9 +3170,9 @@ static void ElementRotation(TransInfo *t, TransData *td, float mat[3][3], short
if ((td->flag & TD_NO_LOC) == 0) {
sub_v3_v3v3(vec, td->center, center);
- mul_m3_v3(pmtx, vec); // To Global space
- mul_m3_v3(mat, vec); // Applying rotation
- mul_m3_v3(imtx, vec); // To Local space
+ mul_m3_v3(pmtx, vec); // To Global space
+ mul_m3_v3(mat, vec); // Applying rotation
+ mul_m3_v3(imtx, vec); // To Local space
add_v3_v3(vec, center);
/* vec now is the location where the object has to be */
@@ -3109,12 +3184,12 @@ static void ElementRotation(TransInfo *t, TransData *td, float mat[3][3], short
/* do nothing */
}
else if (td->flag & TD_PBONE_LOCAL_MTX_C) {
- mul_m3_v3(pmtx, vec); // To Global space
- mul_m3_v3(td->ext->l_smtx, vec);// To Pose space (Local Location)
+ mul_m3_v3(pmtx, vec); // To Global space
+ mul_m3_v3(td->ext->l_smtx, vec); // To Pose space (Local Location)
}
else {
- mul_m3_v3(pmtx, vec); // To Global space
- mul_m3_v3(td->smtx, vec);// To Pose space
+ mul_m3_v3(pmtx, vec); // To Global space
+ mul_m3_v3(td->smtx, vec); // To Pose space
}
protectedTransBits(td->protectflag, vec);
@@ -3129,7 +3204,7 @@ static void ElementRotation(TransInfo *t, TransData *td, float mat[3][3], short
* and ElementRotation() might be called in Translation context (with align snapping),
* we need to be sure to actually use the *rotation* matrix here...
* So no other way than storing it in some dedicated members of td->ext! */
- if ((t->flag & T_V3D_ALIGN)==0) { /* align mode doesn't rotate objects itself */
+ if ((t->flag & T_V3D_ALIGN) == 0) { /* align mode doesn't rotate objects itself */
/* euler or quaternion/axis-angle? */
if (td->ext->rotOrder == ROT_MODE_QUAT) {
mul_serie_m3(fmat, td->ext->r_mtx, mat, td->ext->r_smtx, NULL, NULL, NULL, NULL, NULL);
@@ -3198,11 +3273,11 @@ static void ElementRotation(TransInfo *t, TransData *td, float mat[3][3], short
constraintTransLim(t, td);
/* rotation */
- if ((t->flag & T_V3D_ALIGN)==0) { // align mode doesn't rotate objects itself
+ if ((t->flag & T_V3D_ALIGN) == 0) { // align mode doesn't rotate objects itself
/* euler or quaternion? */
if ((td->ext->rotOrder == ROT_MODE_QUAT) || (td->flag & TD_USEQUAT)) {
mul_serie_m3(fmat, td->mtx, mat, td->smtx, NULL, NULL, NULL, NULL, NULL);
- mat3_to_quat(quat, fmat); // Actual transform
+ mat3_to_quat(quat, fmat); // Actual transform
mul_qt_qtqt(td->ext->quat, quat, td->ext->iquat);
/* this function works on end result */
@@ -3215,7 +3290,7 @@ static void ElementRotation(TransInfo *t, TransData *td, float mat[3][3], short
axis_angle_to_quat(iquat, td->ext->irotAxis, td->ext->irotAngle);
mul_serie_m3(fmat, td->mtx, mat, td->smtx, NULL, NULL, NULL, NULL, NULL);
- mat3_to_quat(quat, fmat); // Actual transform
+ mat3_to_quat(quat, fmat); // Actual transform
mul_qt_qtqt(tquat, quat, iquat);
quat_to_axis_angle(td->ext->rotAxis, td->ext->rotAngle, tquat);
@@ -3258,7 +3333,7 @@ static void applyRotation(TransInfo *t, float angle, float axis[3])
vec_rot_to_mat3(mat, axis, angle);
- for (i = 0 ; i < t->total; i++, td++) {
+ for (i = 0; i < t->total; i++, td++) {
if (td->flag & TD_NOACTION)
break;
@@ -3280,7 +3355,7 @@ static void applyRotation(TransInfo *t, float angle, float axis[3])
int Rotation(TransInfo *t, const int UNUSED(mval[2]))
{
- char str[128], *spos= str;
+ char str[128], *spos = str;
float final;
@@ -3305,16 +3380,16 @@ int Rotation(TransInfo *t, const int UNUSED(mval[2]))
outputNumInput(&(t->num), c);
- spos+= sprintf(spos, "Rot: %s %s %s", &c[0], t->con.text, t->proptext);
+ spos += sprintf(spos, "Rot: %s %s %s", &c[0], t->con.text, t->proptext);
/* Clamp between -180 and 180 */
- final= angle_wrap_rad(DEG2RADF(final));
+ final = angle_wrap_rad(DEG2RADF(final));
}
else {
spos += sprintf(spos, "Rot: %.2f%s %s", RAD2DEGF(final), t->con.text, t->proptext);
}
- if (t->flag & (T_PROP_EDIT|T_PROP_CONNECTED)) {
+ if (t->flag & (T_PROP_EDIT | T_PROP_CONNECTED)) {
spos += sprintf(spos, " Proportional size: %.2f", t->prop_size);
}
(void)spos;
@@ -3343,7 +3418,7 @@ void initTrackball(TransInfo *t)
t->idx_max = 1;
t->num.idx_max = 1;
t->snap[0] = 0.0f;
- t->snap[1] = (float)((5.0/180)*M_PI);
+ t->snap[1] = (float)((5.0 / 180) * M_PI);
t->snap[2] = t->snap[1] * 0.2f;
t->num.increment = 1.0f;
@@ -3362,7 +3437,7 @@ static void applyTrackball(TransInfo *t, float axis1[3], float axis2[3], float a
mul_m3_m3m3(mat, smat, totmat);
- for (i = 0 ; i < t->total; i++, td++) {
+ for (i = 0; i < t->total; i++, td++) {
if (td->flag & TD_NOACTION)
break;
@@ -3382,7 +3457,7 @@ static void applyTrackball(TransInfo *t, float axis1[3], float axis2[3], float a
int Trackball(TransInfo *t, const int UNUSED(mval[2]))
{
- char str[128], *spos= str;
+ char str[128], *spos = str;
float axis1[3], axis2[3];
float mat[3][3], totmat[3][3], smat[3][3];
float phi[2];
@@ -3413,7 +3488,7 @@ int Trackball(TransInfo *t, const int UNUSED(mval[2]))
spos += sprintf(spos, "Trackball: %.2f %.2f %s", RAD2DEGF(phi[0]), RAD2DEGF(phi[1]), t->proptext);
}
- if (t->flag & (T_PROP_EDIT|T_PROP_CONNECTED)) {
+ if (t->flag & (T_PROP_EDIT | T_PROP_CONNECTED)) {
spos += sprintf(spos, " Proportional size: %.2f", t->prop_size);
}
(void)spos;
@@ -3449,7 +3524,7 @@ void initTranslation(TransInfo *t)
initMouseInputMode(t, &t->mouse, INPUT_VECTOR);
- t->idx_max = (t->flag & T_2D_EDIT)? 1: 2;
+ t->idx_max = (t->flag & T_2D_EDIT) ? 1 : 2;
t->num.flag = 0;
t->num.idx_max = t->idx_max;
@@ -3477,7 +3552,7 @@ void initTranslation(TransInfo *t)
static void headerTranslation(TransInfo *t, float vec[3], char *str)
{
- char *spos= str;
+ char *spos = str;
char tvec[60];
char distvec[20];
char autoik[20];
@@ -3495,10 +3570,10 @@ static void headerTranslation(TransInfo *t, float vec[3], char *str)
dist = len_v3(vec);
if (!(t->flag & T_2D_EDIT) && t->scene->unit.system) {
- int i, do_split= t->scene->unit.flag & USER_UNIT_OPT_SPLIT ? 1:0;
+ int i, do_split = t->scene->unit.flag & USER_UNIT_OPT_SPLIT ? 1 : 0;
- for (i=0; i<3; i++)
- bUnit_AsString(&tvec[i*20], 20, dvec[i]*t->scene->unit.scale_length, 4, t->scene->unit.system, B_UNIT_LENGTH, do_split, 1);
+ for (i = 0; i < 3; i++)
+ bUnit_AsString(&tvec[i * 20], 20, dvec[i] * t->scene->unit.scale_length, 4, t->scene->unit.system, B_UNIT_LENGTH, do_split, 1);
}
else {
sprintf(&tvec[0], "%.4f", dvec[0]);
@@ -3508,33 +3583,33 @@ static void headerTranslation(TransInfo *t, float vec[3], char *str)
}
if (!(t->flag & T_2D_EDIT) && t->scene->unit.system)
- bUnit_AsString(distvec, sizeof(distvec), dist*t->scene->unit.scale_length, 4, t->scene->unit.system, B_UNIT_LENGTH, t->scene->unit.flag & USER_UNIT_OPT_SPLIT, 0);
- else if ( dist > 1e10f || dist < -1e10f ) /* prevent string buffer overflow */
+ bUnit_AsString(distvec, sizeof(distvec), dist * t->scene->unit.scale_length, 4, t->scene->unit.system, B_UNIT_LENGTH, t->scene->unit.flag & USER_UNIT_OPT_SPLIT, 0);
+ else if (dist > 1e10f || dist < -1e10f) /* prevent string buffer overflow */
sprintf(distvec, "%.4e", dist);
else
sprintf(distvec, "%.4f", dist);
if (t->flag & T_AUTOIK) {
- short chainlen= t->settings->autoik_chainlen;
+ short chainlen = t->settings->autoik_chainlen;
if (chainlen)
sprintf(autoik, "AutoIK-Len: %d", chainlen);
else
- autoik[0]= '\0';
+ autoik[0] = '\0';
}
else
- autoik[0]= '\0';
+ autoik[0] = '\0';
if (t->con.mode & CON_APPLY) {
switch (t->num.idx_max) {
- case 0:
- spos += sprintf(spos, "D: %s (%s)%s %s %s", &tvec[0], distvec, t->con.text, t->proptext, &autoik[0]);
- break;
- case 1:
- spos += sprintf(spos, "D: %s D: %s (%s)%s %s %s", &tvec[0], &tvec[20], distvec, t->con.text, t->proptext, &autoik[0]);
- break;
- case 2:
- spos += sprintf(spos, "D: %s D: %s D: %s (%s)%s %s %s", &tvec[0], &tvec[20], &tvec[40], distvec, t->con.text, t->proptext, &autoik[0]);
+ case 0:
+ spos += sprintf(spos, "D: %s (%s)%s %s %s", &tvec[0], distvec, t->con.text, t->proptext, &autoik[0]);
+ break;
+ case 1:
+ spos += sprintf(spos, "D: %s D: %s (%s)%s %s %s", &tvec[0], &tvec[20], distvec, t->con.text, t->proptext, &autoik[0]);
+ break;
+ case 2:
+ spos += sprintf(spos, "D: %s D: %s D: %s (%s)%s %s %s", &tvec[0], &tvec[20], &tvec[40], distvec, t->con.text, t->proptext, &autoik[0]);
}
}
else {
@@ -3544,7 +3619,7 @@ static void headerTranslation(TransInfo *t, float vec[3], char *str)
spos += sprintf(spos, "Dx: %s Dy: %s Dz: %s (%s)%s %s %s", &tvec[0], &tvec[20], &tvec[40], distvec, t->con.text, t->proptext, &autoik[0]);
}
- if (t->flag & (T_PROP_EDIT|T_PROP_CONNECTED)) {
+ if (t->flag & (T_PROP_EDIT | T_PROP_CONNECTED)) {
spos += sprintf(spos, " Proportional size: %.2f", t->prop_size);
}
(void)spos;
@@ -3556,7 +3631,7 @@ static void applyTranslation(TransInfo *t, float vec[3])
float tvec[3];
int i;
- for (i = 0 ; i < t->total; i++, td++) {
+ for (i = 0; i < t->total; i++, td++) {
if (td->flag & TD_NOACTION)
break;
@@ -3660,7 +3735,7 @@ int Translation(TransInfo *t, const int UNUSED(mval[2]))
void initShrinkFatten(TransInfo *t)
{
// If not in mesh edit mode, fallback to Resize
- if (t->obedit==NULL || t->obedit->type != OB_MESH) {
+ if (t->obedit == NULL || t->obedit->type != OB_MESH) {
initResize(t);
}
else {
@@ -3712,7 +3787,7 @@ int ShrinkFatten(TransInfo *t, const int UNUSED(mval[2]))
t->values[0] = distance;
- for (i = 0 ; i < t->total; i++, td++) {
+ for (i = 0; i < t->total; i++, td++) {
if (td->flag & TD_NOACTION)
break;
@@ -3745,12 +3820,12 @@ void initTilt(TransInfo *t)
t->idx_max = 0;
t->num.idx_max = 0;
t->snap[0] = 0.0f;
- t->snap[1] = (float)((5.0/180)*M_PI);
+ t->snap[1] = (float)((5.0 / 180) * M_PI);
t->snap[2] = t->snap[1] * 0.2f;
t->num.increment = t->snap[1];
- t->flag |= T_NO_CONSTRAINT|T_NO_PROJECT;
+ t->flag |= T_NO_CONSTRAINT | T_NO_PROJECT;
}
@@ -3782,7 +3857,7 @@ int Tilt(TransInfo *t, const int UNUSED(mval[2]))
sprintf(str, "Tilt: %.2f %s", RAD2DEGF(final), t->proptext);
}
- for (i = 0 ; i < t->total; i++, td++) {
+ for (i = 0; i < t->total; i++, td++) {
if (td->flag & TD_NOACTION)
break;
@@ -3849,7 +3924,75 @@ int CurveShrinkFatten(TransInfo *t, const int UNUSED(mval[2]))
sprintf(str, "Shrink/Fatten: %3f", ratio);
}
- for (i = 0 ; i < t->total; i++, td++) {
+ for (i = 0; i < t->total; i++, td++) {
+ if (td->flag & TD_NOACTION)
+ break;
+
+ if (td->flag & TD_SKIP)
+ continue;
+
+ if (td->val) {
+ *td->val = td->ival * ratio;
+ /* apply PET */
+ *td->val = (*td->val * td->factor) + ((1.0f - td->factor) * td->ival);
+ if (*td->val <= 0.0f) *td->val = 0.001f;
+ }
+ }
+
+ recalcData(t);
+
+ ED_area_headerprint(t->sa, str);
+
+ return 1;
+}
+
+
+void initMaskShrinkFatten(TransInfo *t)
+{
+ t->mode = TFM_MASK_SHRINKFATTEN;
+ t->transform = MaskShrinkFatten;
+
+ initMouseInputMode(t, &t->mouse, INPUT_SPRING);
+
+ t->idx_max = 0;
+ t->num.idx_max = 0;
+ t->snap[0] = 0.0f;
+ t->snap[1] = 0.1f;
+ t->snap[2] = t->snap[1] * 0.1f;
+
+ t->num.increment = t->snap[1];
+
+ t->flag |= T_NO_ZERO;
+ t->num.flag |= NUM_NO_ZERO;
+
+ t->flag |= T_NO_CONSTRAINT;
+}
+
+int MaskShrinkFatten(TransInfo *t, const int UNUSED(mval[2]))
+{
+ TransData *td = t->data;
+ float ratio;
+ int i;
+ char str[50];
+
+ ratio = t->values[0];
+
+ snapGrid(t, &ratio);
+
+ applyNumInput(&t->num, &ratio);
+
+ /* header print for NumInput */
+ if (hasNumInput(&t->num)) {
+ char c[20];
+
+ outputNumInput(&(t->num), c);
+ sprintf(str, "Shrink/Fatten: %s", c);
+ }
+ else {
+ sprintf(str, "Shrink/Fatten: %3f", ratio);
+ }
+
+ for (i = 0; i < t->total; i++, td++) {
if (td->flag & TD_NOACTION)
break;
@@ -3857,8 +4000,9 @@ int CurveShrinkFatten(TransInfo *t, const int UNUSED(mval[2]))
continue;
if (td->val) {
- // *td->val= ratio;
- *td->val= td->ival*ratio;
+ *td->val = td->ival * ratio;
+ /* apply PET */
+ *td->val = (*td->val * td->factor) + ((1.0f - td->factor) * td->ival);
if (*td->val <= 0.0f) *td->val = 0.001f;
}
}
@@ -3922,7 +4066,7 @@ int PushPull(TransInfo *t, const int UNUSED(mval[2]))
t->con.applyRot(t, NULL, axis, NULL);
}
- for (i = 0 ; i < t->total; i++, td++) {
+ for (i = 0; i < t->total; i++, td++) {
if (td->flag & TD_NOACTION)
break;
@@ -3995,28 +4139,28 @@ int handleEventBevel(TransInfo *t, wmEvent *event)
if (!G.editBMesh) return 0;
switch (event->type) {
- case MIDDLEMOUSE:
- G.editBMesh->options ^= BME_BEVEL_VERT;
- t->state = TRANS_CANCEL;
- return 1;
- //case PADPLUSKEY:
- // G.editBMesh->options ^= BME_BEVEL_RES;
- // G.editBMesh->res += 1;
- // if (G.editBMesh->res > 4) {
- // G.editBMesh->res = 4;
- // }
- // t->state = TRANS_CANCEL;
- // return 1;
- //case PADMINUS:
- // G.editBMesh->options ^= BME_BEVEL_RES;
- // G.editBMesh->res -= 1;
- // if (G.editBMesh->res < 0) {
- // G.editBMesh->res = 0;
- // }
- // t->state = TRANS_CANCEL;
- // return 1;
- default:
- return 0;
+ case MIDDLEMOUSE:
+ G.editBMesh->options ^= BME_BEVEL_VERT;
+ t->state = TRANS_CANCEL;
+ return 1;
+ //case PADPLUSKEY:
+ // G.editBMesh->options ^= BME_BEVEL_RES;
+ // G.editBMesh->res += 1;
+ // if (G.editBMesh->res > 4) {
+ // G.editBMesh->res = 4;
+ // }
+ // t->state = TRANS_CANCEL;
+ // return 1;
+ //case PADMINUS:
+ // G.editBMesh->options ^= BME_BEVEL_RES;
+ // G.editBMesh->res -= 1;
+ // if (G.editBMesh->res < 0) {
+ // G.editBMesh->res = 0;
+ // }
+ // t->state = TRANS_CANCEL;
+ // return 1;
+ default:
+ return 0;
}
}
return 0;
@@ -4053,7 +4197,7 @@ int Bevel(TransInfo *t, const int UNUSED(mval[2]))
}
if (distance < 0) distance = -distance;
- for (i = 0 ; i < t->total; i++, td++) {
+ for (i = 0; i < t->total; i++, td++) {
if (td->axismtx[1][0] > 0 && distance > td->axismtx[1][0]) {
d = td->axismtx[1][0];
}
@@ -4087,7 +4231,7 @@ void initBevelWeight(TransInfo *t)
t->num.increment = t->snap[1];
- t->flag |= T_NO_CONSTRAINT|T_NO_PROJECT;
+ t->flag |= T_NO_CONSTRAINT | T_NO_PROJECT;
}
int BevelWeight(TransInfo *t, const int UNUSED(mval[2]))
@@ -4125,7 +4269,7 @@ int BevelWeight(TransInfo *t, const int UNUSED(mval[2]))
sprintf(str, "Bevel Weight: %.3f %s", weight, t->proptext);
}
- for (i = 0 ; i < t->total; i++, td++) {
+ for (i = 0; i < t->total; i++, td++) {
if (td->flag & TD_NOACTION)
break;
@@ -4160,7 +4304,7 @@ void initCrease(TransInfo *t)
t->num.increment = t->snap[1];
- t->flag |= T_NO_CONSTRAINT|T_NO_PROJECT;
+ t->flag |= T_NO_CONSTRAINT | T_NO_PROJECT;
}
int Crease(TransInfo *t, const int UNUSED(mval[2]))
@@ -4198,7 +4342,7 @@ int Crease(TransInfo *t, const int UNUSED(mval[2]))
sprintf(str, "Crease: %.3f %s", crease, t->proptext);
}
- for (i = 0 ; i < t->total; i++, td++) {
+ for (i = 0; i < t->total; i++, td++) {
if (td->flag & TD_NOACTION)
break;
@@ -4276,11 +4420,11 @@ static void ElementBoneSize(TransInfo *t, TransData *td, float mat[3][3])
}
/* we've tucked the scale in loc */
- oldy= td->iloc[1];
+ oldy = td->iloc[1];
size_to_mat3(sizemat, td->iloc);
mul_m3_m3m3(tmat, tmat, sizemat);
mat3_to_size(td->loc, tmat);
- td->loc[1]= oldy;
+ td->loc[1] = oldy;
}
int BoneSize(TransInfo *t, const int mval[2])
@@ -4293,8 +4437,8 @@ int BoneSize(TransInfo *t, const int mval[2])
// TRANSFORM_FIX_ME MOVE TO MOUSE INPUT
/* for manipulator, center handle, the scaling can't be done relative to center */
- if ((t->flag & T_USES_MANIPULATOR) && t->con.mode==0) {
- ratio = 1.0f - ((t->imval[0] - mval[0]) + (t->imval[1] - mval[1]))/100.0f;
+ if ((t->flag & T_USES_MANIPULATOR) && t->con.mode == 0) {
+ ratio = 1.0f - ((t->imval[0] - mval[0]) + (t->imval[1] - mval[1])) / 100.0f;
}
else {
ratio = t->values[0];
@@ -4315,11 +4459,11 @@ int BoneSize(TransInfo *t, const int mval[2])
t->con.applySize(t, NULL, mat);
}
- copy_m3_m3(t->mat, mat); // used in manipulator
+ copy_m3_m3(t->mat, mat); // used in manipulator
headerBoneSize(t, size, str);
- for (i = 0 ; i < t->total; i++, td++) {
+ for (i = 0; i < t->total; i++, td++) {
if (td->flag & TD_NOACTION)
break;
@@ -4354,7 +4498,7 @@ void initBoneEnvelope(TransInfo *t)
t->num.increment = t->snap[1];
- t->flag |= T_NO_CONSTRAINT|T_NO_PROJECT;
+ t->flag |= T_NO_CONSTRAINT | T_NO_PROJECT;
}
int BoneEnvelope(TransInfo *t, const int UNUSED(mval[2]))
@@ -4381,7 +4525,7 @@ int BoneEnvelope(TransInfo *t, const int UNUSED(mval[2]))
sprintf(str, "Envelope: %3f", ratio);
}
- for (i = 0 ; i < t->total; i++, td++) {
+ for (i = 0; i < t->total; i++, td++) {
if (td->flag & TD_NOACTION)
break;
@@ -4391,9 +4535,9 @@ int BoneEnvelope(TransInfo *t, const int UNUSED(mval[2]))
if (td->val) {
/* if the old/original value was 0.0f, then just use ratio */
if (td->ival)
- *td->val= td->ival*ratio;
+ *td->val = td->ival * ratio;
else
- *td->val= ratio;
+ *td->val = ratio;
}
}
@@ -4423,7 +4567,7 @@ static BMLoop *get_next_loop(BMVert *v, BMLoop *l,
{
BMLoop *firstl;
float a[3] = {0.0f, 0.0f, 0.0f}, n[3] = {0.0f, 0.0f, 0.0f};
- int i=0;
+ int i = 0;
firstl = l;
do {
@@ -4525,8 +4669,8 @@ static int createSlideVerts(TransInfo *t)
BMBVHTree *btree = BMBVH_NewBVH(em, BMBVH_RESPECT_HIDDEN, NULL, NULL);
SmallHash table;
SlideData *sld = MEM_callocN(sizeof(*sld), "sld");
- View3D *v3d = t->sa ? t->sa->spacedata.first : NULL;
- RegionView3D *rv3d = t->ar ? t->ar->regiondata : NULL; /* background mode support */
+ View3D *v3d = NULL;
+ RegionView3D *rv3d = NULL;
ARegion *ar = t->ar;
float projectMat[4][4];
float mval[2] = {(float)t->mval[0], (float)t->mval[1]};
@@ -4534,11 +4678,17 @@ static int createSlideVerts(TransInfo *t)
float vec[3], vec2[3], lastvec[3] /*, size, dis=0.0, z */ /* UNUSED */;
int numsel, i, j;
+ if (t->spacetype == SPACE_VIEW3D) {
+ /* background mode support */
+ v3d = t->sa ? t->sa->spacedata.first : NULL;
+ rv3d = t->ar ? t->ar->regiondata : NULL;
+ }
+
sld->is_proportional = TRUE;
sld->curr_sv_index = 0;
sld->flipped_vtx = FALSE;
- if (!v3d) {
+ if (!rv3d) {
/* ok, let's try to survive this */
unit_m4(projectMat);
}
@@ -4675,7 +4825,7 @@ static int createSlideVerts(TransInfo *t)
sv->down = BM_edge_other_vert(l->e, v);
}
- v2=v, v = BM_edge_other_vert(e, v);
+ v2 = v, v = BM_edge_other_vert(e, v);
e1 = e;
e = get_other_edge(v, e);
@@ -4732,13 +4882,13 @@ static int createSlideVerts(TransInfo *t)
/* search cross edges for visible edge to the mouse cursor,
* then use the shared vertex to calculate screen vector*/
dis2 = -1.0f;
- for (i=0; i<2; i++) {
- v = i?e->v1:e->v2;
+ for (i = 0; i < 2; i++) {
+ v = i ? e->v1 : e->v2;
BM_ITER_ELEM (e2, &iter2, v, BM_EDGES_OF_VERT) {
if (BM_elem_flag_test(e2, BM_ELEM_SELECT))
continue;
- if (!BMBVH_EdgeVisible(btree, e2, ar, v3d, t->obedit))
+ if (v3d && !BMBVH_EdgeVisible(btree, e2, ar, v3d, t->obedit))
continue;
j = GET_INT_FROM_POINTER(BLI_smallhash_lookup(&table, (uintptr_t)v));
@@ -4775,7 +4925,7 @@ static int createSlideVerts(TransInfo *t)
/*create copies of faces for customdata projection*/
sv_array = sld->sv;
- for (i=0; i<sld->totsv; i++, sv_array++) {
+ for (i = 0; i < sld->totsv; i++, sv_array++) {
BMIter fiter, liter;
BMFace *f;
BMLoop *l;
@@ -4801,8 +4951,8 @@ static int createSlideVerts(TransInfo *t)
BLI_smallhash_insert(&sld->vhash, (uintptr_t)sv_array->v, sv_array);
}
- calcNonProportionalEdgeSlide(t, sld, mval);
-
+ if (rv3d)
+ calcNonProportionalEdgeSlide(t, sld, mval);
sld->origfaces_init = TRUE;
sld->em = em;
@@ -4851,7 +5001,7 @@ void projectSVData(TransInfo *t, int final)
BLI_smallhash_init(&visit);
- for (i=0, sv = sld->sv; i < sld->totsv; sv++, i++) {
+ for (i = 0, sv = sld->sv; i < sld->totsv; sv++, i++) {
BMIter fiter;
BMFace *f;
@@ -4917,7 +5067,7 @@ void projectSVData(TransInfo *t, int final)
BMEdge *e_sel;
BM_ITER_ELEM (e_sel, &eiter, l->v, BM_EDGES_OF_VERT) {
- if (BM_elem_flag_test(e_sel, BM_ELEM_SELECT)) {;
+ if (BM_elem_flag_test(e_sel, BM_ELEM_SELECT)) {
break;
}
}
@@ -4983,7 +5133,7 @@ void freeSlideTempFaces(SlideData *sld)
BMFace *copyf;
copyf = BLI_smallhash_iternew(&sld->origfaces, &hiter, NULL);
- for (; copyf; copyf=BLI_smallhash_iternext(&hiter, NULL)) {
+ for (; copyf; copyf = BLI_smallhash_iternext(&hiter, NULL)) {
BM_face_verts_kill(sld->em->bm, copyf);
}
@@ -5004,7 +5154,7 @@ void freeSlideVerts(TransInfo *t)
LinkNode *look = sld->vertlist;
GHash *vertgh = sld->vhash;
while (look) {
- sv = BLI_ghash_lookup(vertgh, (EditVert*)look->link);
+ sv = BLI_ghash_lookup(vertgh, (EditVert *)look->link);
if (sv != NULL) {
sv->up->f &= !SELECT;
sv->down->f &= !SELECT;
@@ -5040,7 +5190,7 @@ void initEdgeSlide(TransInfo *t)
t->handleEvent = handleEventEdgeSlide;
if (!createSlideVerts(t)) {
- t->state= TRANS_CANCEL;
+ t->state = TRANS_CANCEL;
return;
}
@@ -5063,12 +5213,12 @@ void initEdgeSlide(TransInfo *t)
t->num.increment = t->snap[1];
- t->flag |= T_NO_CONSTRAINT|T_NO_PROJECT;
+ t->flag |= T_NO_CONSTRAINT | T_NO_PROJECT;
}
int handleEventEdgeSlide(struct TransInfo *t, struct wmEvent *event)
{
- if (t->flag & TFM_EDGE_SLIDE) {
+ if (t->mode == TFM_EDGE_SLIDE) {
SlideData *sld = t->customData;
if (sld) {
@@ -5090,11 +5240,11 @@ int handleEventEdgeSlide(struct TransInfo *t, struct wmEvent *event)
}
case EVT_MODAL_MAP: {
switch (event->val) {
- case TFM_WHEEL_DOWN_EVT: {
+ case TFM_MODAL_EDGESLIDE_DOWN: {
sld->curr_sv_index = ((sld->curr_sv_index - 1) + sld->totsv) % sld->totsv;
break;
}
- case TFM_WHEEL_UP_EVT: {
+ case TFM_MODAL_EDGESLIDE_UP: {
sld->curr_sv_index = (sld->curr_sv_index + 1) % sld->totsv;
break;
}
@@ -5110,7 +5260,7 @@ int handleEventEdgeSlide(struct TransInfo *t, struct wmEvent *event)
void drawNonPropEdge(const struct bContext *C, TransInfo *t)
{
- if (t->flag & TFM_EDGE_SLIDE) {
+ if (t->mode == TFM_EDGE_SLIDE) {
SlideData *sld = (SlideData *)t->customData;
/* Non-Prop mode */
if (sld && sld->is_proportional == FALSE) {
@@ -5192,7 +5342,7 @@ static int doEdgeSlide(TransInfo *t, float perc)
sld->perc = perc;
sv = svlist;
- for (i=0; i<sld->totsv; i++, sv++) {
+ for (i = 0; i < sld->totsv; i++, sv++) {
if (sld->is_proportional == FALSE) {
TransDataSlideVert *curr_sv = &sld->sv[sld->curr_sv_index];
float cur_sel = curr_sv->edge_len;
@@ -5257,11 +5407,11 @@ int EdgeSlide(TransInfo *t, const int UNUSED(mval[2]))
outputNumInput(&(t->num), c);
BLI_snprintf(str, sizeof(str), "Edge Slide: %s (E)ven: %s, (F)lipped: %s",
- &c[0], !is_proportional ? "ON" : "OFF", flipped ? "ON" : "OFF" );
+ &c[0], !is_proportional ? "ON" : "OFF", flipped ? "ON" : "OFF");
}
else {
BLI_snprintf(str, sizeof(str), "Edge Slide: %.2f (E)ven: %s, (F)lipped: %s",
- final, !is_proportional ? "ON" : "OFF", flipped ? "ON" : "OFF" );
+ final, !is_proportional ? "ON" : "OFF", flipped ? "ON" : "OFF");
}
CLAMP(final, -1.0f, 1.0f);
@@ -5295,12 +5445,12 @@ void initBoneRoll(TransInfo *t)
t->idx_max = 0;
t->num.idx_max = 0;
t->snap[0] = 0.0f;
- t->snap[1] = (float)((5.0/180)*M_PI);
+ t->snap[1] = (float)((5.0 / 180) * M_PI);
t->snap[2] = t->snap[1] * 0.2f;
t->num.increment = 1.0f;
- t->flag |= T_NO_CONSTRAINT|T_NO_PROJECT;
+ t->flag |= T_NO_CONSTRAINT | T_NO_PROJECT;
}
int BoneRoll(TransInfo *t, const int UNUSED(mval[2]))
@@ -5375,11 +5525,11 @@ int BakeTime(TransInfo *t, const int mval[2])
if (t->mouse.precision) {
/* calculate ratio for shiftkey pos, and for total, and blend these for precision */
- time= (float)(t->center2d[0] - t->mouse.precision_mval[0]) * fac;
- time+= 0.1f*((float)(t->center2d[0]*fac - mval[0]) -time);
+ time = (float)(t->center2d[0] - t->mouse.precision_mval[0]) * fac;
+ time += 0.1f * ((float)(t->center2d[0] * fac - mval[0]) - time);
}
else {
- time = (float)(t->center2d[0] - mval[0])*fac;
+ time = (float)(t->center2d[0] - mval[0]) * fac;
}
snapGrid(t, &time);
@@ -5405,7 +5555,7 @@ int BakeTime(TransInfo *t, const int mval[2])
sprintf(str, "Time: %.3f %s", time, t->proptext);
}
- for (i = 0 ; i < t->total; i++, td++) {
+ for (i = 0; i < t->total; i++, td++) {
if (td->flag & TD_NOACTION)
break;
@@ -5464,7 +5614,7 @@ int Mirror(TransInfo *t, const int UNUSED(mval[2]))
sprintf(str, "Mirror%s", t->con.text);
- for (i = 0, td=t->data; i < t->total; i++, td++) {
+ for (i = 0, td = t->data; i < t->total; i++, td++) {
if (td->flag & TD_NOACTION)
break;
@@ -5483,7 +5633,7 @@ int Mirror(TransInfo *t, const int UNUSED(mval[2]))
size_to_mat3(mat, size);
- for (i = 0, td=t->data; i < t->total; i++, td++) {
+ for (i = 0, td = t->data; i < t->total; i++, td++) {
if (td->flag & TD_NOACTION)
break;
@@ -5524,7 +5674,7 @@ int Align(TransInfo *t, const int UNUSED(mval[2]))
/* saving original center */
copy_v3_v3(center, t->center);
- for (i = 0 ; i < t->total; i++, td++) {
+ for (i = 0; i < t->total; i++, td++) {
float mat[3][3], invmat[3][3];
if (td->flag & TD_NOACTION)
@@ -5534,7 +5684,7 @@ int Align(TransInfo *t, const int UNUSED(mval[2]))
continue;
/* around local centers */
- if (t->flag & (T_OBJECT|T_POSE)) {
+ if (t->flag & (T_OBJECT | T_POSE)) {
copy_v3_v3(t->center, td->center);
}
else {
@@ -5598,7 +5748,7 @@ static void applySeqSlide(TransInfo *t, float val[2])
TransData *td = t->data;
int i;
- for (i = 0 ; i < t->total; i++, td++) {
+ for (i = 0; i < t->total; i++, td++) {
float tvec[2];
if (td->flag & TD_NOACTION)
@@ -5655,38 +5805,38 @@ int SeqSlide(TransInfo *t, const int UNUSED(mval[2]))
// XXX these modifier checks should be keymappable
static short getAnimEdit_SnapMode(TransInfo *t)
{
- short autosnap= SACTSNAP_OFF;
+ short autosnap = SACTSNAP_OFF;
if (t->spacetype == SPACE_ACTION) {
- SpaceAction *saction= (SpaceAction *)t->sa->spacedata.first;
+ SpaceAction *saction = (SpaceAction *)t->sa->spacedata.first;
if (saction)
- autosnap= saction->autosnap;
+ autosnap = saction->autosnap;
}
else if (t->spacetype == SPACE_IPO) {
- SpaceIpo *sipo= (SpaceIpo *)t->sa->spacedata.first;
+ SpaceIpo *sipo = (SpaceIpo *)t->sa->spacedata.first;
if (sipo)
- autosnap= sipo->autosnap;
+ autosnap = sipo->autosnap;
}
else if (t->spacetype == SPACE_NLA) {
- SpaceNla *snla= (SpaceNla *)t->sa->spacedata.first;
+ SpaceNla *snla = (SpaceNla *)t->sa->spacedata.first;
if (snla)
- autosnap= snla->autosnap;
+ autosnap = snla->autosnap;
}
else {
- autosnap= SACTSNAP_OFF;
+ autosnap = SACTSNAP_OFF;
}
/* toggle autosnap on/off
- * - when toggling on, prefer nearest frame over 1.0 frame increments
+ * - when toggling on, prefer nearest frame over 1.0 frame increments
*/
if (t->modifiers & MOD_SNAP_INVERT) {
if (autosnap)
- autosnap= SACTSNAP_OFF;
+ autosnap = SACTSNAP_OFF;
else
- autosnap= SACTSNAP_FRAME;
+ autosnap = SACTSNAP_FRAME;
}
return autosnap;
@@ -5701,19 +5851,19 @@ static short getAnimEdit_DrawTime(TransInfo *t)
short drawtime;
if (t->spacetype == SPACE_ACTION) {
- SpaceAction *saction= (SpaceAction *)t->sa->spacedata.first;
+ SpaceAction *saction = (SpaceAction *)t->sa->spacedata.first;
- drawtime = (saction->flag & SACTION_DRAWTIME)? 1 : 0;
+ drawtime = (saction->flag & SACTION_DRAWTIME) ? 1 : 0;
}
else if (t->spacetype == SPACE_NLA) {
- SpaceNla *snla= (SpaceNla *)t->sa->spacedata.first;
+ SpaceNla *snla = (SpaceNla *)t->sa->spacedata.first;
- drawtime = (snla->flag & SNLA_DRAWTIME)? 1 : 0;
+ drawtime = (snla->flag & SNLA_DRAWTIME) ? 1 : 0;
}
else if (t->spacetype == SPACE_IPO) {
- SpaceIpo *sipo= (SpaceIpo *)t->sa->spacedata.first;
+ SpaceIpo *sipo = (SpaceIpo *)t->sa->spacedata.first;
- drawtime = (sipo->flag & SIPO_DRAWTIME)? 1 : 0;
+ drawtime = (sipo->flag & SIPO_DRAWTIME) ? 1 : 0;
}
else {
drawtime = 0;
@@ -5733,23 +5883,23 @@ static void doAnimEdit_SnapFrame(TransInfo *t, TransData *td, TransData2D *td2d,
#if 0 /* 'do_time' disabled for now */
- const Scene *scene= t->scene;
- const short do_time= 0; //getAnimEdit_DrawTime(t); // NOTE: this works, but may be confusing behavior given the option's label, hence disabled
- const double secf= FPS;
+ const Scene *scene = t->scene;
+ const short do_time = 0; //getAnimEdit_DrawTime(t); // NOTE: this works, but may be confusing behavior given the option's label, hence disabled
+ const double secf = FPS;
#endif
double val;
/* convert frame to nla-action time (if needed) */
if (adt)
- val= BKE_nla_tweakedit_remap(adt, *(td->val), NLATIME_CONVERT_MAP);
+ val = BKE_nla_tweakedit_remap(adt, *(td->val), NLATIME_CONVERT_MAP);
else
- val= *(td->val);
+ val = *(td->val);
-#if 0 /* 'do_time' disabled for now */
+#if 0 /* 'do_time' disabled for now */
/* do the snapping to nearest frame/second */
if (do_time) {
- val= (float)(floor((val/secf) + 0.5f) * secf);
+ val = (float)(floor((val / secf) + 0.5f) * secf);
}
else
#endif
@@ -5759,9 +5909,9 @@ static void doAnimEdit_SnapFrame(TransInfo *t, TransData *td, TransData2D *td2d,
/* convert frame out of nla-action time */
if (adt)
- *(td->val)= BKE_nla_tweakedit_remap(adt, val, NLATIME_CONVERT_UNMAP);
+ *(td->val) = BKE_nla_tweakedit_remap(adt, val, NLATIME_CONVERT_UNMAP);
else
- *(td->val)= val;
+ *(td->val) = val;
}
/* snap key to nearest marker? */
else if (autosnap == SACTSNAP_MARKER) {
@@ -5769,19 +5919,19 @@ static void doAnimEdit_SnapFrame(TransInfo *t, TransData *td, TransData2D *td2d,
/* convert frame to nla-action time (if needed) */
if (adt)
- val= BKE_nla_tweakedit_remap(adt, *(td->val), NLATIME_CONVERT_MAP);
+ val = BKE_nla_tweakedit_remap(adt, *(td->val), NLATIME_CONVERT_MAP);
else
- val= *(td->val);
+ val = *(td->val);
/* snap to nearest marker */
// TODO: need some more careful checks for where data comes from
- val= (float)ED_markers_find_nearest_marker_time(&t->scene->markers, val);
+ val = (float)ED_markers_find_nearest_marker_time(&t->scene->markers, val);
/* convert frame out of nla-action time */
if (adt)
- *(td->val)= BKE_nla_tweakedit_remap(adt, val, NLATIME_CONVERT_UNMAP);
+ *(td->val) = BKE_nla_tweakedit_remap(adt, val, NLATIME_CONVERT_UNMAP);
else
- *(td->val)= val;
+ *(td->val) = val;
}
/* if the handles are to be moved too (as side-effect of keyframes moving, to keep the general effect)
@@ -5832,21 +5982,21 @@ static void headerTimeTranslate(TransInfo *t, char *str)
}
else {
const Scene *scene = t->scene;
- const short autosnap= getAnimEdit_SnapMode(t);
+ const short autosnap = getAnimEdit_SnapMode(t);
const short do_time = getAnimEdit_DrawTime(t);
- const double secf= FPS;
+ const double secf = FPS;
float val = t->values[0];
/* apply snapping + frame->seconds conversions */
if (autosnap == SACTSNAP_STEP) {
if (do_time)
- val= floorf((double)val / secf + 0.5);
+ val = floorf((double)val / secf + 0.5);
else
- val= floorf(val + 0.5f);
+ val = floorf(val + 0.5f);
}
else {
if (do_time)
- val= (float)((double)val / secf);
+ val = (float)((double)val / secf);
}
if (autosnap == SACTSNAP_FRAME)
@@ -5865,20 +6015,20 @@ static void applyTimeTranslate(TransInfo *t, float UNUSED(sval))
Scene *scene = t->scene;
int i;
- const short do_time= getAnimEdit_DrawTime(t);
- const double secf= FPS;
+ const short do_time = getAnimEdit_DrawTime(t);
+ const double secf = FPS;
- const short autosnap= getAnimEdit_SnapMode(t);
+ const short autosnap = getAnimEdit_SnapMode(t);
float deltax, val /* , valprev */;
/* it doesn't matter whether we apply to t->data or t->data2d, but t->data2d is more convenient */
- for (i = 0 ; i < t->total; i++, td++, td2d++) {
+ for (i = 0; i < t->total; i++, td++, td2d++) {
/* it is assumed that td->extra is a pointer to the AnimData,
* whose active action is where this keyframe comes from
* (this is only valid when not in NLA)
*/
- AnimData *adt= (t->spacetype != SPACE_NLA) ? td->extra : NULL;
+ AnimData *adt = (t->spacetype != SPACE_NLA) ? td->extra : NULL;
/* valprev = *td->val; */ /* UNUSED */
@@ -5949,7 +6099,7 @@ void initTimeSlide(TransInfo *t)
{
/* this tool is only really available in the Action Editor... */
if (t->spacetype == SPACE_ACTION) {
- SpaceAction *saction= (SpaceAction *)t->sa->spacedata.first;
+ SpaceAction *saction = (SpaceAction *)t->sa->spacedata.first;
/* set flag for drawing stuff */
saction->flag |= SACTION_MOVING;
@@ -5985,12 +6135,12 @@ static void headerTimeSlide(TransInfo *t, float sval, char *str)
outputNumInput(&(t->num), tvec);
}
else {
- float minx= *((float *)(t->customData));
- float maxx= *((float *)(t->customData) + 1);
- float cval= t->values[0];
+ float minx = *((float *)(t->customData));
+ float maxx = *((float *)(t->customData) + 1);
+ float cval = t->values[0];
float val;
- val= 2.0f*(cval-sval) / (maxx-minx);
+ val = 2.0f * (cval - sval) / (maxx - minx);
CLAMP(val, -1.0f, 1.0f);
sprintf(&tvec[0], "%.4f", val);
@@ -6004,43 +6154,43 @@ static void applyTimeSlide(TransInfo *t, float sval)
TransData *td = t->data;
int i;
- float minx= *((float *)(t->customData));
- float maxx= *((float *)(t->customData) + 1);
+ float minx = *((float *)(t->customData));
+ float maxx = *((float *)(t->customData) + 1);
/* set value for drawing black line */
if (t->spacetype == SPACE_ACTION) {
- SpaceAction *saction= (SpaceAction *)t->sa->spacedata.first;
+ SpaceAction *saction = (SpaceAction *)t->sa->spacedata.first;
float cvalf = t->values[0];
- saction->timeslide= cvalf;
+ saction->timeslide = cvalf;
}
/* it doesn't matter whether we apply to t->data or t->data2d, but t->data2d is more convenient */
- for (i = 0 ; i < t->total; i++, td++) {
+ for (i = 0; i < t->total; i++, td++) {
/* it is assumed that td->extra is a pointer to the AnimData,
* whose active action is where this keyframe comes from
* (this is only valid when not in NLA)
*/
- AnimData *adt= (t->spacetype != SPACE_NLA) ? td->extra : NULL;
+ AnimData *adt = (t->spacetype != SPACE_NLA) ? td->extra : NULL;
float cval = t->values[0];
/* apply NLA-mapping to necessary values */
if (adt)
- cval= BKE_nla_tweakedit_remap(adt, cval, NLATIME_CONVERT_UNMAP);
+ cval = BKE_nla_tweakedit_remap(adt, cval, NLATIME_CONVERT_UNMAP);
/* only apply to data if in range */
if ((sval > minx) && (sval < maxx)) {
- float cvalc= CLAMPIS(cval, minx, maxx);
+ float cvalc = CLAMPIS(cval, minx, maxx);
float timefac;
/* left half? */
if (td->ival < sval) {
- timefac= (sval - td->ival) / (sval - minx);
- *(td->val)= cvalc - timefac * (cvalc - minx);
+ timefac = (sval - td->ival) / (sval - minx);
+ *(td->val) = cvalc - timefac * (cvalc - minx);
}
else {
- timefac= (td->ival - sval) / (maxx - sval);
- *(td->val)= cvalc + timefac * (maxx - cvalc);
+ timefac = (td->ival - sval) / (maxx - sval);
+ *(td->val) = cvalc + timefac * (maxx - cvalc);
}
}
}
@@ -6050,8 +6200,8 @@ int TimeSlide(TransInfo *t, const int mval[2])
{
View2D *v2d = (View2D *)t->view;
float cval[2], sval[2];
- float minx= *((float *)(t->customData));
- float maxx= *((float *)(t->customData) + 1);
+ float minx = *((float *)(t->customData));
+ float maxx = *((float *)(t->customData) + 1);
char str[200];
/* calculate mouse co-ordinates */
@@ -6063,9 +6213,9 @@ int TimeSlide(TransInfo *t, const int mval[2])
t->values[0] = cval[0];
/* handle numeric-input stuff */
- t->vec[0] = 2.0f*(cval[0]-sval[0]) / (maxx-minx);
+ t->vec[0] = 2.0f * (cval[0] - sval[0]) / (maxx - minx);
applyNumInput(&t->num, &t->vec[0]);
- t->values[0] = (maxx-minx) * t->vec[0] / 2.0f + sval[0];
+ t->values[0] = (maxx - minx) * t->vec[0] / 2.0f + sval[0];
headerTimeSlide(t, sval[0], str);
applyTimeSlide(t, sval[0]);
@@ -6138,19 +6288,19 @@ static void applyTimeScale(TransInfo *t)
TransData2D *td2d = t->data2d;
int i;
- const short autosnap= getAnimEdit_SnapMode(t);
- const short do_time= getAnimEdit_DrawTime(t);
- const double secf= FPS;
+ const short autosnap = getAnimEdit_SnapMode(t);
+ const short do_time = getAnimEdit_DrawTime(t);
+ const double secf = FPS;
- for (i = 0 ; i < t->total; i++, td++, td2d++) {
+ for (i = 0; i < t->total; i++, td++, td2d++) {
/* it is assumed that td->extra is a pointer to the AnimData,
* whose active action is where this keyframe comes from
* (this is only valid when not in NLA)
*/
- AnimData *adt= (t->spacetype != SPACE_NLA) ? td->extra : NULL;
- float startx= CFRA;
- float fac= t->values[0];
+ AnimData *adt = (t->spacetype != SPACE_NLA) ? td->extra : NULL;
+ float startx = CFRA;
+ float fac = t->values[0];
if (autosnap == SACTSNAP_STEP) {
if (do_time)
@@ -6161,7 +6311,7 @@ static void applyTimeScale(TransInfo *t)
/* check if any need to apply nla-mapping */
if (adt)
- startx= BKE_nla_tweakedit_remap(adt, startx, NLATIME_CONVERT_UNMAP);
+ startx = BKE_nla_tweakedit_remap(adt, startx, NLATIME_CONVERT_UNMAP);
/* now, calculate the new value */
*(td->val) = ((td->ival - startx) * fac) + startx;
diff --git a/source/blender/editors/transform/transform.h b/source/blender/editors/transform/transform.h
index 6051fd2577b..fdc09c1bed0 100644
--- a/source/blender/editors/transform/transform.h
+++ b/source/blender/editors/transform/transform.h
@@ -494,6 +494,9 @@ int Tilt(TransInfo *t, const int mval[2]);
void initCurveShrinkFatten(TransInfo *t);
int CurveShrinkFatten(TransInfo *t, const int mval[2]);
+void initMaskShrinkFatten(TransInfo *t);
+int MaskShrinkFatten(TransInfo *t, const int mval[2]);
+
void initTrackball(TransInfo *t);
int Trackball(TransInfo *t, const int mval[2]);
@@ -552,7 +555,7 @@ struct wmKeyMap *transform_modal_keymap(struct wmKeyConfig *keyconf);
/*********************** transform_conversions.c ********** */
struct ListBase;
-void flushTransGPactionData(TransInfo *t);
+void flushTransIntFrameActionData(TransInfo *t);
void flushTransGraphData(TransInfo *t);
void remake_graph_transdata(TransInfo *t, struct ListBase *anim_data);
void flushTransUVs(TransInfo *t);
@@ -561,6 +564,7 @@ int clipUVTransform(TransInfo *t, float *vec, int resize);
void flushTransNodes(TransInfo *t);
void flushTransSeq(TransInfo *t);
void flushTransTracking(TransInfo *t);
+void flushTransMasking(TransInfo *t);
/*********************** exported from transform_manipulator.c ********** */
int gimbal_axis(struct Object *ob, float gmat[][3]); /* return 0 when no gimbal for selection */
diff --git a/source/blender/editors/transform/transform_constraints.c b/source/blender/editors/transform/transform_constraints.c
index b18d132f8df..d2910c5b602 100644
--- a/source/blender/editors/transform/transform_constraints.c
+++ b/source/blender/editors/transform/transform_constraints.c
@@ -77,7 +77,7 @@ static void constraintAutoValues(TransInfo *t, float vec[3])
{
int mode = t->con.mode;
if (mode & CON_APPLY) {
- float nval = (t->flag & T_NULL_ONE)?1.0f:0.0f;
+ float nval = (t->flag & T_NULL_ONE) ? 1.0f : 0.0f;
if ((mode & CON_AXIS0) == 0) {
vec[0] = nval;
@@ -95,21 +95,21 @@ void constraintNumInput(TransInfo *t, float vec[3])
{
int mode = t->con.mode;
if (mode & CON_APPLY) {
- float nval = (t->flag & T_NULL_ONE)?1.0f:0.0f;
+ float nval = (t->flag & T_NULL_ONE) ? 1.0f : 0.0f;
if (getConstraintSpaceDimension(t) == 2) {
- int axis = mode & (CON_AXIS0|CON_AXIS1|CON_AXIS2);
- if (axis == (CON_AXIS0|CON_AXIS1)) {
+ int axis = mode & (CON_AXIS0 | CON_AXIS1 | CON_AXIS2);
+ if (axis == (CON_AXIS0 | CON_AXIS1)) {
/* vec[0] = vec[0]; */ /* same */
/* vec[1] = vec[1]; */ /* same */
vec[2] = nval;
}
- else if (axis == (CON_AXIS1|CON_AXIS2)) {
+ else if (axis == (CON_AXIS1 | CON_AXIS2)) {
vec[2] = vec[1];
vec[1] = vec[0];
vec[0] = nval;
}
- else if (axis == (CON_AXIS0|CON_AXIS2)) {
+ else if (axis == (CON_AXIS0 | CON_AXIS2)) {
/* vec[0] = vec[0]; */ /* same */
vec[2] = vec[1];
vec[1] = nval;
@@ -184,7 +184,7 @@ static void viewAxisCorrectCenter(TransInfo *t, float t_con_center[3])
{
if (t->spacetype == SPACE_VIEW3D) {
// View3D *v3d = t->sa->spacedata.first;
- const float min_dist= 1.0f; // v3d->near;
+ const float min_dist = 1.0f; /* v3d->near; */
float dir[3];
float l;
@@ -194,7 +194,7 @@ static void viewAxisCorrectCenter(TransInfo *t, float t_con_center[3])
}
project_v3_v3v3(dir, dir, t->viewinv[2]);
- l= len_v3(dir);
+ l = len_v3(dir);
if (l < min_dist) {
float diff[3];
@@ -211,7 +211,7 @@ static void axisProjection(TransInfo *t, float axis[3], float in[3], float out[3
float norm[3], vec[3], factor, angle;
float t_con_center[3];
- if (in[0]==0.0f && in[1]==0.0f && in[2]==0.0f)
+ if (in[0] == 0.0f && in[1] == 0.0f && in[2] == 0.0f)
return;
copy_v3_v3(t_con_center, t->con.center);
@@ -232,12 +232,12 @@ static void axisProjection(TransInfo *t, float axis[3], float in[3], float out[3
project_v3_v3v3(vec, in, t->viewinv[1]);
factor = dot_v3v3(t->viewinv[1], vec) * 2.0f;
/* since camera distance is quite relative, use quadratic relationship. holding shift can compensate */
- if (factor<0.0f) factor*= -factor;
- else factor*= factor;
+ if (factor < 0.0f) factor *= -factor;
+ else factor *= factor;
copy_v3_v3(out, axis);
normalize_v3(out);
- mul_v3_fl(out, -factor); /* -factor makes move down going backwards */
+ mul_v3_fl(out, -factor); /* -factor makes move down going backwards */
}
else {
float v[3], i1[3], i2[3];
@@ -276,10 +276,10 @@ static void axisProjection(TransInfo *t, float axis[3], float in[3], float out[3
sub_v3_v3v3(out, i1, t_con_center);
/* possible some values become nan when
- * viewpoint and object are both zero */
- if (!finite(out[0])) out[0]= 0.0f;
- if (!finite(out[1])) out[1]= 0.0f;
- if (!finite(out[2])) out[2]= 0.0f;
+ * viewpoint and object are both zero */
+ if (!finite(out[0])) out[0] = 0.0f;
+ if (!finite(out[1])) out[1] = 0.0f;
+ if (!finite(out[2])) out[2] = 0.0f;
}
}
}
@@ -386,7 +386,7 @@ static void applyObjectConstraintVec(TransInfo *t, TransData *td, float in[3], f
copy_v3_v3(out, pvec);
}
else {
- int i=0;
+ int i = 0;
out[0] = out[1] = out[2] = 0.0f;
if (t->con.mode & CON_AXIS0) {
@@ -475,21 +475,21 @@ static void applyObjectConstraintSize(TransInfo *t, TransData *td, float smat[3]
static void applyAxisConstraintRot(TransInfo *t, TransData *td, float vec[3], float *angle)
{
if (!td && t->con.mode & CON_APPLY) {
- int mode = t->con.mode & (CON_AXIS0|CON_AXIS1|CON_AXIS2);
+ int mode = t->con.mode & (CON_AXIS0 | CON_AXIS1 | CON_AXIS2);
switch (mode) {
- case CON_AXIS0:
- case (CON_AXIS1|CON_AXIS2):
- copy_v3_v3(vec, t->con.mtx[0]);
- break;
- case CON_AXIS1:
- case (CON_AXIS0|CON_AXIS2):
- copy_v3_v3(vec, t->con.mtx[1]);
- break;
- case CON_AXIS2:
- case (CON_AXIS0|CON_AXIS1):
- copy_v3_v3(vec, t->con.mtx[2]);
- break;
+ case CON_AXIS0:
+ case (CON_AXIS1 | CON_AXIS2):
+ copy_v3_v3(vec, t->con.mtx[0]);
+ break;
+ case CON_AXIS1:
+ case (CON_AXIS0 | CON_AXIS2):
+ copy_v3_v3(vec, t->con.mtx[1]);
+ break;
+ case CON_AXIS2:
+ case (CON_AXIS0 | CON_AXIS1):
+ copy_v3_v3(vec, t->con.mtx[2]);
+ break;
}
/* don't flip axis if asked to or if num input */
if (angle && (mode & CON_NOFLIP) == 0 && hasNumInput(&t->num) == 0) {
@@ -517,26 +517,26 @@ static void applyAxisConstraintRot(TransInfo *t, TransData *td, float vec[3], fl
static void applyObjectConstraintRot(TransInfo *t, TransData *td, float vec[3], float *angle)
{
if (t->con.mode & CON_APPLY) {
- int mode = t->con.mode & (CON_AXIS0|CON_AXIS1|CON_AXIS2);
+ int mode = t->con.mode & (CON_AXIS0 | CON_AXIS1 | CON_AXIS2);
/* on setup call, use first object */
if (td == NULL) {
- td= t->data;
+ td = t->data;
}
switch (mode) {
- case CON_AXIS0:
- case (CON_AXIS1|CON_AXIS2):
- copy_v3_v3(vec, td->axismtx[0]);
- break;
- case CON_AXIS1:
- case (CON_AXIS0|CON_AXIS2):
- copy_v3_v3(vec, td->axismtx[1]);
- break;
- case CON_AXIS2:
- case (CON_AXIS0|CON_AXIS1):
- copy_v3_v3(vec, td->axismtx[2]);
- break;
+ case CON_AXIS0:
+ case (CON_AXIS1 | CON_AXIS2):
+ copy_v3_v3(vec, td->axismtx[0]);
+ break;
+ case CON_AXIS1:
+ case (CON_AXIS0 | CON_AXIS2):
+ copy_v3_v3(vec, td->axismtx[1]);
+ break;
+ case CON_AXIS2:
+ case (CON_AXIS0 | CON_AXIS1):
+ copy_v3_v3(vec, td->axismtx[2]);
+ break;
}
if (angle && (mode & CON_NOFLIP) == 0 && hasNumInput(&t->num) == 0) {
if (dot_v3v3(vec, t->viewinv[2]) > 0.0f) {
@@ -604,33 +604,33 @@ void setUserConstraint(TransInfo *t, short orientation, int mode, const char fte
char text[40];
switch (orientation) {
- case V3D_MANIP_GLOBAL:
+ case V3D_MANIP_GLOBAL:
{
- float mtx[3][3]= MAT3_UNITY;
+ float mtx[3][3] = MAT3_UNITY;
BLI_snprintf(text, sizeof(text), ftext, "global");
setConstraint(t, mtx, mode, text);
}
break;
- case V3D_MANIP_LOCAL:
- BLI_snprintf(text, sizeof(text), ftext, "local");
- setLocalConstraint(t, mode, text);
- break;
- case V3D_MANIP_NORMAL:
- BLI_snprintf(text, sizeof(text), ftext, "normal");
- setConstraint(t, t->spacemtx, mode, text);
- break;
- case V3D_MANIP_VIEW:
- BLI_snprintf(text, sizeof(text), ftext, "view");
- setConstraint(t, t->spacemtx, mode, text);
- break;
- case V3D_MANIP_GIMBAL:
- BLI_snprintf(text, sizeof(text), ftext, "gimbal");
- setConstraint(t, t->spacemtx, mode, text);
- break;
- default: /* V3D_MANIP_CUSTOM */
- BLI_snprintf(text, sizeof(text), ftext, t->spacename);
- setConstraint(t, t->spacemtx, mode, text);
- break;
+ case V3D_MANIP_LOCAL:
+ BLI_snprintf(text, sizeof(text), ftext, "local");
+ setLocalConstraint(t, mode, text);
+ break;
+ case V3D_MANIP_NORMAL:
+ BLI_snprintf(text, sizeof(text), ftext, "normal");
+ setConstraint(t, t->spacemtx, mode, text);
+ break;
+ case V3D_MANIP_VIEW:
+ BLI_snprintf(text, sizeof(text), ftext, "view");
+ setConstraint(t, t->spacemtx, mode, text);
+ break;
+ case V3D_MANIP_GIMBAL:
+ BLI_snprintf(text, sizeof(text), ftext, "gimbal");
+ setConstraint(t, t->spacemtx, mode, text);
+ break;
+ default: /* V3D_MANIP_CUSTOM */
+ BLI_snprintf(text, sizeof(text), ftext, t->spacename);
+ setConstraint(t, t->spacemtx, mode, text);
+ break;
}
t->con.orientation = orientation;
@@ -682,8 +682,8 @@ void drawConstraint(TransInfo *t)
setlinestyle(1);
glBegin(GL_LINE_STRIP);
- glVertex3fv(tc->center);
- glVertex3fv(vec);
+ glVertex3fv(tc->center);
+ glVertex3fv(vec);
glEnd();
setlinestyle(0);
@@ -733,7 +733,7 @@ void drawPropCircle(const struct bContext *C, TransInfo *t)
float aspx, aspy;
ED_space_image_uv_aspect(t->sa->spacedata.first, &aspx, &aspy);
- glScalef(1.0f/aspx, 1.0f/aspy, 1.0);
+ glScalef(1.0f / aspx, 1.0f / aspy, 1.0);
}
set_inverted_drawing(1);
@@ -747,7 +747,7 @@ void drawPropCircle(const struct bContext *C, TransInfo *t)
static void drawObjectConstraint(TransInfo *t)
{
int i;
- TransData * td = t->data;
+ TransData *td = t->data;
/* Draw the first one lighter because that's the one who controls the others.
* Meaning the transformation is projected on that one and just copied on the others
@@ -767,7 +767,7 @@ static void drawObjectConstraint(TransInfo *t)
td++;
- for (i=1; i < t->total; i++, td++) {
+ for (i = 1; i < t->total; i++, td++) {
if (t->con.mode & CON_AXIS0) {
drawLine(t, td->ob->obmat[3], td->axismtx[0], 'X', 0);
}
@@ -791,7 +791,7 @@ void startConstraint(TransInfo *t)
void stopConstraint(TransInfo *t)
{
- t->con.mode &= ~(CON_APPLY|CON_SELECT);
+ t->con.mode &= ~(CON_APPLY | CON_SELECT);
*t->con.text = '\0';
t->num.idx_max = t->idx_max;
}
@@ -803,21 +803,21 @@ void getConstraintMatrix(TransInfo *t)
unit_m3(t->con.pmtx);
if (!(t->con.mode & CON_AXIS0)) {
- t->con.pmtx[0][0] =
- t->con.pmtx[0][1] =
- t->con.pmtx[0][2] = 0.0f;
+ t->con.pmtx[0][0] =
+ t->con.pmtx[0][1] =
+ t->con.pmtx[0][2] = 0.0f;
}
if (!(t->con.mode & CON_AXIS1)) {
- t->con.pmtx[1][0] =
- t->con.pmtx[1][1] =
- t->con.pmtx[1][2] = 0.0f;
+ t->con.pmtx[1][0] =
+ t->con.pmtx[1][1] =
+ t->con.pmtx[1][2] = 0.0f;
}
if (!(t->con.mode & CON_AXIS2)) {
- t->con.pmtx[2][0] =
- t->con.pmtx[2][1] =
- t->con.pmtx[2][2] = 0.0f;
+ t->con.pmtx[2][0] =
+ t->con.pmtx[2][1] =
+ t->con.pmtx[2][2] = 0.0f;
}
mul_m3_m3m3(mat, t->con.pmtx, t->con.imtx);
@@ -866,7 +866,7 @@ void postSelectConstraint(TransInfo *t)
static void setNearestAxis2d(TransInfo *t)
{
/* no correction needed... just use whichever one is lower */
- if ( abs(t->mval[0]-t->con.imval[0]) < abs(t->mval[1]-t->con.imval[1]) ) {
+ if (abs(t->mval[0] - t->con.imval[0]) < abs(t->mval[1] - t->con.imval[1]) ) {
t->con.mode |= CON_AXIS1;
BLI_snprintf(t->con.text, sizeof(t->con.text), " along Y axis");
}
@@ -895,10 +895,10 @@ static void setNearestAxis3d(TransInfo *t)
* of two 2D points 30 pixels apart (that's the last factor in the formula) after
* projecting them with window_to_3d_delta and then get the length of that vector.
*/
- zfac= t->persmat[0][3]*t->center[0]+ t->persmat[1][3]*t->center[1]+ t->persmat[2][3]*t->center[2]+ t->persmat[3][3];
- zfac = len_v3(t->persinv[0]) * 2.0f/t->ar->winx * zfac * 30.0f;
+ zfac = t->persmat[0][3] * t->center[0] + t->persmat[1][3] * t->center[1] + t->persmat[2][3] * t->center[2] + t->persmat[3][3];
+ zfac = len_v3(t->persinv[0]) * 2.0f / t->ar->winx * zfac * 30.0f;
- for (i = 0; i<3; i++) {
+ for (i = 0; i < 3; i++) {
copy_v3_v3(axis, t->con.mtx[i]);
mul_v3_fl(axis, zfac);
@@ -922,7 +922,7 @@ static void setNearestAxis3d(TransInfo *t)
if (len[0] <= len[1] && len[0] <= len[2]) {
if (t->modifiers & MOD_CONSTRAINT_PLANE) {
- t->con.mode |= (CON_AXIS1|CON_AXIS2);
+ t->con.mode |= (CON_AXIS1 | CON_AXIS2);
BLI_snprintf(t->con.text, sizeof(t->con.text), " locking %s X axis", t->spacename);
}
else {
@@ -932,7 +932,7 @@ static void setNearestAxis3d(TransInfo *t)
}
else if (len[1] <= len[0] && len[1] <= len[2]) {
if (t->modifiers & MOD_CONSTRAINT_PLANE) {
- t->con.mode |= (CON_AXIS0|CON_AXIS2);
+ t->con.mode |= (CON_AXIS0 | CON_AXIS2);
BLI_snprintf(t->con.text, sizeof(t->con.text), " locking %s Y axis", t->spacename);
}
else {
@@ -942,7 +942,7 @@ static void setNearestAxis3d(TransInfo *t)
}
else if (len[2] <= len[1] && len[2] <= len[0]) {
if (t->modifiers & MOD_CONSTRAINT_PLANE) {
- t->con.mode |= (CON_AXIS0|CON_AXIS1);
+ t->con.mode |= (CON_AXIS0 | CON_AXIS1);
BLI_snprintf(t->con.text, sizeof(t->con.text), " locking %s Z axis", t->spacename);
}
else {
@@ -976,21 +976,21 @@ void setNearestAxis(TransInfo *t)
char constraintModeToChar(TransInfo *t)
{
- if ((t->con.mode & CON_APPLY)==0) {
+ if ((t->con.mode & CON_APPLY) == 0) {
return '\0';
}
- switch (t->con.mode & (CON_AXIS0|CON_AXIS1|CON_AXIS2)) {
- case (CON_AXIS0):
- case (CON_AXIS1|CON_AXIS2):
- return 'X';
- case (CON_AXIS1):
- case (CON_AXIS0|CON_AXIS2):
- return 'Y';
- case (CON_AXIS2):
- case (CON_AXIS0|CON_AXIS1):
- return 'Z';
- default:
- return '\0';
+ switch (t->con.mode & (CON_AXIS0 | CON_AXIS1 | CON_AXIS2)) {
+ case (CON_AXIS0):
+ case (CON_AXIS1 | CON_AXIS2):
+ return 'X';
+ case (CON_AXIS1):
+ case (CON_AXIS0 | CON_AXIS2):
+ return 'Y';
+ case (CON_AXIS2):
+ case (CON_AXIS0 | CON_AXIS1):
+ return 'Z';
+ default:
+ return '\0';
}
}
@@ -999,13 +999,13 @@ int isLockConstraint(TransInfo *t)
{
int mode = t->con.mode;
- if ( (mode & (CON_AXIS0|CON_AXIS1)) == (CON_AXIS0|CON_AXIS1))
+ if ((mode & (CON_AXIS0 | CON_AXIS1)) == (CON_AXIS0 | CON_AXIS1))
return 1;
- if ( (mode & (CON_AXIS1|CON_AXIS2)) == (CON_AXIS1|CON_AXIS2))
+ if ((mode & (CON_AXIS1 | CON_AXIS2)) == (CON_AXIS1 | CON_AXIS2))
return 1;
- if ( (mode & (CON_AXIS0|CON_AXIS2)) == (CON_AXIS0|CON_AXIS2))
+ if ((mode & (CON_AXIS0 | CON_AXIS2)) == (CON_AXIS0 | CON_AXIS2))
return 1;
return 0;
diff --git a/source/blender/editors/transform/transform_conversions.c b/source/blender/editors/transform/transform_conversions.c
index 1b06f42fd2c..fbc59f4c2cb 100644
--- a/source/blender/editors/transform/transform_conversions.c
+++ b/source/blender/editors/transform/transform_conversions.c
@@ -53,6 +53,7 @@
#include "DNA_meshdata_types.h"
#include "DNA_gpencil_types.h"
#include "DNA_movieclip_types.h"
+#include "DNA_mask_types.h"
#include "MEM_guardedalloc.h"
@@ -87,6 +88,7 @@
#include "BKE_sequencer.h"
#include "BKE_tessmesh.h"
#include "BKE_tracking.h"
+#include "BKE_mask.h"
#include "ED_anim_api.h"
@@ -102,9 +104,10 @@
#include "ED_types.h"
#include "ED_uvedit.h"
#include "ED_clip.h"
+#include "ED_mask.h"
#include "ED_util.h" /* for crazyspace correction */
-#include "WM_api.h" /* for WM_event_add_notifier to deal with stabilization nodes */
+#include "WM_api.h" /* for WM_event_add_notifier to deal with stabilization nodes */
#include "WM_types.h"
#include "UI_view2d.h"
@@ -159,10 +162,10 @@ static void qsort_trans_data(TransInfo *t, TransData *head, TransData *tail, Tra
*head = *temp;
if (ihead < head) {
- qsort_trans_data(t, ihead, head-1, temp);
+ qsort_trans_data(t, ihead, head - 1, temp);
}
if (itail > head) {
- qsort_trans_data(t, head+1, itail, temp);
+ qsort_trans_data(t, head + 1, itail, temp);
}
}
@@ -214,18 +217,18 @@ static void set_prop_dist(TransInfo *t, short with_dist)
TransData *tob;
int a;
- for (a=0, tob= t->data; a<t->total; a++, tob++) {
+ for (a = 0, tob = t->data; a < t->total; a++, tob++) {
- tob->rdist= 0.0f; // init, it was mallocced
+ tob->rdist = 0.0f; // init, it was mallocced
- if ((tob->flag & TD_SELECTED)==0) {
+ if ((tob->flag & TD_SELECTED) == 0) {
TransData *td;
int i;
float dist, vec[3];
tob->rdist = -1.0f; // signal for next loop
- for (i = 0, td= t->data; i < t->total; i++, td++) {
+ for (i = 0, td = t->data; i < t->total; i++, td++) {
if (td->flag & TD_SELECTED) {
sub_v3_v3v3(vec, tob->center, td->center);
mul_m3_v3(tob->mtx, vec);
@@ -237,7 +240,7 @@ static void set_prop_dist(TransInfo *t, short with_dist)
tob->rdist = dist;
}
}
- else break; // by definition transdata has selected items in beginning
+ else break; // by definition transdata has selected items in beginning
}
if (with_dist) {
tob->dist = tob->rdist;
@@ -266,16 +269,16 @@ static void createTransTexspace(TransInfo *t)
}
id = ob->data;
- if (id == NULL || !ELEM3(GS(id->name), ID_ME, ID_CU, ID_MB )) {
+ if (id == NULL || !ELEM3(GS(id->name), ID_ME, ID_CU, ID_MB)) {
t->total = 0;
return;
}
t->total = 1;
- td= t->data= MEM_callocN(sizeof(TransData), "TransTexspace");
- td->ext= t->ext= MEM_callocN(sizeof(TransDataExtension), "TransTexspace");
+ td = t->data = MEM_callocN(sizeof(TransData), "TransTexspace");
+ td->ext = t->ext = MEM_callocN(sizeof(TransDataExtension), "TransTexspace");
- td->flag= TD_SELECTED;
+ td->flag = TD_SELECTED;
copy_v3_v3(td->center, ob->obmat[3]);
td->ob = ob;
@@ -303,7 +306,7 @@ static void createTransEdge(TransInfo *t)
BMEdge *eed;
BMIter iter;
float mtx[3][3], smtx[3][3];
- int count=0, countsel=0;
+ int count = 0, countsel = 0;
int propmode = t->flag & T_PROP_EDIT;
BM_ITER_MESH (eed, &iter, em->bm, BM_EDGES_OF_MESH) {
@@ -323,7 +326,7 @@ static void createTransEdge(TransInfo *t)
t->total = countsel;
}
- td= t->data= MEM_callocN(t->total * sizeof(TransData), "TransCrease");
+ td = t->data = MEM_callocN(t->total * sizeof(TransData), "TransCrease");
copy_m3_m4(mtx, t->obedit->obmat);
invert_m3_m3(smtx, mtx);
@@ -337,11 +340,11 @@ static void createTransEdge(TransInfo *t)
add_v3_v3v3(td->center, eed->v1->co, eed->v2->co);
mul_v3_fl(td->center, 0.5f);
- td->loc= NULL;
+ td->loc = NULL;
if (BM_elem_flag_test(eed, BM_ELEM_SELECT))
- td->flag= TD_SELECTED;
+ td->flag = TD_SELECTED;
else
- td->flag= 0;
+ td->flag = 0;
copy_m3_m3(td->smtx, smtx);
@@ -366,15 +369,15 @@ static void createTransEdge(TransInfo *t)
static bKinematicConstraint *has_targetless_ik(bPoseChannel *pchan)
{
- bConstraint *con= pchan->constraints.first;
+ bConstraint *con = pchan->constraints.first;
- for (;con; con= con->next) {
- if (con->type==CONSTRAINT_TYPE_KINEMATIC && (con->enforce!=0.0f)) {
- bKinematicConstraint *data= con->data;
+ for (; con; con = con->next) {
+ if (con->type == CONSTRAINT_TYPE_KINEMATIC && (con->enforce != 0.0f)) {
+ bKinematicConstraint *data = con->data;
- if (data->tar==NULL)
+ if (data->tar == NULL)
return data;
- if (data->tar->type==OB_ARMATURE && data->subtarget[0]==0)
+ if (data->tar->type == OB_ARMATURE && data->subtarget[0] == 0)
return data;
}
}
@@ -385,44 +388,44 @@ static short apply_targetless_ik(Object *ob)
{
bPoseChannel *pchan, *parchan, *chanlist[256];
bKinematicConstraint *data;
- int segcount, apply= 0;
+ int segcount, apply = 0;
/* now we got a difficult situation... we have to find the
* target-less IK pchans, and apply transformation to the all
* pchans that were in the chain */
- for (pchan=ob->pose->chanbase.first; pchan; pchan=pchan->next) {
- data= has_targetless_ik(pchan);
+ for (pchan = ob->pose->chanbase.first; pchan; pchan = pchan->next) {
+ data = has_targetless_ik(pchan);
if (data && (data->flag & CONSTRAINT_IK_AUTO)) {
/* fill the array with the bones of the chain (armature.c does same, keep it synced) */
- segcount= 0;
+ segcount = 0;
/* exclude tip from chain? */
if (!(data->flag & CONSTRAINT_IK_TIP))
- parchan= pchan->parent;
+ parchan = pchan->parent;
else
- parchan= pchan;
+ parchan = pchan;
/* Find the chain's root & count the segments needed */
- for (; parchan; parchan=parchan->parent) {
- chanlist[segcount]= parchan;
+ for (; parchan; parchan = parchan->parent) {
+ chanlist[segcount] = parchan;
segcount++;
- if (segcount==data->rootbone || segcount>255) break; // 255 is weak
+ if (segcount == data->rootbone || segcount > 255) break; // 255 is weak
}
- for (;segcount;segcount--) {
+ for (; segcount; segcount--) {
Bone *bone;
- float rmat[4][4]/*, tmat[4][4], imat[4][4]*/;
+ float rmat[4][4] /*, tmat[4][4], imat[4][4]*/;
/* pose_mat(b) = pose_mat(b-1) * offs_bone * channel * constraint * IK */
/* we put in channel the entire result of rmat= (channel * constraint * IK) */
/* pose_mat(b) = pose_mat(b-1) * offs_bone * rmat */
/* rmat = pose_mat(b) * inv(pose_mat(b-1) * offs_bone ) */
- parchan= chanlist[segcount-1];
- bone= parchan->bone;
- bone->flag |= BONE_TRANSFORM; /* ensures it gets an auto key inserted */
+ parchan = chanlist[segcount - 1];
+ bone = parchan->bone;
+ bone->flag |= BONE_TRANSFORM; /* ensures it gets an auto key inserted */
BKE_armature_mat_pose_to_bone(parchan, parchan->pose_mat, rmat);
@@ -433,11 +436,11 @@ static short apply_targetless_ik(Object *ob)
copy_m3_m4(rmat3, rmat);
/* rotation */
- /* [#22409] is partially caused by this, as slight numeric error introduced during
- * the solving process leads to locked-axis values changing. However, we cannot modify
- * the values here, or else there are huge discreptancies between IK-solver (interactive)
- * and applied poses.
- */
+ /* [#22409] is partially caused by this, as slight numeric error introduced during
+ * the solving process leads to locked-axis values changing. However, we cannot modify
+ * the values here, or else there are huge discreptancies between IK-solver (interactive)
+ * and applied poses.
+ */
if (parchan->rotmode > 0)
mat3_to_eulO(parchan->eul, parchan->rotmode, rmat3);
else if (parchan->rotmode == ROT_MODE_AXISANGLE)
@@ -467,7 +470,7 @@ static short apply_targetless_ik(Object *ob)
}
- apply= 1;
+ apply = 1;
data->flag &= ~CONSTRAINT_IK_AUTO;
}
}
@@ -477,7 +480,7 @@ static short apply_targetless_ik(Object *ob)
static void add_pose_transdata(TransInfo *t, bPoseChannel *pchan, Object *ob, TransData *td)
{
- Bone *bone= pchan->bone;
+ Bone *bone = pchan->bone;
float pmat[3][3], omat[3][3];
float cmat[3][3], tmat[3][3];
float vec[3];
@@ -496,40 +499,40 @@ static void add_pose_transdata(TransInfo *t, bPoseChannel *pchan, Object *ob, Tr
td->flag |= TD_NO_LOC;
}
- td->protectflag= pchan->protectflag;
+ td->protectflag = pchan->protectflag;
td->loc = pchan->loc;
copy_v3_v3(td->iloc, pchan->loc);
- td->ext->size= pchan->size;
+ td->ext->size = pchan->size;
copy_v3_v3(td->ext->isize, pchan->size);
if (pchan->rotmode > 0) {
- td->ext->rot= pchan->eul;
- td->ext->rotAxis= NULL;
- td->ext->rotAngle= NULL;
- td->ext->quat= NULL;
+ td->ext->rot = pchan->eul;
+ td->ext->rotAxis = NULL;
+ td->ext->rotAngle = NULL;
+ td->ext->quat = NULL;
copy_v3_v3(td->ext->irot, pchan->eul);
}
else if (pchan->rotmode == ROT_MODE_AXISANGLE) {
- td->ext->rot= NULL;
- td->ext->rotAxis= pchan->rotAxis;
- td->ext->rotAngle= &pchan->rotAngle;
- td->ext->quat= NULL;
+ td->ext->rot = NULL;
+ td->ext->rotAxis = pchan->rotAxis;
+ td->ext->rotAngle = &pchan->rotAngle;
+ td->ext->quat = NULL;
- td->ext->irotAngle= pchan->rotAngle;
+ td->ext->irotAngle = pchan->rotAngle;
copy_v3_v3(td->ext->irotAxis, pchan->rotAxis);
}
else {
- td->ext->rot= NULL;
- td->ext->rotAxis= NULL;
- td->ext->rotAngle= NULL;
- td->ext->quat= pchan->quat;
+ td->ext->rot = NULL;
+ td->ext->rotAxis = NULL;
+ td->ext->rotAngle = NULL;
+ td->ext->quat = pchan->quat;
copy_qt_qt(td->ext->iquat, pchan->quat);
}
- td->ext->rotOrder= pchan->rotmode;
+ td->ext->rotOrder = pchan->rotmode;
/* proper way to get parent transform + own transform + constraints transform */
@@ -556,11 +559,11 @@ static void add_pose_transdata(TransInfo *t, bPoseChannel *pchan, Object *ob, Tr
copy_m3_m4(tmat, pchan->constinv);
invert_m3_m3(cmat, tmat);
mul_serie_m3(td->mtx, pmat, omat, cmat, NULL, NULL, NULL, NULL, NULL);
- mul_serie_m3(td->ext->r_mtx, rpmat, omat, cmat, NULL,NULL,NULL,NULL,NULL);
+ mul_serie_m3(td->ext->r_mtx, rpmat, omat, cmat, NULL, NULL, NULL, NULL, NULL);
}
else {
- mul_serie_m3(td->mtx, pmat, omat, NULL, NULL,NULL,NULL,NULL,NULL);
- mul_serie_m3(td->ext->r_mtx, rpmat, omat, NULL, NULL,NULL,NULL,NULL,NULL);
+ mul_serie_m3(td->mtx, pmat, omat, NULL, NULL, NULL, NULL, NULL, NULL);
+ mul_serie_m3(td->ext->r_mtx, rpmat, omat, NULL, NULL, NULL, NULL, NULL, NULL);
}
invert_m3_m3(td->ext->r_smtx, td->ext->r_mtx);
}
@@ -585,25 +588,25 @@ static void add_pose_transdata(TransInfo *t, bPoseChannel *pchan, Object *ob, Tr
mul_m3_m3m3(td->axismtx, omat, pmat);
normalize_m3(td->axismtx);
- if (t->mode==TFM_BONESIZE) {
- bArmature *arm= t->poseobj->data;
+ if (t->mode == TFM_BONESIZE) {
+ bArmature *arm = t->poseobj->data;
- if (arm->drawtype==ARM_ENVELOPE) {
- td->loc= NULL;
- td->val= &bone->dist;
- td->ival= bone->dist;
+ if (arm->drawtype == ARM_ENVELOPE) {
+ td->loc = NULL;
+ td->val = &bone->dist;
+ td->ival = bone->dist;
}
else {
// abusive storage of scale in the loc pointer :)
- td->loc= &bone->xwidth;
+ td->loc = &bone->xwidth;
copy_v3_v3(td->iloc, td->loc);
- td->val= NULL;
+ td->val = NULL;
}
}
/* in this case we can do target-less IK grabbing */
- if (t->mode==TFM_TRANSLATION) {
- bKinematicConstraint *data= has_targetless_ik(pchan);
+ if (t->mode == TFM_TRANSLATION) {
+ bKinematicConstraint *data = has_targetless_ik(pchan);
if (data) {
if (data->flag & CONSTRAINT_IK_TIP) {
copy_v3_v3(data->grabtarget, pchan->pose_tail);
@@ -622,14 +625,14 @@ static void add_pose_transdata(TransInfo *t, bPoseChannel *pchan, Object *ob, Tr
}
/* store reference to first constraint */
- td->con= pchan->constraints.first;
+ td->con = pchan->constraints.first;
}
static void bone_children_clear_transflag(int mode, short around, ListBase *lb)
{
- Bone *bone= lb->first;
+ Bone *bone = lb->first;
- for ( ; bone;bone= bone->next) {
+ for (; bone; bone = bone->next) {
if ((bone->flag & BONE_HINGE) && (bone->flag & BONE_CONNECTED)) {
bone->flag |= BONE_HINGE_CHILD_TRANSFORM;
}
@@ -651,7 +654,7 @@ static void bone_children_clear_transflag(int mode, short around, ListBase *lb)
* returns total number of bones with BONE_TRANSFORM */
int count_set_pose_transflags(int *out_mode, short around, Object *ob)
{
- bArmature *arm= ob->data;
+ bArmature *arm = ob->data;
bPoseChannel *pchan;
Bone *bone;
int mode = *out_mode;
@@ -696,7 +699,7 @@ int count_set_pose_transflags(int *out_mode, short around, Object *ob)
if (pchan->bone->flag & BONE_HINGE_CHILD_TRANSFORM)
hastranslation = 1;
}
- else if ((pchan->protectflag & OB_LOCK_LOC)!=OB_LOCK_LOC)
+ else if ((pchan->protectflag & OB_LOCK_LOC) != OB_LOCK_LOC)
hastranslation = 1;
}
else
@@ -717,26 +720,26 @@ int count_set_pose_transflags(int *out_mode, short around, Object *ob)
/* -------- Auto-IK ---------- */
/* adjust pose-channel's auto-ik chainlen */
-static void pchan_autoik_adjust (bPoseChannel *pchan, short chainlen)
+static void pchan_autoik_adjust(bPoseChannel *pchan, short chainlen)
{
bConstraint *con;
/* don't bother to search if no valid constraints */
- if ((pchan->constflag & (PCHAN_HAS_IK|PCHAN_HAS_TARGET))==0)
+ if ((pchan->constflag & (PCHAN_HAS_IK | PCHAN_HAS_TARGET)) == 0)
return;
/* check if pchan has ik-constraint */
- for (con= pchan->constraints.first; con; con= con->next) {
- if (con->type == CONSTRAINT_TYPE_KINEMATIC && (con->enforce!=0.0f)) {
- bKinematicConstraint *data= con->data;
+ for (con = pchan->constraints.first; con; con = con->next) {
+ if (con->type == CONSTRAINT_TYPE_KINEMATIC && (con->enforce != 0.0f)) {
+ bKinematicConstraint *data = con->data;
/* only accept if a temporary one (for auto-ik) */
if (data->flag & CONSTRAINT_IK_TEMP) {
/* chainlen is new chainlen, but is limited by maximum chainlen */
- if ((chainlen==0) || (chainlen > data->max_rootbone))
- data->rootbone= data->max_rootbone;
+ if ((chainlen == 0) || (chainlen > data->max_rootbone))
+ data->rootbone = data->max_rootbone;
else
- data->rootbone= chainlen;
+ data->rootbone = chainlen;
}
}
}
@@ -745,7 +748,7 @@ static void pchan_autoik_adjust (bPoseChannel *pchan, short chainlen)
/* change the chain-length of auto-ik */
void transform_autoik_update(TransInfo *t, short mode)
{
- short *chainlen= &t->settings->autoik_chainlen;
+ short *chainlen = &t->settings->autoik_chainlen;
bPoseChannel *pchan;
/* mode determines what change to apply to chainlen */
@@ -763,7 +766,7 @@ void transform_autoik_update(TransInfo *t, short mode)
return;
/* apply to all pose-channels */
- for (pchan=t->poseobj->pose->chanbase.first; pchan; pchan=pchan->next) {
+ for (pchan = t->poseobj->pose->chanbase.first; pchan; pchan = pchan->next) {
pchan_autoik_adjust(pchan, *chainlen);
}
}
@@ -775,17 +778,17 @@ static void pose_grab_with_ik_clear(Object *ob)
bPoseChannel *pchan;
bConstraint *con, *next;
- for (pchan= ob->pose->chanbase.first; pchan; pchan= pchan->next) {
+ for (pchan = ob->pose->chanbase.first; pchan; pchan = pchan->next) {
/* clear all temporary lock flags */
- pchan->ikflag &= ~(BONE_IK_NO_XDOF_TEMP|BONE_IK_NO_YDOF_TEMP|BONE_IK_NO_ZDOF_TEMP);
+ pchan->ikflag &= ~(BONE_IK_NO_XDOF_TEMP | BONE_IK_NO_YDOF_TEMP | BONE_IK_NO_ZDOF_TEMP);
- pchan->constflag &= ~(PCHAN_HAS_IK|PCHAN_HAS_TARGET);
+ pchan->constflag &= ~(PCHAN_HAS_IK | PCHAN_HAS_TARGET);
/* remove all temporary IK-constraints added */
- for (con= pchan->constraints.first; con; con= next) {
- next= con->next;
- if (con->type==CONSTRAINT_TYPE_KINEMATIC) {
- data= con->data;
+ for (con = pchan->constraints.first; con; con = next) {
+ next = con->next;
+ if (con->type == CONSTRAINT_TYPE_KINEMATIC) {
+ data = con->data;
if (data->flag & CONSTRAINT_IK_TEMP) {
BLI_remlink(&pchan->constraints, con);
MEM_freeN(con->data);
@@ -793,7 +796,7 @@ static void pose_grab_with_ik_clear(Object *ob)
continue;
}
pchan->constflag |= PCHAN_HAS_IK;
- if (data->tar==NULL || (data->tar->type==OB_ARMATURE && data->subtarget[0]==0))
+ if (data->tar == NULL || (data->tar->type == OB_ARMATURE && data->subtarget[0] == 0))
pchan->constflag |= PCHAN_HAS_TARGET;
}
}
@@ -812,21 +815,21 @@ static short pose_grab_with_ik_add(bPoseChannel *pchan)
return 0;
/* Rule: not if there's already an IK on this channel */
- for (con= pchan->constraints.first; con; con= con->next) {
- if (con->type==CONSTRAINT_TYPE_KINEMATIC) {
- data= con->data;
+ for (con = pchan->constraints.first; con; con = con->next) {
+ if (con->type == CONSTRAINT_TYPE_KINEMATIC) {
+ data = con->data;
- if (data->tar==NULL || (data->tar->type==OB_ARMATURE && data->subtarget[0]=='\0')) {
+ if (data->tar == NULL || (data->tar->type == OB_ARMATURE && data->subtarget[0] == '\0')) {
/* make reference to constraint to base things off later (if it's the last targetless constraint encountered) */
targetless = (bKinematicConstraint *)con->data;
/* but, if this is a targetless IK, we make it auto anyway (for the children loop) */
- if (con->enforce!=0.0f) {
+ if (con->enforce != 0.0f) {
data->flag |= CONSTRAINT_IK_AUTO;
/* if no chain length has been specified, just make things obey standard rotation locks too */
if (data->rootbone == 0) {
- for (; pchan; pchan=pchan->parent) {
+ for (; pchan; pchan = pchan->parent) {
/* here, we set ik-settings for bone from pchan->protectflag */
// XXX: careful with quats/axis-angle rotations where we're locking 4d components
if (pchan->protectflag & OB_LOCK_ROTX) pchan->ikflag |= BONE_IK_NO_XDOF_TEMP;
@@ -839,23 +842,23 @@ static short pose_grab_with_ik_add(bPoseChannel *pchan)
}
}
- if ((con->flag & CONSTRAINT_DISABLE)==0 && (con->enforce!=0.0f))
+ if ((con->flag & CONSTRAINT_DISABLE) == 0 && (con->enforce != 0.0f))
return 0;
}
}
con = add_pose_constraint(NULL, pchan, "TempConstraint", CONSTRAINT_TYPE_KINEMATIC);
- pchan->constflag |= (PCHAN_HAS_IK|PCHAN_HAS_TARGET); /* for draw, but also for detecting while pose solving */
- data= con->data;
+ pchan->constflag |= (PCHAN_HAS_IK | PCHAN_HAS_TARGET); /* for draw, but also for detecting while pose solving */
+ data = con->data;
if (targetless) {
/* if exists, use values from last targetless (but disabled) IK-constraint as base */
*data = *targetless;
}
else
- data->flag= CONSTRAINT_IK_TIP;
- data->flag |= CONSTRAINT_IK_TEMP|CONSTRAINT_IK_AUTO;
+ data->flag = CONSTRAINT_IK_TIP;
+ data->flag |= CONSTRAINT_IK_TEMP | CONSTRAINT_IK_AUTO;
copy_v3_v3(data->grabtarget, pchan->pose_tail);
- data->rootbone= 0; /* watch-it! has to be 0 here, since we're still on the same bone for the first time through the loop [#25885] */
+ data->rootbone = 0; /* watch-it! has to be 0 here, since we're still on the same bone for the first time through the loop [#25885] */
/* we only include bones that are part of a continual connected chain */
while (pchan) {
@@ -876,7 +879,7 @@ static short pose_grab_with_ik_add(bPoseChannel *pchan)
}
/* make a copy of maximum chain-length */
- data->max_rootbone= data->rootbone;
+ data->max_rootbone = data->rootbone;
return 1;
}
@@ -885,19 +888,19 @@ static short pose_grab_with_ik_add(bPoseChannel *pchan)
static short pose_grab_with_ik_children(bPose *pose, Bone *bone)
{
Bone *bonec;
- short wentdeeper=0, added=0;
+ short wentdeeper = 0, added = 0;
/* go deeper if children & children are connected */
- for (bonec= bone->childbase.first; bonec; bonec= bonec->next) {
+ for (bonec = bone->childbase.first; bonec; bonec = bonec->next) {
if (bonec->flag & BONE_CONNECTED) {
- wentdeeper= 1;
- added+= pose_grab_with_ik_children(pose, bonec);
+ wentdeeper = 1;
+ added += pose_grab_with_ik_children(pose, bonec);
}
}
- if (wentdeeper==0) {
- bPoseChannel *pchan= BKE_pose_channel_find_name(pose, bone->name);
+ if (wentdeeper == 0) {
+ bPoseChannel *pchan = BKE_pose_channel_find_name(pose, bone->name);
if (pchan)
- added+= pose_grab_with_ik_add(pchan);
+ added += pose_grab_with_ik_add(pchan);
}
return added;
@@ -909,30 +912,30 @@ static short pose_grab_with_ik(Object *ob)
bArmature *arm;
bPoseChannel *pchan, *parent;
Bone *bonec;
- short tot_ik= 0;
+ short tot_ik = 0;
- if ((ob==NULL) || (ob->pose==NULL) || (ob->mode & OB_MODE_POSE)==0)
+ if ((ob == NULL) || (ob->pose == NULL) || (ob->mode & OB_MODE_POSE) == 0)
return 0;
arm = ob->data;
/* Rule: allow multiple Bones (but they must be selected, and only one ik-solver per chain should get added) */
- for (pchan= ob->pose->chanbase.first; pchan; pchan= pchan->next) {
+ for (pchan = ob->pose->chanbase.first; pchan; pchan = pchan->next) {
if (pchan->bone->layer & arm->layer) {
if (pchan->bone->flag & BONE_SELECTED) {
/* Rule: no IK for solitatry (unconnected) bones */
- for (bonec=pchan->bone->childbase.first; bonec; bonec=bonec->next) {
+ for (bonec = pchan->bone->childbase.first; bonec; bonec = bonec->next) {
if (bonec->flag & BONE_CONNECTED) {
break;
}
}
- if ((pchan->bone->flag & BONE_CONNECTED)==0 && (bonec == NULL))
+ if ((pchan->bone->flag & BONE_CONNECTED) == 0 && (bonec == NULL))
continue;
/* rule: if selected Bone is not a root bone, it gets a temporal IK */
if (pchan->parent) {
/* only adds if there's no IK yet (and no parent bone was selected) */
- for (parent= pchan->parent; parent; parent= parent->parent) {
+ for (parent = pchan->parent; parent; parent = parent->parent) {
if (parent->bone->flag & BONE_SELECTED)
break;
}
@@ -958,17 +961,17 @@ static void createTransPose(TransInfo *t, Object *ob)
bPoseChannel *pchan;
TransData *td;
TransDataExtension *tdx;
- short ik_on= 0;
+ short ik_on = 0;
int i;
- t->total= 0;
+ t->total = 0;
/* check validity of state */
- arm= BKE_armature_from_object(ob);
- if ((arm==NULL) || (ob->pose==NULL)) return;
+ arm = BKE_armature_from_object(ob);
+ if ((arm == NULL) || (ob->pose == NULL)) return;
if (arm->flag & ARM_RESTPOS) {
- if (ELEM(t->mode, TFM_DUMMY, TFM_BONESIZE)==0) {
+ if (ELEM(t->mode, TFM_DUMMY, TFM_BONESIZE) == 0) {
// XXX use transform operator reports
// BKE_report(op->reports, RPT_ERROR, "Can't select linked when sync selection is enabled");
return;
@@ -976,8 +979,8 @@ static void createTransPose(TransInfo *t, Object *ob)
}
/* do we need to add temporal IK chains? */
- if ((arm->flag & ARM_AUTO_IK) && t->mode==TFM_TRANSLATION) {
- ik_on= pose_grab_with_ik(ob);
+ if ((arm->flag & ARM_AUTO_IK) && t->mode == TFM_TRANSLATION) {
+ ik_on = pose_grab_with_ik(ob);
if (ik_on) t->flag |= T_AUTOIK;
}
@@ -987,26 +990,26 @@ static void createTransPose(TransInfo *t, Object *ob)
if (t->total == 0) return;
t->flag |= T_POSE;
- t->poseobj= ob; /* we also allow non-active objects to be transformed, in weightpaint */
+ t->poseobj = ob; /* we also allow non-active objects to be transformed, in weightpaint */
/* init trans data */
- td = t->data = MEM_callocN(t->total*sizeof(TransData), "TransPoseBone");
- tdx = t->ext = MEM_callocN(t->total*sizeof(TransDataExtension), "TransPoseBoneExt");
- for (i=0; i<t->total; i++, td++, tdx++) {
- td->ext= tdx;
+ td = t->data = MEM_callocN(t->total * sizeof(TransData), "TransPoseBone");
+ tdx = t->ext = MEM_callocN(t->total * sizeof(TransDataExtension), "TransPoseBoneExt");
+ for (i = 0; i < t->total; i++, td++, tdx++) {
+ td->ext = tdx;
td->val = NULL;
}
/* use pose channels to fill trans data */
- td= t->data;
- for (pchan= ob->pose->chanbase.first; pchan; pchan= pchan->next) {
+ td = t->data;
+ for (pchan = ob->pose->chanbase.first; pchan; pchan = pchan->next) {
if (pchan->bone->flag & BONE_TRANSFORM) {
add_pose_transdata(t, pchan, ob, td);
td++;
}
}
- if (td != (t->data+t->total)) {
+ if (td != (t->data + t->total)) {
// XXX use transform operator reports
// BKE_report(op->reports, RPT_DEBUG, "Bone selection count error");
}
@@ -1020,18 +1023,18 @@ static void createTransPose(TransInfo *t, Object *ob)
static void createTransArmatureVerts(TransInfo *t)
{
EditBone *ebo;
- bArmature *arm= t->obedit->data;
+ bArmature *arm = t->obedit->data;
ListBase *edbo = arm->edbo;
TransData *td;
float mtx[3][3], smtx[3][3], delta[3], bonemat[3][3];
/* special hack for envelope drawmode and scaling:
- * to allow scaling the size of the envelope around single points,
+ * to allow scaling the size of the envelope around single points,
* mode should become TFM_BONE_ENVELOPE in this case
*/
// TODO: maybe we need a separate hotkey for it, but this is consistent with 2.4x for now
- if ((t->mode == TFM_RESIZE) && (arm->drawtype==ARM_ENVELOPE))
- t->mode= TFM_BONE_ENVELOPE;
+ if ((t->mode == TFM_RESIZE) && (arm->drawtype == ARM_ENVELOPE))
+ t->mode = TFM_BONE_ENVELOPE;
t->total = 0;
for (ebo = edbo->first; ebo; ebo = ebo->next) {
@@ -1058,19 +1061,19 @@ static void createTransArmatureVerts(TransInfo *t)
copy_m3_m4(mtx, t->obedit->obmat);
invert_m3_m3(smtx, mtx);
- td = t->data = MEM_callocN(t->total*sizeof(TransData), "TransEditBone");
+ td = t->data = MEM_callocN(t->total * sizeof(TransData), "TransEditBone");
for (ebo = edbo->first; ebo; ebo = ebo->next) {
- ebo->oldlength = ebo->length; // length==0.0 on extrude, used for scaling radius of bone points
+ ebo->oldlength = ebo->length; // length==0.0 on extrude, used for scaling radius of bone points
if (EBONE_VISIBLE(arm, ebo) && !(ebo->flag & BONE_EDITMODE_LOCKED)) {
- if (t->mode==TFM_BONE_ENVELOPE) {
+ if (t->mode == TFM_BONE_ENVELOPE) {
if (ebo->flag & BONE_ROOTSEL) {
- td->val= &ebo->rad_head;
- td->ival= *td->val;
+ td->val = &ebo->rad_head;
+ td->ival = *td->val;
copy_v3_v3(td->center, ebo->head);
- td->flag= TD_SELECTED;
+ td->flag = TD_SELECTED;
copy_m3_m3(td->smtx, smtx);
copy_m3_m3(td->mtx, mtx);
@@ -1082,10 +1085,10 @@ static void createTransArmatureVerts(TransInfo *t)
td++;
}
if (ebo->flag & BONE_TIPSEL) {
- td->val= &ebo->rad_tail;
- td->ival= *td->val;
+ td->val = &ebo->rad_tail;
+ td->ival = *td->val;
copy_v3_v3(td->center, ebo->tail);
- td->flag= TD_SELECTED;
+ td->flag = TD_SELECTED;
copy_m3_m3(td->smtx, smtx);
copy_m3_m3(td->mtx, mtx);
@@ -1098,21 +1101,21 @@ static void createTransArmatureVerts(TransInfo *t)
}
}
- else if (t->mode==TFM_BONESIZE) {
+ else if (t->mode == TFM_BONESIZE) {
if (ebo->flag & BONE_SELECTED) {
- if (arm->drawtype==ARM_ENVELOPE) {
- td->loc= NULL;
- td->val= &ebo->dist;
- td->ival= ebo->dist;
+ if (arm->drawtype == ARM_ENVELOPE) {
+ td->loc = NULL;
+ td->val = &ebo->dist;
+ td->ival = ebo->dist;
}
else {
// abusive storage of scale in the loc pointer :)
- td->loc= &ebo->xwidth;
+ td->loc = &ebo->xwidth;
copy_v3_v3(td->iloc, td->loc);
- td->val= NULL;
+ td->val = NULL;
}
copy_v3_v3(td->center, ebo->head);
- td->flag= TD_SELECTED;
+ td->flag = TD_SELECTED;
/* use local bone matrix */
sub_v3_v3v3(delta, ebo->tail, ebo->head);
@@ -1129,14 +1132,14 @@ static void createTransArmatureVerts(TransInfo *t)
td++;
}
}
- else if (t->mode==TFM_BONE_ROLL) {
+ else if (t->mode == TFM_BONE_ROLL) {
if (ebo->flag & BONE_SELECTED) {
- td->loc= NULL;
- td->val= &(ebo->roll);
- td->ival= ebo->roll;
+ td->loc = NULL;
+ td->val = &(ebo->roll);
+ td->ival = ebo->roll;
copy_v3_v3(td->center, ebo->head);
- td->flag= TD_SELECTED;
+ td->flag = TD_SELECTED;
td->ext = NULL;
td->ob = t->obedit;
@@ -1147,11 +1150,11 @@ static void createTransArmatureVerts(TransInfo *t)
else {
if (ebo->flag & BONE_TIPSEL) {
copy_v3_v3(td->iloc, ebo->tail);
- copy_v3_v3(td->center, (t->around==V3D_LOCAL) ? ebo->head : td->iloc);
- td->loc= ebo->tail;
- td->flag= TD_SELECTED;
+ copy_v3_v3(td->center, (t->around == V3D_LOCAL) ? ebo->head : td->iloc);
+ td->loc = ebo->tail;
+ td->flag = TD_SELECTED;
if (ebo->flag & BONE_EDITMODE_LOCKED)
- td->protectflag = OB_LOCK_LOC|OB_LOCK_ROT|OB_LOCK_SCALE;
+ td->protectflag = OB_LOCK_LOC | OB_LOCK_ROT | OB_LOCK_SCALE;
copy_m3_m3(td->smtx, smtx);
copy_m3_m3(td->mtx, mtx);
@@ -1172,10 +1175,10 @@ static void createTransArmatureVerts(TransInfo *t)
if (ebo->flag & BONE_ROOTSEL) {
copy_v3_v3(td->iloc, ebo->head);
copy_v3_v3(td->center, td->iloc);
- td->loc= ebo->head;
- td->flag= TD_SELECTED;
+ td->loc = ebo->head;
+ td->flag = TD_SELECTED;
if (ebo->flag & BONE_EDITMODE_LOCKED)
- td->protectflag = OB_LOCK_LOC|OB_LOCK_ROT|OB_LOCK_SCALE;
+ td->protectflag = OB_LOCK_LOC | OB_LOCK_ROT | OB_LOCK_SCALE;
copy_m3_m3(td->smtx, smtx);
copy_m3_m3(td->mtx, mtx);
@@ -1200,40 +1203,40 @@ static void createTransArmatureVerts(TransInfo *t)
static void createTransMBallVerts(TransInfo *t)
{
- MetaBall *mb = (MetaBall*)t->obedit->data;
+ MetaBall *mb = (MetaBall *)t->obedit->data;
MetaElem *ml;
TransData *td;
TransDataExtension *tx;
float mtx[3][3], smtx[3][3];
- int count=0, countsel=0;
+ int count = 0, countsel = 0;
int propmode = t->flag & T_PROP_EDIT;
/* count totals */
- for (ml= mb->editelems->first; ml; ml= ml->next) {
+ for (ml = mb->editelems->first; ml; ml = ml->next) {
if (ml->flag & SELECT) countsel++;
if (propmode) count++;
}
/* note: in prop mode we need at least 1 selected */
- if (countsel==0) return;
+ if (countsel == 0) return;
if (propmode) t->total = count;
else t->total = countsel;
- td = t->data= MEM_callocN(t->total*sizeof(TransData), "TransObData(MBall EditMode)");
- tx = t->ext = MEM_callocN(t->total*sizeof(TransDataExtension), "MetaElement_TransExtension");
+ td = t->data = MEM_callocN(t->total * sizeof(TransData), "TransObData(MBall EditMode)");
+ tx = t->ext = MEM_callocN(t->total * sizeof(TransDataExtension), "MetaElement_TransExtension");
copy_m3_m4(mtx, t->obedit->obmat);
invert_m3_m3(smtx, mtx);
- for (ml= mb->editelems->first; ml; ml= ml->next) {
+ for (ml = mb->editelems->first; ml; ml = ml->next) {
if (propmode || (ml->flag & SELECT)) {
- td->loc= &ml->x;
+ td->loc = &ml->x;
copy_v3_v3(td->iloc, td->loc);
copy_v3_v3(td->center, td->loc);
- if (ml->flag & SELECT) td->flag= TD_SELECTED | TD_USEQUAT | TD_SINGLESIZE;
- else td->flag= TD_USEQUAT;
+ if (ml->flag & SELECT) td->flag = TD_SELECTED | TD_USEQUAT | TD_SINGLESIZE;
+ else td->flag = TD_USEQUAT;
copy_m3_m3(td->smtx, smtx);
copy_m3_m3(td->mtx, mtx);
@@ -1273,7 +1276,7 @@ static void createTransMBallVerts(TransInfo *t)
static void calc_distanceCurveVerts(TransData *head, TransData *tail)
{
TransData *td, *td_near = NULL;
- for (td = head; td<=tail; td++) {
+ for (td = head; td <= tail; td++) {
if (td->flag & TD_SELECTED) {
td_near = td;
td->dist = 0.0f;
@@ -1281,8 +1284,8 @@ static void calc_distanceCurveVerts(TransData *head, TransData *tail)
else if (td_near) {
float dist;
dist = len_v3v3(td_near->center, td->center);
- if (dist < (td-1)->dist) {
- td->dist = (td-1)->dist;
+ if (dist < (td - 1)->dist) {
+ td->dist = (td - 1)->dist;
}
else {
td->dist = dist;
@@ -1294,7 +1297,7 @@ static void calc_distanceCurveVerts(TransData *head, TransData *tail)
}
}
td_near = NULL;
- for (td = tail; td>=head; td--) {
+ for (td = tail; td >= head; td--) {
if (td->flag & TD_SELECTED) {
td_near = td;
td->dist = 0.0f;
@@ -1302,10 +1305,10 @@ static void calc_distanceCurveVerts(TransData *head, TransData *tail)
else if (td_near) {
float dist;
dist = len_v3v3(td_near->center, td->center);
- if (td->flag & TD_NOTCONNECTED || dist < td->dist || (td+1)->dist < td->dist) {
+ if (td->flag & TD_NOTCONNECTED || dist < td->dist || (td + 1)->dist < td->dist) {
td->flag &= ~TD_NOTCONNECTED;
- if (dist < (td+1)->dist) {
- td->dist = (td+1)->dist;
+ if (dist < (td + 1)->dist) {
+ td->dist = (td + 1)->dist;
}
else {
td->dist = dist;
@@ -1330,44 +1333,44 @@ static TransDataCurveHandleFlags *initTransDataCurveHandles(TransData *td, struc
static void createTransCurveVerts(bContext *C, TransInfo *t)
{
- Object *obedit= CTX_data_edit_object(C);
- Curve *cu= obedit->data;
+ Object *obedit = CTX_data_edit_object(C);
+ Curve *cu = obedit->data;
TransData *td = NULL;
- Nurb *nu;
+ Nurb *nu;
BezTriple *bezt;
BPoint *bp;
float mtx[3][3], smtx[3][3];
int a;
- int count=0, countsel=0;
+ int count = 0, countsel = 0;
int propmode = t->flag & T_PROP_EDIT;
short hide_handles = (cu->drawflag & CU_HIDE_HANDLES);
ListBase *nurbs;
/* to be sure */
- if (cu->editnurb==NULL) return;
+ if (cu->editnurb == NULL) return;
/* count total of vertices, check identical as in 2nd loop for making transdata! */
- nurbs= BKE_curve_editNurbs_get(cu);
- for (nu= nurbs->first; nu; nu= nu->next) {
+ nurbs = BKE_curve_editNurbs_get(cu);
+ for (nu = nurbs->first; nu; nu = nu->next) {
if (nu->type == CU_BEZIER) {
- for (a=0, bezt= nu->bezt; a<nu->pntsu; a++, bezt++) {
- if (bezt->hide==0) {
+ for (a = 0, bezt = nu->bezt; a < nu->pntsu; a++, bezt++) {
+ if (bezt->hide == 0) {
if (hide_handles) {
- if (bezt->f2 & SELECT) countsel+=3;
- if (propmode) count+= 3;
+ if (bezt->f2 & SELECT) countsel += 3;
+ if (propmode) count += 3;
}
else {
if (bezt->f1 & SELECT) countsel++;
if (bezt->f2 & SELECT) countsel++;
if (bezt->f3 & SELECT) countsel++;
- if (propmode) count+= 3;
+ if (propmode) count += 3;
}
}
}
}
else {
- for (a= nu->pntsu*nu->pntsv, bp= nu->bp; a>0; a--, bp++) {
- if (bp->hide==0) {
+ for (a = nu->pntsu * nu->pntsv, bp = nu->bp; a > 0; a--, bp++) {
+ if (bp->hide == 0) {
if (propmode) count++;
if (bp->f1 & SELECT) countsel++;
}
@@ -1375,22 +1378,22 @@ static void createTransCurveVerts(bContext *C, TransInfo *t)
}
}
/* note: in prop mode we need at least 1 selected */
- if (countsel==0) return;
+ if (countsel == 0) return;
if (propmode) t->total = count;
else t->total = countsel;
- t->data= MEM_callocN(t->total*sizeof(TransData), "TransObData(Curve EditMode)");
+ t->data = MEM_callocN(t->total * sizeof(TransData), "TransObData(Curve EditMode)");
copy_m3_m4(mtx, t->obedit->obmat);
invert_m3_m3(smtx, mtx);
td = t->data;
- for (nu= nurbs->first; nu; nu= nu->next) {
+ for (nu = nurbs->first; nu; nu = nu->next) {
if (nu->type == CU_BEZIER) {
TransData *head, *tail;
head = tail = td;
- for (a=0, bezt= nu->bezt; a<nu->pntsu; a++, bezt++) {
- if (bezt->hide==0) {
+ for (a = 0, bezt = nu->bezt; a < nu->pntsu; a++, bezt++) {
+ if (bezt->hide == 0) {
TransDataCurveHandleFlags *hdata = NULL;
if (propmode ||
@@ -1398,15 +1401,15 @@ static void createTransCurveVerts(bContext *C, TransInfo *t)
((bezt->f1 & SELECT) && hide_handles == 0))
{
copy_v3_v3(td->iloc, bezt->vec[0]);
- td->loc= bezt->vec[0];
- copy_v3_v3(td->center, bezt->vec[(hide_handles || bezt->f2 & SELECT) ? 1:0]);
+ td->loc = bezt->vec[0];
+ copy_v3_v3(td->center, bezt->vec[(hide_handles || bezt->f2 & SELECT) ? 1 : 0]);
if (hide_handles) {
- if (bezt->f2 & SELECT) td->flag= TD_SELECTED;
- else td->flag= 0;
+ if (bezt->f2 & SELECT) td->flag = TD_SELECTED;
+ else td->flag = 0;
}
else {
- if (bezt->f1 & SELECT) td->flag= TD_SELECTED;
- else td->flag= 0;
+ if (bezt->f1 & SELECT) td->flag = TD_SELECTED;
+ else td->flag = 0;
}
td->ext = NULL;
td->val = NULL;
@@ -1424,17 +1427,17 @@ static void createTransCurveVerts(bContext *C, TransInfo *t)
/* This is the Curve Point, the other two are handles */
if (propmode || (bezt->f2 & SELECT)) {
copy_v3_v3(td->iloc, bezt->vec[1]);
- td->loc= bezt->vec[1];
+ td->loc = bezt->vec[1];
copy_v3_v3(td->center, td->loc);
- if (bezt->f2 & SELECT) td->flag= TD_SELECTED;
- else td->flag= 0;
+ if (bezt->f2 & SELECT) td->flag = TD_SELECTED;
+ else td->flag = 0;
td->ext = NULL;
- if (t->mode==TFM_CURVE_SHRINKFATTEN) { /* || t->mode==TFM_RESIZE) {*/ /* TODO - make points scale */
+ if (t->mode == TFM_CURVE_SHRINKFATTEN) { /* || t->mode==TFM_RESIZE) {*/ /* TODO - make points scale */
td->val = &(bezt->radius);
td->ival = bezt->radius;
}
- else if (t->mode==TFM_TILT) {
+ else if (t->mode == TFM_TILT) {
td->val = &(bezt->alfa);
td->ival = bezt->alfa;
}
@@ -1445,11 +1448,11 @@ static void createTransCurveVerts(bContext *C, TransInfo *t)
copy_m3_m3(td->smtx, smtx);
copy_m3_m3(td->mtx, mtx);
- if ((bezt->f1&SELECT)==0 && (bezt->f3&SELECT)==0)
- /* If the middle is selected but the sides arnt, this is needed */
- if (hdata==NULL) { /* if the handle was not saved by the previous handle */
- hdata = initTransDataCurveHandles(td, bezt);
- }
+ if ((bezt->f1 & SELECT) == 0 && (bezt->f3 & SELECT) == 0)
+ /* If the middle is selected but the sides arnt, this is needed */
+ if (hdata == NULL) { /* if the handle was not saved by the previous handle */
+ hdata = initTransDataCurveHandles(td, bezt);
+ }
td++;
count++;
@@ -1460,20 +1463,20 @@ static void createTransCurveVerts(bContext *C, TransInfo *t)
((bezt->f3 & SELECT) && hide_handles == 0))
{
copy_v3_v3(td->iloc, bezt->vec[2]);
- td->loc= bezt->vec[2];
- copy_v3_v3(td->center, bezt->vec[(hide_handles || bezt->f2 & SELECT) ? 1:2]);
+ td->loc = bezt->vec[2];
+ copy_v3_v3(td->center, bezt->vec[(hide_handles || bezt->f2 & SELECT) ? 1 : 2]);
if (hide_handles) {
- if (bezt->f2 & SELECT) td->flag= TD_SELECTED;
- else td->flag= 0;
+ if (bezt->f2 & SELECT) td->flag = TD_SELECTED;
+ else td->flag = 0;
}
else {
- if (bezt->f3 & SELECT) td->flag= TD_SELECTED;
- else td->flag= 0;
+ if (bezt->f3 & SELECT) td->flag = TD_SELECTED;
+ else td->flag = 0;
}
td->ext = NULL;
td->val = NULL;
- if (hdata==NULL) { /* if the handle was not saved by the previous handle */
+ if (hdata == NULL) { /* if the handle was not saved by the previous handle */
hdata = initTransDataCurveHandles(td, bezt);
}
@@ -1486,12 +1489,12 @@ static void createTransCurveVerts(bContext *C, TransInfo *t)
}
}
else if (propmode && head != tail) {
- calc_distanceCurveVerts(head, tail-1);
+ calc_distanceCurveVerts(head, tail - 1);
head = tail;
}
}
if (propmode && head != tail)
- calc_distanceCurveVerts(head, tail-1);
+ calc_distanceCurveVerts(head, tail - 1);
/* TODO - in the case of tilt and radius we can also avoid allocating the initTransDataCurveHandles
* but for now just don't change handle types */
@@ -1503,17 +1506,17 @@ static void createTransCurveVerts(bContext *C, TransInfo *t)
else {
TransData *head, *tail;
head = tail = td;
- for (a= nu->pntsu*nu->pntsv, bp= nu->bp; a>0; a--, bp++) {
- if (bp->hide==0) {
+ for (a = nu->pntsu * nu->pntsv, bp = nu->bp; a > 0; a--, bp++) {
+ if (bp->hide == 0) {
if (propmode || (bp->f1 & SELECT)) {
copy_v3_v3(td->iloc, bp->vec);
- td->loc= bp->vec;
+ td->loc = bp->vec;
copy_v3_v3(td->center, td->loc);
- if (bp->f1 & SELECT) td->flag= TD_SELECTED;
- else td->flag= 0;
+ if (bp->f1 & SELECT) td->flag = TD_SELECTED;
+ else td->flag = 0;
td->ext = NULL;
- if (t->mode==TFM_CURVE_SHRINKFATTEN || t->mode==TFM_RESIZE) {
+ if (t->mode == TFM_CURVE_SHRINKFATTEN || t->mode == TFM_RESIZE) {
td->val = &(bp->radius);
td->ival = bp->radius;
}
@@ -1531,12 +1534,12 @@ static void createTransCurveVerts(bContext *C, TransInfo *t)
}
}
else if (propmode && head != tail) {
- calc_distanceCurveVerts(head, tail-1);
+ calc_distanceCurveVerts(head, tail - 1);
head = tail;
}
}
if (propmode && head != tail)
- calc_distanceCurveVerts(head, tail-1);
+ calc_distanceCurveVerts(head, tail - 1);
}
}
}
@@ -1545,30 +1548,30 @@ static void createTransCurveVerts(bContext *C, TransInfo *t)
static void createTransLatticeVerts(TransInfo *t)
{
- Lattice *latt = ((Lattice*)t->obedit->data)->editlatt->latt;
+ Lattice *latt = ((Lattice *)t->obedit->data)->editlatt->latt;
TransData *td = NULL;
BPoint *bp;
float mtx[3][3], smtx[3][3];
int a;
- int count=0, countsel=0;
+ int count = 0, countsel = 0;
int propmode = t->flag & T_PROP_EDIT;
bp = latt->def;
a = latt->pntsu * latt->pntsv * latt->pntsw;
while (a--) {
- if (bp->hide==0) {
+ if (bp->hide == 0) {
if (bp->f1 & SELECT) countsel++;
if (propmode) count++;
}
bp++;
}
- /* note: in prop mode we need at least 1 selected */
- if (countsel==0) return;
+ /* note: in prop mode we need at least 1 selected */
+ if (countsel == 0) return;
if (propmode) t->total = count;
else t->total = countsel;
- t->data= MEM_callocN(t->total*sizeof(TransData), "TransObData(Lattice EditMode)");
+ t->data = MEM_callocN(t->total * sizeof(TransData), "TransObData(Lattice EditMode)");
copy_m3_m4(mtx, t->obedit->obmat);
invert_m3_m3(smtx, mtx);
@@ -1578,12 +1581,12 @@ static void createTransLatticeVerts(TransInfo *t)
a = latt->pntsu * latt->pntsv * latt->pntsw;
while (a--) {
if (propmode || (bp->f1 & SELECT)) {
- if (bp->hide==0) {
+ if (bp->hide == 0) {
copy_v3_v3(td->iloc, bp->vec);
- td->loc= bp->vec;
+ td->loc = bp->vec;
copy_v3_v3(td->center, td->loc);
- if (bp->f1 & SELECT) td->flag= TD_SELECTED;
- else td->flag= 0;
+ if (bp->f1 & SELECT) td->flag = TD_SELECTED;
+ else td->flag = 0;
copy_m3_m3(td->smtx, smtx);
copy_m3_m3(td->mtx, mtx);
@@ -1616,7 +1619,7 @@ static void createTransParticleVerts(bContext *C, TransInfo *t)
int count = 0, hasselected = 0;
int propmode = t->flag & T_PROP_EDIT;
- if (edit==NULL || t->settings->particle.selectmode==SCE_SELECT_PATH) return;
+ if (edit == NULL || t->settings->particle.selectmode == SCE_SELECT_PATH) return;
psys = edit->psys;
@@ -1625,19 +1628,19 @@ static void createTransParticleVerts(bContext *C, TransInfo *t)
base->flag |= BA_HAS_RECALC_DATA;
- for (i=0, point=edit->points; i<edit->totpoint; i++, point++) {
+ for (i = 0, point = edit->points; i < edit->totpoint; i++, point++) {
point->flag &= ~PEP_TRANSFORM;
- transformparticle= 0;
-
- if ((point->flag & PEP_HIDE)==0) {
- for (k=0, key=point->keys; k<point->totkey; k++, key++) {
- if ((key->flag&PEK_HIDE)==0) {
- if (key->flag&PEK_SELECT) {
- hasselected= 1;
- transformparticle= 1;
+ transformparticle = 0;
+
+ if ((point->flag & PEP_HIDE) == 0) {
+ for (k = 0, key = point->keys; k < point->totkey; k++, key++) {
+ if ((key->flag & PEK_HIDE) == 0) {
+ if (key->flag & PEK_SELECT) {
+ hasselected = 1;
+ transformparticle = 1;
}
else if (propmode)
- transformparticle= 1;
+ transformparticle = 1;
}
}
}
@@ -1648,8 +1651,8 @@ static void createTransParticleVerts(bContext *C, TransInfo *t)
}
}
- /* note: in prop mode we need at least 1 selected */
- if (hasselected==0) return;
+ /* note: in prop mode we need at least 1 selected */
+ if (hasselected == 0) return;
t->total = count;
td = t->data = MEM_callocN(t->total * sizeof(TransData), "TransObData(Particle Mode)");
@@ -1663,7 +1666,7 @@ static void createTransParticleVerts(bContext *C, TransInfo *t)
invert_m4_m4(ob->imat, ob->obmat);
- for (i=0, point=edit->points; i<edit->totpoint; i++, point++) {
+ for (i = 0, point = edit->points; i < edit->totpoint; i++, point++) {
TransData *head, *tail;
head = tail = td;
@@ -1672,7 +1675,7 @@ static void createTransParticleVerts(bContext *C, TransInfo *t)
if (psys && !(psys->flag & PSYS_GLOBAL_HAIR))
psys_mat_hair_to_global(ob, psmd->dm, psys->part->from, psys->particles + i, mat);
- for (k=0, key=point->keys; k<point->totkey; k++, key++) {
+ for (k = 0, key = point->keys; k < point->totkey; k++, key++) {
if (key->flag & PEK_USE_WCO) {
copy_v3_v3(key->world_co, key->co);
mul_m4_v3(mat, key->world_co);
@@ -1693,7 +1696,7 @@ static void createTransParticleVerts(bContext *C, TransInfo *t)
unit_m3(td->smtx);
/* don't allow moving roots */
- if (k==0 && pset->flag & PE_LOCK_FIRST && (!psys || !(psys->flag & PSYS_GLOBAL_HAIR)))
+ if (k == 0 && pset->flag & PE_LOCK_FIRST && (!psys || !(psys->flag & PSYS_GLOBAL_HAIR)))
td->protectflag |= OB_LOCK_LOC;
td->ob = ob;
@@ -1703,7 +1706,7 @@ static void createTransParticleVerts(bContext *C, TransInfo *t)
td->ival = *(key->time);
/* abuse size and quat for min/max values */
td->flag |= TD_NO_EXT;
- if (k==0) tx->size = NULL;
+ if (k == 0) tx->size = NULL;
else tx->size = (key - 1)->time;
if (k == point->totkey - 1) tx->quat = NULL;
@@ -1738,15 +1741,15 @@ void flushTransParticles(TransInfo *t)
/* we do transform in world space, so flush world space position
* back to particle local space (only for hair particles) */
- td= t->data;
- for (i=0, point=edit->points; i<edit->totpoint; i++, point++, td++) {
+ td = t->data;
+ for (i = 0, point = edit->points; i < edit->totpoint; i++, point++, td++) {
if (!(point->flag & PEP_TRANSFORM)) continue;
if (psys && !(psys->flag & PSYS_GLOBAL_HAIR)) {
psys_mat_hair_to_global(ob, psmd->dm, psys->part->from, psys->particles + i, mat);
invert_m4_m4(imat, mat);
- for (k=0, key=point->keys; k<point->totkey; k++, key++) {
+ for (k = 0, key = point->keys; k < point->totkey; k++, key++) {
copy_v3_v3(co, key->world_co);
mul_m4_v3(imat, co);
@@ -1768,7 +1771,7 @@ void flushTransParticles(TransInfo *t)
/* ********************* mesh ****************** */
/* proportional distance based on connectivity */
-#define THRESHOLDFACTOR (1.0f-0.0001f)
+#define THRESHOLDFACTOR (1.0f - 0.0001f)
/* I did this wrong, it should be a breadth-first search
* but instead it's a depth-first search, fudged
@@ -1778,10 +1781,10 @@ static void editmesh_set_connectivity_distance(BMEditMesh *em, float mtx[][3], f
{
BMVert **queue = NULL;
float *dqueue = NULL;
- int *tots = MEM_callocN(sizeof(int)*em->bm->totvert, "tots editmesh_set_connectivity_distance");
+ int *tots = MEM_callocN(sizeof(int) * em->bm->totvert, "tots editmesh_set_connectivity_distance");
BLI_array_declare(queue);
BLI_array_declare(dqueue);
- SmallHash svisit, *visit=&svisit;
+ SmallHash svisit, *visit = &svisit;
BMVert *v;
BMIter viter;
int i, start;
@@ -1793,7 +1796,7 @@ static void editmesh_set_connectivity_distance(BMEditMesh *em, float mtx[][3], f
BLI_smallhash_init(visit);
BM_ITER_MESH (v, &viter, em->bm, BM_VERTS_OF_MESH) {
- if (BM_elem_flag_test(v, BM_ELEM_SELECT)==0 || BM_elem_flag_test(v, BM_ELEM_HIDDEN))
+ if (BM_elem_flag_test(v, BM_ELEM_SELECT) == 0 || BM_elem_flag_test(v, BM_ELEM_HIDDEN))
continue;
@@ -1846,7 +1849,7 @@ static void editmesh_set_connectivity_distance(BMEditMesh *em, float mtx[][3], f
BLI_smallhash_release(visit);
- for (i=0; i<em->bm->totvert; i++) {
+ for (i = 0; i < em->bm->totvert; i++) {
if (tots[i])
dists[i] /= (float)tots[i];
}
@@ -1857,7 +1860,7 @@ static void editmesh_set_connectivity_distance(BMEditMesh *em, float mtx[][3], f
}
/* loop-in-a-loop I know, but we need it! (ton) */
- static void get_face_center(float cent_r[3], BMVert *eve)
+static void get_face_center(float cent_r[3], BMVert *eve)
{
BMFace *efa;
@@ -1886,7 +1889,7 @@ static void get_edge_center(float cent_r[3], BMVert *eve)
/* way to overwrite what data is edited with transform */
static void VertsToTransData(TransInfo *t, TransData *td, TransDataExtension *tx,
- BMEditMesh *em, BMVert *eve, float *bweight)
+ BMEditMesh *em, BMVert *eve, float *bweight)
{
td->flag = 0;
//if (key)
@@ -1896,7 +1899,7 @@ static void VertsToTransData(TransInfo *t, TransData *td, TransDataExtension *tx
copy_v3_v3(td->center, td->loc);
- if (t->around==V3D_LOCAL) {
+ if (t->around == V3D_LOCAL) {
if (em->selectmode & SCE_SELECT_FACE)
get_face_center(td->center, eve);
else if (em->selectmode & SCE_SELECT_EDGE)
@@ -1906,12 +1909,12 @@ static void VertsToTransData(TransInfo *t, TransData *td, TransDataExtension *tx
// Setting normals
copy_v3_v3(td->axismtx[2], eve->no);
- td->axismtx[0][0] =
- td->axismtx[0][1] =
- td->axismtx[0][2] =
- td->axismtx[1][0] =
- td->axismtx[1][1] =
- td->axismtx[1][2] = 0.0f;
+ td->axismtx[0][0] =
+ td->axismtx[0][1] =
+ td->axismtx[0][2] =
+ td->axismtx[1][0] =
+ td->axismtx[1][1] =
+ td->axismtx[1][2] = 0.0f;
td->ext = NULL;
td->val = NULL;
@@ -1942,10 +1945,10 @@ static void createTransEditVerts(bContext *C, TransInfo *t)
BMVert *eve;
BMIter iter;
BMVert *eve_act = NULL;
- float *mappedcos = NULL, *quats= NULL;
+ float *mappedcos = NULL, *quats = NULL;
float mtx[3][3], smtx[3][3], (*defmats)[3][3] = NULL, (*defcos)[3] = NULL;
- float *dists=NULL;
- int count=0, countsel=0, a, totleft;
+ float *dists = NULL;
+ int count = 0, countsel = 0, a, totleft;
int propmode = (t->flag & T_PROP_EDIT) ? (t->flag & (T_PROP_EDIT | T_PROP_CONNECTED)) : 0;
int mirror = 0;
char *selstate = NULL;
@@ -1974,10 +1977,10 @@ static void createTransEditVerts(bContext *C, TransInfo *t)
BMEdge *eed;
eve = BM_iter_new(&iter, bm, BM_VERTS_OF_MESH, NULL);
- for ( ; eve; eve=BM_iter_step(&iter)) BM_elem_flag_disable(eve, BM_ELEM_TAG);
+ for (; eve; eve = BM_iter_step(&iter)) BM_elem_flag_disable(eve, BM_ELEM_TAG);
eed = BM_iter_new(&iter, bm, BM_EDGES_OF_MESH, NULL);
- for ( ; eed; eed=BM_iter_step(&iter)) {
+ for (; eed; eed = BM_iter_step(&iter)) {
if (BM_elem_flag_test(eed, BM_ELEM_SELECT)) {
BM_elem_flag_enable(eed->v1, BM_ELEM_TAG);
BM_elem_flag_enable(eed->v2, BM_ELEM_TAG);
@@ -1987,16 +1990,16 @@ static void createTransEditVerts(bContext *C, TransInfo *t)
else {
BMFace *efa;
eve = BM_iter_new(&iter, bm, BM_VERTS_OF_MESH, NULL);
- for ( ; eve; eve=BM_iter_step(&iter)) BM_elem_flag_disable(eve, BM_ELEM_TAG);
+ for (; eve; eve = BM_iter_step(&iter)) BM_elem_flag_disable(eve, BM_ELEM_TAG);
efa = BM_iter_new(&iter, bm, BM_FACES_OF_MESH, NULL);
- for ( ; efa; efa=BM_iter_step(&iter)) {
+ for (; efa; efa = BM_iter_step(&iter)) {
if (BM_elem_flag_test(efa, BM_ELEM_SELECT)) {
BMIter liter;
BMLoop *l;
l = BM_iter_new(&liter, bm, BM_LOOPS_OF_FACE, efa);
- for (; l; l=BM_iter_step(&liter)) {
+ for (; l; l = BM_iter_step(&liter)) {
BM_elem_flag_enable(l->v, BM_ELEM_TAG);
}
}
@@ -2008,7 +2011,7 @@ static void createTransEditVerts(bContext *C, TransInfo *t)
* verts*/
selstate = MEM_callocN(sizeof(*selstate) * bm->totvert, __func__);
eve = BM_iter_new(&iter, bm, BM_VERTS_OF_MESH, NULL);
- for (a=0; eve; eve=BM_iter_step(&iter), a++) {
+ for (a = 0; eve; eve = BM_iter_step(&iter), a++) {
if (!BM_elem_flag_test(eve, BM_ELEM_HIDDEN)) {
if (BM_elem_flag_test(eve, BM_ELEM_TAG)) {
selstate[a] = 1;
@@ -2041,10 +2044,10 @@ static void createTransEditVerts(bContext *C, TransInfo *t)
}
else t->total = countsel;
- tob= t->data= MEM_callocN(t->total*sizeof(TransData), "TransObData(Mesh EditMode)");
+ tob = t->data = MEM_callocN(t->total * sizeof(TransData), "TransObData(Mesh EditMode)");
if (t->mode == TFM_SKIN_RESIZE) {
tx = t->ext = MEM_callocN(t->total * sizeof(TransDataExtension),
- "TransObData ext");
+ "TransObData ext");
}
copy_m3_m4(mtx, t->obedit->obmat);
@@ -2055,19 +2058,19 @@ static void createTransEditVerts(bContext *C, TransInfo *t)
}
/* detect CrazySpace [tm] */
- if (modifiers_getCageIndex(t->scene, t->obedit, NULL, 1)>=0) {
+ if (modifiers_getCageIndex(t->scene, t->obedit, NULL, 1) >= 0) {
if (modifiers_isCorrectableDeformed(t->obedit)) {
/* check if we can use deform matrices for modifier from the
* start up to stack, they are more accurate than quats */
- totleft= editbmesh_get_first_deform_matrices(t->scene, t->obedit, em, &defmats, &defcos);
+ totleft = editbmesh_get_first_deform_matrices(t->scene, t->obedit, em, &defmats, &defcos);
/* if we still have more modifiers, also do crazyspace
* correction with quats, relative to the coordinates after
* the modifiers that support deform matrices (defcos) */
if (totleft > 0) {
- mappedcos= crazyspace_get_mapped_editverts(t->scene, t->obedit);
- quats= MEM_mallocN((t->total)*sizeof(float)*4, "crazy quats");
- crazyspace_set_quats_editmesh(em, (float*)defcos, mappedcos, quats); /* BMESH_TODO, abuses vertex index, should use an int array */
+ mappedcos = crazyspace_get_mapped_editverts(t->scene, t->obedit);
+ quats = MEM_mallocN((t->total) * sizeof(float) * 4, "crazy quats");
+ crazyspace_set_quats_editmesh(em, (float *)defcos, mappedcos, quats); /* BMESH_TODO, abuses vertex index, should use an int array */
if (mappedcos)
MEM_freeN(mappedcos);
}
@@ -2080,8 +2083,8 @@ static void createTransEditVerts(bContext *C, TransInfo *t)
/* find out which half we do */
if (mirror) {
eve = BM_iter_new(&iter, bm, BM_VERTS_OF_MESH, NULL);
- for (a=0; eve; eve=BM_iter_step(&iter), a++) {
- if (!BM_elem_flag_test(eve, BM_ELEM_HIDDEN) && selstate[a] && eve->co[0]!=0.0f) {
+ for (a = 0; eve; eve = BM_iter_step(&iter), a++) {
+ if (!BM_elem_flag_test(eve, BM_ELEM_HIDDEN) && selstate[a] && eve->co[0] != 0.0f) {
if (eve->co[0] < 0.0f) {
t->mirror = -1;
mirror = -1;
@@ -2092,7 +2095,7 @@ static void createTransEditVerts(bContext *C, TransInfo *t)
}
eve = BM_iter_new(&iter, bm, BM_VERTS_OF_MESH, NULL);
- for (a=0; eve; eve=BM_iter_step(&iter), a++) {
+ for (a = 0; eve; eve = BM_iter_step(&iter), a++) {
if (!BM_elem_flag_test(eve, BM_ELEM_HIDDEN)) {
if (propmode || selstate[a]) {
float *bweight = CustomData_bmesh_get(&bm->vdata, eve->head.data, CD_BWEIGHT);
@@ -2123,11 +2126,11 @@ static void createTransEditVerts(bContext *C, TransInfo *t)
/* use both or either quat and defmat correction */
if (quats && BM_elem_index_get(eve) != -1) {
- quat_to_mat3(qmat, quats + 4*BM_elem_index_get(eve));
+ quat_to_mat3(qmat, quats + 4 * BM_elem_index_get(eve));
if (defmats)
mul_serie_m3(mat, mtx, qmat, defmats[a],
- NULL, NULL, NULL, NULL, NULL);
+ NULL, NULL, NULL, NULL, NULL);
else
mul_m3_m3m3(mat, mtx, qmat);
}
@@ -2145,8 +2148,8 @@ static void createTransEditVerts(bContext *C, TransInfo *t)
}
/* Mirror? */
- if ((mirror>0 && tob->iloc[0]>0.0f) || (mirror<0 && tob->iloc[0]<0.0f)) {
- BMVert *vmir= EDBM_verts_mirror_get(em, eve); //t->obedit, em, eve, tob->iloc, a);
+ if ((mirror > 0 && tob->iloc[0] > 0.0f) || (mirror < 0 && tob->iloc[0] < 0.0f)) {
+ BMVert *vmir = EDBM_verts_mirror_get(em, eve); //t->obedit, em, eve, tob->iloc, a);
if (vmir && vmir != eve) {
tob->extra = vmir;
}
@@ -2158,7 +2161,7 @@ static void createTransEditVerts(bContext *C, TransInfo *t)
if (mirror != 0) {
tob = t->data;
- for (a = 0; a < t->total; a++, tob++ ) {
+ for (a = 0; a < t->total; a++, tob++) {
if (ABS(tob->loc[0]) <= 0.00001f) {
tob->flag |= TD_MIRROR_EDGE;
}
@@ -2189,13 +2192,13 @@ void flushTransNodes(TransInfo *t)
TransData2D *td;
/* flush to 2d vector from internally used 3d vector */
- for (a=0, td= t->data2d; a<t->total; a++, td++) {
- td->loc2d[0]= td->loc[0];
- td->loc2d[1]= td->loc[1];
+ for (a = 0, td = t->data2d; a < t->total; a++, td++) {
+ td->loc2d[0] = td->loc[0];
+ td->loc2d[1] = td->loc[1];
}
/* handle intersection with noodles */
- if (t->total==1) {
+ if (t->total == 1) {
ED_node_link_intersect_test(t->sa, 1);
}
}
@@ -2209,11 +2212,11 @@ void flushTransNodes(TransInfo *t)
void flushTransSeq(TransInfo *t)
{
- ListBase *seqbasep= BKE_sequencer_editing_get(t->scene, FALSE)->seqbasep; /* Editing null check already done */
+ ListBase *seqbasep = BKE_sequencer_editing_get(t->scene, FALSE)->seqbasep; /* Editing null check already done */
int a, new_frame, old_start;
- TransData *td= NULL;
- TransData2D *td2d= NULL;
- TransDataSeq *tdsq= NULL;
+ TransData *td = NULL;
+ TransData2D *td2d = NULL;
+ TransDataSeq *tdsq = NULL;
Sequence *seq;
@@ -2221,43 +2224,43 @@ void flushTransSeq(TransInfo *t)
/* prevent updating the same seq twice
* if the transdata order is changed this will mess up
* but so will TransDataSeq */
- Sequence *seq_prev= NULL;
+ Sequence *seq_prev = NULL;
/* flush to 2d vector from internally used 3d vector */
- for (a=0, td= t->data, td2d= t->data2d; a<t->total; a++, td++, td2d++) {
- tdsq= (TransDataSeq *)td->extra;
- seq= tdsq->seq;
+ for (a = 0, td = t->data, td2d = t->data2d; a < t->total; a++, td++, td2d++) {
+ tdsq = (TransDataSeq *)td->extra;
+ seq = tdsq->seq;
old_start = seq->start;
- new_frame= (int)floor(td2d->loc[0] + 0.5f);
+ new_frame = (int)floor(td2d->loc[0] + 0.5f);
switch (tdsq->sel_flag) {
- case SELECT:
+ case SELECT:
#ifdef SEQ_TX_NESTED_METAS
- if ((seq->depth != 0 || seq_tx_test(seq))) /* for meta's, their children move */
- seq->start= new_frame - tdsq->start_offset;
+ if ((seq->depth != 0 || seq_tx_test(seq))) /* for meta's, their children move */
+ seq->start = new_frame - tdsq->start_offset;
#else
- if (seq->type != SEQ_META && (seq->depth != 0 || seq_tx_test(seq))) /* for meta's, their children move */
- seq->start= new_frame - tdsq->start_offset;
+ if (seq->type != SEQ_TYPE_META && (seq->depth != 0 || seq_tx_test(seq))) /* for meta's, their children move */
+ seq->start = new_frame - tdsq->start_offset;
#endif
- if (seq->depth==0) {
- seq->machine= (int)floor(td2d->loc[1] + 0.5f);
- CLAMP(seq->machine, 1, MAXSEQ);
- }
- break;
- case SEQ_LEFTSEL: /* no vertical transform */
- seq_tx_set_final_left(seq, new_frame);
- seq_tx_handle_xlimits(seq, tdsq->flag&SEQ_LEFTSEL, tdsq->flag&SEQ_RIGHTSEL);
- seq_single_fix(seq); /* todo - move this into aftertrans update? - old seq tx needed it anyway */
- break;
- case SEQ_RIGHTSEL: /* no vertical transform */
- seq_tx_set_final_right(seq, new_frame);
- seq_tx_handle_xlimits(seq, tdsq->flag&SEQ_LEFTSEL, tdsq->flag&SEQ_RIGHTSEL);
- seq_single_fix(seq); /* todo - move this into aftertrans update? - old seq tx needed it anyway */
- break;
+ if (seq->depth == 0) {
+ seq->machine = (int)floor(td2d->loc[1] + 0.5f);
+ CLAMP(seq->machine, 1, MAXSEQ);
+ }
+ break;
+ case SEQ_LEFTSEL: /* no vertical transform */
+ seq_tx_set_final_left(seq, new_frame);
+ seq_tx_handle_xlimits(seq, tdsq->flag & SEQ_LEFTSEL, tdsq->flag & SEQ_RIGHTSEL);
+ seq_single_fix(seq); /* todo - move this into aftertrans update? - old seq tx needed it anyway */
+ break;
+ case SEQ_RIGHTSEL: /* no vertical transform */
+ seq_tx_set_final_right(seq, new_frame);
+ seq_tx_handle_xlimits(seq, tdsq->flag & SEQ_LEFTSEL, tdsq->flag & SEQ_RIGHTSEL);
+ seq_single_fix(seq); /* todo - move this into aftertrans update? - old seq tx needed it anyway */
+ break;
}
if (seq != seq_prev) {
- if (seq->depth==0) {
+ if (seq->depth == 0) {
/* Calculate this strip and all nested strips
* children are ALWAYS transformed first
* so we don't need to do this in another loop. */
@@ -2270,7 +2273,7 @@ void flushTransSeq(TransInfo *t)
if (tdsq->sel_flag == SELECT)
seq_offset_animdata(t->scene, seq, seq->start - old_start);
}
- seq_prev= seq;
+ seq_prev = seq;
}
@@ -2279,7 +2282,7 @@ void flushTransSeq(TransInfo *t)
/* calc all meta's then effects [#27953] */
for (seq = seqbasep->first; seq; seq = seq->next) {
- if (seq->type == SEQ_META && seq->flag & SELECT) {
+ if (seq->type == SEQ_TYPE_META && seq->flag & SELECT) {
calc_sequence(t->scene, seq);
}
}
@@ -2292,14 +2295,14 @@ void flushTransSeq(TransInfo *t)
/* need to do the overlap check in a new loop otherwise adjacent strips
* will not be updated and we'll get false positives */
- seq_prev= NULL;
- for (a=0, td= t->data, td2d= t->data2d; a<t->total; a++, td++, td2d++) {
+ seq_prev = NULL;
+ for (a = 0, td = t->data, td2d = t->data2d; a < t->total; a++, td++, td2d++) {
- tdsq= (TransDataSeq *)td->extra;
- seq= tdsq->seq;
+ tdsq = (TransDataSeq *)td->extra;
+ seq = tdsq->seq;
if (seq != seq_prev) {
- if (seq->depth==0) {
+ if (seq->depth == 0) {
/* test overlap, displayes red outline */
seq->flag &= ~SEQ_OVERLAP;
if (seq_test_overlap(seqbasep, seq)) {
@@ -2307,7 +2310,7 @@ void flushTransSeq(TransInfo *t)
}
}
}
- seq_prev= seq;
+ seq_prev = seq;
}
}
@@ -2323,8 +2326,8 @@ static void UVsToTransData(SpaceImage *sima, TransData *td, TransData2D *td2d, f
* proportional editing to be consistent with the stretched uv coords
* that are displayed. this also means that for display and numinput,
* and when the the uv coords are flushed, these are converted each time */
- td2d->loc[0] = uv[0]*aspx;
- td2d->loc[1] = uv[1]*aspy;
+ td2d->loc[0] = uv[0] * aspx;
+ td2d->loc[1] = uv[1] * aspy;
td2d->loc[2] = 0.0f;
td2d->loc2d = uv;
@@ -2336,14 +2339,14 @@ static void UVsToTransData(SpaceImage *sima, TransData *td, TransData2D *td2d, f
memset(td->axismtx, 0, sizeof(td->axismtx));
td->axismtx[2][2] = 1.0f;
- td->ext= NULL; td->val= NULL;
+ td->ext = NULL; td->val = NULL;
if (selected) {
td->flag |= TD_SELECTED;
- td->dist= 0.0;
+ td->dist = 0.0;
}
else {
- td->dist= MAXFLOAT;
+ td->dist = MAXFLOAT;
}
unit_m3(td->mtx);
unit_m3(td->smtx);
@@ -2362,14 +2365,14 @@ static void createTransUVs(bContext *C, TransInfo *t)
BMFace *efa;
BMLoop *l;
BMIter iter, liter;
- int count=0, countsel=0;
+ int count = 0, countsel = 0;
int propmode = t->flag & T_PROP_EDIT;
if (!ED_space_image_show_uvedit(sima, t->obedit)) return;
/* count */
BM_ITER_MESH (efa, &iter, em->bm, BM_FACES_OF_MESH) {
- tf= CustomData_bmesh_get(&em->bm->pdata, efa->head.data, CD_MTEXPOLY);
+ tf = CustomData_bmesh_get(&em->bm->pdata, efa->head.data, CD_MTEXPOLY);
if (!uvedit_face_visible_test(scene, ima, efa, tf)) {
BM_elem_flag_disable(efa, BM_ELEM_TAG);
@@ -2386,20 +2389,20 @@ static void createTransUVs(bContext *C, TransInfo *t)
}
}
- /* note: in prop mode we need at least 1 selected */
- if (countsel==0) return;
+ /* note: in prop mode we need at least 1 selected */
+ if (countsel == 0) return;
- t->total= (propmode)? count: countsel;
- t->data= MEM_callocN(t->total*sizeof(TransData), "TransObData(UV Editing)");
+ t->total = (propmode) ? count : countsel;
+ t->data = MEM_callocN(t->total * sizeof(TransData), "TransObData(UV Editing)");
/* for each 2d uv coord a 3d vector is allocated, so that they can be
* treated just as if they were 3d verts */
- t->data2d= MEM_callocN(t->total*sizeof(TransData2D), "TransObData2D(UV Editing)");
+ t->data2d = MEM_callocN(t->total * sizeof(TransData2D), "TransObData2D(UV Editing)");
if (sima->flag & SI_CLIP_UV)
t->flag |= T_CLIP_UV;
- td= t->data;
- td2d= t->data2d;
+ td = t->data;
+ td2d = t->data2d;
BM_ITER_MESH (efa, &iter, em->bm, BM_FACES_OF_MESH) {
if (!BM_elem_flag_test(efa, BM_ELEM_TAG))
@@ -2427,17 +2430,17 @@ void flushTransUVs(TransInfo *t)
ED_space_image_uv_aspect(sima, &aspx, &aspy);
ED_space_image_size(sima, &width, &height);
- invx= 1.0f/aspx;
- invy= 1.0f/aspy;
+ invx = 1.0f / aspx;
+ invy = 1.0f / aspy;
/* flush to 2d vector from internally used 3d vector */
- for (a=0, td= t->data2d; a<t->total; a++, td++) {
- td->loc2d[0]= td->loc[0]*invx;
- td->loc2d[1]= td->loc[1]*invy;
+ for (a = 0, td = t->data2d; a < t->total; a++, td++) {
+ td->loc2d[0] = td->loc[0] * invx;
+ td->loc2d[1] = td->loc[1] * invy;
if ((sima->flag & SI_PIXELSNAP) && (t->state != TRANS_CANCEL)) {
- td->loc2d[0]= (float)floor(width*td->loc2d[0] + 0.5f)/width;
- td->loc2d[1]= (float)floor(height*td->loc2d[1] + 0.5f)/height;
+ td->loc2d[0] = (float)floor(width * td->loc2d[0] + 0.5f) / width;
+ td->loc2d[1] = (float)floor(height * td->loc2d[1] + 0.5f) / height;
}
}
}
@@ -2445,46 +2448,46 @@ void flushTransUVs(TransInfo *t)
int clipUVTransform(TransInfo *t, float *vec, int resize)
{
TransData *td;
- int a, clipx=1, clipy=1;
+ int a, clipx = 1, clipy = 1;
float aspx, aspy, min[2], max[2];
ED_space_image_uv_aspect(t->sa->spacedata.first, &aspx, &aspy);
- min[0]= min[1]= 0.0f;
- max[0]= aspx; max[1]= aspy;
+ min[0] = min[1] = 0.0f;
+ max[0] = aspx; max[1] = aspy;
- for (a=0, td= t->data; a<t->total; a++, td++) {
+ for (a = 0, td = t->data; a < t->total; a++, td++) {
DO_MINMAX2(td->loc, min, max);
}
if (resize) {
- if (min[0] < 0.0f && t->center[0] > 0.0f && t->center[0] < aspx*0.5f)
- vec[0] *= t->center[0]/(t->center[0] - min[0]);
+ if (min[0] < 0.0f && t->center[0] > 0.0f && t->center[0] < aspx * 0.5f)
+ vec[0] *= t->center[0] / (t->center[0] - min[0]);
else if (max[0] > aspx && t->center[0] < aspx)
- vec[0] *= (t->center[0] - aspx)/(t->center[0] - max[0]);
+ vec[0] *= (t->center[0] - aspx) / (t->center[0] - max[0]);
else
- clipx= 0;
+ clipx = 0;
- if (min[1] < 0.0f && t->center[1] > 0.0f && t->center[1] < aspy*0.5f)
- vec[1] *= t->center[1]/(t->center[1] - min[1]);
+ if (min[1] < 0.0f && t->center[1] > 0.0f && t->center[1] < aspy * 0.5f)
+ vec[1] *= t->center[1] / (t->center[1] - min[1]);
else if (max[1] > aspy && t->center[1] < aspy)
- vec[1] *= (t->center[1] - aspy)/(t->center[1] - max[1]);
+ vec[1] *= (t->center[1] - aspy) / (t->center[1] - max[1]);
else
- clipy= 0;
+ clipy = 0;
}
else {
if (min[0] < 0.0f)
vec[0] -= min[0];
else if (max[0] > aspx)
- vec[0] -= max[0]-aspx;
+ vec[0] -= max[0] - aspx;
else
- clipx= 0;
+ clipx = 0;
if (min[1] < 0.0f)
vec[1] -= min[1];
else if (max[1] > aspy)
- vec[1] -= max[1]-aspy;
+ vec[1] -= max[1] - aspy;
else
- clipy= 0;
+ clipy = 0;
}
return (clipx || clipy);
@@ -2509,7 +2512,7 @@ static short FrameOnMouseSide(char side, float frame, float cframe)
static void createTransNlaData(bContext *C, TransInfo *t)
{
- Scene *scene= t->scene;
+ Scene *scene = t->scene;
SpaceNla *snla = NULL;
TransData *td = NULL;
TransDataNla *tdn = NULL;
@@ -2519,7 +2522,7 @@ static void createTransNlaData(bContext *C, TransInfo *t)
bAnimListElem *ale;
int filter;
- int count=0;
+ int count = 0;
/* determine what type of data we are operating on */
if (ANIM_animdata_get_context(C, &ac) == 0)
@@ -2527,7 +2530,7 @@ static void createTransNlaData(bContext *C, TransInfo *t)
snla = (SpaceNla *)ac.sl;
/* filter data */
- filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_FOREDIT);
+ filter = (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_FOREDIT);
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
/* which side of the current frame should be allowed */
@@ -2536,7 +2539,7 @@ static void createTransNlaData(bContext *C, TransInfo *t)
float xmouse, ymouse;
UI_view2d_region_to_view(&ac.ar->v2d, t->imval[0], t->imval[1], &xmouse, &ymouse);
- t->frame_side= (xmouse > CFRA) ? 'R' : 'L';
+ t->frame_side = (xmouse > CFRA) ? 'R' : 'L';
}
else {
/* normal transform - both sides of current frame are considered */
@@ -2544,15 +2547,15 @@ static void createTransNlaData(bContext *C, TransInfo *t)
}
/* loop 1: count how many strips are selected (consider each strip as 2 points) */
- for (ale= anim_data.first; ale; ale= ale->next) {
- NlaTrack *nlt= (NlaTrack *)ale->data;
+ for (ale = anim_data.first; ale; ale = ale->next) {
+ NlaTrack *nlt = (NlaTrack *)ale->data;
NlaStrip *strip;
/* make some meta-strips for chains of selected strips */
BKE_nlastrips_make_metas(&nlt->strips, 1);
/* only consider selected strips */
- for (strip= nlt->strips.first; strip; strip= strip->next) {
+ for (strip = nlt->strips.first; strip; strip = strip->next) {
// TODO: we can make strips have handles later on...
/* transition strips can't get directly transformed */
if (strip->type != NLASTRIP_TYPE_TRANSITION) {
@@ -2572,24 +2575,24 @@ static void createTransNlaData(bContext *C, TransInfo *t)
}
/* allocate memory for data */
- t->total= count;
+ t->total = count;
- t->data= MEM_callocN(t->total*sizeof(TransData), "TransData(NLA Editor)");
- td= t->data;
- t->customData= MEM_callocN(t->total*sizeof(TransDataNla), "TransDataNla (NLA Editor)");
- tdn= t->customData;
+ t->data = MEM_callocN(t->total * sizeof(TransData), "TransData(NLA Editor)");
+ td = t->data;
+ t->customData = MEM_callocN(t->total * sizeof(TransDataNla), "TransDataNla (NLA Editor)");
+ tdn = t->customData;
t->flag |= T_FREE_CUSTOMDATA;
/* loop 2: build transdata array */
- for (ale= anim_data.first; ale; ale= ale->next) {
+ for (ale = anim_data.first; ale; ale = ale->next) {
/* only if a real NLA-track */
if (ale->type == ANIMTYPE_NLATRACK) {
AnimData *adt = ale->adt;
- NlaTrack *nlt= (NlaTrack *)ale->data;
+ NlaTrack *nlt = (NlaTrack *)ale->data;
NlaStrip *strip;
/* only consider selected strips */
- for (strip= nlt->strips.first; strip; strip= strip->next) {
+ for (strip = nlt->strips.first; strip; strip = strip->next) {
// TODO: we can make strips have handles later on...
/* transition strips can't get directly transformed */
if (strip->type != NLASTRIP_TYPE_TRANSITION) {
@@ -2599,37 +2602,37 @@ static void createTransNlaData(bContext *C, TransInfo *t)
* - td structs are transform-elements operated on by the transform system
* and represent a single handle. The storage/pointer used (val or loc) depends on
* whether we're scaling or transforming. Ultimately though, the handles
- * the td writes to will simply be a dummy in tdn
+ * the td writes to will simply be a dummy in tdn
* - for each strip being transformed, a single tdn struct is used, so in some
* cases, there will need to be 1 of these tdn elements in the array skipped...
*/
float center[3], yval;
/* firstly, init tdn settings */
- tdn->id= ale->id;
- tdn->oldTrack= tdn->nlt= nlt;
- tdn->strip= strip;
- tdn->trackIndex= BLI_findindex(&adt->nla_tracks, nlt);
-
- yval= (float)(tdn->trackIndex * NLACHANNEL_STEP(snla));
-
- tdn->h1[0]= strip->start;
- tdn->h1[1]= yval;
- tdn->h2[0]= strip->end;
- tdn->h2[1]= yval;
-
- center[0]= (float)CFRA;
- center[1]= yval;
- center[2]= 0.0f;
+ tdn->id = ale->id;
+ tdn->oldTrack = tdn->nlt = nlt;
+ tdn->strip = strip;
+ tdn->trackIndex = BLI_findindex(&adt->nla_tracks, nlt);
+
+ yval = (float)(tdn->trackIndex * NLACHANNEL_STEP(snla));
+
+ tdn->h1[0] = strip->start;
+ tdn->h1[1] = yval;
+ tdn->h2[0] = strip->end;
+ tdn->h2[1] = yval;
+
+ center[0] = (float)CFRA;
+ center[1] = yval;
+ center[2] = 0.0f;
/* set td's based on which handles are applicable */
if (FrameOnMouseSide(t->frame_side, strip->start, (float)CFRA)) {
/* just set tdn to assume that it only has one handle for now */
- tdn->handle= -1;
+ tdn->handle = -1;
/* now, link the transform data up to this data */
if (ELEM(t->mode, TFM_TRANSLATION, TFM_TIME_EXTEND)) {
- td->loc= tdn->h1;
+ td->loc = tdn->h1;
copy_v3_v3(td->iloc, tdn->h1);
/* store all the other gunk that is required by transform */
@@ -2637,30 +2640,30 @@ static void createTransNlaData(bContext *C, TransInfo *t)
memset(td->axismtx, 0, sizeof(td->axismtx));
td->axismtx[2][2] = 1.0f;
- td->ext= NULL; td->val= NULL;
+ td->ext = NULL; td->val = NULL;
td->flag |= TD_SELECTED;
- td->dist= 0.0f;
+ td->dist = 0.0f;
unit_m3(td->mtx);
unit_m3(td->smtx);
}
else {
/* time scaling only needs single value */
- td->val= &tdn->h1[0];
- td->ival= tdn->h1[0];
+ td->val = &tdn->h1[0];
+ td->ival = tdn->h1[0];
}
- td->extra= tdn;
+ td->extra = tdn;
td++;
}
if (FrameOnMouseSide(t->frame_side, strip->end, (float)CFRA)) {
/* if tdn is already holding the start handle, then we're doing both, otherwise, only end */
- tdn->handle= (tdn->handle) ? 2 : 1;
+ tdn->handle = (tdn->handle) ? 2 : 1;
/* now, link the transform data up to this data */
if (ELEM(t->mode, TFM_TRANSLATION, TFM_TIME_EXTEND)) {
- td->loc= tdn->h2;
+ td->loc = tdn->h2;
copy_v3_v3(td->iloc, tdn->h2);
/* store all the other gunk that is required by transform */
@@ -2668,21 +2671,21 @@ static void createTransNlaData(bContext *C, TransInfo *t)
memset(td->axismtx, 0, sizeof(td->axismtx));
td->axismtx[2][2] = 1.0f;
- td->ext= NULL; td->val= NULL;
+ td->ext = NULL; td->val = NULL;
td->flag |= TD_SELECTED;
- td->dist= 0.0f;
+ td->dist = 0.0f;
unit_m3(td->mtx);
unit_m3(td->smtx);
}
else {
/* time scaling only needs single value */
- td->val= &tdn->h2[0];
- td->ival= tdn->h2[0];
+ td->val = &tdn->h2[0];
+ td->ival = tdn->h2[0];
}
- td->extra= tdn;
+ td->extra = tdn;
td++;
}
@@ -2710,11 +2713,11 @@ static void createTransNlaData(bContext *C, TransInfo *t)
* It also makes sure gp-frames are still stored in chronological order after
* transform.
*/
-static void posttrans_gpd_clean (bGPdata *gpd)
+static void posttrans_gpd_clean(bGPdata *gpd)
{
bGPDlayer *gpl;
- for (gpl= gpd->layers.first; gpl; gpl= gpl->next) {
+ for (gpl = gpd->layers.first; gpl; gpl = gpl->next) {
ListBase sel_buffer = {NULL, NULL};
bGPDframe *gpf, *gpfn;
bGPDframe *gfs, *gfsn;
@@ -2722,9 +2725,9 @@ static void posttrans_gpd_clean (bGPdata *gpd)
/* loop 1: loop through and isolate selected gp-frames to buffer
* (these need to be sorted as they are isolated)
*/
- for (gpf= gpl->frames.first; gpf; gpf= gpfn) {
- short added= 0;
- gpfn= gpf->next;
+ for (gpf = gpl->frames.first; gpf; gpf = gpfn) {
+ short added = 0;
+ gpfn = gpf->next;
if (gpf->flag & GP_FRAME_SELECT) {
BLI_remlink(&gpl->frames, gpf);
@@ -2733,11 +2736,11 @@ static void posttrans_gpd_clean (bGPdata *gpd)
* - go backwards as most frames will still be in order,
* so doing it this way will be faster
*/
- for (gfs= sel_buffer.last; gfs; gfs= gfs->prev) {
+ for (gfs = sel_buffer.last; gfs; gfs = gfs->prev) {
/* if current (gpf) occurs after this one in buffer, add! */
if (gfs->framenum < gpf->framenum) {
BLI_insertlinkafter(&sel_buffer, gfs, gpf);
- added= 1;
+ added = 1;
break;
}
}
@@ -2752,19 +2755,19 @@ static void posttrans_gpd_clean (bGPdata *gpd)
/* if all were selected (i.e. gpl->frames is empty), then just transfer sel-buf over */
if (gpl->frames.first == NULL) {
- gpl->frames.first= sel_buffer.first;
- gpl->frames.last= sel_buffer.last;
+ gpl->frames.first = sel_buffer.first;
+ gpl->frames.last = sel_buffer.last;
continue;
}
/* loop 2: remove duplicates of frames in buffers */
- for (gpf= gpl->frames.first; gpf && sel_buffer.first; gpf= gpfn) {
- gpfn= gpf->next;
+ for (gpf = gpl->frames.first; gpf && sel_buffer.first; gpf = gpfn) {
+ gpfn = gpf->next;
/* loop through sel_buffer, emptying stuff from front of buffer if ok */
- for (gfs= sel_buffer.first; gfs && gpf; gfs= gfsn) {
- gfsn= gfs->next;
+ for (gfs = sel_buffer.first; gfs && gpf; gfs = gfsn) {
+ gfsn = gfs->next;
/* if this buffer frame needs to go before current, add it! */
if (gfs->framenum < gpf->framenum) {
@@ -2785,8 +2788,8 @@ static void posttrans_gpd_clean (bGPdata *gpd)
}
/* if anything is still in buffer, append to end */
- for (gfs= sel_buffer.first; gfs; gfs= gfsn) {
- gfsn= gfs->next;
+ for (gfs = sel_buffer.first; gfs; gfs = gfsn) {
+ gfsn = gfs->next;
BLI_remlink(&sel_buffer, gfs);
BLI_addtail(&gpl->frames, gfs);
@@ -2794,21 +2797,114 @@ static void posttrans_gpd_clean (bGPdata *gpd)
}
}
+
+/* Called by special_aftertrans_update to make sure selected gp-frames replace
+ * any other gp-frames which may reside on that frame (that are not selected).
+ * It also makes sure sorted are still stored in chronological order after
+ * transform.
+ */
+static void posttrans_mask_clean(Mask *mask)
+{
+ MaskLayer *masklay;
+
+ for (masklay = mask->masklayers.first; masklay; masklay = masklay->next) {
+ ListBase sel_buffer = {NULL, NULL};
+ MaskLayerShape *masklay_shape, *masklay_shape_new;
+ MaskLayerShape *masklay_shape_sort, *masklay_shape_sort_new;
+
+ /* loop 1: loop through and isolate selected gp-frames to buffer
+ * (these need to be sorted as they are isolated)
+ */
+ for (masklay_shape = masklay->splines_shapes.first; masklay_shape; masklay_shape = masklay_shape_new) {
+ short added = 0;
+ masklay_shape_new = masklay_shape->next;
+
+ if (masklay_shape->flag & GP_FRAME_SELECT) {
+ BLI_remlink(&masklay->splines_shapes, masklay_shape);
+
+ /* find place to add them in buffer
+ * - go backwards as most frames will still be in order,
+ * so doing it this way will be faster
+ */
+ for (masklay_shape_sort = sel_buffer.last; masklay_shape_sort; masklay_shape_sort = masklay_shape_sort->prev) {
+ /* if current (masklay_shape) occurs after this one in buffer, add! */
+ if (masklay_shape_sort->frame < masklay_shape->frame) {
+ BLI_insertlinkafter(&sel_buffer, masklay_shape_sort, masklay_shape);
+ added = 1;
+ break;
+ }
+ }
+ if (added == 0)
+ BLI_addhead(&sel_buffer, masklay_shape);
+ }
+ }
+
+ /* error checking: it is unlikely, but may be possible to have none selected */
+ if (sel_buffer.first == NULL)
+ continue;
+
+ /* if all were selected (i.e. masklay->splines_shapes is empty), then just transfer sel-buf over */
+ if (masklay->splines_shapes.first == NULL) {
+ masklay->splines_shapes.first = sel_buffer.first;
+ masklay->splines_shapes.last = sel_buffer.last;
+
+ continue;
+ }
+
+ /* loop 2: remove duplicates of splines_shapes in buffers */
+ for (masklay_shape = masklay->splines_shapes.first; masklay_shape && sel_buffer.first; masklay_shape = masklay_shape_new) {
+ masklay_shape_new = masklay_shape->next;
+
+ /* loop through sel_buffer, emptying stuff from front of buffer if ok */
+ for (masklay_shape_sort = sel_buffer.first; masklay_shape_sort && masklay_shape; masklay_shape_sort = masklay_shape_sort_new) {
+ masklay_shape_sort_new = masklay_shape_sort->next;
+
+ /* if this buffer frame needs to go before current, add it! */
+ if (masklay_shape_sort->frame < masklay_shape->frame) {
+ /* transfer buffer frame to splines_shapes list (before current) */
+ BLI_remlink(&sel_buffer, masklay_shape_sort);
+ BLI_insertlinkbefore(&masklay->splines_shapes, masklay_shape, masklay_shape_sort);
+ }
+ /* if this buffer frame is on same frame, replace current with it and stop */
+ else if (masklay_shape_sort->frame == masklay_shape->frame) {
+ /* transfer buffer frame to splines_shapes list (before current) */
+ BLI_remlink(&sel_buffer, masklay_shape_sort);
+ BLI_insertlinkbefore(&masklay->splines_shapes, masklay_shape, masklay_shape_sort);
+
+ /* get rid of current frame */
+ BKE_mask_layer_shape_unlink(masklay, masklay_shape);
+ }
+ }
+ }
+
+ /* if anything is still in buffer, append to end */
+ for (masklay_shape_sort = sel_buffer.first; masklay_shape_sort; masklay_shape_sort = masklay_shape_sort_new) {
+ masklay_shape_sort_new = masklay_shape_sort->next;
+
+ BLI_remlink(&sel_buffer, masklay_shape_sort);
+ BLI_addtail(&masklay->splines_shapes, masklay_shape_sort);
+ }
+
+ /* NOTE: this is the only difference to grease pencil code above */
+ BKE_mask_layer_shape_sort(masklay);
+ }
+}
+
/* Called during special_aftertrans_update to make sure selected keyframes replace
* any other keyframes which may reside on that frame (that is not selected).
*/
-static void posttrans_fcurve_clean (FCurve *fcu, const short use_handle)
+static void posttrans_fcurve_clean(FCurve *fcu, const short use_handle)
{
- float *selcache; /* cache for frame numbers of selected frames (fcu->totvert*sizeof(float)) */
- int len, index, i; /* number of frames in cache, item index */
+ float *selcache; /* cache for frame numbers of selected frames (fcu->totvert*sizeof(float)) */
+ int len, index, i; /* number of frames in cache, item index */
/* allocate memory for the cache */
// TODO: investigate using BezTriple columns instead?
- if (fcu->totvert == 0 || fcu->bezt==NULL)
+ if (fcu->totvert == 0 || fcu->bezt == NULL)
return;
- selcache= MEM_callocN(sizeof(float)*fcu->totvert, "FCurveSelFrameNums");
- len= 0;
- index= 0;
+ selcache = MEM_callocN(sizeof(float) * fcu->totvert, "FCurveSelFrameNums");
+ len = 0;
+ index = 0;
/* We do 2 loops, 1 for marking keyframes for deletion, one for deleting
* as there is no guarantee what order the keyframes are exactly, even though
@@ -2817,10 +2913,10 @@ static void posttrans_fcurve_clean (FCurve *fcu, const short use_handle)
/* Loop 1: find selected keyframes */
for (i = 0; i < fcu->totvert; i++) {
- BezTriple *bezt= &fcu->bezt[i];
+ BezTriple *bezt = &fcu->bezt[i];
if (BEZSELECTED(bezt)) {
- selcache[index]= bezt->vec[1][0];
+ selcache[index] = bezt->vec[1][0];
index++;
len++;
}
@@ -2830,12 +2926,12 @@ static void posttrans_fcurve_clean (FCurve *fcu, const short use_handle)
* (if any keyframes were found, or the whole curve wasn't affected)
*/
if ((len) && (len != fcu->totvert)) {
- for (i= fcu->totvert-1; i >= 0; i--) {
- BezTriple *bezt= &fcu->bezt[i];
+ for (i = fcu->totvert - 1; i >= 0; i--) {
+ BezTriple *bezt = &fcu->bezt[i];
if (BEZSELECTED(bezt) == 0) {
/* check beztriple should be removed according to cache */
- for (index= 0; index < len; index++) {
+ for (index = 0; index < len; index++) {
if (IS_EQF(bezt->vec[1][0], selcache[index])) {
delete_fcurve_key(fcu, i, 0);
break;
@@ -2859,21 +2955,21 @@ static void posttrans_fcurve_clean (FCurve *fcu, const short use_handle)
* any other keyframes which may reside on that frame (that is not selected).
* remake_action_ipos should have already been called
*/
-static void posttrans_action_clean (bAnimContext *ac, bAction *act)
+static void posttrans_action_clean(bAnimContext *ac, bAction *act)
{
ListBase anim_data = {NULL, NULL};
bAnimListElem *ale;
int filter;
/* filter data */
- filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_FOREDIT /*| ANIMFILTER_CURVESONLY*/);
+ filter = (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_FOREDIT /*| ANIMFILTER_CURVESONLY*/);
ANIM_animdata_filter(ac, &anim_data, filter, act, ANIMCONT_ACTION);
/* loop through relevant data, removing keyframes as appropriate
- * - all keyframes are converted in/out of global time
+ * - all keyframes are converted in/out of global time
*/
- for (ale= anim_data.first; ale; ale= ale->next) {
- AnimData *adt= ANIM_nla_mapping_get(ac, ale);
+ for (ale = anim_data.first; ale; ale = ale->next) {
+ AnimData *adt = ANIM_nla_mapping_get(ac, ale);
if (adt) {
ANIM_nla_mapping_apply_fcurve(adt, ale->key_data, 0, 1);
@@ -2881,7 +2977,7 @@ static void posttrans_action_clean (bAnimContext *ac, bAction *act)
ANIM_nla_mapping_apply_fcurve(adt, ale->key_data, 1, 1);
}
else
- posttrans_fcurve_clean(ale->key_data, FALSE); /* only use handles in graph editor */
+ posttrans_fcurve_clean(ale->key_data, FALSE); /* only use handles in graph editor */
}
/* free temp data */
@@ -2900,7 +2996,7 @@ static int count_fcurve_keys(FCurve *fcu, char side, float cfra)
return count;
/* only include points that occur on the right side of cfra */
- for (i=0, bezt=fcu->bezt; i < fcu->totvert; i++, bezt++) {
+ for (i = 0, bezt = fcu->bezt; i < fcu->totvert; i++, bezt++) {
if (bezt->f2 & SELECT) {
/* no need to adjust the handle selection since they are assumed
* selected (like graph editor with SIPO_NOHANDLES) */
@@ -2923,7 +3019,7 @@ static int count_gplayer_frames(bGPDlayer *gpl, char side, float cfra)
return count;
/* only include points that occur on the right side of cfra */
- for (gpf= gpl->frames.first; gpf; gpf= gpf->next) {
+ for (gpf = gpl->frames.first; gpf; gpf = gpf->next) {
if (gpf->flag & GP_FRAME_SELECT) {
if (FrameOnMouseSide(side, (float)gpf->framenum, cfra))
count++;
@@ -2933,6 +3029,27 @@ static int count_gplayer_frames(bGPDlayer *gpl, char side, float cfra)
return count;
}
+/* fully select selected beztriples, but only include if it's on the right side of cfra */
+static int count_masklayer_frames(MaskLayer *masklay, char side, float cfra)
+{
+ MaskLayerShape *masklayer_shape;
+ int count = 0;
+
+ if (masklay == NULL)
+ return count;
+
+ /* only include points that occur on the right side of cfra */
+ for (masklayer_shape = masklay->splines_shapes.first; masklayer_shape; masklayer_shape = masklayer_shape->next) {
+ if (masklayer_shape->flag & MASK_SHAPE_SELECT) {
+ if (FrameOnMouseSide(side, (float)masklayer_shape->frame, cfra))
+ count++;
+ }
+ }
+
+ return count;
+}
+
+
/* This function assigns the information to transdata */
static void TimeToTransData(TransData *td, float *time, AnimData *adt)
{
@@ -2943,7 +3060,7 @@ static void TimeToTransData(TransData *td, float *time, AnimData *adt)
/* store the AnimData where this keyframe exists as a keyframe of the
* active action as td->extra.
*/
- td->extra= adt;
+ td->extra = adt;
}
/* This function advances the address to which td points to, so it must return
@@ -2962,7 +3079,7 @@ static TransData *ActionFCurveToTransData(TransData *td, TransData2D **td2dv, FC
if (ELEM(NULL, fcu, fcu->bezt))
return td;
- for (i=0, bezt=fcu->bezt; i < fcu->totvert; i++, bezt++) {
+ for (i = 0, bezt = fcu->bezt; i < fcu->totvert; i++, bezt++) {
/* only add selected keyframes (for now, proportional edit is not enabled) */
if (bezt->f2 & SELECT) { /* note this MUST match count_fcurve_keys(), so can't use BEZSELECTED() macro */
/* only add if on the right 'side' of the current frame */
@@ -2970,7 +3087,7 @@ static TransData *ActionFCurveToTransData(TransData *td, TransData2D **td2dv, FC
TimeToTransData(td, bezt->vec[1], adt);
/*set flags to move handles as necessary*/
- td->flag |= TD_MOVEHANDLE1|TD_MOVEHANDLE2;
+ td->flag |= TD_MOVEHANDLE1 | TD_MOVEHANDLE2;
td2d->h1 = bezt->vec[0];
td2d->h2 = bezt->vec[2];
@@ -2990,25 +3107,25 @@ static TransData *ActionFCurveToTransData(TransData *td, TransData2D **td2dv, FC
/* helper struct for gp-frame transforms (only used here) */
typedef struct tGPFtransdata {
- float val; /* where transdata writes transform */
- int *sdata; /* pointer to gpf->framenum */
+ float val; /* where transdata writes transform */
+ int *sdata; /* pointer to gpf->framenum */
} tGPFtransdata;
/* This function helps flush transdata written to tempdata into the gp-frames */
-void flushTransGPactionData(TransInfo *t)
+void flushTransIntFrameActionData(TransInfo *t)
{
tGPFtransdata *tfd;
int i;
/* find the first one to start from */
if (t->mode == TFM_TIME_SLIDE)
- tfd= (tGPFtransdata *)((float *)(t->customData) + 2);
+ tfd = (tGPFtransdata *)((float *)(t->customData) + 2);
else
- tfd= (tGPFtransdata *)(t->customData);
+ tfd = (tGPFtransdata *)(t->customData);
/* flush data! */
for (i = 0; i < t->total; i++, tfd++) {
- *(tfd->sdata)= (int)floor(tfd->val + 0.5f);
+ *(tfd->sdata) = (int)floor(tfd->val + 0.5f);
}
}
@@ -3019,21 +3136,21 @@ void flushTransGPactionData(TransInfo *t)
* The 'side' argument is needed for the extend mode. 'B' = both sides, 'R'/'L' mean only data
* on the named side are used.
*/
-static int GPLayerToTransData (TransData *td, tGPFtransdata *tfd, bGPDlayer *gpl, char side, float cfra)
+static int GPLayerToTransData(TransData *td, tGPFtransdata *tfd, bGPDlayer *gpl, char side, float cfra)
{
bGPDframe *gpf;
- int count= 0;
+ int count = 0;
/* check for select frames on right side of current frame */
- for (gpf= gpl->frames.first; gpf; gpf= gpf->next) {
+ for (gpf = gpl->frames.first; gpf; gpf = gpf->next) {
if (gpf->flag & GP_FRAME_SELECT) {
if (FrameOnMouseSide(side, (float)gpf->framenum, cfra)) {
/* memory is calloc'ed, so that should zero everything nicely for us */
- td->val= &tfd->val;
- td->ival= (float)gpf->framenum;
+ td->val = &tfd->val;
+ td->ival = (float)gpf->framenum;
- tfd->val= (float)gpf->framenum;
- tfd->sdata= &gpf->framenum;
+ tfd->val = (float)gpf->framenum;
+ tfd->sdata = &gpf->framenum;
/* advance td now */
td++;
@@ -3046,9 +3163,38 @@ static int GPLayerToTransData (TransData *td, tGPFtransdata *tfd, bGPDlayer *gpl
return count;
}
+/* refer to comment above #GPLayerToTransData, this is the same but for masks */
+static int MaskLayerToTransData(TransData *td, tGPFtransdata *tfd, MaskLayer *masklay, char side, float cfra)
+{
+ MaskLayerShape *masklay_shape;
+ int count = 0;
+
+ /* check for select frames on right side of current frame */
+ for (masklay_shape = masklay->splines_shapes.first; masklay_shape; masklay_shape = masklay_shape->next) {
+ if (masklay_shape->flag & MASK_SHAPE_SELECT) {
+ if (FrameOnMouseSide(side, (float)masklay_shape->frame, cfra)) {
+ /* memory is calloc'ed, so that should zero everything nicely for us */
+ td->val = &tfd->val;
+ td->ival = (float)masklay_shape->frame;
+
+ tfd->val = (float)masklay_shape->frame;
+ tfd->sdata = &masklay_shape->frame;
+
+ /* advance td now */
+ td++;
+ tfd++;
+ count++;
+ }
+ }
+ }
+
+ return count;
+}
+
+
static void createTransActionData(bContext *C, TransInfo *t)
{
- Scene *scene= t->scene;
+ Scene *scene = t->scene;
TransData *td = NULL;
TransData2D *td2d = NULL;
tGPFtransdata *tfd = NULL;
@@ -3058,7 +3204,7 @@ static void createTransActionData(bContext *C, TransInfo *t)
bAnimListElem *ale;
int filter;
- int count=0;
+ int count = 0;
float cfra;
/* determine what type of data we are operating on */
@@ -3066,10 +3212,10 @@ static void createTransActionData(bContext *C, TransInfo *t)
return;
/* filter data */
- if (ac.datatype == ANIMCONT_GPENCIL)
- filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_FOREDIT);
+ if (ELEM(ac.datatype, ANIMCONT_GPENCIL, ANIMCONT_MASK))
+ filter = (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_FOREDIT);
else
- filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_FOREDIT /*| ANIMFILTER_CURVESONLY*/);
+ filter = (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_FOREDIT /*| ANIMFILTER_CURVESONLY*/);
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
/* which side of the current frame should be allowed */
@@ -3086,8 +3232,8 @@ static void createTransActionData(bContext *C, TransInfo *t)
}
/* loop 1: fully select ipo-keys and count how many BezTriples are selected */
- for (ale= anim_data.first; ale; ale= ale->next) {
- AnimData *adt= ANIM_nla_mapping_get(&ac, ale);
+ for (ale = anim_data.first; ale; ale = ale->next) {
+ AnimData *adt = ANIM_nla_mapping_get(&ac, ale);
/* convert current-frame to action-time (slightly less accurate, especially under
* higher scaling ratios, but is faster than converting all points)
@@ -3099,8 +3245,12 @@ static void createTransActionData(bContext *C, TransInfo *t)
if (ale->type == ANIMTYPE_FCURVE)
count += count_fcurve_keys(ale->key_data, t->frame_side, cfra);
- else
+ else if (ale->type == ANIMTYPE_GPLAYER)
count += count_gplayer_frames(ale->data, t->frame_side, cfra);
+ else if (ale->type == ANIMTYPE_MASKLAYER)
+ count += count_masklayer_frames(ale->data, t->frame_side, cfra);
+ else
+ BLI_assert(0);
}
/* stop if trying to build list if nothing selected */
@@ -3111,39 +3261,47 @@ static void createTransActionData(bContext *C, TransInfo *t)
}
/* allocate memory for data */
- t->total= count;
+ t->total = count;
- t->data= MEM_callocN(t->total*sizeof(TransData), "TransData(Action Editor)");
- t->data2d= MEM_callocN(t->total*sizeof(TransData2D), "transdata2d");
- td= t->data;
+ t->data = MEM_callocN(t->total * sizeof(TransData), "TransData(Action Editor)");
+ t->data2d = MEM_callocN(t->total * sizeof(TransData2D), "transdata2d");
+ td = t->data;
td2d = t->data2d;
- if (ac.datatype == ANIMCONT_GPENCIL) {
+ if (ELEM(ac.datatype, ANIMCONT_GPENCIL, ANIMCONT_MASK)) {
if (t->mode == TFM_TIME_SLIDE) {
- t->customData= MEM_callocN((sizeof(float)*2)+(sizeof(tGPFtransdata)*count), "TimeSlide + tGPFtransdata");
- tfd= (tGPFtransdata *)((float *)(t->customData) + 2);
+ t->customData = MEM_callocN((sizeof(float) * 2) + (sizeof(tGPFtransdata) * count), "TimeSlide + tGPFtransdata");
+ tfd = (tGPFtransdata *)((float *)(t->customData) + 2);
}
else {
- t->customData= MEM_callocN(sizeof(tGPFtransdata)*count, "tGPFtransdata");
- tfd= (tGPFtransdata *)(t->customData);
+ t->customData = MEM_callocN(sizeof(tGPFtransdata) * count, "tGPFtransdata");
+ tfd = (tGPFtransdata *)(t->customData);
}
}
else if (t->mode == TFM_TIME_SLIDE)
- t->customData= MEM_callocN(sizeof(float)*2, "TimeSlide Min/Max");
+ t->customData = MEM_callocN(sizeof(float) * 2, "TimeSlide Min/Max");
/* loop 2: build transdata array */
- for (ale= anim_data.first; ale; ale= ale->next) {
+ for (ale = anim_data.first; ale; ale = ale->next) {
if (ale->type == ANIMTYPE_GPLAYER) {
- bGPDlayer *gpl= (bGPDlayer *)ale->data;
+ bGPDlayer *gpl = (bGPDlayer *)ale->data;
int i;
i = GPLayerToTransData(td, tfd, gpl, t->frame_side, cfra);
td += i;
tfd += i;
}
+ else if (ale->type == ANIMTYPE_MASKLAYER) {
+ MaskLayer *masklay = (MaskLayer *)ale->data;
+ int i;
+
+ i = MaskLayerToTransData(td, tfd, masklay, t->frame_side, cfra);
+ td += i;
+ tfd += i;
+ }
else {
- AnimData *adt= ANIM_nla_mapping_get(&ac, ale);
- FCurve *fcu= (FCurve *)ale->key_data;
+ AnimData *adt = ANIM_nla_mapping_get(&ac, ale);
+ FCurve *fcu = (FCurve *)ale->key_data;
/* convert current-frame to action-time (slightly less accurate, especially under
* higher scaling ratios, but is faster than converting all points)
@@ -3153,19 +3311,19 @@ static void createTransActionData(bContext *C, TransInfo *t)
else
cfra = (float)CFRA;
- td= ActionFCurveToTransData(td, &td2d, fcu, adt, t->frame_side, cfra);
+ td = ActionFCurveToTransData(td, &td2d, fcu, adt, t->frame_side, cfra);
}
}
/* check if we're supposed to be setting minx/maxx for TimeSlide */
if (t->mode == TFM_TIME_SLIDE) {
- float min=999999999.0f, max=-999999999.0f;
+ float min = 999999999.0f, max = -999999999.0f;
int i;
- td= t->data;
- for (i=0; i < count; i++, td++) {
- if (min > *(td->val)) min= *(td->val);
- if (max < *(td->val)) max= *(td->val);
+ td = t->data;
+ for (i = 0; i < count; i++, td++) {
+ if (min > *(td->val)) min = *(td->val);
+ if (max < *(td->val)) max = *(td->val);
}
if (min == max) {
@@ -3191,9 +3349,9 @@ static void createTransActionData(bContext *C, TransInfo *t)
/* Helper function for createTransGraphEditData, which is responsible for associating
* source data with transform data
*/
-static void bezt_to_transdata (TransData *td, TransData2D *td2d, AnimData *adt, BezTriple *bezt,
- int bi, short selected, short ishandle, short intvals,
- float mtx[3][3], float smtx[3][3])
+static void bezt_to_transdata(TransData *td, TransData2D *td2d, AnimData *adt, BezTriple *bezt,
+ int bi, short selected, short ishandle, short intvals,
+ float mtx[3][3], float smtx[3][3])
{
float *loc = bezt->vec[bi];
float *cent = bezt->vec[1];
@@ -3246,17 +3404,17 @@ static void bezt_to_transdata (TransData *td, TransData2D *td2d, AnimData *adt,
memset(td->axismtx, 0, sizeof(td->axismtx));
td->axismtx[2][2] = 1.0f;
- td->ext= NULL; td->val= NULL;
+ td->ext = NULL; td->val = NULL;
/* store AnimData info in td->extra, for applying mapping when flushing */
- td->extra= adt;
+ td->extra = adt;
if (selected) {
td->flag |= TD_SELECTED;
- td->dist= 0.0f;
+ td->dist = 0.0f;
}
else
- td->dist= MAXFLOAT;
+ td->dist = MAXFLOAT;
if (ishandle)
td->flag |= TD_NOTIMESNAP;
@@ -3271,9 +3429,9 @@ static void bezt_to_transdata (TransData *td, TransData2D *td2d, AnimData *adt,
static void createTransGraphEditData(bContext *C, TransInfo *t)
{
SpaceIpo *sipo = (SpaceIpo *)t->sa->spacedata.first;
- Scene *scene= t->scene;
- ARegion *ar= t->ar;
- View2D *v2d= &ar->v2d;
+ Scene *scene = t->scene;
+ ARegion *ar = t->ar;
+ View2D *v2d = &ar->v2d;
TransData *td = NULL;
TransData2D *td2d = NULL;
@@ -3284,7 +3442,7 @@ static void createTransGraphEditData(bContext *C, TransInfo *t)
int filter;
BezTriple *bezt;
- int count=0, i;
+ int count = 0, i;
float cfra;
float mtx[3][3], smtx[3][3];
const short use_handle = !(sipo->flag & SIPO_NOHANDLES);
@@ -3294,11 +3452,11 @@ static void createTransGraphEditData(bContext *C, TransInfo *t)
return;
/* filter data */
- filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_CURVE_VISIBLE);
+ filter = (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_CURVE_VISIBLE);
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
/* which side of the current frame should be allowed */
- // XXX we still want this mode, but how to get this using standard transform too?
+ // XXX we still want this mode, but how to get this using standard transform too?
if (t->mode == TFM_TIME_EXTEND) {
/* only side on which mouse is gets transformed */
float xmouse, ymouse;
@@ -3312,9 +3470,9 @@ static void createTransGraphEditData(bContext *C, TransInfo *t)
}
/* loop 1: count how many BezTriples (specifically their verts) are selected (or should be edited) */
- for (ale= anim_data.first; ale; ale= ale->next) {
- AnimData *adt= ANIM_nla_mapping_get(&ac, ale);
- FCurve *fcu= (FCurve *)ale->key_data;
+ for (ale = anim_data.first; ale; ale = ale->next) {
+ AnimData *adt = ANIM_nla_mapping_get(&ac, ale);
+ FCurve *fcu = (FCurve *)ale->key_data;
/* convert current-frame to action-time (slightly less accurate, especially under
* higher scaling ratios, but is faster than converting all points)
@@ -3329,11 +3487,11 @@ static void createTransGraphEditData(bContext *C, TransInfo *t)
continue;
/* only include BezTriples whose 'keyframe' occurs on the same side of the current frame as mouse */
- for (i=0, bezt=fcu->bezt; i < fcu->totvert; i++, bezt++) {
+ for (i = 0, bezt = fcu->bezt; i < fcu->totvert; i++, bezt++) {
if (FrameOnMouseSide(t->frame_side, bezt->vec[1][0], cfra)) {
- const char sel2= bezt->f2 & SELECT;
- const char sel1= use_handle ? bezt->f1 & SELECT : sel2;
- const char sel3= use_handle ? bezt->f3 & SELECT : sel2;
+ const char sel2 = bezt->f2 & SELECT;
+ const char sel1 = use_handle ? bezt->f1 & SELECT : sel2;
+ const char sel3 = use_handle ? bezt->f3 & SELECT : sel2;
if (ELEM3(t->mode, TFM_TRANSLATION, TFM_TIME_TRANSLATE, TFM_TIME_SLIDE)) {
/* for 'normal' pivots - just include anything that is selected.
@@ -3373,14 +3531,14 @@ static void createTransGraphEditData(bContext *C, TransInfo *t)
}
/* allocate memory for data */
- t->total= count;
+ t->total = count;
- t->data= MEM_callocN(t->total*sizeof(TransData), "TransData (Graph Editor)");
- /* for each 2d vert a 3d vector is allocated, so that they can be treated just as if they were 3d verts */
- t->data2d= MEM_callocN(t->total*sizeof(TransData2D), "TransData2D (Graph Editor)");
+ t->data = MEM_callocN(t->total * sizeof(TransData), "TransData (Graph Editor)");
+ /* for each 2d vert a 3d vector is allocated, so that they can be treated just as if they were 3d verts */
+ t->data2d = MEM_callocN(t->total * sizeof(TransData2D), "TransData2D (Graph Editor)");
- td= t->data;
- td2d= t->data2d;
+ td = t->data;
+ td2d = t->data2d;
/* precompute space-conversion matrices for dealing with non-uniform scaling of Graph Editor */
unit_m3(mtx);
@@ -3397,15 +3555,15 @@ static void createTransGraphEditData(bContext *C, TransInfo *t)
mul_v3_fl(mtx[1], yscale);
/* smtx is global (i.e. view) to data conversion */
- if (IS_EQF(xscale, 0.0f) == 0) mul_v3_fl(smtx[0], 1.0f/xscale);
- if (IS_EQF(yscale, 0.0f) == 0) mul_v3_fl(smtx[1], 1.0f/yscale);
+ if (IS_EQF(xscale, 0.0f) == 0) mul_v3_fl(smtx[0], 1.0f / xscale);
+ if (IS_EQF(yscale, 0.0f) == 0) mul_v3_fl(smtx[1], 1.0f / yscale);
}
/* loop 2: build transdata arrays */
- for (ale= anim_data.first; ale; ale= ale->next) {
- AnimData *adt= ANIM_nla_mapping_get(&ac, ale);
- FCurve *fcu= (FCurve *)ale->key_data;
- short intvals= (fcu->flag & FCURVE_INT_VALUES);
+ for (ale = anim_data.first; ale; ale = ale->next) {
+ AnimData *adt = ANIM_nla_mapping_get(&ac, ale);
+ FCurve *fcu = (FCurve *)ale->key_data;
+ short intvals = (fcu->flag & FCURVE_INT_VALUES);
/* convert current-frame to action-time (slightly less accurate, especially under
* higher scaling ratios, but is faster than converting all points)
@@ -3419,14 +3577,14 @@ static void createTransGraphEditData(bContext *C, TransInfo *t)
if (fcu->bezt == NULL)
continue;
- ANIM_unit_mapping_apply_fcurve(ac.scene, ale->id, ale->key_data, ANIM_UNITCONV_ONLYSEL|ANIM_UNITCONV_SELVERTS);
+ ANIM_unit_mapping_apply_fcurve(ac.scene, ale->id, ale->key_data, ANIM_UNITCONV_ONLYSEL | ANIM_UNITCONV_SELVERTS);
/* only include BezTriples whose 'keyframe' occurs on the same side of the current frame as mouse (if applicable) */
- for (i=0, bezt= fcu->bezt; i < fcu->totvert; i++, bezt++) {
+ for (i = 0, bezt = fcu->bezt; i < fcu->totvert; i++, bezt++) {
if (FrameOnMouseSide(t->frame_side, bezt->vec[1][0], cfra)) {
- const char sel2= bezt->f2 & SELECT;
- const char sel1= use_handle ? bezt->f1 & SELECT : sel2;
- const char sel3= use_handle ? bezt->f3 & SELECT : sel2;
+ const char sel2 = bezt->f2 & SELECT;
+ const char sel1 = use_handle ? bezt->f1 & SELECT : sel2;
+ const char sel3 = use_handle ? bezt->f3 & SELECT : sel2;
TransDataCurveHandleFlags *hdata = NULL;
/* short h1=1, h2=1; */ /* UNUSED */
@@ -3444,7 +3602,7 @@ static void createTransGraphEditData(bContext *C, TransInfo *t)
}
if (sel3) {
- if (hdata==NULL)
+ if (hdata == NULL)
hdata = initTransDataCurveHandles(td, bezt);
bezt_to_transdata(td++, td2d++, adt, bezt, 2, 1, 1, intvals, mtx, smtx);
}
@@ -3481,8 +3639,8 @@ static void createTransGraphEditData(bContext *C, TransInfo *t)
ELEM(t->mode, TFM_ROTATION, TFM_RESIZE))
{
if (hdata && (sel1) && (sel3)) {
- bezt->h1= HD_ALIGN;
- bezt->h2= HD_ALIGN;
+ bezt->h1 = HD_ALIGN;
+ bezt->h2 = HD_ALIGN;
}
}
}
@@ -3502,64 +3660,64 @@ static void createTransGraphEditData(bContext *C, TransInfo *t)
/* struct for use in re-sorting BezTriples during Graph Editor transform */
typedef struct BeztMap {
BezTriple *bezt;
- unsigned int oldIndex; /* index of bezt in fcu->bezt array before sorting */
- unsigned int newIndex; /* index of bezt in fcu->bezt array after sorting */
- short swapHs; /* swap order of handles (-1=clear; 0=not checked, 1=swap) */
- char pipo, cipo; /* interpolation of current and next segments */
+ unsigned int oldIndex; /* index of bezt in fcu->bezt array before sorting */
+ unsigned int newIndex; /* index of bezt in fcu->bezt array after sorting */
+ short swapHs; /* swap order of handles (-1=clear; 0=not checked, 1=swap) */
+ char pipo, cipo; /* interpolation of current and next segments */
} BeztMap;
/* This function converts an FCurve's BezTriple array to a BeztMap array
* NOTE: this allocates memory that will need to get freed later
*/
-static BeztMap *bezt_to_beztmaps (BezTriple *bezts, int totvert, const short UNUSED(use_handle))
+static BeztMap *bezt_to_beztmaps(BezTriple *bezts, int totvert, const short UNUSED(use_handle))
{
- BezTriple *bezt= bezts;
- BezTriple *prevbezt= NULL;
+ BezTriple *bezt = bezts;
+ BezTriple *prevbezt = NULL;
BeztMap *bezm, *bezms;
int i;
/* allocate memory for this array */
- if (totvert==0 || bezts==NULL)
+ if (totvert == 0 || bezts == NULL)
return NULL;
- bezm= bezms= MEM_callocN(sizeof(BeztMap)*totvert, "BeztMaps");
+ bezm = bezms = MEM_callocN(sizeof(BeztMap) * totvert, "BeztMaps");
/* assign beztriples to beztmaps */
- for (i=0; i < totvert; i++, bezm++, prevbezt=bezt, bezt++) {
- bezm->bezt= bezt;
+ for (i = 0; i < totvert; i++, bezm++, prevbezt = bezt, bezt++) {
+ bezm->bezt = bezt;
- bezm->oldIndex= i;
- bezm->newIndex= i;
+ bezm->oldIndex = i;
+ bezm->newIndex = i;
- bezm->pipo= (prevbezt) ? prevbezt->ipo : bezt->ipo;
- bezm->cipo= bezt->ipo;
+ bezm->pipo = (prevbezt) ? prevbezt->ipo : bezt->ipo;
+ bezm->cipo = bezt->ipo;
}
return bezms;
}
/* This function copies the code of sort_time_ipocurve, but acts on BeztMap structs instead */
-static void sort_time_beztmaps (BeztMap *bezms, int totvert, const short UNUSED(use_handle))
+static void sort_time_beztmaps(BeztMap *bezms, int totvert, const short UNUSED(use_handle))
{
BeztMap *bezm;
- int i, ok= 1;
+ int i, ok = 1;
/* keep repeating the process until nothing is out of place anymore */
while (ok) {
- ok= 0;
+ ok = 0;
- bezm= bezms;
- i= totvert;
+ bezm = bezms;
+ i = totvert;
while (i--) {
/* is current bezm out of order (i.e. occurs later than next)? */
if (i > 0) {
- if (bezm->bezt->vec[1][0] > (bezm+1)->bezt->vec[1][0]) {
+ if (bezm->bezt->vec[1][0] > (bezm + 1)->bezt->vec[1][0]) {
bezm->newIndex++;
- (bezm+1)->newIndex--;
+ (bezm + 1)->newIndex--;
- SWAP(BeztMap, *bezm, *(bezm+1));
+ SWAP(BeztMap, *bezm, *(bezm + 1));
- ok= 1;
+ ok = 1;
}
}
@@ -3585,7 +3743,7 @@ static void sort_time_beztmaps (BeztMap *bezms, int totvert, const short UNUSED(
}
/* This function firstly adjusts the pointers that the transdata has to each BezTriple */
-static void beztmap_to_data (TransInfo *t, FCurve *fcu, BeztMap *bezms, int totvert, const short UNUSED(use_handle))
+static void beztmap_to_data(TransInfo *t, FCurve *fcu, BeztMap *bezms, int totvert, const short UNUSED(use_handle))
{
BezTriple *bezts = fcu->bezt;
BeztMap *bezm;
@@ -3598,17 +3756,17 @@ static void beztmap_to_data (TransInfo *t, FCurve *fcu, BeztMap *bezms, int totv
* pointers have been fixed already, so that we don't override ones that are
* already done
*/
- adjusted= MEM_callocN(t->total, "beztmap_adjusted_map");
+ adjusted = MEM_callocN(t->total, "beztmap_adjusted_map");
/* for each beztmap item, find if it is used anywhere */
- bezm= bezms;
- for (i= 0; i < totvert; i++, bezm++) {
+ bezm = bezms;
+ for (i = 0; i < totvert; i++, bezm++) {
/* loop through transdata, testing if we have a hit
* for the handles (vec[0]/vec[2]), we must also check if they need to be swapped...
*/
- td2d= t->data2d;
- td= t->data;
- for (j= 0; j < t->total; j++, td2d++, td++) {
+ td2d = t->data2d;
+ td = t->data;
+ for (j = 0; j < t->total; j++, td2d++, td++) {
/* skip item if already marked */
if (adjusted[j] != 0) continue;
@@ -3617,26 +3775,26 @@ static void beztmap_to_data (TransInfo *t, FCurve *fcu, BeztMap *bezms, int totv
*/
if (td2d->loc2d == bezm->bezt->vec[0]) {
if (bezm->swapHs == 1)
- td2d->loc2d= (bezts + bezm->newIndex)->vec[2];
+ td2d->loc2d = (bezts + bezm->newIndex)->vec[2];
else
- td2d->loc2d= (bezts + bezm->newIndex)->vec[0];
+ td2d->loc2d = (bezts + bezm->newIndex)->vec[0];
adjusted[j] = 1;
}
else if (td2d->loc2d == bezm->bezt->vec[2]) {
if (bezm->swapHs == 1)
- td2d->loc2d= (bezts + bezm->newIndex)->vec[0];
+ td2d->loc2d = (bezts + bezm->newIndex)->vec[0];
else
- td2d->loc2d= (bezts + bezm->newIndex)->vec[2];
+ td2d->loc2d = (bezts + bezm->newIndex)->vec[2];
adjusted[j] = 1;
}
else if (td2d->loc2d == bezm->bezt->vec[1]) {
- td2d->loc2d= (bezts + bezm->newIndex)->vec[1];
+ td2d->loc2d = (bezts + bezm->newIndex)->vec[1];
/* if only control point is selected, the handle pointers need to be updated as well */
if (td2d->h1)
- td2d->h1= (bezts + bezm->newIndex)->vec[0];
+ td2d->h1 = (bezts + bezm->newIndex)->vec[0];
if (td2d->h2)
- td2d->h2= (bezts + bezm->newIndex)->vec[2];
+ td2d->h2 = (bezts + bezm->newIndex)->vec[2];
adjusted[j] = 1;
}
@@ -3674,15 +3832,15 @@ void remake_graph_transdata(TransInfo *t, ListBase *anim_data)
const short use_handle = !(sipo->flag & SIPO_NOHANDLES);
/* sort and reassign verts */
- for (ale= anim_data->first; ale; ale= ale->next) {
- FCurve *fcu= (FCurve *)ale->key_data;
+ for (ale = anim_data->first; ale; ale = ale->next) {
+ FCurve *fcu = (FCurve *)ale->key_data;
if (fcu->bezt) {
BeztMap *bezm;
/* adjust transform-data pointers */
/* note, none of these functions use 'use_handle', it could be removed */
- bezm= bezt_to_beztmaps(fcu->bezt, fcu->totvert, use_handle);
+ bezm = bezt_to_beztmaps(fcu->bezt, fcu->totvert, use_handle);
sort_time_beztmaps(bezm, fcu->totvert, use_handle);
beztmap_to_data(t, fcu, bezm, fcu->totvert, use_handle);
@@ -3706,19 +3864,19 @@ void flushTransGraphData(TransInfo *t)
SpaceIpo *sipo = (SpaceIpo *)t->sa->spacedata.first;
TransData *td;
TransData2D *td2d;
- Scene *scene= t->scene;
- double secf= FPS;
+ Scene *scene = t->scene;
+ double secf = FPS;
int a;
/* flush to 2d vector from internally used 3d vector */
- for (a=0, td= t->data, td2d=t->data2d; a<t->total; a++, td++, td2d++) {
- AnimData *adt= (AnimData *)td->extra; /* pointers to relevant AnimData blocks are stored in the td->extra pointers */
+ for (a = 0, td = t->data, td2d = t->data2d; a < t->total; a++, td++, td2d++) {
+ AnimData *adt = (AnimData *)td->extra; /* pointers to relevant AnimData blocks are stored in the td->extra pointers */
/* handle snapping for time values
* - we should still be in NLA-mapping timespace
* - only apply to keyframes (but never to handles)
*/
- if ((td->flag & TD_NOTIMESNAP)==0) {
+ if ((td->flag & TD_NOTIMESNAP) == 0) {
switch (sipo->autosnap) {
case SACTSNAP_FRAME: /* snap to nearest frame (or second if drawing seconds) */
if (sipo->flag & SIPO_DRAWTIME)
@@ -3728,22 +3886,22 @@ void flushTransGraphData(TransInfo *t)
break;
case SACTSNAP_MARKER: /* snap to nearest marker */
- td2d->loc[0]= (float)ED_markers_find_nearest_marker_time(&t->scene->markers, td2d->loc[0]);
+ td2d->loc[0] = (float)ED_markers_find_nearest_marker_time(&t->scene->markers, td2d->loc[0]);
break;
}
}
/* we need to unapply the nla-mapping from the time in some situations */
if (adt)
- td2d->loc2d[0]= BKE_nla_tweakedit_remap(adt, td2d->loc[0], NLATIME_CONVERT_UNMAP);
+ td2d->loc2d[0] = BKE_nla_tweakedit_remap(adt, td2d->loc[0], NLATIME_CONVERT_UNMAP);
else
- td2d->loc2d[0]= td2d->loc[0];
+ td2d->loc2d[0] = td2d->loc[0];
/* if int-values only, truncate to integers */
if (td->flag & TD_INTVALUES)
- td2d->loc2d[1]= floorf(td2d->loc[1] + 0.5f);
+ td2d->loc2d[1] = floorf(td2d->loc[1] + 0.5f);
else
- td2d->loc2d[1]= td2d->loc[1];
+ td2d->loc2d[1] = td2d->loc[1];
if ((td->flag & TD_MOVEHANDLE1) && td2d->h1) {
td2d->h1[0] = td2d->ih1[0] + td->loc[0] - td->iloc[0];
@@ -3775,47 +3933,47 @@ static void SeqTransInfo(TransInfo *t, Sequence *seq, int *recursive, int *count
/* *** Extend Transform *** */
Scene *scene = t->scene;
- int cfra= CFRA;
- int left= seq_tx_get_final_left(seq, 1);
- int right= seq_tx_get_final_right(seq, 1);
+ int cfra = CFRA;
+ int left = seq_tx_get_final_left(seq, 1);
+ int right = seq_tx_get_final_right(seq, 1);
if (seq->depth == 0 && ((seq->flag & SELECT) == 0 || (seq->flag & SEQ_LOCK))) {
*recursive = FALSE;
*count = 0;
*flag = 0;
}
- else if (seq->type == SEQ_META) {
+ else if (seq->type == SEQ_TYPE_META) {
/* for meta's we only ever need to extend their children, no matter what depth
* just check the meta's are in the bounds */
- if (t->frame_side=='R' && right <= cfra) *recursive = FALSE;
- else if (t->frame_side=='L' && left >= cfra) *recursive = FALSE;
- else *recursive = TRUE;
+ if (t->frame_side == 'R' && right <= cfra) *recursive = FALSE;
+ else if (t->frame_side == 'L' && left >= cfra) *recursive = FALSE;
+ else *recursive = TRUE;
- *count= 1;
- *flag= (seq->flag | SELECT) & ~(SEQ_LEFTSEL|SEQ_RIGHTSEL);
+ *count = 1;
+ *flag = (seq->flag | SELECT) & ~(SEQ_LEFTSEL | SEQ_RIGHTSEL);
}
else {
*recursive = FALSE; /* not a meta, so no thinking here */
*count = 1; /* unless its set to 0, extend will never set 2 handles at once */
- *flag = (seq->flag | SELECT) & ~(SEQ_LEFTSEL|SEQ_RIGHTSEL);
+ *flag = (seq->flag | SELECT) & ~(SEQ_LEFTSEL | SEQ_RIGHTSEL);
- if (t->frame_side=='R') {
- if (right <= cfra) *count = *flag= 0; /* ignore */
+ if (t->frame_side == 'R') {
+ if (right <= cfra) *count = *flag = 0; /* ignore */
else if (left > cfra) ; /* keep the selection */
- else *flag |= SEQ_RIGHTSEL;
+ else *flag |= SEQ_RIGHTSEL;
}
else {
- if (left >= cfra) *count = *flag= 0; /* ignore */
- else if (right < cfra) ; /* keep the selection */
- else *flag |= SEQ_LEFTSEL;
+ if (left >= cfra) *count = *flag = 0; /* ignore */
+ else if (right < cfra) ; /* keep the selection */
+ else *flag |= SEQ_LEFTSEL;
}
}
}
else {
- t->frame_side= 'B';
+ t->frame_side = 'B';
/* *** Normal Transform *** */
@@ -3830,18 +3988,18 @@ static void SeqTransInfo(TransInfo *t, Sequence *seq, int *recursive, int *count
*flag = 0;
}
else {
- if ((seq->flag & (SEQ_LEFTSEL|SEQ_RIGHTSEL)) == (SEQ_LEFTSEL|SEQ_RIGHTSEL)) {
- *flag= seq->flag;
- *count= 2; /* we need 2 transdata's */
+ if ((seq->flag & (SEQ_LEFTSEL | SEQ_RIGHTSEL)) == (SEQ_LEFTSEL | SEQ_RIGHTSEL)) {
+ *flag = seq->flag;
+ *count = 2; /* we need 2 transdata's */
}
else {
- *flag= seq->flag;
- *count= 1; /* selected or with a handle selected */
+ *flag = seq->flag;
+ *count = 1; /* selected or with a handle selected */
}
/* Recursive */
- if ((seq->type == SEQ_META) && ((seq->flag & (SEQ_LEFTSEL|SEQ_RIGHTSEL)) == 0)) {
+ if ((seq->type == SEQ_TYPE_META) && ((seq->flag & (SEQ_LEFTSEL | SEQ_RIGHTSEL)) == 0)) {
/* if any handles are selected, don't recurse */
*recursive = TRUE;
}
@@ -3854,22 +4012,22 @@ static void SeqTransInfo(TransInfo *t, Sequence *seq, int *recursive, int *count
/* Nested, different rules apply */
#ifdef SEQ_TX_NESTED_METAS
- *flag = (seq->flag | SELECT) & ~(SEQ_LEFTSEL|SEQ_RIGHTSEL);
+ *flag = (seq->flag | SELECT) & ~(SEQ_LEFTSEL | SEQ_RIGHTSEL);
*count = 1; /* ignore the selection for nested */
- *recursive = (seq->type == SEQ_META);
+ *recursive = (seq->type == SEQ_TYPE_META);
#else
- if (seq->type == SEQ_META) {
+ if (seq->type == SEQ_TYPE_META) {
/* Meta's can only directly be moved between channels since they
* don't have their start and length set directly (children affect that)
* since this Meta is nested we don't need any of its data in fact.
* calc_sequence() will update its settings when run on the toplevel meta */
- *flag= 0;
- *count= 0;
+ *flag = 0;
+ *count = 0;
*recursive = TRUE;
}
else {
- *flag= (seq->flag | SELECT) & ~(SEQ_LEFTSEL|SEQ_RIGHTSEL);
- *count= 1; /* ignore the selection for nested */
+ *flag = (seq->flag | SELECT) & ~(SEQ_LEFTSEL | SEQ_RIGHTSEL);
+ *count = 1; /* ignore the selection for nested */
*recursive = FALSE;
}
#endif
@@ -3882,10 +4040,10 @@ static void SeqTransInfo(TransInfo *t, Sequence *seq, int *recursive, int *count
static int SeqTransCount(TransInfo *t, Sequence *parent, ListBase *seqbase, int depth)
{
Sequence *seq;
- int tot= 0, recursive, count, flag;
+ int tot = 0, recursive, count, flag;
- for (seq= seqbase->first; seq; seq= seq->next) {
- seq->depth= depth;
+ for (seq = seqbase->first; seq; seq = seq->next) {
+ seq->depth = depth;
/* seq->tmp is used by seq_tx_get_final_{left, right} to check sequence's range and clamp to it if needed.
* it's first place where digging into sequences tree, so store link to parent here */
@@ -3895,7 +4053,7 @@ static int SeqTransCount(TransInfo *t, Sequence *parent, ListBase *seqbase, int
tot += count;
if (recursive) {
- tot += SeqTransCount(t, seq, &seq->seqbase, depth+1);
+ tot += SeqTransCount(t, seq, &seq->seqbase, depth + 1);
}
}
@@ -3908,21 +4066,21 @@ static TransData *SeqToTransData(TransData *td, TransData2D *td2d, TransDataSeq
int start_left;
switch (sel_flag) {
- case SELECT:
- /* Use seq_tx_get_final_left() and an offset here
- * so transform has the left hand location of the strip.
- * tdsq->start_offset is used when flushing the tx data back */
- start_left= seq_tx_get_final_left(seq, 0);
- td2d->loc[0]= start_left;
- tdsq->start_offset= start_left - seq->start; /* use to apply the original location */
- break;
- case SEQ_LEFTSEL:
- start_left= seq_tx_get_final_left(seq, 0);
- td2d->loc[0] = start_left;
- break;
- case SEQ_RIGHTSEL:
- td2d->loc[0] = seq_tx_get_final_right(seq, 0);
- break;
+ case SELECT:
+ /* Use seq_tx_get_final_left() and an offset here
+ * so transform has the left hand location of the strip.
+ * tdsq->start_offset is used when flushing the tx data back */
+ start_left = seq_tx_get_final_left(seq, 0);
+ td2d->loc[0] = start_left;
+ tdsq->start_offset = start_left - seq->start; /* use to apply the original location */
+ break;
+ case SEQ_LEFTSEL:
+ start_left = seq_tx_get_final_left(seq, 0);
+ td2d->loc[0] = start_left;
+ break;
+ case SEQ_RIGHTSEL:
+ td2d->loc[0] = seq_tx_get_final_right(seq, 0);
+ break;
}
td2d->loc[1] = seq->machine; /* channel - Y location */
@@ -3930,15 +4088,15 @@ static TransData *SeqToTransData(TransData *td, TransData2D *td2d, TransDataSeq
td2d->loc2d = NULL;
- tdsq->seq= seq;
+ tdsq->seq = seq;
/* Use instead of seq->flag for nested strips and other
* cases where the selection may need to be modified */
- tdsq->flag= flag;
- tdsq->sel_flag= sel_flag;
+ tdsq->flag = flag;
+ tdsq->sel_flag = sel_flag;
- td->extra= (void *)tdsq; /* allow us to update the strip from here */
+ td->extra = (void *)tdsq; /* allow us to update the strip from here */
td->flag = 0;
td->loc = td2d->loc;
@@ -3948,17 +4106,17 @@ static TransData *SeqToTransData(TransData *td, TransData2D *td2d, TransDataSeq
memset(td->axismtx, 0, sizeof(td->axismtx));
td->axismtx[2][2] = 1.0f;
- td->ext= NULL; td->val= NULL;
+ td->ext = NULL; td->val = NULL;
td->flag |= TD_SELECTED;
- td->dist= 0.0;
+ td->dist = 0.0;
unit_m3(td->mtx);
unit_m3(td->smtx);
/* Time Transform (extend) */
- td->val= td2d->loc;
- td->ival= td2d->loc[0];
+ td->val = td2d->loc;
+ td->ival = td2d->loc[0];
return td;
}
@@ -3967,26 +4125,26 @@ static int SeqToTransData_Recursive(TransInfo *t, ListBase *seqbase, TransData *
{
Sequence *seq;
int recursive, count, flag;
- int tot= 0;
+ int tot = 0;
- for (seq= seqbase->first; seq; seq= seq->next) {
+ for (seq = seqbase->first; seq; seq = seq->next) {
SeqTransInfo(t, seq, &recursive, &count, &flag);
/* add children first so recalculating metastrips does nested strips first */
if (recursive) {
- int tot_children= SeqToTransData_Recursive(t, &seq->seqbase, td, td2d, tdsq);
+ int tot_children = SeqToTransData_Recursive(t, &seq->seqbase, td, td2d, tdsq);
- td= td + tot_children;
- td2d= td2d + tot_children;
- tdsq= tdsq + tot_children;
+ td = td + tot_children;
+ td2d = td2d + tot_children;
+ tdsq = tdsq + tot_children;
tot += tot_children;
}
/* use 'flag' which is derived from seq->flag but modified for special cases */
if (flag & SELECT) {
- if (flag & (SEQ_LEFTSEL|SEQ_RIGHTSEL)) {
+ if (flag & (SEQ_LEFTSEL | SEQ_RIGHTSEL)) {
if (flag & SEQ_LEFTSEL) {
SeqToTransData(td++, td2d++, tdsq++, seq, flag, SEQ_LEFTSEL);
tot++;
@@ -4008,83 +4166,83 @@ static int SeqToTransData_Recursive(TransInfo *t, ListBase *seqbase, TransData *
static void freeSeqData(TransInfo *t)
{
- Editing *ed= BKE_sequencer_editing_get(t->scene, FALSE);
+ Editing *ed = BKE_sequencer_editing_get(t->scene, FALSE);
if (ed != NULL) {
- ListBase *seqbasep= ed->seqbasep;
- TransData *td= t->data;
+ ListBase *seqbasep = ed->seqbasep;
+ TransData *td = t->data;
int a;
/* prevent updating the same seq twice
* if the transdata order is changed this will mess up
* but so will TransDataSeq */
- Sequence *seq_prev= NULL;
+ Sequence *seq_prev = NULL;
Sequence *seq;
if (!(t->state == TRANS_CANCEL)) {
-#if 0 // default 2.4 behavior
+#if 0 // default 2.4 behavior
/* flush to 2d vector from internally used 3d vector */
- for (a=0; a<t->total; a++, td++) {
- if ((seq != seq_prev) && (seq->depth==0) && (seq->flag & SEQ_OVERLAP)) {
- seq= ((TransDataSeq *)td->extra)->seq;
+ for (a = 0; a < t->total; a++, td++) {
+ if ((seq != seq_prev) && (seq->depth == 0) && (seq->flag & SEQ_OVERLAP)) {
+ seq = ((TransDataSeq *)td->extra)->seq;
shuffle_seq(seqbasep, seq);
}
- seq_prev= seq;
+ seq_prev = seq;
}
-#else // durian hack
+#else // durian hack
{
- int overlap= 0;
+ int overlap = 0;
- for (a=0; a<t->total; a++, td++) {
- seq_prev= NULL;
- seq= ((TransDataSeq *)td->extra)->seq;
- if ((seq != seq_prev) && (seq->depth==0) && (seq->flag & SEQ_OVERLAP)) {
- overlap= 1;
+ for (a = 0; a < t->total; a++, td++) {
+ seq_prev = NULL;
+ seq = ((TransDataSeq *)td->extra)->seq;
+ if ((seq != seq_prev) && (seq->depth == 0) && (seq->flag & SEQ_OVERLAP)) {
+ overlap = 1;
break;
}
- seq_prev= seq;
+ seq_prev = seq;
}
if (overlap) {
- int has_effect= 0;
- for (seq= seqbasep->first; seq; seq= seq->next)
- seq->tmp= NULL;
-
- td= t->data;
- seq_prev= NULL;
- for (a=0; a<t->total; a++, td++) {
- seq= ((TransDataSeq *)td->extra)->seq;
+ int has_effect = 0;
+ for (seq = seqbasep->first; seq; seq = seq->next)
+ seq->tmp = NULL;
+
+ td = t->data;
+ seq_prev = NULL;
+ for (a = 0; a < t->total; a++, td++) {
+ seq = ((TransDataSeq *)td->extra)->seq;
if ((seq != seq_prev)) {
/* check effects strips, we cant change their time */
- if ((seq->type & SEQ_EFFECT) && seq->seq1) {
- has_effect= TRUE;
+ if ((seq->type & SEQ_TYPE_EFFECT) && seq->seq1) {
+ has_effect = TRUE;
}
else {
/* Tag seq with a non zero value, used by shuffle_seq_time to identify the ones to shuffle */
- seq->tmp= (void*)1;
+ seq->tmp = (void *)1;
}
}
}
-#if 1 /* (mango hack! - for Ian) this is truely bad - should _never_ be in a release :| */
+#if 1 /* (mango hack! - for Ian) this is truely bad - should _never_ be in a release :| */
if (CTX_wm_window(t->context)->eventstate->alt) {
int minframe = MAXFRAME;
- td= t->data;
- seq_prev= NULL;
- for (a=0; a<t->total; a++, td++) {
- seq= ((TransDataSeq *)td->extra)->seq;
+ td = t->data;
+ seq_prev = NULL;
+ for (a = 0; a < t->total; a++, td++) {
+ seq = ((TransDataSeq *)td->extra)->seq;
if ((seq != seq_prev)) {
minframe = MIN2(minframe, seq->startdisp);
}
}
- for (seq= seqbasep->first; seq; seq= seq->next) {
+ for (seq = seqbasep->first; seq; seq = seq->next) {
if (!(seq->flag & SELECT)) {
if (seq->startdisp >= minframe) {
seq->machine += MAXSEQ * 2;
@@ -4094,13 +4252,13 @@ static void freeSeqData(TransInfo *t)
shuffle_seq_time(seqbasep, t->scene);
- for (seq= seqbasep->first; seq; seq= seq->next) {
+ for (seq = seqbasep->first; seq; seq = seq->next) {
if (seq->machine >= MAXSEQ * 2) {
seq->machine -= MAXSEQ * 2;
- seq->tmp= (void*)1;
+ seq->tmp = (void *)1;
}
else {
- seq->tmp= NULL;
+ seq->tmp = NULL;
}
}
@@ -4115,24 +4273,24 @@ static void freeSeqData(TransInfo *t)
if (has_effect) {
/* update effects strips based on strips just moved in time */
- td= t->data;
- seq_prev= NULL;
- for (a=0; a<t->total; a++, td++) {
- seq= ((TransDataSeq *)td->extra)->seq;
+ td = t->data;
+ seq_prev = NULL;
+ for (a = 0; a < t->total; a++, td++) {
+ seq = ((TransDataSeq *)td->extra)->seq;
if ((seq != seq_prev)) {
- if ((seq->type & SEQ_EFFECT) && seq->seq1) {
+ if ((seq->type & SEQ_TYPE_EFFECT) && seq->seq1) {
calc_sequence(t->scene, seq);
}
}
}
/* now if any effects _still_ overlap, we need to move them up */
- td= t->data;
- seq_prev= NULL;
- for (a=0; a<t->total; a++, td++) {
- seq= ((TransDataSeq *)td->extra)->seq;
+ td = t->data;
+ seq_prev = NULL;
+ for (a = 0; a < t->total; a++, td++) {
+ seq = ((TransDataSeq *)td->extra)->seq;
if ((seq != seq_prev)) {
- if ((seq->type & SEQ_EFFECT) && seq->seq1) {
+ if ((seq->type & SEQ_TYPE_EFFECT) && seq->seq1) {
if (seq_test_overlap(seqbasep, seq)) {
shuffle_seq(seqbasep, seq, t->scene);
}
@@ -4145,9 +4303,9 @@ static void freeSeqData(TransInfo *t)
}
#endif
- for (seq= seqbasep->first; seq; seq= seq->next) {
+ for (seq = seqbasep->first; seq; seq = seq->next) {
/* We might want to build a list of effects that need to be updated during transform */
- if (seq->type & SEQ_EFFECT) {
+ if (seq->type & SEQ_TYPE_EFFECT) {
if (seq->seq1 && seq->seq1->flag & SELECT) calc_sequence(t->scene, seq);
else if (seq->seq2 && seq->seq2->flag & SELECT) calc_sequence(t->scene, seq);
else if (seq->seq3 && seq->seq3->flag & SELECT) calc_sequence(t->scene, seq);
@@ -4158,12 +4316,12 @@ static void freeSeqData(TransInfo *t)
}
else {
/* Cancelled, need to update the strips display */
- for (a=0; a<t->total; a++, td++) {
- seq= ((TransDataSeq *)td->extra)->seq;
- if ((seq != seq_prev) && (seq->depth==0)) {
+ for (a = 0; a < t->total; a++, td++) {
+ seq = ((TransDataSeq *)td->extra)->seq;
+ if ((seq != seq_prev) && (seq->depth == 0)) {
calc_sequence_disp(t->scene, seq);
}
- seq_prev= seq;
+ seq_prev = seq;
}
}
}
@@ -4174,7 +4332,7 @@ static void freeSeqData(TransInfo *t)
}
if (t->data) {
MEM_freeN(t->data); // XXX postTrans usually does this
- t->data= NULL;
+ t->data = NULL;
}
}
@@ -4182,21 +4340,21 @@ static void createTransSeqData(bContext *C, TransInfo *t)
{
#define XXX_DURIAN_ANIM_TX_HACK
- View2D *v2d= UI_view2d_fromcontext(C);
- Scene *scene= t->scene;
- Editing *ed= BKE_sequencer_editing_get(t->scene, FALSE);
+ View2D *v2d = UI_view2d_fromcontext(C);
+ Scene *scene = t->scene;
+ Editing *ed = BKE_sequencer_editing_get(t->scene, FALSE);
TransData *td = NULL;
- TransData2D *td2d= NULL;
- TransDataSeq *tdsq= NULL;
+ TransData2D *td2d = NULL;
+ TransDataSeq *tdsq = NULL;
- int count=0;
+ int count = 0;
- if (ed==NULL) {
- t->total= 0;
+ if (ed == NULL) {
+ t->total = 0;
return;
}
- t->customFree= freeSeqData;
+ t->customFree = freeSeqData;
/* which side of the current frame should be allowed */
if (t->mode == TFM_TIME_EXTEND) {
@@ -4214,16 +4372,16 @@ static void createTransSeqData(bContext *C, TransInfo *t)
#ifdef XXX_DURIAN_ANIM_TX_HACK
{
Sequence *seq;
- for (seq= ed->seqbasep->first; seq; seq= seq->next) {
+ for (seq = ed->seqbasep->first; seq; seq = seq->next) {
/* hack */
- if ((seq->flag & SELECT)==0 && seq->type & SEQ_EFFECT) {
+ if ((seq->flag & SELECT) == 0 && seq->type & SEQ_TYPE_EFFECT) {
Sequence *seq_user;
int i;
- for (i=0; i<3; i++) {
- seq_user= *((&seq->seq1) + i);
+ for (i = 0; i < 3; i++) {
+ seq_user = *((&seq->seq1) + i);
if (seq_user && (seq_user->flag & SELECT) &&
!(seq_user->flag & SEQ_LOCK) &&
- !(seq_user->flag & (SEQ_LEFTSEL|SEQ_RIGHTSEL)))
+ !(seq_user->flag & (SEQ_LEFTSEL | SEQ_RIGHTSEL)))
{
seq->flag |= SELECT;
}
@@ -4236,16 +4394,16 @@ static void createTransSeqData(bContext *C, TransInfo *t)
count = SeqTransCount(t, NULL, ed->seqbasep, 0);
/* allocate memory for data */
- t->total= count;
+ t->total = count;
/* stop if trying to build list if nothing selected */
if (count == 0) {
return;
}
- td = t->data = MEM_callocN(t->total*sizeof(TransData), "TransSeq TransData");
- td2d = t->data2d = MEM_callocN(t->total*sizeof(TransData2D), "TransSeq TransData2D");
- tdsq = t->customData = MEM_callocN(t->total*sizeof(TransDataSeq), "TransSeq TransDataSeq");
+ td = t->data = MEM_callocN(t->total * sizeof(TransData), "TransSeq TransData");
+ td2d = t->data2d = MEM_callocN(t->total * sizeof(TransData2D), "TransSeq TransData2D");
+ tdsq = t->customData = MEM_callocN(t->total * sizeof(TransDataSeq), "TransSeq TransDataSeq");
t->flag |= T_FREE_CUSTOMDATA;
@@ -4273,17 +4431,17 @@ static short constraints_list_needinv(TransInfo *t, ListBase *list)
* constraints needing special crazyspace corrections
*/
if (list) {
- for (con= list->first; con; con=con->next) {
+ for (con = list->first; con; con = con->next) {
/* only consider constraint if it is enabled, and has influence on result */
- if ((con->flag & CONSTRAINT_DISABLE)==0 && (con->enforce!=0.0f)) {
+ if ((con->flag & CONSTRAINT_DISABLE) == 0 && (con->enforce != 0.0f)) {
/* (affirmative) returns for specific constraints here... */
- /* constraints that require this regardless */
+ /* constraints that require this regardless */
if (con->type == CONSTRAINT_TYPE_CHILDOF) return 1;
if (con->type == CONSTRAINT_TYPE_FOLLOWPATH) return 1;
if (con->type == CONSTRAINT_TYPE_CLAMPTO) return 1;
if (con->type == CONSTRAINT_TYPE_OBJECTSOLVER) return 1;
- /* constraints that require this only under special conditions */
+ /* constraints that require this only under special conditions */
if (con->type == CONSTRAINT_TYPE_ROTLIKE) {
/* CopyRot constraint only does this when rotating, and offset is on */
bRotateLikeConstraint *data = (bRotateLikeConstraint *)con->data;
@@ -4311,11 +4469,11 @@ static void ObjectToTransData(TransInfo *t, TransData *td, Object *ob)
copy_m3_m4(td->axismtx, ob->obmat);
normalize_m3(td->axismtx);
- td->con= ob->constraints.first;
+ td->con = ob->constraints.first;
/* hack: temporarily disable tracking and/or constraints when getting
* object matrix, if tracking is on, or if constraints don't need
- * inverse correction to stop it from screwing up space conversion
+ * inverse correction to stop it from screwing up space conversion
* matrix later
*/
constinv = constraints_list_needinv(t, &ob->constraints);
@@ -4326,7 +4484,7 @@ static void ObjectToTransData(TransInfo *t, TransData *td, Object *ob)
if (skip_invert == 0 && constinv == 0) {
if (constinv == 0)
- ob->transflag |= OB_NO_CONSTRAINTS; /* BKE_object_where_is_calc_time checks this */
+ ob->transflag |= OB_NO_CONSTRAINTS; /* BKE_object_where_is_calc_time checks this */
BKE_object_where_is_calc(t->scene, ob);
@@ -4342,35 +4500,35 @@ static void ObjectToTransData(TransInfo *t, TransData *td, Object *ob)
copy_v3_v3(td->iloc, td->loc);
if (ob->rotmode > 0) {
- td->ext->rot= ob->rot;
- td->ext->rotAxis= NULL;
- td->ext->rotAngle= NULL;
- td->ext->quat= NULL;
+ td->ext->rot = ob->rot;
+ td->ext->rotAxis = NULL;
+ td->ext->rotAngle = NULL;
+ td->ext->quat = NULL;
copy_v3_v3(td->ext->irot, ob->rot);
copy_v3_v3(td->ext->drot, ob->drot);
}
else if (ob->rotmode == ROT_MODE_AXISANGLE) {
- td->ext->rot= NULL;
- td->ext->rotAxis= ob->rotAxis;
- td->ext->rotAngle= &ob->rotAngle;
- td->ext->quat= NULL;
+ td->ext->rot = NULL;
+ td->ext->rotAxis = ob->rotAxis;
+ td->ext->rotAngle = &ob->rotAngle;
+ td->ext->quat = NULL;
- td->ext->irotAngle= ob->rotAngle;
+ td->ext->irotAngle = ob->rotAngle;
copy_v3_v3(td->ext->irotAxis, ob->rotAxis);
// td->ext->drotAngle= ob->drotAngle; // XXX, not implemented
// copy_v3_v3(td->ext->drotAxis, ob->drotAxis); // XXX, not implemented
}
else {
- td->ext->rot= NULL;
- td->ext->rotAxis= NULL;
- td->ext->rotAngle= NULL;
- td->ext->quat= ob->quat;
+ td->ext->rot = NULL;
+ td->ext->rotAxis = NULL;
+ td->ext->rotAngle = NULL;
+ td->ext->quat = ob->quat;
copy_qt_qt(td->ext->iquat, ob->quat);
copy_qt_qt(td->ext->dquat, ob->dquat);
}
- td->ext->rotOrder=ob->rotmode;
+ td->ext->rotOrder = ob->rotmode;
td->ext->size = ob->size;
copy_v3_v3(td->ext->isize, ob->size);
@@ -4428,17 +4586,17 @@ static void set_trans_object_base_flags(TransInfo *t)
BKE_scene_base_flag_to_objects(t->scene);
/* handle pending update events, otherwise they got copied below */
- for (base= scene->base.first; base; base= base->next) {
+ for (base = scene->base.first; base; base = base->next) {
if (base->object->recalc)
BKE_object_handle_update(t->scene, base->object);
}
- for (base= scene->base.first; base; base= base->next) {
+ for (base = scene->base.first; base; base = base->next) {
base->flag &= ~BA_WAS_SEL;
if (TESTBASELIB_BGMODE(v3d, scene, base)) {
- Object *ob= base->object;
- Object *parsel= ob->parent;
+ Object *ob = base->object;
+ Object *parsel = ob->parent;
/* if parent selected, deselect */
while (parsel) {
@@ -4450,7 +4608,7 @@ static void set_trans_object_base_flags(TransInfo *t)
}
}
}
- parsel= parsel->parent;
+ parsel = parsel->parent;
}
if (parsel) {
@@ -4473,7 +4631,7 @@ static void set_trans_object_base_flags(TransInfo *t)
/* and we store them temporal in base (only used for transform code) */
/* this because after doing updates, the object->recalc is cleared */
- for (base= scene->base.first; base; base= base->next) {
+ for (base = scene->base.first; base; base = base->next) {
if (base->object->recalc & OB_RECALC_OB)
base->flag |= BA_HAS_RECALC_OB;
if (base->object->recalc & OB_RECALC_DATA)
@@ -4483,7 +4641,7 @@ static void set_trans_object_base_flags(TransInfo *t)
static int mark_children(Object *ob)
{
- if (ob->flag & (SELECT|BA_TRANSFORM_CHILD))
+ if (ob->flag & (SELECT | BA_TRANSFORM_CHILD))
return 1;
if (ob->parent) {
@@ -4506,7 +4664,7 @@ static int count_proportional_objects(TransInfo *t)
/* rotations around local centers are allowed to propagate, so we take all objects */
if (!((t->mode == TFM_ROTATION || t->mode == TFM_TRACKBALL) && t->around == V3D_LOCAL)) {
/* mark all parents */
- for (base= scene->base.first; base; base= base->next) {
+ for (base = scene->base.first; base; base = base->next) {
if (TESTBASELIB_BGMODE(v3d, scene, base)) {
Object *parent = base->object->parent;
@@ -4519,9 +4677,9 @@ static int count_proportional_objects(TransInfo *t)
}
/* mark all children */
- for (base= scene->base.first; base; base= base->next) {
+ for (base = scene->base.first; base; base = base->next) {
/* all base not already selected or marked that is editable */
- if ((base->object->flag & (SELECT|BA_TRANSFORM_CHILD|BA_TRANSFORM_PARENT)) == 0 &&
+ if ((base->object->flag & (SELECT | BA_TRANSFORM_CHILD | BA_TRANSFORM_PARENT)) == 0 &&
(BASE_EDITABLE_BGMODE(v3d, scene, base)))
{
mark_children(base->object);
@@ -4529,11 +4687,11 @@ static int count_proportional_objects(TransInfo *t)
}
}
- for (base= scene->base.first; base; base= base->next) {
- Object *ob= base->object;
+ for (base = scene->base.first; base; base = base->next) {
+ Object *ob = base->object;
/* if base is not selected, not a parent of selection or not a child of selection and it is editable */
- if ((ob->flag & (SELECT|BA_TRANSFORM_CHILD|BA_TRANSFORM_PARENT)) == 0 &&
+ if ((ob->flag & (SELECT | BA_TRANSFORM_CHILD | BA_TRANSFORM_PARENT)) == 0 &&
(BASE_EDITABLE_BGMODE(v3d, scene, base)))
{
@@ -4550,7 +4708,7 @@ static int count_proportional_objects(TransInfo *t)
/* and we store them temporal in base (only used for transform code) */
/* this because after doing updates, the object->recalc is cleared */
- for (base= scene->base.first; base; base= base->next) {
+ for (base = scene->base.first; base; base = base->next) {
if (base->object->recalc & OB_RECALC_OB)
base->flag |= BA_HAS_RECALC_OB;
if (base->object->recalc & OB_RECALC_DATA)
@@ -4565,21 +4723,21 @@ static void clear_trans_object_base_flags(TransInfo *t)
Scene *sce = t->scene;
Base *base;
- for (base= sce->base.first; base; base = base->next) {
+ for (base = sce->base.first; base; base = base->next) {
if (base->flag & BA_WAS_SEL)
base->flag |= SELECT;
- base->flag &= ~(BA_WAS_SEL|BA_HAS_RECALC_OB|BA_HAS_RECALC_DATA|BA_TEMP_TAG|BA_TRANSFORM_CHILD|BA_TRANSFORM_PARENT);
+ base->flag &= ~(BA_WAS_SEL | BA_HAS_RECALC_OB | BA_HAS_RECALC_DATA | BA_TEMP_TAG | BA_TRANSFORM_CHILD | BA_TRANSFORM_PARENT);
}
}
/* auto-keyframing feature - for objects
- * tmode: should be a transform mode
+ * tmode: should be a transform mode
*/
// NOTE: context may not always be available, so must check before using it as it's a luxury for a few cases
void autokeyframe_ob_cb_func(bContext *C, Scene *scene, View3D *v3d, Object *ob, int tmode)
{
- ID *id= &ob->id;
+ ID *id = &ob->id;
FCurve *fcu;
// TODO: this should probably be done per channel instead...
@@ -4587,7 +4745,7 @@ void autokeyframe_ob_cb_func(bContext *C, Scene *scene, View3D *v3d, Object *ob,
ReportList *reports = CTX_wm_reports(C);
KeyingSet *active_ks = ANIM_scene_get_active_keyingset(scene);
ListBase dsources = {NULL, NULL};
- float cfra= (float)CFRA; // xxx this will do for now
+ float cfra = (float)CFRA; // xxx this will do for now
short flag = 0;
/* get flags used for inserting keyframes */
@@ -4603,11 +4761,11 @@ void autokeyframe_ob_cb_func(bContext *C, Scene *scene, View3D *v3d, Object *ob,
ANIM_apply_keyingset(C, &dsources, NULL, active_ks, MODIFYKEY_MODE_INSERT, cfra);
}
else if (IS_AUTOKEY_FLAG(scene, INSERTAVAIL)) {
- AnimData *adt= ob->adt;
+ AnimData *adt = ob->adt;
/* only key on available channels */
if (adt && adt->action) {
- for (fcu= adt->action->curves.first; fcu; fcu= fcu->next) {
+ for (fcu = adt->action->curves.first; fcu; fcu = fcu->next) {
fcu->flag &= ~FCURVE_SELECTED;
insert_keyframe(reports, id, adt->action,
(fcu->grp ? fcu->grp->name : NULL),
@@ -4630,7 +4788,7 @@ void autokeyframe_ob_cb_func(bContext *C, Scene *scene, View3D *v3d, Object *ob,
else if (v3d->around == V3D_CURSOR)
do_loc = TRUE;
- if ((v3d->flag & V3D_ALIGN)==0)
+ if ((v3d->flag & V3D_ALIGN) == 0)
do_rot = TRUE;
}
else if (tmode == TFM_RESIZE) {
@@ -4641,27 +4799,27 @@ void autokeyframe_ob_cb_func(bContext *C, Scene *scene, View3D *v3d, Object *ob,
else if (v3d->around == V3D_CURSOR)
do_loc = TRUE;
- if ((v3d->flag & V3D_ALIGN)==0)
+ if ((v3d->flag & V3D_ALIGN) == 0)
do_scale = TRUE;
}
/* insert keyframes for the affected sets of channels using the builtin KeyingSets found */
if (do_loc) {
- KeyingSet *ks= ANIM_builtin_keyingset_get_named(NULL, ANIM_KS_LOCATION_ID);
+ KeyingSet *ks = ANIM_builtin_keyingset_get_named(NULL, ANIM_KS_LOCATION_ID);
ANIM_apply_keyingset(C, &dsources, NULL, ks, MODIFYKEY_MODE_INSERT, cfra);
}
if (do_rot) {
- KeyingSet *ks= ANIM_builtin_keyingset_get_named(NULL, ANIM_KS_ROTATION_ID);
+ KeyingSet *ks = ANIM_builtin_keyingset_get_named(NULL, ANIM_KS_ROTATION_ID);
ANIM_apply_keyingset(C, &dsources, NULL, ks, MODIFYKEY_MODE_INSERT, cfra);
}
if (do_scale) {
- KeyingSet *ks= ANIM_builtin_keyingset_get_named(NULL, ANIM_KS_SCALING_ID);
+ KeyingSet *ks = ANIM_builtin_keyingset_get_named(NULL, ANIM_KS_SCALING_ID);
ANIM_apply_keyingset(C, &dsources, NULL, ks, MODIFYKEY_MODE_INSERT, cfra);
}
}
/* insert keyframe in all (transform) channels */
else {
- KeyingSet *ks= ANIM_builtin_keyingset_get_named(NULL, ANIM_KS_LOC_ROT_SCALE_ID);
+ KeyingSet *ks = ANIM_builtin_keyingset_get_named(NULL, ANIM_KS_LOC_ROT_SCALE_ID);
ANIM_apply_keyingset(C, &dsources, NULL, ks, MODIFYKEY_MODE_INSERT, cfra);
}
@@ -4671,16 +4829,16 @@ void autokeyframe_ob_cb_func(bContext *C, Scene *scene, View3D *v3d, Object *ob,
}
/* auto-keyframing feature - for poses/pose-channels
- * tmode: should be a transform mode
+ * tmode: should be a transform mode
* targetless_ik: has targetless ik been done on any channels?
*/
// NOTE: context may not always be available, so must check before using it as it's a luxury for a few cases
void autokeyframe_pose_cb_func(bContext *C, Scene *scene, View3D *v3d, Object *ob, int tmode, short targetless_ik)
{
- ID *id= &ob->id;
- AnimData *adt= ob->adt;
- bAction *act= (adt) ? adt->action : NULL;
- bPose *pose= ob->pose;
+ ID *id = &ob->id;
+ AnimData *adt = ob->adt;
+ bAction *act = (adt) ? adt->action : NULL;
+ bPose *pose = ob->pose;
bPoseChannel *pchan;
FCurve *fcu;
@@ -4688,12 +4846,12 @@ void autokeyframe_pose_cb_func(bContext *C, Scene *scene, View3D *v3d, Object *o
if (autokeyframe_cfra_can_key(scene, id)) {
ReportList *reports = CTX_wm_reports(C);
KeyingSet *active_ks = ANIM_scene_get_active_keyingset(scene);
- float cfra= (float)CFRA;
- short flag= 0;
+ float cfra = (float)CFRA;
+ short flag = 0;
/* flag is initialized from UserPref keyframing settings
* - special exception for targetless IK - INSERTKEY_MATRIX keyframes should get
- * visual keyframes even if flag not set, as it's not that useful otherwise
+ * visual keyframes even if flag not set, as it's not that useful otherwise
* (for quick animation recording)
*/
flag = ANIM_get_keyframing_flags(scene, 1);
@@ -4701,7 +4859,7 @@ void autokeyframe_pose_cb_func(bContext *C, Scene *scene, View3D *v3d, Object *o
if (targetless_ik)
flag |= INSERTKEY_MATRIX;
- for (pchan=pose->chanbase.first; pchan; pchan=pchan->next) {
+ for (pchan = pose->chanbase.first; pchan; pchan = pchan->next) {
if (pchan->bone->flag & BONE_TRANSFORM) {
ListBase dsources = {NULL, NULL};
@@ -4719,16 +4877,16 @@ void autokeyframe_pose_cb_func(bContext *C, Scene *scene, View3D *v3d, Object *o
/* only insert into available channels? */
else if (IS_AUTOKEY_FLAG(scene, INSERTAVAIL)) {
if (act) {
- for (fcu= act->curves.first; fcu; fcu= fcu->next) {
+ for (fcu = act->curves.first; fcu; fcu = fcu->next) {
/* only insert keyframes for this F-Curve if it affects the current bone */
if (strstr(fcu->rna_path, "bones")) {
- char *pchanName= BLI_getQuotedStr(fcu->rna_path, "bones[");
+ char *pchanName = BLI_getQuotedStr(fcu->rna_path, "bones[");
/* only if bone name matches too...
* NOTE: this will do constraints too, but those are ok to do here too?
*/
if (pchanName && strcmp(pchanName, pchan->name) == 0)
- insert_keyframe(reports, id, act, ((fcu->grp)?(fcu->grp->name):(NULL)), fcu->rna_path, fcu->array_index, cfra, flag);
+ insert_keyframe(reports, id, act, ((fcu->grp) ? (fcu->grp->name) : (NULL)), fcu->rna_path, fcu->array_index, cfra, flag);
if (pchanName) MEM_freeN(pchanName);
}
@@ -4750,33 +4908,33 @@ void autokeyframe_pose_cb_func(bContext *C, Scene *scene, View3D *v3d, Object *o
if (ELEM(v3d->around, V3D_CURSOR, V3D_ACTIVE))
do_loc = TRUE;
- if ((v3d->flag & V3D_ALIGN)==0)
+ if ((v3d->flag & V3D_ALIGN) == 0)
do_rot = TRUE;
}
else if (tmode == TFM_RESIZE) {
if (ELEM(v3d->around, V3D_CURSOR, V3D_ACTIVE))
do_loc = TRUE;
- if ((v3d->flag & V3D_ALIGN)==0)
+ if ((v3d->flag & V3D_ALIGN) == 0)
do_scale = TRUE;
}
if (do_loc) {
- KeyingSet *ks= ANIM_builtin_keyingset_get_named(NULL, ANIM_KS_LOCATION_ID);
+ KeyingSet *ks = ANIM_builtin_keyingset_get_named(NULL, ANIM_KS_LOCATION_ID);
ANIM_apply_keyingset(C, &dsources, NULL, ks, MODIFYKEY_MODE_INSERT, cfra);
}
if (do_rot) {
- KeyingSet *ks= ANIM_builtin_keyingset_get_named(NULL, ANIM_KS_ROTATION_ID);
+ KeyingSet *ks = ANIM_builtin_keyingset_get_named(NULL, ANIM_KS_ROTATION_ID);
ANIM_apply_keyingset(C, &dsources, NULL, ks, MODIFYKEY_MODE_INSERT, cfra);
}
if (do_scale) {
- KeyingSet *ks= ANIM_builtin_keyingset_get_named(NULL, ANIM_KS_SCALING_ID);
+ KeyingSet *ks = ANIM_builtin_keyingset_get_named(NULL, ANIM_KS_SCALING_ID);
ANIM_apply_keyingset(C, &dsources, NULL, ks, MODIFYKEY_MODE_INSERT, cfra);
}
}
/* insert keyframe in all (transform) channels */
else {
- KeyingSet *ks= ANIM_builtin_keyingset_get_named(NULL, ANIM_KS_LOC_ROT_SCALE_ID);
+ KeyingSet *ks = ANIM_builtin_keyingset_get_named(NULL, ANIM_KS_LOC_ROT_SCALE_ID);
ANIM_apply_keyingset(C, &dsources, NULL, ks, MODIFYKEY_MODE_INSERT, cfra);
}
@@ -4786,7 +4944,7 @@ void autokeyframe_pose_cb_func(bContext *C, Scene *scene, View3D *v3d, Object *o
}
/* do the bone paths
- * - only do this when there is context info, since we need that to resolve
+ * - only do this when there is context info, since we need that to resolve
* how to do the updates and so on...
* - do not calculate unless there are paths already to update...
*/
@@ -4797,7 +4955,7 @@ void autokeyframe_pose_cb_func(bContext *C, Scene *scene, View3D *v3d, Object *o
}
else {
/* tag channels that should have unkeyed data */
- for (pchan=pose->chanbase.first; pchan; pchan=pchan->next) {
+ for (pchan = pose->chanbase.first; pchan; pchan = pchan->next) {
if (pchan->bone->flag & BONE_TRANSFORM) {
/* tag this channel */
pchan->bone->flag |= BONE_UNKEYED;
@@ -4810,22 +4968,22 @@ void autokeyframe_pose_cb_func(bContext *C, Scene *scene, View3D *v3d, Object *o
/* inserting keys, pointcache, redraw events... */
/*
* note: sequencer freeing has its own function now because of a conflict with transform's order of freeing (campbell)
- * Order changed, the sequencer stuff should go back in here
+ * Order changed, the sequencer stuff should go back in here
* */
void special_aftertrans_update(bContext *C, TransInfo *t)
{
Object *ob;
// short redrawipo=0, resetslowpar=1;
- int canceled= (t->state == TRANS_CANCEL);
- short duplicate= (t->mode == TFM_TIME_DUPLICATE);
+ int canceled = (t->state == TRANS_CANCEL);
+ short duplicate = (t->mode == TFM_TIME_DUPLICATE);
/* early out when nothing happened */
if (t->total == 0 || t->mode == TFM_DUMMY)
return;
- if (t->spacetype==SPACE_VIEW3D) {
+ if (t->spacetype == SPACE_VIEW3D) {
if (t->obedit) {
- if (canceled==0) {
+ if (canceled == 0) {
/* we need to delete the temporary faces before automerging */
if (t->mode == TFM_EDGE_SLIDE) {
SlideData *sld = t->customData;
@@ -4856,7 +5014,7 @@ void special_aftertrans_update(bContext *C, TransInfo *t)
/* freeSeqData in transform_conversions.c does this
* keep here so the else at the end wont run... */
- SpaceSeq *sseq= (SpaceSeq *)t->sa->spacedata.first;
+ SpaceSeq *sseq = (SpaceSeq *)t->sa->spacedata.first;
/* marker transform, not especially nice but we may want to move markers
* at the same time as keyframes in the dope sheet. */
@@ -4875,7 +5033,7 @@ void special_aftertrans_update(bContext *C, TransInfo *t)
}
else if (t->spacetype == SPACE_NODE) {
- SpaceNode *snode= (SpaceNode *)t->sa->spacedata.first;
+ SpaceNode *snode = (SpaceNode *)t->sa->spacedata.first;
if (canceled == 0) {
ED_node_post_apply_transform(C, snode->edittree);
@@ -4894,12 +5052,30 @@ void special_aftertrans_update(bContext *C, TransInfo *t)
/* tracks can be used for stabilization nodes,
* flush update for such nodes */
nodeUpdateID(t->scene->nodetree, &clip->id);
- WM_event_add_notifier(C, NC_SCENE|ND_NODES, NULL);
+ WM_event_add_notifier(C, NC_SCENE | ND_NODES, NULL);
+ }
+ }
+ else if (t->options & CTX_MASK) {
+ SpaceClip *sc = t->sa->spacedata.first;
+ Mask *mask = ED_space_clip_mask(sc);
+
+ if (t->scene->nodetree) {
+ /* tracks can be used for stabilization nodes,
+ * flush update for such nodes */
+ nodeUpdateID(t->scene->nodetree, &mask->id);
+ WM_event_add_notifier(C, NC_SCENE | ND_NODES, NULL);
+ }
+
+ /* TODO - dont key all masks... */
+ if (IS_AUTOKEY_ON(t->scene)) {
+ Scene *scene = t->scene;
+
+ ED_mask_layer_shape_auto_key_select(mask, CFRA);
}
}
}
else if (t->spacetype == SPACE_ACTION) {
- SpaceAction *saction= (SpaceAction *)t->sa->spacedata.first;
+ SpaceAction *saction = (SpaceAction *)t->sa->spacedata.first;
bAnimContext ac;
/* initialize relevant anim-context 'context' data */
@@ -4911,22 +5087,22 @@ void special_aftertrans_update(bContext *C, TransInfo *t)
if (ELEM(ac.datatype, ANIMCONT_DOPESHEET, ANIMCONT_SHAPEKEY)) {
ListBase anim_data = {NULL, NULL};
bAnimListElem *ale;
- short filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_FOREDIT /*| ANIMFILTER_CURVESONLY*/);
+ short filter = (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_FOREDIT /*| ANIMFILTER_CURVESONLY*/);
/* get channels to work on */
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
/* these should all be F-Curves */
- for (ale= anim_data.first; ale; ale= ale->next) {
- AnimData *adt= ANIM_nla_mapping_get(&ac, ale);
- FCurve *fcu= (FCurve *)ale->key_data;
+ for (ale = anim_data.first; ale; ale = ale->next) {
+ AnimData *adt = ANIM_nla_mapping_get(&ac, ale);
+ FCurve *fcu = (FCurve *)ale->key_data;
/* 3 cases here for curve cleanups:
* 1) NOTRANSKEYCULL on -> cleanup of duplicates shouldn't be done
* 2) canceled == 0 -> user confirmed the transform, so duplicates should be removed
* 3) canceled + duplicate -> user canceled the transform, but we made duplicates, so get rid of these
*/
- if ((saction->flag & SACTION_NOTRANSKEYCULL)==0 &&
+ if ((saction->flag & SACTION_NOTRANSKEYCULL) == 0 &&
((canceled == 0) || (duplicate)) )
{
if (adt) {
@@ -4935,7 +5111,7 @@ void special_aftertrans_update(bContext *C, TransInfo *t)
ANIM_nla_mapping_apply_fcurve(adt, fcu, 1, 1);
}
else
- posttrans_fcurve_clean(fcu, FALSE); /* only use handles in graph editor */
+ posttrans_fcurve_clean(fcu, FALSE); /* only use handles in graph editor */
}
}
@@ -4947,7 +5123,7 @@ void special_aftertrans_update(bContext *C, TransInfo *t)
// fixme... some of this stuff is not good
if (ob) {
if (ob->pose || ob_get_key(ob))
- DAG_id_tag_update(&ob->id, OB_RECALC_OB|OB_RECALC_DATA|OB_RECALC_TIME);
+ DAG_id_tag_update(&ob->id, OB_RECALC_OB | OB_RECALC_DATA | OB_RECALC_TIME);
else
DAG_id_tag_update(&ob->id, OB_RECALC_OB);
}
@@ -4957,7 +5133,7 @@ void special_aftertrans_update(bContext *C, TransInfo *t)
* 2) canceled == 0 -> user confirmed the transform, so duplicates should be removed
* 3) canceled + duplicate -> user canceled the transform, but we made duplicates, so get rid of these
*/
- if ((saction->flag & SACTION_NOTRANSKEYCULL)==0 &&
+ if ((saction->flag & SACTION_NOTRANSKEYCULL) == 0 &&
((canceled == 0) || (duplicate)))
{
posttrans_action_clean(&ac, (bAction *)ac.data);
@@ -4965,13 +5141,13 @@ void special_aftertrans_update(bContext *C, TransInfo *t)
}
else if (ac.datatype == ANIMCONT_GPENCIL) {
/* remove duplicate frames and also make sure points are in order! */
- /* 3 cases here for curve cleanups:
- * 1) NOTRANSKEYCULL on -> cleanup of duplicates shouldn't be done
- * 2) canceled == 0 -> user confirmed the transform, so duplicates should be removed
- * 3) canceled + duplicate -> user canceled the transform, but we made duplicates, so get rid of these
- */
- if ((saction->flag & SACTION_NOTRANSKEYCULL)==0 &&
- ((canceled == 0) || (duplicate)))
+ /* 3 cases here for curve cleanups:
+ * 1) NOTRANSKEYCULL on -> cleanup of duplicates shouldn't be done
+ * 2) canceled == 0 -> user confirmed the transform, so duplicates should be removed
+ * 3) canceled + duplicate -> user canceled the transform, but we made duplicates, so get rid of these
+ */
+ if ((saction->flag & SACTION_NOTRANSKEYCULL) == 0 &&
+ ((canceled == 0) || (duplicate)))
{
bGPdata *gpd;
@@ -4983,6 +5159,26 @@ void special_aftertrans_update(bContext *C, TransInfo *t)
}
}
}
+ else if (ac.datatype == ANIMCONT_MASK) {
+ /* remove duplicate frames and also make sure points are in order! */
+ /* 3 cases here for curve cleanups:
+ * 1) NOTRANSKEYCULL on -> cleanup of duplicates shouldn't be done
+ * 2) canceled == 0 -> user confirmed the transform, so duplicates should be removed
+ * 3) canceled + duplicate -> user canceled the transform, but we made duplicates, so get rid of these
+ */
+ if ((saction->flag & SACTION_NOTRANSKEYCULL) == 0 &&
+ ((canceled == 0) || (duplicate)))
+ {
+ Mask *mask;
+
+ // XXX: BAD! this get gpencil datablocks directly from main db...
+ // but that's how this currently works :/
+ for (mask = G.main->mask.first; mask; mask = mask->id.next) {
+ if (ID_REAL_USERS(mask))
+ posttrans_mask_clean(mask);
+ }
+ }
+ }
/* marker transform, not especially nice but we may want to move markers
* at the same time as keyframes in the dope sheet.
@@ -5006,14 +5202,14 @@ void special_aftertrans_update(bContext *C, TransInfo *t)
}
/* make sure all F-Curves are set correctly */
- if (ac.datatype != ANIMCONT_GPENCIL)
+ if (!ELEM(ac.datatype, ANIMCONT_GPENCIL, ANIMCONT_MASK))
ANIM_editkeyframes_refresh(&ac);
/* clear flag that was set for time-slide drawing */
saction->flag &= ~SACTION_MOVING;
}
else if (t->spacetype == SPACE_IPO) {
- SpaceIpo *sipo= (SpaceIpo *)t->sa->spacedata.first;
+ SpaceIpo *sipo = (SpaceIpo *)t->sa->spacedata.first;
bAnimContext ac;
const short use_handle = !(sipo->flag & SIPO_NOHANDLES);
@@ -5024,21 +5220,21 @@ void special_aftertrans_update(bContext *C, TransInfo *t)
if (ac.datatype) {
ListBase anim_data = {NULL, NULL};
bAnimListElem *ale;
- short filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_CURVE_VISIBLE);
+ short filter = (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_CURVE_VISIBLE);
/* get channels to work on */
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
- for (ale= anim_data.first; ale; ale= ale->next) {
- AnimData *adt= ANIM_nla_mapping_get(&ac, ale);
- FCurve *fcu= (FCurve *)ale->key_data;
+ for (ale = anim_data.first; ale; ale = ale->next) {
+ AnimData *adt = ANIM_nla_mapping_get(&ac, ale);
+ FCurve *fcu = (FCurve *)ale->key_data;
/* 3 cases here for curve cleanups:
* 1) NOTRANSKEYCULL on -> cleanup of duplicates shouldn't be done
* 2) canceled == 0 -> user confirmed the transform, so duplicates should be removed
* 3) canceled + duplicate -> user canceled the transform, but we made duplicates, so get rid of these
*/
- if ((sipo->flag & SIPO_NOTRANSKEYCULL)==0 &&
+ if ((sipo->flag & SIPO_NOTRANSKEYCULL) == 0 &&
((canceled == 0) || (duplicate)))
{
if (adt) {
@@ -5073,13 +5269,13 @@ void special_aftertrans_update(bContext *C, TransInfo *t)
if (ac.datatype) {
ListBase anim_data = {NULL, NULL};
bAnimListElem *ale;
- short filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_FOREDIT);
+ short filter = (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_FOREDIT);
/* get channels to work on */
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
- for (ale= anim_data.first; ale; ale= ale->next) {
- NlaTrack *nlt= (NlaTrack *)ale->data;
+ for (ale = anim_data.first; ale; ale = ale->next) {
+ NlaTrack *nlt = (NlaTrack *)ale->data;
/* make sure strips are in order again */
BKE_nlatrack_sort_strips(nlt);
@@ -5105,16 +5301,16 @@ void special_aftertrans_update(bContext *C, TransInfo *t)
else if ((t->flag & T_POSE) && (t->poseobj)) {
bArmature *arm;
bPoseChannel *pchan;
- short targetless_ik= 0;
+ short targetless_ik = 0;
- ob= t->poseobj;
- arm= ob->data;
+ ob = t->poseobj;
+ arm = ob->data;
if ((t->flag & T_AUTOIK) && (t->options & CTX_AUTOCONFIRM)) {
/* when running transform non-interactively (operator exec),
* we need to update the pose otherwise no updates get called during
* transform and the auto-ik is not applied. see [#26164] */
- struct Object *pose_ob=t->poseobj;
+ struct Object *pose_ob = t->poseobj;
BKE_pose_where_is(t->scene, pose_ob);
}
@@ -5123,17 +5319,17 @@ void special_aftertrans_update(bContext *C, TransInfo *t)
count_set_pose_transflags(&t->mode, t->around, ob);
/* if target-less IK grabbing, we calculate the pchan transforms and clear flag */
- if (!canceled && t->mode==TFM_TRANSLATION)
- targetless_ik= apply_targetless_ik(ob);
+ if (!canceled && t->mode == TFM_TRANSLATION)
+ targetless_ik = apply_targetless_ik(ob);
else {
/* not forget to clear the auto flag */
- for (pchan=ob->pose->chanbase.first; pchan; pchan=pchan->next) {
- bKinematicConstraint *data= has_targetless_ik(pchan);
+ for (pchan = ob->pose->chanbase.first; pchan; pchan = pchan->next) {
+ bKinematicConstraint *data = has_targetless_ik(pchan);
if (data) data->flag &= ~CONSTRAINT_IK_AUTO;
}
}
- if (t->mode==TFM_TRANSLATION)
+ if (t->mode == TFM_TRANSLATION)
pose_grab_with_ik_clear(ob);
/* automatic inserting of keys and unkeyed tagging - only if transform wasn't canceled (or TFM_DUMMY) */
@@ -5144,7 +5340,7 @@ void special_aftertrans_update(bContext *C, TransInfo *t)
else if (arm->flag & ARM_DELAYDEFORM) {
/* old optimize trick... this enforces to bypass the depgraph */
DAG_id_tag_update(&ob->id, OB_RECALC_DATA);
- ob->recalc= 0; // is set on OK position already by recalcData()
+ ob->recalc = 0; // is set on OK position already by recalcData()
}
else
DAG_id_tag_update(&ob->id, OB_RECALC_DATA);
@@ -5158,7 +5354,7 @@ void special_aftertrans_update(bContext *C, TransInfo *t)
/* do nothing */
}
else { /* Objects */
- int i, recalcObPaths=0;
+ int i, recalcObPaths = 0;
for (i = 0; i < t->total; i++) {
TransData *td = t->data + i;
@@ -5174,7 +5370,7 @@ void special_aftertrans_update(bContext *C, TransInfo *t)
/* flag object caches as outdated */
BKE_ptcache_ids_from_object(&pidlist, ob, t->scene, MAX_DUPLI_RECUR);
- for (pid=pidlist.first; pid; pid=pid->next) {
+ for (pid = pidlist.first; pid; pid = pid->next) {
if (pid->type != PTCACHE_TYPE_PARTICLES) /* particles don't need reset on geometry change */
pid->cache->flag |= PTCACHE_OUTDATED;
}
@@ -5196,7 +5392,7 @@ void special_aftertrans_update(bContext *C, TransInfo *t)
/* only calculate paths if there are paths to be recalculated */
if (ob->avs.path_bakeflag & MOTIONPATH_BAKE_HAS_PATHS)
- recalcObPaths= 1;
+ recalcObPaths = 1;
}
}
@@ -5238,7 +5434,7 @@ static void createTransObject(bContext *C, TransInfo *t)
set_trans_object_base_flags(t);
/* count */
- t->total= CTX_DATA_COUNT(C, selected_objects);
+ t->total = CTX_DATA_COUNT(C, selected_objects);
if (!t->total) {
/* clear here, main transform function escapes too */
@@ -5250,17 +5446,17 @@ static void createTransObject(bContext *C, TransInfo *t)
t->total += count_proportional_objects(t);
}
- td = t->data = MEM_callocN(t->total*sizeof(TransData), "TransOb");
- tx = t->ext = MEM_callocN(t->total*sizeof(TransDataExtension), "TransObExtension");
+ td = t->data = MEM_callocN(t->total * sizeof(TransData), "TransOb");
+ tx = t->ext = MEM_callocN(t->total * sizeof(TransDataExtension), "TransObExtension");
- CTX_DATA_BEGIN (C, Base*, base, selected_bases)
+ CTX_DATA_BEGIN(C, Base *, base, selected_bases)
{
- Object *ob= base->object;
+ Object *ob = base->object;
td->flag = TD_SELECTED;
- td->protectflag= ob->protectflag;
+ td->protectflag = ob->protectflag;
td->ext = tx;
- td->ext->rotOrder= ob->rotmode;
+ td->ext->rotOrder = ob->rotmode;
if (base->flag & BA_TRANSFORM_CHILD) {
td->flag |= TD_NOCENTER;
@@ -5284,16 +5480,16 @@ static void createTransObject(bContext *C, TransInfo *t)
View3D *v3d = t->view;
Base *base;
- for (base= scene->base.first; base; base= base->next) {
- Object *ob= base->object;
+ for (base = scene->base.first; base; base = base->next) {
+ Object *ob = base->object;
/* if base is not selected, not a parent of selection or not a child of selection and it is editable */
if ((ob->flag & (SELECT | BA_TRANSFORM_CHILD | BA_TRANSFORM_PARENT)) == 0 &&
BASE_EDITABLE_BGMODE(v3d, scene, base))
{
- td->protectflag= ob->protectflag;
+ td->protectflag = ob->protectflag;
td->ext = tx;
- td->ext->rotOrder= ob->rotmode;
+ td->ext->rotOrder = ob->rotmode;
ObjectToTransData(t, td, ob);
td->val = NULL;
@@ -5326,10 +5522,10 @@ static void NodeToTransData(TransData *td, TransData2D *td2d, bNode *node)
memset(td->axismtx, 0, sizeof(td->axismtx));
td->axismtx[2][2] = 1.0f;
- td->ext= NULL; td->val= NULL;
+ td->ext = NULL; td->val = NULL;
td->flag |= TD_SELECTED;
- td->dist= 0.0;
+ td->dist = 0.0;
unit_m3(td->mtx);
unit_m3(td->smtx);
@@ -5339,29 +5535,29 @@ static void createTransNodeData(bContext *C, TransInfo *t)
{
TransData *td;
TransData2D *td2d;
- SpaceNode *snode= t->sa->spacedata.first;
+ SpaceNode *snode = t->sa->spacedata.first;
bNode *node;
if (!snode->edittree) {
- t->total= 0;
+ t->total = 0;
return;
}
/* set transform flags on nodes */
- for (node=snode->edittree->nodes.first; node; node=node->next) {
+ for (node = snode->edittree->nodes.first; node; node = node->next) {
if ((node->flag & NODE_SELECT) || (node->parent && (node->parent->flag & NODE_TRANSFORM)))
node->flag |= NODE_TRANSFORM;
else
node->flag &= ~NODE_TRANSFORM;
}
- t->total= CTX_DATA_COUNT(C, selected_nodes);
+ t->total = CTX_DATA_COUNT(C, selected_nodes);
- td = t->data = MEM_callocN(t->total*sizeof(TransData), "TransNode TransData");
- td2d = t->data2d = MEM_callocN(t->total*sizeof(TransData2D), "TransNode TransData2D");
+ td = t->data = MEM_callocN(t->total * sizeof(TransData), "TransNode TransData");
+ td2d = t->data2d = MEM_callocN(t->total * sizeof(TransData2D), "TransNode TransData2D");
- CTX_DATA_BEGIN (C, bNode *, selnode, selected_nodes)
- NodeToTransData(td++, td2d++, selnode);
+ CTX_DATA_BEGIN(C, bNode *, selnode, selected_nodes)
+ NodeToTransData(td++, td2d++, selnode);
CTX_DATA_END
}
@@ -5392,23 +5588,24 @@ typedef struct TransDataTracking {
short coord;
} TransDataTracking;
-static void markerToTransDataInit(TransData *td, TransData2D *td2d, TransDataTracking *tdt, MovieTrackingTrack *track,
- int area, float *loc, float *rel, float *off)
+static void markerToTransDataInit(TransData *td, TransData2D *td2d, TransDataTracking *tdt,
+ MovieTrackingTrack *track, MovieTrackingMarker *marker,
+ int area, float loc[2], float rel[2], const float off[2], float aspx, float aspy)
{
int anchor = area == TRACK_AREA_POINT && off;
tdt->mode = transDataTracking_ModeTracks;
if (anchor) {
- td2d->loc[0] = rel[0]; /* hold original location */
- td2d->loc[1] = rel[1];
+ td2d->loc[0] = rel[0] * aspx; /* hold original location */
+ td2d->loc[1] = rel[1] * aspy;
- tdt->loc= loc;
+ tdt->loc = loc;
td2d->loc2d = loc; /* current location */
}
else {
- td2d->loc[0] = loc[0]; /* hold original location */
- td2d->loc[1] = loc[1];
+ td2d->loc[0] = loc[0] * aspx; /* hold original location */
+ td2d->loc[1] = loc[1] * aspy;
td2d->loc2d = loc; /* current location */
}
@@ -5422,8 +5619,8 @@ static void markerToTransDataInit(TransData *td, TransData2D *td2d, TransDataTra
if (rel) {
if (!anchor) {
- td2d->loc[0] += rel[0];
- td2d->loc[1] += rel[1];
+ td2d->loc[0] += rel[0] * aspx;
+ td2d->loc[1] += rel[1] * aspy;
}
copy_v2_v2(tdt->srelative, rel);
@@ -5434,14 +5631,17 @@ static void markerToTransDataInit(TransData *td, TransData2D *td2d, TransDataTra
td->flag = 0;
td->loc = td2d->loc;
- copy_v3_v3(td->center, td->loc);
copy_v3_v3(td->iloc, td->loc);
+ //copy_v3_v3(td->center, td->loc);
+ td->center[0] = marker->pos[0] * aspx;
+ td->center[1] = marker->pos[1] * aspy;
+
memset(td->axismtx, 0, sizeof(td->axismtx));
td->axismtx[2][2] = 1.0f;
- td->ext= NULL;
- td->val= NULL;
+ td->ext = NULL;
+ td->val = NULL;
td->flag |= TD_SELECTED;
td->dist = 0.0;
@@ -5451,26 +5651,37 @@ static void markerToTransDataInit(TransData *td, TransData2D *td2d, TransDataTra
}
static void trackToTransData(SpaceClip *sc, TransData *td, TransData2D *td2d,
- TransDataTracking *tdt, MovieTrackingTrack *track)
+ TransDataTracking *tdt, MovieTrackingTrack *track, float aspx, float aspy)
{
- MovieTrackingMarker *marker = BKE_tracking_ensure_marker(track, sc->user.framenr);
+ int framenr = ED_space_clip_clip_framenr(sc);
+ MovieTrackingMarker *marker = BKE_tracking_marker_ensure(track, framenr);
tdt->flag = marker->flag;
- marker->flag &= ~(MARKER_DISABLED|MARKER_TRACKED);
+ marker->flag &= ~(MARKER_DISABLED | MARKER_TRACKED);
- markerToTransDataInit(td++, td2d++, tdt++, track, TRACK_AREA_POINT, track->offset, marker->pos, track->offset);
+ markerToTransDataInit(td++, td2d++, tdt++, track, marker, TRACK_AREA_POINT,
+ track->offset, marker->pos, track->offset, aspx, aspy);
- if (track->flag & SELECT)
- markerToTransDataInit(td++, td2d++, tdt++, track, TRACK_AREA_POINT, marker->pos, NULL, NULL);
+ if (track->flag & SELECT) {
+ markerToTransDataInit(td++, td2d++, tdt++, track, marker, TRACK_AREA_POINT,
+ marker->pos, NULL, NULL, aspx, aspy);
+ }
if (track->pat_flag & SELECT) {
- markerToTransDataInit(td++, td2d++, tdt++, track, TRACK_AREA_PAT, track->pat_min, marker->pos, NULL);
- markerToTransDataInit(td++, td2d++, tdt++, track, TRACK_AREA_PAT, track->pat_max, marker->pos, NULL);
+ int a;
+
+ for (a = 0; a < 4; a++) {
+ markerToTransDataInit(td++, td2d++, tdt++, track, marker, TRACK_AREA_PAT,
+ marker->pattern_corners[a], marker->pos, NULL, aspx, aspy);
+ }
}
if (track->search_flag & SELECT) {
- markerToTransDataInit(td++, td2d++, tdt++, track, TRACK_AREA_SEARCH, track->search_min, marker->pos, NULL);
- markerToTransDataInit(td++, td2d++, tdt++, track, TRACK_AREA_SEARCH, track->search_max, marker->pos, NULL);
+ markerToTransDataInit(td++, td2d++, tdt++, track, marker, TRACK_AREA_SEARCH,
+ marker->search_min, marker->pos, NULL, aspx, aspy);
+
+ markerToTransDataInit(td++, td2d++, tdt++, track, marker, TRACK_AREA_SEARCH,
+ marker->search_max, marker->pos, NULL, aspx, aspy);
}
}
@@ -5492,30 +5703,31 @@ static void createTransTrackingTracksData(bContext *C, TransInfo *t)
TransData2D *td2d;
SpaceClip *sc = CTX_wm_space_clip(C);
MovieClip *clip = ED_space_clip(sc);
- ListBase *tracksbase = BKE_tracking_get_tracks(&clip->tracking);
+ ListBase *tracksbase = BKE_tracking_get_active_tracks(&clip->tracking);
MovieTrackingTrack *track;
MovieTrackingMarker *marker;
TransDataTracking *tdt;
- int framenr = sc->user.framenr;
+ int framenr = ED_space_clip_clip_framenr(sc);
+ float aspx, aspy;
/* count */
t->total = 0;
track = tracksbase->first;
while (track) {
- if (TRACK_VIEW_SELECTED(sc, track) && (track->flag & TRACK_LOCKED)==0) {
- marker = BKE_tracking_get_marker(track, framenr);
+ if (TRACK_VIEW_SELECTED(sc, track) && (track->flag & TRACK_LOCKED) == 0) {
+ marker = BKE_tracking_marker_get(track, framenr);
- t->total++; /* offset */
+ t->total++; /* offset */
if (track->flag & SELECT)
t->total++;
if (track->pat_flag & SELECT)
- t->total+= 2;
+ t->total += 4;
if (track->search_flag & SELECT)
- t->total+= 2;
+ t->total += 2;
}
track = track->next;
@@ -5524,9 +5736,11 @@ static void createTransTrackingTracksData(bContext *C, TransInfo *t)
if (t->total == 0)
return;
- td = t->data = MEM_callocN(t->total*sizeof(TransData), "TransTracking TransData");
- td2d = t->data2d = MEM_callocN(t->total*sizeof(TransData2D), "TransTracking TransData2D");
- tdt = t->customData = MEM_callocN(t->total*sizeof(TransDataTracking), "TransTracking TransDataTracking");
+ ED_space_clip_aspect_dimension_aware(sc, &aspx, &aspy);
+
+ td = t->data = MEM_callocN(t->total * sizeof(TransData), "TransTracking TransData");
+ td2d = t->data2d = MEM_callocN(t->total * sizeof(TransData2D), "TransTracking TransData2D");
+ tdt = t->customData = MEM_callocN(t->total * sizeof(TransDataTracking), "TransTracking TransDataTracking");
t->customFree = transDataTrackingFree;
@@ -5534,27 +5748,25 @@ static void createTransTrackingTracksData(bContext *C, TransInfo *t)
track = tracksbase->first;
while (track) {
if (TRACK_VIEW_SELECTED(sc, track) && (track->flag & TRACK_LOCKED) == 0) {
- marker = BKE_tracking_get_marker(track, framenr);
+ marker = BKE_tracking_marker_get(track, framenr);
- trackToTransData(sc, td, td2d, tdt, track);
+ trackToTransData(sc, td, td2d, tdt, track, aspx, aspy);
/* offset */
td++;
td2d++;
tdt++;
- if ((marker->flag & MARKER_DISABLED) == 0) {
- if (track->flag & SELECT) {
- td++;
- td2d++;
- tdt++;
- }
+ if (track->flag & SELECT) {
+ td++;
+ td2d++;
+ tdt++;
+ }
- if (track->pat_flag & SELECT) {
- td += 2;
- td2d += 2;
- tdt +=2;
- }
+ if (track->pat_flag & SELECT) {
+ td += 4;
+ td2d += 4;
+ tdt += 4;
}
if (track->search_flag & SELECT) {
@@ -5603,8 +5815,8 @@ static void markerToTransCurveDataInit(TransData *td, TransData2D *td2d, TransDa
memset(td->axismtx, 0, sizeof(td->axismtx));
td->axismtx[2][2] = 1.0f;
- td->ext= NULL;
- td->val= NULL;
+ td->ext = NULL;
+ td->val = NULL;
td->flag |= TD_SELECTED;
td->dist = 0.0;
@@ -5619,7 +5831,7 @@ static void createTransTrackingCurvesData(bContext *C, TransInfo *t)
TransData2D *td2d;
SpaceClip *sc = CTX_wm_space_clip(C);
MovieClip *clip = ED_space_clip(sc);
- ListBase *tracksbase= BKE_tracking_get_tracks(&clip->tracking);
+ ListBase *tracksbase = BKE_tracking_get_active_tracks(&clip->tracking);
MovieTrackingTrack *track;
MovieTrackingMarker *marker, *prev_marker;
TransDataTracking *tdt;
@@ -5632,10 +5844,10 @@ static void createTransTrackingCurvesData(bContext *C, TransInfo *t)
track = tracksbase->first;
while (track) {
- if (TRACK_VIEW_SELECTED(sc, track) && (track->flag & TRACK_LOCKED)==0) {
+ if (TRACK_VIEW_SELECTED(sc, track) && (track->flag & TRACK_LOCKED) == 0) {
for (i = 1; i < track->markersnr; i++) {
marker = &track->markers[i];
- prev_marker = &track->markers[i-1];
+ prev_marker = &track->markers[i - 1];
if ((marker->flag & MARKER_DISABLED) || (prev_marker->flag & MARKER_DISABLED))
continue;
@@ -5654,32 +5866,32 @@ static void createTransTrackingCurvesData(bContext *C, TransInfo *t)
if (t->total == 0)
return;
- td = t->data = MEM_callocN(t->total*sizeof(TransData), "TransTracking TransData");
- td2d = t->data2d = MEM_callocN(t->total*sizeof(TransData2D), "TransTracking TransData2D");
- tdt = t->customData = MEM_callocN(t->total*sizeof(TransDataTracking), "TransTracking TransDataTracking");
+ td = t->data = MEM_callocN(t->total * sizeof(TransData), "TransTracking TransData");
+ td2d = t->data2d = MEM_callocN(t->total * sizeof(TransData2D), "TransTracking TransData2D");
+ tdt = t->customData = MEM_callocN(t->total * sizeof(TransDataTracking), "TransTracking TransDataTracking");
t->customFree = transDataTrackingFree;
/* create actual data */
track = tracksbase->first;
while (track) {
- if (TRACK_VIEW_SELECTED(sc, track) && (track->flag & TRACK_LOCKED)==0) {
+ if (TRACK_VIEW_SELECTED(sc, track) && (track->flag & TRACK_LOCKED) == 0) {
for (i = 1; i < track->markersnr; i++) {
marker = &track->markers[i];
- prev_marker = &track->markers[i-1];
+ prev_marker = &track->markers[i - 1];
if ((marker->flag & MARKER_DISABLED) || (prev_marker->flag & MARKER_DISABLED))
continue;
if (marker->flag & MARKER_GRAPH_SEL_X) {
- markerToTransCurveDataInit(td, td2d, tdt, marker, &track->markers[i-1], 0, width);
+ markerToTransCurveDataInit(td, td2d, tdt, marker, &track->markers[i - 1], 0, width);
td += 1;
td2d += 1;
tdt += 1;
}
if (marker->flag & MARKER_GRAPH_SEL_Y) {
- markerToTransCurveDataInit(td, td2d, tdt, marker, &track->markers[i-1], 1, height);
+ markerToTransCurveDataInit(td, td2d, tdt, marker, &track->markers[i - 1], 1, height);
td += 1;
td2d += 1;
@@ -5706,9 +5918,6 @@ static void createTransTrackingData(bContext *C, TransInfo *t)
if (!clip || width == 0 || height == 0)
return;
- if (!ELEM(t->mode, TFM_RESIZE, TFM_TRANSLATION))
- return;
-
if (ar->regiontype == RGN_TYPE_PREVIEW) {
/* transformation was called from graph editor */
createTransTrackingCurvesData(C, t);
@@ -5723,16 +5932,16 @@ static void cancelTransTracking(TransInfo *t)
TransDataTracking *tdt = t->customData;
SpaceClip *sc = t->sa->spacedata.first;
MovieClip *clip = ED_space_clip(sc);
- ListBase *tracksbase = BKE_tracking_get_tracks(&clip->tracking);
+ ListBase *tracksbase = BKE_tracking_get_active_tracks(&clip->tracking);
MovieTrackingTrack *track;
MovieTrackingMarker *marker;
- int a, framenr = sc->user.framenr;
+ int a, framenr = ED_space_clip_clip_framenr(sc);
if (tdt->mode == transDataTracking_ModeTracks) {
track = tracksbase->first;
while (track) {
- if (TRACK_VIEW_SELECTED(sc, track) && (track->flag & TRACK_LOCKED)==0) {
- marker = BKE_tracking_get_marker(track, framenr);
+ if (TRACK_VIEW_SELECTED(sc, track) && (track->flag & TRACK_LOCKED) == 0) {
+ marker = BKE_tracking_marker_get(track, framenr);
marker->flag = tdt->flag;
tdt++;
@@ -5755,15 +5964,15 @@ static void cancelTransTracking(TransInfo *t)
track = tracksbase->first;
while (track) {
- if (TRACK_VIEW_SELECTED(sc, track) && (track->flag & TRACK_LOCKED)==0) {
+ if (TRACK_VIEW_SELECTED(sc, track) && (track->flag & TRACK_LOCKED) == 0) {
for (a = 1; a < track->markersnr; a++) {
marker = &track->markers[a];
- prev_marker = &track->markers[a-1];
+ prev_marker = &track->markers[a - 1];
if ((marker->flag & MARKER_DISABLED) || (prev_marker->flag & MARKER_DISABLED))
continue;
- if (marker->flag & (MARKER_GRAPH_SEL_X|MARKER_GRAPH_SEL_Y)) {
+ if (marker->flag & (MARKER_GRAPH_SEL_X | MARKER_GRAPH_SEL_Y)) {
marker->flag = tdt->flag;
}
}
@@ -5776,42 +5985,61 @@ static void cancelTransTracking(TransInfo *t)
void flushTransTracking(TransInfo *t)
{
+ SpaceClip *sc = t->sa->spacedata.first;
TransData *td;
TransData2D *td2d;
TransDataTracking *tdt;
int a;
+ float aspx, aspy;
+
+ ED_space_clip_aspect_dimension_aware(sc, &aspx, &aspy);
if (t->state == TRANS_CANCEL)
cancelTransTracking(t);
/* flush to 2d vector from internally used 3d vector */
- for (a=0, td= t->data, td2d= t->data2d, tdt= t->customData; a<t->total; a++, td2d++, td++, tdt++) {
+ for (a = 0, td = t->data, td2d = t->data2d, tdt = t->customData; a < t->total; a++, td2d++, td++, tdt++) {
if (tdt->mode == transDataTracking_ModeTracks) {
- if (t->flag & T_ALT_TRANSFORM) {
- if (tdt->area == TRACK_AREA_POINT && tdt->relative) {
- float d[2], d2[2];
+ float loc2d[2];
- if (!tdt->smarkers) {
- tdt->smarkers = MEM_callocN(sizeof(*tdt->smarkers)*tdt->markersnr, "flushTransTracking markers");
- for (a = 0; a < tdt->markersnr; a++)
- copy_v2_v2(tdt->smarkers[a], tdt->markers[a].pos);
- }
+ if (t->mode == TFM_ROTATION && tdt->area == TRACK_AREA_SEARCH) {
+ continue;
+ }
+
+ loc2d[0] = td2d->loc[0] / aspx;
+ loc2d[1] = td2d->loc[1] / aspy;
- sub_v2_v2v2(d, td2d->loc, tdt->soffset);
- sub_v2_v2(d, tdt->srelative);
+ if (t->flag & T_ALT_TRANSFORM) {
+ if (t->mode == TFM_RESIZE) {
+ if (tdt->area != TRACK_AREA_PAT)
+ continue;
+ }
+ else if (t->mode == TFM_TRANSLATION) {
+ if (tdt->area == TRACK_AREA_POINT && tdt->relative) {
+ float d[2], d2[2];
+
+ if (!tdt->smarkers) {
+ tdt->smarkers = MEM_callocN(sizeof(*tdt->smarkers) * tdt->markersnr, "flushTransTracking markers");
+ for (a = 0; a < tdt->markersnr; a++)
+ copy_v2_v2(tdt->smarkers[a], tdt->markers[a].pos);
+ }
- sub_v2_v2v2(d2, td2d->loc, tdt->srelative);
+ sub_v2_v2v2(d, loc2d, tdt->soffset);
+ sub_v2_v2(d, tdt->srelative);
- for (a= 0; a<tdt->markersnr; a++)
- add_v2_v2v2(tdt->markers[a].pos, tdt->smarkers[a], d2);
+ sub_v2_v2v2(d2, loc2d, tdt->srelative);
- negate_v2_v2(td2d->loc2d, d);
+ for (a = 0; a < tdt->markersnr; a++)
+ add_v2_v2v2(tdt->markers[a].pos, tdt->smarkers[a], d2);
+
+ negate_v2_v2(td2d->loc2d, d);
+ }
}
}
- if (tdt->area!=TRACK_AREA_POINT || tdt->relative==0) {
- td2d->loc2d[0] = td2d->loc[0];
- td2d->loc2d[1] = td2d->loc[1];
+ if (tdt->area != TRACK_AREA_POINT || tdt->relative == 0) {
+ td2d->loc2d[0] = loc2d[0];
+ td2d->loc2d[1] = loc2d[1];
if (tdt->relative)
sub_v2_v2(td2d->loc2d, tdt->relative);
@@ -5823,6 +6051,219 @@ void flushTransTracking(TransInfo *t)
}
}
+/* * masking * */
+
+typedef struct TransDataMasking {
+ int is_handle;
+
+ float handle[2], orig_handle[2];
+ float vec[3][3];
+ MaskSplinePoint *point;
+} TransDataMasking;
+
+static void MaskPointToTransData(SpaceClip *sc, MaskSplinePoint *point,
+ TransData *td, TransData2D *td2d, TransDataMasking *tdm, int propmode)
+{
+ BezTriple *bezt = &point->bezt;
+ float aspx, aspy;
+ short is_sel_point = MASKPOINT_ISSEL_KNOT(point);
+ short is_sel_any = MASKPOINT_ISSEL_ANY(point);
+
+ tdm->point = point;
+ copy_m3_m3(tdm->vec, bezt->vec);
+
+ ED_space_clip_mask_aspect(sc, &aspx, &aspy);
+
+ if (propmode || is_sel_point) {
+ int i;
+ for (i = 0; i < 3; i++) {
+ /* CV coords are scaled by aspects. this is needed for rotations and
+ * proportional editing to be consistent with the stretched CV coords
+ * that are displayed. this also means that for display and numinput,
+ * and when the the CV coords are flushed, these are converted each time */
+ td2d->loc[0] = bezt->vec[i][0] * aspx;
+ td2d->loc[1] = bezt->vec[i][1] * aspy;
+ td2d->loc[2] = 0.0f;
+ td2d->loc2d = bezt->vec[i];
+
+ td->flag = 0;
+ td->loc = td2d->loc;
+ copy_v3_v3(td->center, td->loc);
+ copy_v3_v3(td->iloc, td->loc);
+
+ memset(td->axismtx, 0, sizeof(td->axismtx));
+ td->axismtx[2][2] = 1.0f;
+
+ td->ext = NULL;
+
+ if (i == 1) {
+ /* scaling weights */
+ td->val = &bezt->weight;
+ td->ival = *td->val;
+ }
+ else {
+ td->val = NULL;
+ }
+
+ if (is_sel_any) {
+ td->flag |= TD_SELECTED;
+ }
+ td->dist = 0.0;
+
+ unit_m3(td->mtx);
+ unit_m3(td->smtx);
+
+ td++;
+ td2d++;
+ }
+ }
+ else {
+ tdm->is_handle = TRUE;
+
+ BKE_mask_point_handle(point, tdm->handle);
+
+ copy_v2_v2(tdm->orig_handle, tdm->handle);
+
+ td2d->loc[0] = tdm->handle[0] * aspx;
+ td2d->loc[1] = tdm->handle[1] * aspy;
+ td2d->loc[2] = 0.0f;
+ td2d->loc2d = tdm->handle;
+
+ td->flag = 0;
+ td->loc = td2d->loc;
+ copy_v3_v3(td->center, td->loc);
+ copy_v3_v3(td->iloc, td->loc);
+
+ memset(td->axismtx, 0, sizeof(td->axismtx));
+ td->axismtx[2][2] = 1.0f;
+
+ td->ext = NULL;
+ td->val = NULL;
+
+ if (is_sel_any) {
+ td->flag |= TD_SELECTED;
+ }
+
+ td->dist = 0.0;
+
+ unit_m3(td->mtx);
+ unit_m3(td->smtx);
+
+ td++;
+ td2d++;
+ }
+}
+
+static void createTransMaskingData(bContext *C, TransInfo *t)
+{
+ SpaceClip *sc = CTX_wm_space_clip(C);
+ Mask *mask = CTX_data_edit_mask(C);
+ MaskLayer *masklay;
+ TransData *td = NULL;
+ TransData2D *td2d = NULL;
+ TransDataMasking *tdm = NULL;
+ int count = 0, countsel = 0;
+ int propmode = t->flag & T_PROP_EDIT;
+
+ t->total = 0;
+
+ if (!mask)
+ return;
+
+ /* count */
+ for (masklay = mask->masklayers.first; masklay; masklay = masklay->next) {
+ MaskSpline *spline = masklay->splines.first;
+
+ if (masklay->restrictflag & (MASK_RESTRICT_VIEW | MASK_RESTRICT_SELECT)) {
+ continue;
+ }
+
+ for (spline = masklay->splines.first; spline; spline = spline->next) {
+ int i;
+
+ for (i = 0; i < spline->tot_point; i++) {
+ MaskSplinePoint *point = &spline->points[i];
+
+ if (MASKPOINT_ISSEL_ANY(point)) {
+ if (MASKPOINT_ISSEL_KNOT(point))
+ countsel += 3;
+ else
+ countsel += 1;
+ }
+
+ if (propmode)
+ count += 3;
+ }
+ }
+ }
+
+ /* note: in prop mode we need at least 1 selected */
+ if (countsel == 0) return;
+
+ t->total = (propmode) ? count : countsel;
+ td = t->data = MEM_callocN(t->total * sizeof(TransData), "TransObData(Mask Editing)");
+ /* for each 2d uv coord a 3d vector is allocated, so that they can be
+ * treated just as if they were 3d verts */
+ td2d = t->data2d = MEM_callocN(t->total * sizeof(TransData2D), "TransObData2D(Mask Editing)");
+ tdm = t->customData = MEM_callocN(t->total * sizeof(TransDataMasking), "TransDataMasking(Mask Editing)");
+
+ t->flag |= T_FREE_CUSTOMDATA;
+
+ /* create data */
+ for (masklay = mask->masklayers.first; masklay; masklay = masklay->next) {
+ MaskSpline *spline = masklay->splines.first;
+
+ if (masklay->restrictflag & (MASK_RESTRICT_VIEW | MASK_RESTRICT_SELECT)) {
+ continue;
+ }
+
+ for (spline = masklay->splines.first; spline; spline = spline->next) {
+ int i;
+
+ for (i = 0; i < spline->tot_point; i++) {
+ MaskSplinePoint *point = &spline->points[i];
+
+ if (propmode || MASKPOINT_ISSEL_ANY(point)) {
+ MaskPointToTransData(sc, point, td, td2d, tdm, propmode);
+
+ if (propmode || MASKPOINT_ISSEL_KNOT(point)) {
+ td += 3;
+ td2d += 3;
+ tdm += 3;
+ }
+ else {
+ td++;
+ td2d++;
+ tdm++;
+ }
+ }
+ }
+ }
+ }
+}
+
+void flushTransMasking(TransInfo *t)
+{
+ SpaceClip *sc = t->sa->spacedata.first;
+ TransData2D *td;
+ TransDataMasking *tdm;
+ int a;
+ float aspx, aspy, invx, invy;
+
+ ED_space_clip_mask_aspect(sc, &aspx, &aspy);
+ invx = 1.0f / aspx;
+ invy = 1.0f / aspy;
+
+ /* flush to 2d vector from internally used 3d vector */
+ for (a = 0, td = t->data2d, tdm = t->customData; a < t->total; a++, td++, tdm++) {
+ td->loc2d[0] = td->loc[0] * invx;
+ td->loc2d[1] = td->loc[1] * invy;
+
+ if (tdm->is_handle)
+ BKE_mask_point_set_handle(tdm->point, td->loc2d, t->flag & T_ALT_TRANSFORM, tdm->orig_handle, tdm->vec);
+ }
+}
+
void createTransData(bContext *C, TransInfo *t)
{
Scene *scene = t->scene;
@@ -5837,7 +6278,7 @@ void createTransData(bContext *C, TransInfo *t)
t->flag |= T_EDIT;
createTransEdge(t);
if (t->data && t->flag & T_PROP_EDIT) {
- sort_trans_data(t); // makes selected become first in array
+ sort_trans_data(t); // makes selected become first in array
set_prop_dist(t, 1);
sort_trans_data_dist(t);
}
@@ -5847,51 +6288,60 @@ void createTransData(bContext *C, TransInfo *t)
//createTransBMeshVerts(t, G.editBMesh->bm, G.editBMesh->td);
}
else if (t->spacetype == SPACE_IMAGE) {
- t->flag |= T_POINTS|T_2D_EDIT;
+ t->flag |= T_POINTS | T_2D_EDIT;
createTransUVs(C, t);
if (t->data && (t->flag & T_PROP_EDIT)) {
- sort_trans_data(t); // makes selected become first in array
+ sort_trans_data(t); // makes selected become first in array
set_prop_dist(t, 1);
sort_trans_data_dist(t);
}
}
else if (t->spacetype == SPACE_ACTION) {
- t->flag |= T_POINTS|T_2D_EDIT;
+ t->flag |= T_POINTS | T_2D_EDIT;
createTransActionData(C, t);
}
else if (t->spacetype == SPACE_NLA) {
- t->flag |= T_POINTS|T_2D_EDIT;
+ t->flag |= T_POINTS | T_2D_EDIT;
createTransNlaData(C, t);
}
else if (t->spacetype == SPACE_SEQ) {
- t->flag |= T_POINTS|T_2D_EDIT;
+ t->flag |= T_POINTS | T_2D_EDIT;
t->num.flag |= NUM_NO_FRACTION; /* sequencer has no use for floating point transformations */
createTransSeqData(C, t);
}
else if (t->spacetype == SPACE_IPO) {
- t->flag |= T_POINTS|T_2D_EDIT;
+ t->flag |= T_POINTS | T_2D_EDIT;
createTransGraphEditData(C, t);
#if 0
if (t->data && (t->flag & T_PROP_EDIT)) {
- sort_trans_data(t); // makes selected become first in array
+ sort_trans_data(t); // makes selected become first in array
set_prop_dist(t, 1);
sort_trans_data_dist(t);
}
#endif
}
else if (t->spacetype == SPACE_NODE) {
- t->flag |= T_2D_EDIT|T_POINTS;
+ t->flag |= T_2D_EDIT | T_POINTS;
createTransNodeData(C, t);
if (t->data && (t->flag & T_PROP_EDIT)) {
- sort_trans_data(t); // makes selected become first in array
+ sort_trans_data(t); // makes selected become first in array
set_prop_dist(t, 1);
sort_trans_data_dist(t);
}
}
else if (t->spacetype == SPACE_CLIP) {
- t->flag |= T_POINTS|T_2D_EDIT;
+ t->flag |= T_POINTS | T_2D_EDIT;
if (t->options & CTX_MOVIECLIP)
createTransTrackingData(C, t);
+ else if (t->options & CTX_MASK) {
+ createTransMaskingData(C, t);
+
+ if (t->data && (t->flag & T_PROP_EDIT)) {
+ sort_trans_data(t); // makes selected become first in array
+ set_prop_dist(t, TRUE);
+ sort_trans_data_dist(t);
+ }
+ }
}
else if (t->obedit) {
t->ext = NULL;
@@ -5901,13 +6351,13 @@ void createTransData(bContext *C, TransInfo *t)
else if (ELEM(t->obedit->type, OB_CURVE, OB_SURF)) {
createTransCurveVerts(C, t);
}
- else if (t->obedit->type==OB_LATTICE) {
+ else if (t->obedit->type == OB_LATTICE) {
createTransLatticeVerts(t);
}
- else if (t->obedit->type==OB_MBALL) {
+ else if (t->obedit->type == OB_MBALL) {
createTransMBallVerts(t);
}
- else if (t->obedit->type==OB_ARMATURE) {
+ else if (t->obedit->type == OB_ARMATURE) {
t->flag &= ~T_PROP_EDIT;
createTransArmatureVerts(t);
}
@@ -5915,26 +6365,26 @@ void createTransData(bContext *C, TransInfo *t)
printf("edit type not implemented!\n");
}
- t->flag |= T_EDIT|T_POINTS;
+ t->flag |= T_EDIT | T_POINTS;
if (t->data && t->flag & T_PROP_EDIT) {
if (ELEM(t->obedit->type, OB_CURVE, OB_MESH)) {
- sort_trans_data(t); // makes selected become first in array
+ sort_trans_data(t); // makes selected become first in array
set_prop_dist(t, 0);
sort_trans_data_dist(t);
}
else {
- sort_trans_data(t); // makes selected become first in array
+ sort_trans_data(t); // makes selected become first in array
set_prop_dist(t, 1);
sort_trans_data_dist(t);
}
}
/* exception... hackish, we want bonesize to use bone orientation matrix (ton) */
- if (t->mode==TFM_BONESIZE) {
- t->flag &= ~(T_EDIT|T_POINTS);
+ if (t->mode == TFM_BONESIZE) {
+ t->flag &= ~(T_EDIT | T_POINTS);
t->flag |= T_POSE;
- t->poseobj = ob; /* <- tsk tsk, this is going to give issues one day */
+ t->poseobj = ob; /* <- tsk tsk, this is going to give issues one day */
}
}
else if (ob && (ob->mode & OB_MODE_POSE)) {
@@ -5945,9 +6395,9 @@ void createTransData(bContext *C, TransInfo *t)
else if (ob && (ob->mode & OB_MODE_WEIGHT_PAINT)) {
/* important that ob_armature can be set even when its not selected [#23412]
* lines below just check is also visible */
- Object *ob_armature= modifiers_isDeformedByArmature(ob);
+ Object *ob_armature = modifiers_isDeformedByArmature(ob);
if (ob_armature && ob_armature->mode & OB_MODE_POSE) {
- Base *base_arm= BKE_scene_base_find(t->scene, ob_armature);
+ Base *base_arm = BKE_scene_base_find(t->scene, ob_armature);
if (base_arm) {
View3D *v3d = t->view;
if (BASE_VISIBLE(v3d, base_arm)) {
@@ -5962,12 +6412,12 @@ void createTransData(bContext *C, TransInfo *t)
t->flag |= T_POINTS;
if (t->data && t->flag & T_PROP_EDIT) {
- sort_trans_data(t); // makes selected become first in array
+ sort_trans_data(t); // makes selected become first in array
set_prop_dist(t, 1);
sort_trans_data_dist(t);
}
}
- else if (ob && (ob->mode & (OB_MODE_SCULPT|OB_MODE_TEXTURE_PAINT))) {
+ else if (ob && (ob->mode & (OB_MODE_SCULPT | OB_MODE_TEXTURE_PAINT))) {
/* sculpt mode and project paint have own undo stack
* transform ops redo clears sculpt/project undo stack.
*
@@ -5987,7 +6437,7 @@ void createTransData(bContext *C, TransInfo *t)
if ((t->spacetype == SPACE_VIEW3D) && (t->ar->regiontype == RGN_TYPE_WINDOW)) {
View3D *v3d = t->view;
RegionView3D *rv3d = CTX_wm_region_view3d(C);
- if (rv3d && (t->flag & T_OBJECT) && v3d->camera == OBACT && rv3d->persp==RV3D_CAMOB) {
+ if (rv3d && (t->flag & T_OBJECT) && v3d->camera == OBACT && rv3d->persp == RV3D_CAMOB) {
t->flag |= T_CAMERA;
}
}
@@ -5997,7 +6447,3 @@ void createTransData(bContext *C, TransInfo *t)
// /* temporal...? */
// t->scene->recalc |= SCE_PRV_CHANGED; /* test for 3d preview */
}
-
-
-
-
diff --git a/source/blender/editors/transform/transform_generics.c b/source/blender/editors/transform/transform_generics.c
index 4c8b447cdfd..b7857be5afb 100644
--- a/source/blender/editors/transform/transform_generics.c
+++ b/source/blender/editors/transform/transform_generics.c
@@ -49,6 +49,7 @@
#include "DNA_view3d_types.h"
#include "DNA_modifier_types.h"
#include "DNA_movieclip_types.h"
+#include "DNA_mask_types.h"
#include "BLI_math.h"
#include "BLI_blenlib.h"
@@ -139,13 +140,13 @@ void getViewVector(TransInfo *t, float coord[3], float vec[3])
static void clipMirrorModifier(TransInfo *t, Object *ob)
{
- ModifierData *md= ob->modifiers.first;
+ ModifierData *md = ob->modifiers.first;
float tolerance[3] = {0.0f, 0.0f, 0.0f};
int axis = 0;
- for (; md; md=md->next) {
- if ((md->type==eModifierType_Mirror) && (md->mode & eModifierMode_Realtime)) {
- MirrorModifierData *mmd = (MirrorModifierData*) md;
+ for (; md; md = md->next) {
+ if ((md->type == eModifierType_Mirror) && (md->mode & eModifierMode_Realtime)) {
+ MirrorModifierData *mmd = (MirrorModifierData *) md;
if (mmd->flag & MOD_MIR_CLIPPING) {
axis = 0;
@@ -174,13 +175,13 @@ static void clipMirrorModifier(TransInfo *t, Object *ob)
invert_m4_m4(imtx, mtx);
}
- for (i = 0 ; i < t->total; i++, td++) {
+ for (i = 0; i < t->total; i++, td++) {
int clip;
float loc[3], iloc[3];
if (td->flag & TD_NOACTION)
break;
- if (td->loc==NULL)
+ if (td->loc == NULL)
break;
if (td->flag & TD_SKIP)
@@ -196,27 +197,27 @@ static void clipMirrorModifier(TransInfo *t, Object *ob)
clip = 0;
if (axis & 1) {
- if (fabsf(iloc[0])<=tolerance[0] ||
- loc[0]*iloc[0]<0.0f)
+ if (fabsf(iloc[0]) <= tolerance[0] ||
+ loc[0] * iloc[0] < 0.0f)
{
- loc[0]= 0.0f;
+ loc[0] = 0.0f;
clip = 1;
}
}
if (axis & 2) {
if (fabsf(iloc[1]) <= tolerance[1] ||
- loc[1] * iloc[1]<0.0f)
+ loc[1] * iloc[1] < 0.0f)
{
- loc[1]= 0.0f;
+ loc[1] = 0.0f;
clip = 1;
}
}
if (axis & 4) {
if (fabsf(iloc[2]) <= tolerance[2] ||
- loc[2] * iloc[2] < 0.0f)
+ loc[2] * iloc[2] < 0.0f)
{
- loc[2]= 0.0f;
+ loc[2] = 0.0f;
clip = 1;
}
}
@@ -241,19 +242,19 @@ static void editbmesh_apply_to_mirror(TransInfo *t)
BMVert *eve;
int i;
- for (i = 0 ; i < t->total; i++, td++) {
+ for (i = 0; i < t->total; i++, td++) {
if (td->flag & TD_NOACTION)
break;
- if (td->loc==NULL)
+ if (td->loc == NULL)
break;
if (td->flag & TD_SKIP)
continue;
eve = td->extra;
if (eve) {
- eve->co[0]= -td->loc[0];
- eve->co[1]= td->loc[1];
- eve->co[2]= td->loc[2];
+ eve->co[0] = -td->loc[0];
+ eve->co[1] = td->loc[1];
+ eve->co[2] = td->loc[2];
}
if (td->flag & TD_MIRROR_EDGE) {
@@ -263,23 +264,23 @@ static void editbmesh_apply_to_mirror(TransInfo *t)
}
/* for the realtime animation recording feature, handle overlapping data */
-static void animrecord_check_state (Scene *scene, ID *id, wmTimer *animtimer)
+static void animrecord_check_state(Scene *scene, ID *id, wmTimer *animtimer)
{
- ScreenAnimData *sad= (animtimer) ? animtimer->customdata : NULL;
+ ScreenAnimData *sad = (animtimer) ? animtimer->customdata : NULL;
/* sanity checks */
if (ELEM3(NULL, scene, id, sad))
return;
/* check if we need a new strip if:
- * - if animtimer is running
+ * - if animtimer is running
* - we're not only keying for available channels
* - the option to add new actions for each round is not enabled
*/
- if (IS_AUTOKEY_FLAG(scene, INSERTAVAIL)==0 && (scene->toolsettings->autokey_flag & ANIMRECORD_FLAG_WITHNLA)) {
+ if (IS_AUTOKEY_FLAG(scene, INSERTAVAIL) == 0 && (scene->toolsettings->autokey_flag & ANIMRECORD_FLAG_WITHNLA)) {
/* if playback has just looped around, we need to add a new NLA track+strip to allow a clean pass to occur */
if ((sad) && (sad->flag & ANIMPLAY_FLAG_JUMPED)) {
- AnimData *adt= BKE_animdata_from_id(id);
+ AnimData *adt = BKE_animdata_from_id(id);
/* perform push-down manually with some differences
* NOTE: BKE_nla_action_pushdown() sync warning...
@@ -289,21 +290,21 @@ static void animrecord_check_state (Scene *scene, ID *id, wmTimer *animtimer)
/* only push down if action is more than 1-2 frames long */
calc_action_range(adt->action, &astart, &aend, 1);
- if (aend > astart+2.0f) {
- NlaStrip *strip= add_nlastrip_to_stack(adt, adt->action);
+ if (aend > astart + 2.0f) {
+ NlaStrip *strip = add_nlastrip_to_stack(adt, adt->action);
/* clear reference to action now that we've pushed it onto the stack */
adt->action->id.us--;
- adt->action= NULL;
+ adt->action = NULL;
/* adjust blending + extend so that they will behave correctly */
- strip->extendmode= NLASTRIP_EXTEND_NOTHING;
- strip->flag &= ~(NLASTRIP_FLAG_AUTO_BLENDS|NLASTRIP_FLAG_SELECT|NLASTRIP_FLAG_ACTIVE);
+ strip->extendmode = NLASTRIP_EXTEND_NOTHING;
+ strip->flag &= ~(NLASTRIP_FLAG_AUTO_BLENDS | NLASTRIP_FLAG_SELECT | NLASTRIP_FLAG_ACTIVE);
/* also, adjust the AnimData's action extend mode to be on
* 'nothing' so that previous result still play
*/
- adt->act_extendmode= NLASTRIP_EXTEND_NOTHING;
+ adt->act_extendmode = NLASTRIP_EXTEND_NOTHING;
}
}
}
@@ -312,13 +313,13 @@ static void animrecord_check_state (Scene *scene, ID *id, wmTimer *animtimer)
static int fcu_test_selected(FCurve *fcu)
{
- BezTriple *bezt= fcu->bezt;
+ BezTriple *bezt = fcu->bezt;
unsigned int i;
- if (bezt==NULL) /* ignore baked */
+ if (bezt == NULL) /* ignore baked */
return 0;
- for (i=0; i < fcu->totvert; i++, bezt++) {
+ for (i = 0; i < fcu->totvert; i++, bezt++) {
if (BEZSELECTED(bezt)) return 1;
}
@@ -328,41 +329,41 @@ static int fcu_test_selected(FCurve *fcu)
/* helper for recalcData() - for Action Editor transforms */
static void recalcData_actedit(TransInfo *t)
{
- Scene *scene= t->scene;
- SpaceAction *saction= (SpaceAction *)t->sa->spacedata.first;
+ Scene *scene = t->scene;
+ SpaceAction *saction = (SpaceAction *)t->sa->spacedata.first;
- bAnimContext ac= {NULL};
+ bAnimContext ac = {NULL};
ListBase anim_data = {NULL, NULL};
bAnimListElem *ale;
int filter;
/* initialize relevant anim-context 'context' data from TransInfo data */
- /* NOTE: sync this with the code in ANIM_animdata_get_context() */
- ac.scene= t->scene;
- ac.obact= OBACT;
- ac.sa= t->sa;
- ac.ar= t->ar;
- ac.sl= (t->sa)? t->sa->spacedata.first : NULL;
- ac.spacetype= (t->sa)? t->sa->spacetype : 0;
- ac.regiontype= (t->ar)? t->ar->regiontype : 0;
+ /* NOTE: sync this with the code in ANIM_animdata_get_context() */
+ ac.scene = t->scene;
+ ac.obact = OBACT;
+ ac.sa = t->sa;
+ ac.ar = t->ar;
+ ac.sl = (t->sa) ? t->sa->spacedata.first : NULL;
+ ac.spacetype = (t->sa) ? t->sa->spacetype : 0;
+ ac.regiontype = (t->ar) ? t->ar->regiontype : 0;
ANIM_animdata_context_getdata(&ac);
/* perform flush */
- if (ac.datatype == ANIMCONT_GPENCIL) {
+ if (ELEM(ac.datatype, ANIMCONT_GPENCIL, ANIMCONT_MASK)) {
/* flush transform values back to actual coordinates */
- flushTransGPactionData(t);
+ flushTransIntFrameActionData(t);
}
else {
/* get animdata blocks visible in editor, assuming that these will be the ones where things changed */
- filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_ANIMDATA);
+ filter = (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_ANIMDATA);
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
/* just tag these animdata-blocks to recalc, assuming that some data there changed
* BUT only do this if realtime updates are enabled
*/
if ((saction->flag & SACTION_NOREALTIMEUPDATES) == 0) {
- for (ale= anim_data.first; ale; ale= ale->next) {
+ for (ale = anim_data.first; ale; ale = ale->next) {
/* set refresh tags for objects using this animation */
ANIM_list_elem_update(t->scene, ale);
}
@@ -375,11 +376,11 @@ static void recalcData_actedit(TransInfo *t)
/* helper for recalcData() - for Graph Editor transforms */
static void recalcData_graphedit(TransInfo *t)
{
- SpaceIpo *sipo= (SpaceIpo *)t->sa->spacedata.first;
+ SpaceIpo *sipo = (SpaceIpo *)t->sa->spacedata.first;
Scene *scene;
ListBase anim_data = {NULL, NULL};
- bAnimContext ac= {NULL};
+ bAnimContext ac = {NULL};
int filter;
bAnimListElem *ale;
@@ -387,14 +388,14 @@ static void recalcData_graphedit(TransInfo *t)
/* initialize relevant anim-context 'context' data from TransInfo data */
- /* NOTE: sync this with the code in ANIM_animdata_get_context() */
- scene= ac.scene= t->scene;
- ac.obact= OBACT;
- ac.sa= t->sa;
- ac.ar= t->ar;
- ac.sl= (t->sa)? t->sa->spacedata.first : NULL;
- ac.spacetype= (t->sa)? t->sa->spacetype : 0;
- ac.regiontype= (t->ar)? t->ar->regiontype : 0;
+ /* NOTE: sync this with the code in ANIM_animdata_get_context() */
+ scene = ac.scene = t->scene;
+ ac.obact = OBACT;
+ ac.sa = t->sa;
+ ac.ar = t->ar;
+ ac.sl = (t->sa) ? t->sa->spacedata.first : NULL;
+ ac.spacetype = (t->sa) ? t->sa->spacetype : 0;
+ ac.regiontype = (t->ar) ? t->ar->regiontype : 0;
ANIM_animdata_context_getdata(&ac);
@@ -402,19 +403,19 @@ static void recalcData_graphedit(TransInfo *t)
flushTransGraphData(t);
/* get curves to check if a re-sort is needed */
- filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_CURVE_VISIBLE);
+ filter = (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_CURVE_VISIBLE);
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
/* now test if there is a need to re-sort */
- for (ale= anim_data.first; ale; ale= ale->next) {
- FCurve *fcu= (FCurve *)ale->key_data;
+ for (ale = anim_data.first; ale; ale = ale->next) {
+ FCurve *fcu = (FCurve *)ale->key_data;
/* ignore unselected fcurves */
if (!fcu_test_selected(fcu))
continue;
// fixme: only do this for selected verts...
- ANIM_unit_mapping_apply_fcurve(ac.scene, ale->id, ale->key_data, ANIM_UNITCONV_ONLYSEL|ANIM_UNITCONV_SELVERTS|ANIM_UNITCONV_RESTORE);
+ ANIM_unit_mapping_apply_fcurve(ac.scene, ale->id, ale->key_data, ANIM_UNITCONV_ONLYSEL | ANIM_UNITCONV_SELVERTS | ANIM_UNITCONV_RESTORE);
/* watch it: if the time is wrong: do not correct handles yet */
@@ -440,10 +441,10 @@ static void recalcData_graphedit(TransInfo *t)
/* helper for recalcData() - for NLA Editor transforms */
static void recalcData_nla(TransInfo *t)
{
- TransDataNla *tdn= (TransDataNla *)t->customData;
- SpaceNla *snla= (SpaceNla *)t->sa->spacedata.first;
- Scene *scene= t->scene;
- double secf= FPS;
+ TransDataNla *tdn = (TransDataNla *)t->customData;
+ SpaceNla *snla = (SpaceNla *)t->sa->spacedata.first;
+ Scene *scene = t->scene;
+ double secf = FPS;
int i;
/* for each strip we've got, perform some additional validation of the values that got set before
@@ -451,7 +452,7 @@ static void recalcData_nla(TransInfo *t)
* sure that everything works ok)
*/
for (i = 0; i < t->total; i++, tdn++) {
- NlaStrip *strip= tdn->strip;
+ NlaStrip *strip = tdn->strip;
PointerRNA strip_ptr;
short pExceeded, nExceeded, iter;
int delta_y1, delta_y2;
@@ -473,16 +474,16 @@ static void recalcData_nla(TransInfo *t)
*/
/* start */
- strip->start= tdn->h1[0];
+ strip->start = tdn->h1[0];
if ((strip->prev) && (strip->prev->type == NLASTRIP_TYPE_TRANSITION))
- strip->prev->end= tdn->h1[0];
+ strip->prev->end = tdn->h1[0];
/* end */
- strip->end= tdn->h2[0];
+ strip->end = tdn->h2[0];
if ((strip->next) && (strip->next->type == NLASTRIP_TYPE_TRANSITION))
- strip->next->start= tdn->h2[0];
+ strip->next->start = tdn->h2[0];
/* flush transforms to child strips (since this should be a meta) */
BKE_nlameta_flush_transforms(strip);
@@ -502,9 +503,9 @@ static void recalcData_nla(TransInfo *t)
*
* this is done as a iterative procedure (done 5 times max for now)
*/
- for (iter=0; iter < 5; iter++) {
- pExceeded= ((strip->prev) && (strip->prev->type != NLASTRIP_TYPE_TRANSITION) && (tdn->h1[0] < strip->prev->end));
- nExceeded= ((strip->next) && (strip->next->type != NLASTRIP_TYPE_TRANSITION) && (tdn->h2[0] > strip->next->start));
+ for (iter = 0; iter < 5; iter++) {
+ pExceeded = ((strip->prev) && (strip->prev->type != NLASTRIP_TYPE_TRANSITION) && (tdn->h1[0] < strip->prev->end));
+ nExceeded = ((strip->next) && (strip->next->type != NLASTRIP_TYPE_TRANSITION) && (tdn->h2[0] > strip->next->start));
if ((pExceeded && nExceeded) || (iter == 4) ) {
/* both endpoints exceeded (or iteration ping-pong'd meaning that we need a compromise)
@@ -512,24 +513,24 @@ static void recalcData_nla(TransInfo *t)
* - if there were no neighbors, clear the transforms (make it default to the strip's current values)
*/
if (strip->prev && strip->next) {
- tdn->h1[0]= strip->prev->end;
- tdn->h2[0]= strip->next->start;
+ tdn->h1[0] = strip->prev->end;
+ tdn->h2[0] = strip->next->start;
}
else {
- tdn->h1[0]= strip->start;
- tdn->h2[0]= strip->end;
+ tdn->h1[0] = strip->start;
+ tdn->h2[0] = strip->end;
}
}
else if (nExceeded) {
/* move backwards */
- float offset= tdn->h2[0] - strip->next->start;
+ float offset = tdn->h2[0] - strip->next->start;
tdn->h1[0] -= offset;
tdn->h2[0] -= offset;
}
else if (pExceeded) {
/* more forwards */
- float offset= strip->prev->end - tdn->h1[0];
+ float offset = strip->prev->end - tdn->h1[0];
tdn->h1[0] += offset;
tdn->h2[0] += offset;
@@ -552,8 +553,8 @@ static void recalcData_nla(TransInfo *t)
break;
case SACTSNAP_MARKER: /* snap to nearest marker */
- tdn->h1[0]= (float)ED_markers_find_nearest_marker_time(&t->scene->markers, tdn->h1[0]);
- tdn->h2[0]= (float)ED_markers_find_nearest_marker_time(&t->scene->markers, tdn->h2[0]);
+ tdn->h1[0] = (float)ED_markers_find_nearest_marker_time(&t->scene->markers, tdn->h1[0]);
+ tdn->h2[0] = (float)ED_markers_find_nearest_marker_time(&t->scene->markers, tdn->h2[0]);
break;
}
@@ -571,8 +572,8 @@ static void recalcData_nla(TransInfo *t)
/* now, check if we need to try and move track
* - we need to calculate both, as only one may have been altered by transform if only 1 handle moved
*/
- delta_y1= ((int)tdn->h1[1] / NLACHANNEL_STEP(snla) - tdn->trackIndex);
- delta_y2= ((int)tdn->h2[1] / NLACHANNEL_STEP(snla) - tdn->trackIndex);
+ delta_y1 = ((int)tdn->h1[1] / NLACHANNEL_STEP(snla) - tdn->trackIndex);
+ delta_y2 = ((int)tdn->h2[1] / NLACHANNEL_STEP(snla) - tdn->trackIndex);
if (delta_y1 || delta_y2) {
NlaTrack *track;
@@ -583,14 +584,14 @@ static void recalcData_nla(TransInfo *t)
* stopping on the last track available or that we're able to fit in
*/
if (delta > 0) {
- for (track=tdn->nlt->next, n=0; (track) && (n < delta); track=track->next, n++) {
+ for (track = tdn->nlt->next, n = 0; (track) && (n < delta); track = track->next, n++) {
/* check if space in this track for the strip */
if (BKE_nlatrack_has_space(track, strip->start, strip->end)) {
/* move strip to this track */
BLI_remlink(&tdn->nlt->strips, strip);
BKE_nlatrack_add_strip(track, strip);
- tdn->nlt= track;
+ tdn->nlt = track;
tdn->trackIndex++;
}
else /* can't move any further */
@@ -599,16 +600,16 @@ static void recalcData_nla(TransInfo *t)
}
else {
/* make delta 'positive' before using it, since we now know to go backwards */
- delta= -delta;
+ delta = -delta;
- for (track=tdn->nlt->prev, n=0; (track) && (n < delta); track=track->prev, n++) {
+ for (track = tdn->nlt->prev, n = 0; (track) && (n < delta); track = track->prev, n++) {
/* check if space in this track for the strip */
if (BKE_nlatrack_has_space(track, strip->start, strip->end)) {
/* move strip to this track */
BLI_remlink(&tdn->nlt->strips, strip);
BKE_nlatrack_add_strip(track, strip);
- tdn->nlt= track;
+ tdn->nlt = track;
tdn->trackIndex--;
}
else /* can't move any further */
@@ -623,7 +624,7 @@ static void recalcData_nla(TransInfo *t)
static void recalcData_image(TransInfo *t)
{
if (t->obedit && t->obedit->type == OB_MESH) {
- SpaceImage *sima= t->sa->spacedata.first;
+ SpaceImage *sima = t->sa->spacedata.first;
flushTransUVs(t);
if (sima->flag & SI_LIVE_UNWRAP)
@@ -638,33 +639,49 @@ static void recalcData_spaceclip(TransInfo *t)
{
SpaceClip *sc = t->sa->spacedata.first;
- MovieClip *clip = ED_space_clip(sc);
- ListBase *tracksbase = BKE_tracking_get_tracks(&clip->tracking);
- MovieTrackingTrack *track;
+ if (ED_space_clip_show_trackedit(sc)) {
+ MovieClip *clip = ED_space_clip(sc);
+ ListBase *tracksbase = BKE_tracking_get_active_tracks(&clip->tracking);
+ MovieTrackingTrack *track;
+ int framenr = sc->user.framenr;
- flushTransTracking(t);
+ flushTransTracking(t);
- track = tracksbase->first;
- while (track) {
- if (TRACK_VIEW_SELECTED(sc, track) && (track->flag & TRACK_LOCKED)==0) {
- if (t->mode == TFM_TRANSLATION) {
- if (TRACK_AREA_SELECTED(track, TRACK_AREA_PAT))
- BKE_tracking_clamp_track(track, CLAMP_PAT_POS);
- if (TRACK_AREA_SELECTED(track, TRACK_AREA_SEARCH))
- BKE_tracking_clamp_track(track, CLAMP_SEARCH_POS);
- }
- else if (t->mode == TFM_RESIZE) {
- if (TRACK_AREA_SELECTED(track, TRACK_AREA_PAT))
- BKE_tracking_clamp_track(track, CLAMP_PAT_DIM);
- if (TRACK_AREA_SELECTED(track, TRACK_AREA_SEARCH))
- BKE_tracking_clamp_track(track, CLAMP_SEARCH_DIM);
+ track = tracksbase->first;
+ while (track) {
+ if (TRACK_VIEW_SELECTED(sc, track) && (track->flag & TRACK_LOCKED) == 0) {
+ MovieTrackingMarker *marker = BKE_tracking_marker_get(track, framenr);
+
+ if (t->mode == TFM_TRANSLATION) {
+ if (TRACK_AREA_SELECTED(track, TRACK_AREA_PAT))
+ BKE_tracking_marker_clamp(marker, CLAMP_PAT_POS);
+ if (TRACK_AREA_SELECTED(track, TRACK_AREA_SEARCH))
+ BKE_tracking_marker_clamp(marker, CLAMP_SEARCH_POS);
+ }
+ else if (t->mode == TFM_RESIZE) {
+ if (TRACK_AREA_SELECTED(track, TRACK_AREA_PAT))
+ BKE_tracking_marker_clamp(marker, CLAMP_PAT_DIM);
+ if (TRACK_AREA_SELECTED(track, TRACK_AREA_SEARCH))
+ BKE_tracking_marker_clamp(marker, CLAMP_SEARCH_DIM);
+ }
+ else if (t->mode == TFM_ROTATION) {
+ if (TRACK_AREA_SELECTED(track, TRACK_AREA_PAT))
+ BKE_tracking_marker_clamp(marker, CLAMP_PAT_POS);
+ }
}
+
+ track = track->next;
}
- track = track->next;
+ DAG_id_tag_update(&clip->id, 0);
}
+ else if (ED_space_clip_show_maskedit(sc)) {
+ Mask *mask = ED_space_clip_mask(sc);
+
+ flushTransMasking(t);
- DAG_id_tag_update(&clip->id, 0);
+ DAG_id_tag_update(&mask->id, 0);
+ }
}
/* helper for recalcData() - for 3d-view transforms */
@@ -674,9 +691,9 @@ static void recalcData_view3d(TransInfo *t)
if (t->obedit) {
if (ELEM(t->obedit->type, OB_CURVE, OB_SURF)) {
- Curve *cu= t->obedit->data;
- ListBase *nurbs= BKE_curve_editNurbs_get(cu);
- Nurb *nu= nurbs->first;
+ Curve *cu = t->obedit->data;
+ ListBase *nurbs = BKE_curve_editNurbs_get(cu);
+ Nurb *nu = nurbs->first;
if (t->state != TRANS_CANCEL) {
clipMirrorModifier(t, t->obedit);
@@ -688,7 +705,7 @@ static void recalcData_view3d(TransInfo *t)
if (t->state == TRANS_CANCEL) {
while (nu) {
BKE_nurb_handles_calc(nu); /* Cant do testhandlesNurb here, it messes up the h1 and h2 flags */
- nu= nu->next;
+ nu = nu->next;
}
}
else {
@@ -696,12 +713,12 @@ static void recalcData_view3d(TransInfo *t)
while (nu) {
BKE_nurb_test2D(nu);
BKE_nurb_handles_calc(nu);
- nu= nu->next;
+ nu = nu->next;
}
}
}
- else if (t->obedit->type==OB_LATTICE) {
- Lattice *la= t->obedit->data;
+ else if (t->obedit->type == OB_LATTICE) {
+ Lattice *la = t->obedit->data;
if (t->state != TRANS_CANCEL) {
applyProject(t);
@@ -727,8 +744,8 @@ static void recalcData_view3d(TransInfo *t)
EDBM_mesh_normals_update(em);
BMEdit_RecalcTessellation(em);
}
- else if (t->obedit->type==OB_ARMATURE) { /* no recalc flag, does pose */
- bArmature *arm= t->obedit->data;
+ else if (t->obedit->type == OB_ARMATURE) { /* no recalc flag, does pose */
+ bArmature *arm = t->obedit->data;
ListBase *edbo = arm->edbo;
EditBone *ebo;
TransData *td = t->data;
@@ -744,33 +761,33 @@ static void recalcData_view3d(TransInfo *t)
if ((ebo->flag & BONE_CONNECTED) && ebo->parent) {
/* If this bone has a parent tip that has been moved */
if (ebo->parent->flag & BONE_TIPSEL) {
- copy_v3_v3 (ebo->head, ebo->parent->tail);
- if (t->mode==TFM_BONE_ENVELOPE) ebo->rad_head= ebo->parent->rad_tail;
+ copy_v3_v3(ebo->head, ebo->parent->tail);
+ if (t->mode == TFM_BONE_ENVELOPE) ebo->rad_head = ebo->parent->rad_tail;
}
/* If this bone has a parent tip that has NOT been moved */
else {
- copy_v3_v3 (ebo->parent->tail, ebo->head);
- if (t->mode==TFM_BONE_ENVELOPE) ebo->parent->rad_tail= ebo->rad_head;
+ copy_v3_v3(ebo->parent->tail, ebo->head);
+ if (t->mode == TFM_BONE_ENVELOPE) ebo->parent->rad_tail = ebo->rad_head;
}
}
/* on extrude bones, oldlength==0.0f, so we scale radius of points */
- ebo->length= len_v3v3(ebo->head, ebo->tail);
- if (ebo->oldlength==0.0f) {
- ebo->rad_head= 0.25f*ebo->length;
- ebo->rad_tail= 0.10f*ebo->length;
- ebo->dist= 0.25f*ebo->length;
+ ebo->length = len_v3v3(ebo->head, ebo->tail);
+ if (ebo->oldlength == 0.0f) {
+ ebo->rad_head = 0.25f * ebo->length;
+ ebo->rad_tail = 0.10f * ebo->length;
+ ebo->dist = 0.25f * ebo->length;
if (ebo->parent) {
if (ebo->rad_head > ebo->parent->rad_tail)
- ebo->rad_head= ebo->parent->rad_tail;
+ ebo->rad_head = ebo->parent->rad_tail;
}
}
- else if (t->mode!=TFM_BONE_ENVELOPE) {
+ else if (t->mode != TFM_BONE_ENVELOPE) {
/* if bones change length, lets do that for the deform distance as well */
- ebo->dist*= ebo->length/ebo->oldlength;
- ebo->rad_head*= ebo->length/ebo->oldlength;
- ebo->rad_tail*= ebo->length/ebo->oldlength;
- ebo->oldlength= ebo->length;
+ ebo->dist *= ebo->length / ebo->oldlength;
+ ebo->rad_head *= ebo->length / ebo->oldlength;
+ ebo->rad_tail *= ebo->length / ebo->oldlength;
+ ebo->oldlength = ebo->length;
}
}
@@ -811,9 +828,9 @@ static void recalcData_view3d(TransInfo *t)
DAG_id_tag_update(t->obedit->data, 0); /* sets recalc flags */
}
}
- else if ( (t->flag & T_POSE) && t->poseobj) {
- Object *ob= t->poseobj;
- bArmature *arm= ob->data;
+ else if ((t->flag & T_POSE) && t->poseobj) {
+ Object *ob = t->poseobj;
+ bArmature *arm = ob->data;
/* if animtimer is running, and the object already has animation data,
* check if the auto-record feature means that we should record 'samples'
@@ -823,7 +840,7 @@ static void recalcData_view3d(TransInfo *t)
*/
// TODO: autokeyframe calls need some setting to specify to add samples (FPoints) instead of keyframes?
if ((t->animtimer) && (t->context) && IS_AUTOKEY_ON(t->scene)) {
- int targetless_ik= (t->flag & T_AUTOIK); // XXX this currently doesn't work, since flags aren't set yet!
+ int targetless_ik = (t->flag & T_AUTOIK); // XXX this currently doesn't work, since flags aren't set yet!
animrecord_check_state(t->scene, &ob->id, t->animtimer);
autokeyframe_pose_cb_func(t->context, t->scene, (View3D *)t->view, ob, t->mode, targetless_ik);
@@ -880,10 +897,10 @@ static void recalcData_view3d(TransInfo *t)
/* called for updating while transform acts, once per redraw */
void recalcData(TransInfo *t)
{
- if (t->spacetype==SPACE_NODE) {
+ if (t->spacetype == SPACE_NODE) {
flushTransNodes(t);
}
- else if (t->spacetype==SPACE_SEQ) {
+ else if (t->spacetype == SPACE_SEQ) {
flushTransSeq(t);
}
else if (t->spacetype == SPACE_ACTION) {
@@ -936,8 +953,8 @@ void drawLine(TransInfo *t, float *center, float *dir, char axis, short options)
setlinestyle(0);
glBegin(GL_LINE_STRIP);
- glVertex3fv(v1);
- glVertex3fv(v2);
+ glVertex3fv(v1);
+ glVertex3fv(v2);
glEnd();
glPopMatrix();
@@ -994,20 +1011,20 @@ int initTransInfo(bContext *C, TransInfo *t, wmOperator *op, wmEvent *event)
t->mval[0] = t->imval[0];
t->mval[1] = t->imval[1];
- t->transform = NULL;
- t->handleEvent = NULL;
+ t->transform = NULL;
+ t->handleEvent = NULL;
- t->total = 0;
+ t->total = 0;
t->val = 0.0f;
- t->vec[0] =
- t->vec[1] =
- t->vec[2] = 0.0f;
-
- t->center[0] =
- t->center[1] =
- t->center[2] = 0.0f;
+ t->vec[0] =
+ t->vec[1] =
+ t->vec[2] = 0.0f;
+
+ t->center[0] =
+ t->center[1] =
+ t->center[2] = 0.0f;
unit_m3(t->mat);
@@ -1025,15 +1042,15 @@ int initTransInfo(bContext *C, TransInfo *t, wmOperator *op, wmEvent *event)
/* Assign the space type, some exceptions for running in different mode */
if (sa == NULL) {
/* background mode */
- t->spacetype= SPACE_EMPTY;
+ t->spacetype = SPACE_EMPTY;
}
else if ((ar == NULL) && (sa->spacetype == SPACE_VIEW3D)) {
/* running in the text editor */
- t->spacetype= SPACE_EMPTY;
+ t->spacetype = SPACE_EMPTY;
}
else {
/* normal operation */
- t->spacetype= sa->spacetype;
+ t->spacetype = sa->spacetype;
}
@@ -1042,7 +1059,7 @@ int initTransInfo(bContext *C, TransInfo *t, wmOperator *op, wmEvent *event)
bScreen *animscreen = ED_screen_animation_playing(CTX_wm_manager(C));
t->view = v3d;
- t->animtimer= (animscreen)? animscreen->animtimer: NULL;
+ t->animtimer = (animscreen) ? animscreen->animtimer : NULL;
/* turn manipulator off during transform */
// FIXME: but don't do this when USING the manipulator...
@@ -1068,7 +1085,7 @@ int initTransInfo(bContext *C, TransInfo *t, wmOperator *op, wmEvent *event)
}
/* exceptional case */
- if (t->around==V3D_LOCAL && (t->settings->selectmode & SCE_SELECT_FACE)) {
+ if (t->around == V3D_LOCAL && (t->settings->selectmode & SCE_SELECT_FACE)) {
if (ELEM3(t->mode, TFM_ROTATION, TFM_RESIZE, TFM_TRACKBALL)) {
t->options |= CTX_NO_PET;
}
@@ -1090,22 +1107,32 @@ int initTransInfo(bContext *C, TransInfo *t, wmOperator *op, wmEvent *event)
}
}
- else if (t->spacetype==SPACE_IMAGE) {
+ else if (t->spacetype == SPACE_IMAGE) {
SpaceImage *sima = sa->spacedata.first;
// XXX for now, get View2D from the active region
t->view = &ar->v2d;
t->around = sima->around;
}
- else if (t->spacetype==SPACE_NODE) {
+ else if (t->spacetype == SPACE_NODE) {
// XXX for now, get View2D from the active region
t->view = &ar->v2d;
t->around = V3D_CENTER;
}
- else if (t->spacetype==SPACE_IPO) {
- SpaceIpo *sipo= sa->spacedata.first;
+ else if (t->spacetype == SPACE_IPO) {
+ SpaceIpo *sipo = sa->spacedata.first;
t->view = &ar->v2d;
t->around = sipo->around;
}
+ else if (t->spacetype == SPACE_CLIP) {
+ SpaceClip *sclip = sa->spacedata.first;
+ t->view = &ar->v2d;
+ t->around = sclip->around;
+
+ if (ED_space_clip_show_trackedit(sclip))
+ t->options |= CTX_MOVIECLIP;
+ else if (ED_space_clip_show_maskedit(sclip))
+ t->options |= CTX_MASK;
+ }
else {
if (ar) {
// XXX for now, get View2D from the active region
@@ -1113,7 +1140,7 @@ int initTransInfo(bContext *C, TransInfo *t, wmOperator *op, wmEvent *event)
// XXX for now, the center point is the midpoint of the data
}
else {
- t->view= NULL;
+ t->view = NULL;
}
t->around = V3D_CENTER;
}
@@ -1167,6 +1194,15 @@ int initTransInfo(bContext *C, TransInfo *t, wmOperator *op, wmEvent *event)
t->flag |= T_PROP_CONNECTED;
}
}
+ else if (t->options & CTX_MASK) {
+ if (ts->proportional_mask) {
+ t->flag |= T_PROP_EDIT;
+
+ if (ts->proportional == PROP_EDIT_CONNECTED) {
+ t->flag |= T_PROP_CONNECTED;
+ }
+ }
+ }
else if (t->obedit == NULL && ts->proportional_objects) {
t->flag |= T_PROP_EDIT;
}
@@ -1241,7 +1277,7 @@ void postTrans(bContext *C, TransInfo *t)
int a;
/* free data malloced per trans-data */
- for (a=0, td= t->data; a<t->total; a++, td++) {
+ for (a = 0, td = t->data; a < t->total; a++, td++) {
if (td->flag & TD_BEZTRIPLE)
MEM_freeN(td->hdata);
}
@@ -1253,15 +1289,15 @@ void postTrans(bContext *C, TransInfo *t)
if (t->ext) MEM_freeN(t->ext);
if (t->data2d) {
MEM_freeN(t->data2d);
- t->data2d= NULL;
+ t->data2d = NULL;
}
- if (t->spacetype==SPACE_IMAGE) {
- SpaceImage *sima= t->sa->spacedata.first;
+ if (t->spacetype == SPACE_IMAGE) {
+ SpaceImage *sima = t->sa->spacedata.first;
if (sima->flag & SI_LIVE_UNWRAP)
ED_uvedit_live_unwrap_end(t->state == TRANS_CANCEL);
}
- else if (t->spacetype==SPACE_VIEW3D) {
+ else if (t->spacetype == SPACE_VIEW3D) {
View3D *v3d = t->sa->spacedata.first;
/* restore manipulator */
if (t->flag & T_MODAL) {
@@ -1300,12 +1336,12 @@ static void restoreElement(TransData *td)
*td->val = td->ival;
}
- if (td->ext && (td->flag&TD_NO_EXT)==0) {
+ if (td->ext && (td->flag & TD_NO_EXT) == 0) {
if (td->ext->rot) {
copy_v3_v3(td->ext->rot, td->ext->irot);
}
if (td->ext->rotAngle) {
- *td->ext->rotAngle= td->ext->irotAngle;
+ *td->ext->rotAngle = td->ext->irotAngle;
}
if (td->ext->rotAxis) {
copy_v3_v3(td->ext->rotAxis, td->ext->irotAxis);
@@ -1334,7 +1370,7 @@ void restoreTransObjects(TransInfo *t)
restoreElement(td);
}
- for (td2d=t->data2d; t->data2d && td2d < t->data2d + t->total; td2d++) {
+ for (td2d = t->data2d; t->data2d && td2d < t->data2d + t->total; td2d++) {
if (td2d->h1) {
td2d->h1[0] = td2d->ih1[0];
td2d->h1[1] = td2d->ih1[1];
@@ -1352,8 +1388,8 @@ void restoreTransObjects(TransInfo *t)
void calculateCenter2D(TransInfo *t)
{
- if (t->flag & (T_EDIT|T_POSE)) {
- Object *ob= t->obedit?t->obedit:t->poseobj;
+ if (t->flag & (T_EDIT | T_POSE)) {
+ Object *ob = t->obedit ? t->obedit : t->poseobj;
float vec[3];
copy_v3_v3(vec, t->center);
@@ -1373,8 +1409,8 @@ void calculateCenterCursor(TransInfo *t)
copy_v3_v3(t->center, cursor);
/* If edit or pose mode, move cursor in local space */
- if (t->flag & (T_EDIT|T_POSE)) {
- Object *ob = t->obedit?t->obedit:t->poseobj;
+ if (t->flag & (T_EDIT | T_POSE)) {
+ Object *ob = t->obedit ? t->obedit : t->poseobj;
float mat[3][3], imat[3][3];
sub_v3_v3v3(t->center, t->center, ob->obmat[3]);
@@ -1388,11 +1424,11 @@ void calculateCenterCursor(TransInfo *t)
void calculateCenterCursor2D(TransInfo *t)
{
- float aspx=1.0, aspy=1.0;
- float *cursor= NULL;
+ float aspx = 1.0, aspy = 1.0;
+ float *cursor = NULL;
- if (t->spacetype==SPACE_IMAGE) {
- SpaceImage *sima= (SpaceImage *)t->sa->spacedata.first;
+ if (t->spacetype == SPACE_IMAGE) {
+ SpaceImage *sima = (SpaceImage *)t->sa->spacedata.first;
/* only space supported right now but may change */
ED_space_image_uv_aspect(sima, &aspx, &aspy);
cursor = sima->cursor;
@@ -1408,12 +1444,12 @@ void calculateCenterCursor2D(TransInfo *t)
static void calculateCenterCursorGraph2D(TransInfo *t)
{
- SpaceIpo *sipo= (SpaceIpo *)t->sa->spacedata.first;
- Scene *scene= t->scene;
+ SpaceIpo *sipo = (SpaceIpo *)t->sa->spacedata.first;
+ Scene *scene = t->scene;
/* cursor is combination of current frame, and graph-editor cursor value */
- t->center[0]= (float)(scene->r.cfra);
- t->center[1]= sipo->cursorVal;
+ t->center[0] = (float)(scene->r.cfra);
+ t->center[1] = sipo->cursorVal;
calculateCenter2D(t);
}
@@ -1479,95 +1515,95 @@ void calculateCenterBound(TransInfo *t)
void calculateCenter(TransInfo *t)
{
switch (t->around) {
- case V3D_CENTER:
- calculateCenterBound(t);
- break;
- case V3D_CENTROID:
- calculateCenterMedian(t);
- break;
- case V3D_CURSOR:
- if (t->spacetype==SPACE_IMAGE)
- calculateCenterCursor2D(t);
- else if (t->spacetype==SPACE_IPO)
- calculateCenterCursorGraph2D(t);
- else
- calculateCenterCursor(t);
- break;
- case V3D_LOCAL:
- /* Individual element center uses median center for helpline and such */
- calculateCenterMedian(t);
- break;
- case V3D_ACTIVE:
+ case V3D_CENTER:
+ calculateCenterBound(t);
+ break;
+ case V3D_CENTROID:
+ calculateCenterMedian(t);
+ break;
+ case V3D_CURSOR:
+ if (t->spacetype == SPACE_IMAGE)
+ calculateCenterCursor2D(t);
+ else if (t->spacetype == SPACE_IPO)
+ calculateCenterCursorGraph2D(t);
+ else
+ calculateCenterCursor(t);
+ break;
+ case V3D_LOCAL:
+ /* Individual element center uses median center for helpline and such */
+ calculateCenterMedian(t);
+ break;
+ case V3D_ACTIVE:
{
- /* set median, and if if if... do object center */
+ /* set median, and if if if... do object center */
- /* EDIT MODE ACTIVE EDITMODE ELEMENT */
+ /* EDIT MODE ACTIVE EDITMODE ELEMENT */
- if (t->obedit) {
- if (t->obedit && t->obedit->type == OB_MESH) {
- BMEditSelection ese;
- BMEditMesh *em = BMEdit_FromObject(t->obedit);
+ if (t->obedit) {
+ if (t->obedit && t->obedit->type == OB_MESH) {
+ BMEditSelection ese;
+ BMEditMesh *em = BMEdit_FromObject(t->obedit);
- if (BM_select_history_active_get(em->bm, &ese)) {
- BM_editselection_center(&ese, t->center);
- calculateCenter2D(t);
- break;
+ if (BM_select_history_active_get(em->bm, &ese)) {
+ BM_editselection_center(&ese, t->center);
+ calculateCenter2D(t);
+ break;
+ }
}
- }
- else if (ELEM(t->obedit->type, OB_CURVE, OB_SURF)) {
- float center[3];
- Curve *cu= (Curve *)t->obedit->data;
+ else if (ELEM(t->obedit->type, OB_CURVE, OB_SURF)) {
+ float center[3];
+ Curve *cu = (Curve *)t->obedit->data;
- if (ED_curve_actSelection(cu, center)) {
- copy_v3_v3(t->center, center);
- calculateCenter2D(t);
- break;
+ if (ED_curve_actSelection(cu, center)) {
+ copy_v3_v3(t->center, center);
+ calculateCenter2D(t);
+ break;
+ }
+ }
+ } /* END EDIT MODE ACTIVE ELEMENT */
+
+ calculateCenterMedian(t);
+ if ((t->flag & (T_EDIT | T_POSE)) == 0) {
+ Scene *scene = t->scene;
+ Object *ob = OBACT;
+ if (ob) {
+ copy_v3_v3(t->center, ob->obmat[3]);
+ projectIntView(t, t->center, t->center2d);
}
}
- } /* END EDIT MODE ACTIVE ELEMENT */
-
- calculateCenterMedian(t);
- if ((t->flag & (T_EDIT|T_POSE))==0) {
- Scene *scene = t->scene;
- Object *ob= OBACT;
- if (ob) {
- copy_v3_v3(t->center, ob->obmat[3]);
- projectIntView(t, t->center, t->center2d);
- }
- }
}
}
/* setting constraint center */
copy_v3_v3(t->con.center, t->center);
- if (t->flag & (T_EDIT|T_POSE)) {
- Object *ob= t->obedit?t->obedit:t->poseobj;
+ if (t->flag & (T_EDIT | T_POSE)) {
+ Object *ob = t->obedit ? t->obedit : t->poseobj;
mul_m4_v3(ob->obmat, t->con.center);
}
/* for panning from cameraview */
if (t->flag & T_OBJECT) {
- if (t->spacetype==SPACE_VIEW3D && t->ar && t->ar->regiontype == RGN_TYPE_WINDOW) {
+ if (t->spacetype == SPACE_VIEW3D && t->ar && t->ar->regiontype == RGN_TYPE_WINDOW) {
View3D *v3d = t->view;
Scene *scene = t->scene;
RegionView3D *rv3d = t->ar->regiondata;
- if (v3d->camera == OBACT && rv3d->persp==RV3D_CAMOB) {
+ if (v3d->camera == OBACT && rv3d->persp == RV3D_CAMOB) {
float axis[3];
/* persinv is nasty, use viewinv instead, always right */
copy_v3_v3(axis, t->viewinv[2]);
normalize_v3(axis);
/* 6.0 = 6 grid units */
- axis[0]= t->center[0]- 6.0f*axis[0];
- axis[1]= t->center[1]- 6.0f*axis[1];
- axis[2]= t->center[2]- 6.0f*axis[2];
+ axis[0] = t->center[0] - 6.0f * axis[0];
+ axis[1] = t->center[1] - 6.0f * axis[1];
+ axis[2] = t->center[2] - 6.0f * axis[2];
projectIntView(t, axis, t->center2d);
/* rotate only needs correct 2d center, grab needs initgrabz() value */
- if (t->mode==TFM_TRANSLATION) {
+ if (t->mode == TFM_TRANSLATION) {
copy_v3_v3(t->center, axis);
copy_v3_v3(t->con.center, t->center);
}
@@ -1575,10 +1611,10 @@ void calculateCenter(TransInfo *t)
}
}
- if (t->spacetype==SPACE_VIEW3D) {
+ if (t->spacetype == SPACE_VIEW3D) {
/* initgrabz() defines a factor for perspective depth correction, used in window_to_3d_delta() */
- if (t->flag & (T_EDIT|T_POSE)) {
- Object *ob= t->obedit?t->obedit:t->poseobj;
+ if (t->flag & (T_EDIT | T_POSE)) {
+ Object *ob = t->obedit ? t->obedit : t->poseobj;
float vec[3];
copy_v3_v3(vec, t->center);
@@ -1599,7 +1635,7 @@ void calculatePropRatio(TransInfo *t)
short connected = t->flag & T_PROP_CONNECTED;
if (t->flag & T_PROP_EDIT) {
- for (i = 0 ; i < t->total; i++, td++) {
+ for (i = 0; i < t->total; i++, td++) {
if (td->flag & TD_SELECTED) {
td->factor = 1.0f;
}
@@ -1624,9 +1660,9 @@ void calculatePropRatio(TransInfo *t)
td->flag &= ~TD_NOACTION;
if (connected)
- dist= (t->prop_size-td->dist)/t->prop_size;
+ dist = (t->prop_size - td->dist) / t->prop_size;
else
- dist= (t->prop_size-td->rdist)/t->prop_size;
+ dist = (t->prop_size - td->rdist) / t->prop_size;
/*
* Clamp to positive numbers.
@@ -1637,63 +1673,63 @@ void calculatePropRatio(TransInfo *t)
dist = 0.0f;
switch (t->prop_mode) {
- case PROP_SHARP:
- td->factor= dist*dist;
- break;
- case PROP_SMOOTH:
- td->factor= 3.0f*dist*dist - 2.0f*dist*dist*dist;
- break;
- case PROP_ROOT:
- td->factor = (float)sqrt(dist);
- break;
- case PROP_LIN:
- td->factor = dist;
- break;
- case PROP_CONST:
- td->factor = 1.0f;
- break;
- case PROP_SPHERE:
- td->factor = (float)sqrt(2*dist - dist * dist);
- break;
- case PROP_RANDOM:
- BLI_srand(BLI_rand()); /* random seed */
- td->factor = BLI_frand()*dist;
- break;
- default:
- td->factor = 1;
+ case PROP_SHARP:
+ td->factor = dist * dist;
+ break;
+ case PROP_SMOOTH:
+ td->factor = 3.0f * dist * dist - 2.0f * dist * dist * dist;
+ break;
+ case PROP_ROOT:
+ td->factor = (float)sqrt(dist);
+ break;
+ case PROP_LIN:
+ td->factor = dist;
+ break;
+ case PROP_CONST:
+ td->factor = 1.0f;
+ break;
+ case PROP_SPHERE:
+ td->factor = (float)sqrt(2 * dist - dist * dist);
+ break;
+ case PROP_RANDOM:
+ BLI_srand(BLI_rand()); /* random seed */
+ td->factor = BLI_frand() * dist;
+ break;
+ default:
+ td->factor = 1;
}
}
}
switch (t->prop_mode) {
- case PROP_SHARP:
- strcpy(t->proptext, "(Sharp)");
- break;
- case PROP_SMOOTH:
- strcpy(t->proptext, "(Smooth)");
- break;
- case PROP_ROOT:
- strcpy(t->proptext, "(Root)");
- break;
- case PROP_LIN:
- strcpy(t->proptext, "(Linear)");
- break;
- case PROP_CONST:
- strcpy(t->proptext, "(Constant)");
- break;
- case PROP_SPHERE:
- strcpy(t->proptext, "(Sphere)");
- break;
- case PROP_RANDOM:
- strcpy(t->proptext, "(Random)");
- break;
- default:
- t->proptext[0]= '\0';
+ case PROP_SHARP:
+ strcpy(t->proptext, "(Sharp)");
+ break;
+ case PROP_SMOOTH:
+ strcpy(t->proptext, "(Smooth)");
+ break;
+ case PROP_ROOT:
+ strcpy(t->proptext, "(Root)");
+ break;
+ case PROP_LIN:
+ strcpy(t->proptext, "(Linear)");
+ break;
+ case PROP_CONST:
+ strcpy(t->proptext, "(Constant)");
+ break;
+ case PROP_SPHERE:
+ strcpy(t->proptext, "(Sphere)");
+ break;
+ case PROP_RANDOM:
+ strcpy(t->proptext, "(Random)");
+ break;
+ default:
+ t->proptext[0] = '\0';
}
}
else {
- for (i = 0 ; i < t->total; i++, td++) {
+ for (i = 0; i < t->total; i++, td++) {
td->factor = 1.0;
}
- t->proptext[0]= '\0';
+ t->proptext[0] = '\0';
}
}
diff --git a/source/blender/editors/transform/transform_input.c b/source/blender/editors/transform/transform_input.c
index 9c485e17dc7..7e05fdae364 100644
--- a/source/blender/editors/transform/transform_input.c
+++ b/source/blender/editors/transform/transform_input.c
@@ -64,18 +64,18 @@ static void InputSpring(TransInfo *UNUSED(t), MouseInput *mi, const int mval[2],
/* calculate ratio for shiftkey pos, and for total, and blend these for precision */
dx = (float)(mi->center[0] - mi->precision_mval[0]);
dy = (float)(mi->center[1] - mi->precision_mval[1]);
- ratio = (float)sqrt( dx*dx + dy*dy);
+ ratio = sqrtf(dx * dx + dy * dy);
- dx= (float)(mi->center[0] - mval[0]);
- dy= (float)(mi->center[1] - mval[1]);
- precise_ratio = (float)sqrt( dx*dx + dy*dy);
+ dx = (float)(mi->center[0] - mval[0]);
+ dy = (float)(mi->center[1] - mval[1]);
+ precise_ratio = (float)sqrt(dx * dx + dy * dy);
ratio = (ratio + (precise_ratio - ratio) / 10.0f) / mi->factor;
}
else {
dx = (float)(mi->center[0] - mval[0]);
dy = (float)(mi->center[1] - mval[1]);
- ratio = (float)sqrt( dx*dx + dy*dy) / mi->factor;
+ ratio = sqrtf(dx * dx + dy * dy) / mi->factor;
}
output[0] = ratio;
@@ -98,12 +98,12 @@ static void InputTrackBall(TransInfo *UNUSED(t), MouseInput *mi, const int mval[
{
if (mi->precision) {
- output[0] = ( mi->imval[1] - mi->precision_mval[1] ) + ( mi->precision_mval[1] - mval[1] ) * 0.1f;
- output[1] = ( mi->precision_mval[0] - mi->imval[0] ) + ( mval[0] - mi->precision_mval[0] ) * 0.1f;
+ output[0] = (mi->imval[1] - mi->precision_mval[1]) + (mi->precision_mval[1] - mval[1]) * 0.1f;
+ output[1] = (mi->precision_mval[0] - mi->imval[0]) + (mval[0] - mi->precision_mval[0]) * 0.1f;
}
else {
- output[0] = (float)( mi->imval[1] - mval[1] );
- output[1] = (float)( mval[0] - mi->imval[0] );
+ output[0] = (float)(mi->imval[1] - mval[1]);
+ output[1] = (float)(mval[0] - mi->imval[0]);
}
output[0] *= mi->factor;
@@ -191,7 +191,7 @@ static void InputCustomRatio(TransInfo *UNUSED(t), MouseInput *mi, const int mva
dx = data[2] - data[0];
dy = data[3] - data[1];
- length = sqrt(dx*dx + dy*dy);
+ length = sqrt(dx * dx + dy * dy);
if (mi->precision) {
/* deal with Shift key by adding motion / 10 to motion before shift press */
@@ -199,7 +199,7 @@ static void InputCustomRatio(TransInfo *UNUSED(t), MouseInput *mi, const int mva
mdx = (mi->precision_mval[0] + (float)(mval[0] - mi->precision_mval[0]) / 10.0f) - data[2];
mdy = (mi->precision_mval[1] + (float)(mval[1] - mi->precision_mval[1]) / 10.0f) - data[3];
- distance = (length != 0.0) ? (mdx * dx + mdy * dy) / length: 0.0;
+ distance = (length != 0.0) ? (mdx * dx + mdy * dy) / length : 0.0;
}
else {
int mdx, mdy;
@@ -217,11 +217,11 @@ static void InputAngle(TransInfo *UNUSED(t), MouseInput *mi, const int mval[2],
{
double dx2 = mval[0] - mi->center[0];
double dy2 = mval[1] - mi->center[1];
- double B = sqrt(dx2*dx2+dy2*dy2);
+ double B = sqrt(dx2 * dx2 + dy2 * dy2);
double dx1 = mi->imval[0] - mi->center[0];
double dy1 = mi->imval[1] - mi->center[1];
- double A = sqrt(dx1*dx1+dy1*dy1);
+ double A = sqrt(dx1 * dx1 + dy1 * dy1);
double dx3 = mval[0] - mi->imval[0];
double dy3 = mval[1] - mi->imval[1];
@@ -237,7 +237,7 @@ static void InputAngle(TransInfo *UNUSED(t), MouseInput *mi, const int mval[2],
float dphi;
dphi = saacos((float)deler);
- if ( (dx1*dy2-dx2*dy1)>0.0 ) dphi= -dphi;
+ if ((dx1 * dy2 - dx2 * dy1) > 0.0) dphi = -dphi;
/* If the angle is zero, because of lack of precision close to the 1.0 value in acos
* approximate the angle with the opposite side of the normalized triangle
@@ -256,12 +256,12 @@ static void InputAngle(TransInfo *UNUSED(t), MouseInput *mi, const int mval[2],
dx = dx1 - dx2;
dy = dy1 - dy2;
- dphi = sqrt(dx*dx + dy*dy);
- if ( (dx1*dy2-dx2*dy1)>0.0 ) dphi= -dphi;
+ dphi = sqrt(dx * dx + dy * dy);
+ if ((dx1 * dy2 - dx2 * dy1) > 0.0) dphi = -dphi;
}
if (mi->precision) {
- dphi = dphi/30.0f;
+ dphi = dphi / 30.0f;
}
/* if no delta angle, don't update initial position */
@@ -295,7 +295,7 @@ static void calcSpringFactor(MouseInput *mi)
((float)(mi->center[0] - mi->imval[0])) * ((float)(mi->center[0] - mi->imval[0])));
if (mi->factor == 0.0f) {
- mi->factor= 1.0f; /* prevent Inf */
+ mi->factor = 1.0f; /* prevent Inf */
}
}
@@ -307,68 +307,68 @@ void initMouseInputMode(TransInfo *t, MouseInput *mi, MouseInputMode mode)
#if 0
if (mi->data) {
MEM_freeN(mi->data);
- mi->data= NULL;
+ mi->data = NULL;
}
#endif
switch (mode) {
- case INPUT_VECTOR:
- mi->apply = InputVector;
- t->helpline = HLP_NONE;
- break;
- case INPUT_SPRING:
- calcSpringFactor(mi);
- mi->apply = InputSpring;
- t->helpline = HLP_SPRING;
- break;
- case INPUT_SPRING_FLIP:
- calcSpringFactor(mi);
- mi->apply = InputSpringFlip;
- t->helpline = HLP_SPRING;
- break;
- case INPUT_ANGLE:
- mi->data = MEM_callocN(sizeof(double), "angle accumulator");
- mi->apply = InputAngle;
- t->helpline = HLP_ANGLE;
- break;
- case INPUT_TRACKBALL:
- /* factor has to become setting or so */
- mi->factor = 0.01f;
- mi->apply = InputTrackBall;
- t->helpline = HLP_TRACKBALL;
- break;
- case INPUT_HORIZONTAL_RATIO:
- mi->factor = (float)(mi->center[0] - mi->imval[0]);
- mi->apply = InputHorizontalRatio;
- t->helpline = HLP_HARROW;
- break;
- case INPUT_HORIZONTAL_ABSOLUTE:
- mi->apply = InputHorizontalAbsolute;
- t->helpline = HLP_HARROW;
- break;
- case INPUT_VERTICAL_RATIO:
- mi->apply = InputVerticalRatio;
- t->helpline = HLP_VARROW;
- break;
- case INPUT_VERTICAL_ABSOLUTE:
- mi->apply = InputVerticalAbsolute;
- t->helpline = HLP_VARROW;
- break;
- case INPUT_CUSTOM_RATIO:
- mi->apply = InputCustomRatio;
- t->helpline = HLP_NONE;
- break;
- case INPUT_NONE:
- default:
- mi->apply = NULL;
- break;
+ case INPUT_VECTOR:
+ mi->apply = InputVector;
+ t->helpline = HLP_NONE;
+ break;
+ case INPUT_SPRING:
+ calcSpringFactor(mi);
+ mi->apply = InputSpring;
+ t->helpline = HLP_SPRING;
+ break;
+ case INPUT_SPRING_FLIP:
+ calcSpringFactor(mi);
+ mi->apply = InputSpringFlip;
+ t->helpline = HLP_SPRING;
+ break;
+ case INPUT_ANGLE:
+ mi->data = MEM_callocN(sizeof(double), "angle accumulator");
+ mi->apply = InputAngle;
+ t->helpline = HLP_ANGLE;
+ break;
+ case INPUT_TRACKBALL:
+ /* factor has to become setting or so */
+ mi->factor = 0.01f;
+ mi->apply = InputTrackBall;
+ t->helpline = HLP_TRACKBALL;
+ break;
+ case INPUT_HORIZONTAL_RATIO:
+ mi->factor = (float)(mi->center[0] - mi->imval[0]);
+ mi->apply = InputHorizontalRatio;
+ t->helpline = HLP_HARROW;
+ break;
+ case INPUT_HORIZONTAL_ABSOLUTE:
+ mi->apply = InputHorizontalAbsolute;
+ t->helpline = HLP_HARROW;
+ break;
+ case INPUT_VERTICAL_RATIO:
+ mi->apply = InputVerticalRatio;
+ t->helpline = HLP_VARROW;
+ break;
+ case INPUT_VERTICAL_ABSOLUTE:
+ mi->apply = InputVerticalAbsolute;
+ t->helpline = HLP_VARROW;
+ break;
+ case INPUT_CUSTOM_RATIO:
+ mi->apply = InputCustomRatio;
+ t->helpline = HLP_NONE;
+ break;
+ case INPUT_NONE:
+ default:
+ mi->apply = NULL;
+ break;
}
/* bootstrap mouse input with initial values */
applyMouseInput(t, mi, mi->imval, t->values);
}
-void setInputPostFct(MouseInput *mi, void (*post)(struct TransInfo *, float [3]))
+void setInputPostFct(MouseInput *mi, void (*post)(struct TransInfo *, float[3]))
{
mi->post = post;
}
@@ -389,21 +389,21 @@ int handleMouseInput(TransInfo *t, MouseInput *mi, wmEvent *event)
int redraw = TREDRAW_NOTHING;
switch (event->type) {
- case LEFTSHIFTKEY:
- case RIGHTSHIFTKEY:
- if (event->val == KM_PRESS) {
- t->modifiers |= MOD_PRECISION;
- /* shift is modifier for higher precision transform
- * store the mouse position where the normal movement ended */
- copy_v2_v2_int(mi->precision_mval, event->mval);
- mi->precision = 1;
- }
- else {
- t->modifiers &= ~MOD_PRECISION;
- mi->precision = 0;
- }
- redraw = TREDRAW_HARD;
- break;
+ case LEFTSHIFTKEY:
+ case RIGHTSHIFTKEY:
+ if (event->val == KM_PRESS) {
+ t->modifiers |= MOD_PRECISION;
+ /* shift is modifier for higher precision transform
+ * store the mouse position where the normal movement ended */
+ copy_v2_v2_int(mi->precision_mval, event->mval);
+ mi->precision = 1;
+ }
+ else {
+ t->modifiers &= ~MOD_PRECISION;
+ mi->precision = 0;
+ }
+ redraw = TREDRAW_HARD;
+ break;
}
return redraw;
diff --git a/source/blender/editors/transform/transform_manipulator.c b/source/blender/editors/transform/transform_manipulator.c
index 7d0e9dd6005..b3ccf004810 100644
--- a/source/blender/editors/transform/transform_manipulator.c
+++ b/source/blender/editors/transform/transform_manipulator.c
@@ -84,35 +84,35 @@
/* return codes for select, and drawing flags */
-#define MAN_TRANS_X 1
-#define MAN_TRANS_Y 2
-#define MAN_TRANS_Z 4
-#define MAN_TRANS_C 7
-
-#define MAN_ROT_X 8
-#define MAN_ROT_Y 16
-#define MAN_ROT_Z 32
-#define MAN_ROT_V 64
-#define MAN_ROT_T 128
-#define MAN_ROT_C 248
-
-#define MAN_SCALE_X 256
-#define MAN_SCALE_Y 512
-#define MAN_SCALE_Z 1024
-#define MAN_SCALE_C 1792
+#define MAN_TRANS_X 1
+#define MAN_TRANS_Y 2
+#define MAN_TRANS_Z 4
+#define MAN_TRANS_C 7
+
+#define MAN_ROT_X 8
+#define MAN_ROT_Y 16
+#define MAN_ROT_Z 32
+#define MAN_ROT_V 64
+#define MAN_ROT_T 128
+#define MAN_ROT_C 248
+
+#define MAN_SCALE_X 256
+#define MAN_SCALE_Y 512
+#define MAN_SCALE_Z 1024
+#define MAN_SCALE_C 1792
/* color codes */
-#define MAN_RGB 0
-#define MAN_GHOST 1
-#define MAN_MOVECOL 2
+#define MAN_RGB 0
+#define MAN_GHOST 1
+#define MAN_MOVECOL 2
/* transform widget center calc helper for below */
-static void calc_tw_center(Scene *scene, float *co)
+static void calc_tw_center(Scene *scene, const float co[3])
{
- float *twcent= scene->twcent;
- float *min= scene->twmin;
- float *max= scene->twmax;
+ float *twcent = scene->twcent;
+ float *min = scene->twmin;
+ float *max = scene->twmax;
minmax_v3v3_v3(min, max, co);
add_v3_v3(twcent, co);
@@ -145,7 +145,7 @@ static void protectflag_to_drawflags(short protectflag, short *drawflags)
/* for pose mode */
static void stats_pose(Scene *scene, RegionView3D *rv3d, bPoseChannel *pchan)
{
- Bone *bone= pchan->bone;
+ Bone *bone = pchan->bone;
if (bone) {
if (bone->flag & BONE_TRANSFORM) {
@@ -159,7 +159,7 @@ static void stats_pose(Scene *scene, RegionView3D *rv3d, bPoseChannel *pchan)
static void stats_editbone(RegionView3D *rv3d, EditBone *ebo)
{
if (ebo->flag & BONE_EDITMODE_LOCKED)
- protectflag_to_drawflags(OB_LOCK_LOC|OB_LOCK_ROT|OB_LOCK_SCALE, &rv3d->twdrawflag);
+ protectflag_to_drawflags(OB_LOCK_LOC | OB_LOCK_ROT | OB_LOCK_SCALE, &rv3d->twdrawflag);
}
/* could move into BLI_math however this is only useful for display/editing purposes */
@@ -172,9 +172,9 @@ static void axis_angle_to_gimbal_axis(float gmat[3][3], float axis[3], float ang
/* this is an un-scientific method to get a vector to cross with
* XYZ intentionally YZX */
- cross_vec[0]= axis[1];
- cross_vec[1]= axis[2];
- cross_vec[2]= axis[0];
+ cross_vec[0] = axis[1];
+ cross_vec[1] = axis[2];
+ cross_vec[2] = axis[0];
/* X-axis */
cross_v3_v3v3(gmat[0], cross_vec, axis);
@@ -183,7 +183,7 @@ static void axis_angle_to_gimbal_axis(float gmat[3][3], float axis[3], float ang
mul_qt_v3(quat, gmat[0]);
/* Y-axis */
- axis_angle_to_quat(quat, axis, M_PI/2.0);
+ axis_angle_to_quat(quat, axis, M_PI / 2.0);
copy_v3_v3(gmat[1], gmat[0]);
mul_qt_v3(quat, gmat[1]);
@@ -196,14 +196,14 @@ static void axis_angle_to_gimbal_axis(float gmat[3][3], float axis[3], float ang
static int test_rotmode_euler(short rotmode)
{
- return (ELEM(rotmode, ROT_MODE_AXISANGLE, ROT_MODE_QUAT)) ? 0:1;
+ return (ELEM(rotmode, ROT_MODE_AXISANGLE, ROT_MODE_QUAT)) ? 0 : 1;
}
int gimbal_axis(Object *ob, float gmat[][3])
{
if (ob) {
if (ob->mode & OB_MODE_POSE) {
- bPoseChannel *pchan= BKE_pose_channel_active(ob);
+ bPoseChannel *pchan = BKE_pose_channel_active(ob);
if (pchan) {
float mat[3][3], tmat[3][3], obmat[3][3];
@@ -270,40 +270,40 @@ int gimbal_axis(Object *ob, float gmat[][3])
/* returns total items selected */
int calc_manipulator_stats(const bContext *C)
{
- ScrArea *sa= CTX_wm_area(C);
- ARegion *ar= CTX_wm_region(C);
- Scene *scene= CTX_data_scene(C);
- Object *obedit= CTX_data_edit_object(C);
+ ScrArea *sa = CTX_wm_area(C);
+ ARegion *ar = CTX_wm_region(C);
+ Scene *scene = CTX_data_scene(C);
+ Object *obedit = CTX_data_edit_object(C);
ToolSettings *ts = CTX_data_tool_settings(C);
- View3D *v3d= sa->spacedata.first;
- RegionView3D *rv3d= ar->regiondata;
+ View3D *v3d = sa->spacedata.first;
+ RegionView3D *rv3d = ar->regiondata;
Base *base;
- Object *ob= OBACT;
- int a, totsel= 0;
+ Object *ob = OBACT;
+ int a, totsel = 0;
/* transform widget matrix */
unit_m4(rv3d->twmat);
- rv3d->twdrawflag= 0xFFFF;
+ rv3d->twdrawflag = 0xFFFF;
/* transform widget centroid/center */
INIT_MINMAX(scene->twmin, scene->twmax);
zero_v3(scene->twcent);
if (obedit) {
- ob= obedit;
- if ((ob->lay & v3d->lay)==0) return 0;
+ ob = obedit;
+ if ((ob->lay & v3d->lay) == 0) return 0;
- if (obedit->type==OB_MESH) {
+ if (obedit->type == OB_MESH) {
BMEditMesh *em = BMEdit_FromObject(obedit);
BMEditSelection ese;
- float vec[3]= {0, 0, 0};
+ float vec[3] = {0, 0, 0};
/* USE LAST SELECTE WITH ACTIVE */
if ((v3d->around == V3D_ACTIVE) && BM_select_history_active_get(em->bm, &ese)) {
BM_editselection_center(&ese, vec);
calc_tw_center(scene, vec);
- totsel= 1;
+ totsel = 1;
}
else {
BMesh *bm = em->bm;
@@ -358,10 +358,10 @@ int calc_manipulator_stats(const bContext *C)
}
}
} /* end editmesh */
- else if (obedit->type==OB_ARMATURE) {
- bArmature *arm= obedit->data;
+ else if (obedit->type == OB_ARMATURE) {
+ bArmature *arm = obedit->data;
EditBone *ebo;
- for (ebo= arm->edbo->first; ebo; ebo=ebo->next) {
+ for (ebo = arm->edbo->first; ebo; ebo = ebo->next) {
if (EBONE_VISIBLE(arm, ebo)) {
if (ebo->flag & BONE_TIPSEL) {
calc_tw_center(scene, ebo->tail);
@@ -378,24 +378,24 @@ int calc_manipulator_stats(const bContext *C)
}
}
else if (ELEM(obedit->type, OB_CURVE, OB_SURF)) {
- Curve *cu= obedit->data;
+ Curve *cu = obedit->data;
float center[3];
- if (v3d->around==V3D_ACTIVE && ED_curve_actSelection(cu, center)) {
- calc_tw_center(scene, center);
+ if (v3d->around == V3D_ACTIVE && ED_curve_actSelection(cu, center)) {
+ calc_tw_center(scene, center);
totsel++;
}
else {
Nurb *nu;
BezTriple *bezt;
BPoint *bp;
- ListBase *nurbs= BKE_curve_editNurbs_get(cu);
+ ListBase *nurbs = BKE_curve_editNurbs_get(cu);
- nu= nurbs->first;
+ nu = nurbs->first;
while (nu) {
if (nu->type == CU_BEZIER) {
- bezt= nu->bezt;
- a= nu->pntsu;
+ bezt = nu->bezt;
+ a = nu->pntsu;
while (a--) {
/* exceptions
* if handles are hidden then only check the center points.
@@ -425,8 +425,8 @@ int calc_manipulator_stats(const bContext *C)
}
}
else {
- bp= nu->bp;
- a= nu->pntsu*nu->pntsv;
+ bp = nu->bp;
+ a = nu->pntsu * nu->pntsv;
while (a--) {
if (bp->f1 & SELECT) {
calc_tw_center(scene, bp->vec);
@@ -435,31 +435,31 @@ int calc_manipulator_stats(const bContext *C)
bp++;
}
}
- nu= nu->next;
+ nu = nu->next;
}
}
}
- else if (obedit->type==OB_MBALL) {
- MetaBall *mb = (MetaBall*)obedit->data;
+ else if (obedit->type == OB_MBALL) {
+ MetaBall *mb = (MetaBall *)obedit->data;
MetaElem *ml /* , *ml_sel=NULL */ /* UNUSED */;
- ml= mb->editelems->first;
+ ml = mb->editelems->first;
while (ml) {
if (ml->flag & SELECT) {
calc_tw_center(scene, &ml->x);
/* ml_sel = ml; */ /* UNUSED */
totsel++;
}
- ml= ml->next;
+ ml = ml->next;
}
}
- else if (obedit->type==OB_LATTICE) {
+ else if (obedit->type == OB_LATTICE) {
BPoint *bp;
- Lattice *lt= obedit->data;
+ Lattice *lt = obedit->data;
- bp= lt->editlatt->latt->def;
+ bp = lt->editlatt->latt->def;
- a= lt->editlatt->latt->pntsu*lt->editlatt->latt->pntsv*lt->editlatt->latt->pntsw;
+ a = lt->editlatt->latt->pntsu * lt->editlatt->latt->pntsv * lt->editlatt->latt->pntsw;
while (a--) {
if (bp->f1 & SELECT) {
calc_tw_center(scene, bp->vec);
@@ -471,7 +471,7 @@ int calc_manipulator_stats(const bContext *C)
/* selection center */
if (totsel) {
- mul_v3_fl(scene->twcent, 1.0f/(float)totsel); // centroid!
+ mul_v3_fl(scene->twcent, 1.0f / (float)totsel); // centroid!
mul_m4_v3(obedit->obmat, scene->twcent);
mul_m4_v3(obedit->obmat, scene->twmin);
mul_m4_v3(obedit->obmat, scene->twmax);
@@ -481,17 +481,17 @@ int calc_manipulator_stats(const bContext *C)
bPoseChannel *pchan;
int mode = TFM_ROTATION; // mislead counting bones... bah. We don't know the manipulator mode, could be mixed
- if ((ob->lay & v3d->lay)==0) return 0;
+ if ((ob->lay & v3d->lay) == 0) return 0;
totsel = count_set_pose_transflags(&mode, 0, ob);
if (totsel) {
/* use channels to get stats */
- for (pchan= ob->pose->chanbase.first; pchan; pchan= pchan->next) {
+ for (pchan = ob->pose->chanbase.first; pchan; pchan = pchan->next) {
stats_pose(scene, rv3d, pchan);
}
- mul_v3_fl(scene->twcent, 1.0f/(float)totsel); // centroid!
+ mul_v3_fl(scene->twcent, 1.0f / (float)totsel); // centroid!
mul_m4_v3(ob->obmat, scene->twcent);
mul_m4_v3(ob->obmat, scene->twmin);
mul_m4_v3(ob->obmat, scene->twmax);
@@ -501,17 +501,17 @@ int calc_manipulator_stats(const bContext *C)
;
}
else if (ob && ob->mode & OB_MODE_PARTICLE_EDIT) {
- PTCacheEdit *edit= PE_get_current(scene, ob);
+ PTCacheEdit *edit = PE_get_current(scene, ob);
PTCacheEditPoint *point;
PTCacheEditKey *ek;
int k;
if (edit) {
point = edit->points;
- for (a=0; a<edit->totpoint; a++, point++) {
+ for (a = 0; a < edit->totpoint; a++, point++) {
if (point->flag & PEP_HIDE) continue;
- for (k=0, ek=point->keys; k<point->totkey; k++, ek++) {
+ for (k = 0, ek = point->keys; k < point->totkey; k++, ek++) {
if (ek->flag & PEK_SELECT) {
calc_tw_center(scene, ek->flag & PEK_USE_WCO ? ek->world_co : ek->co);
totsel++;
@@ -521,19 +521,19 @@ int calc_manipulator_stats(const bContext *C)
/* selection center */
if (totsel)
- mul_v3_fl(scene->twcent, 1.0f/(float)totsel); // centroid!
+ mul_v3_fl(scene->twcent, 1.0f / (float)totsel); // centroid!
}
}
else {
/* we need the one selected object, if its not active */
- ob= OBACT;
- if (ob && !(ob->flag & SELECT)) ob= NULL;
+ ob = OBACT;
+ if (ob && !(ob->flag & SELECT)) ob = NULL;
- for (base= scene->base.first; base; base= base->next) {
+ for (base = scene->base.first; base; base = base->next) {
if (TESTBASELIB(v3d, base)) {
- if (ob==NULL)
- ob= base->object;
+ if (ob == NULL)
+ ob = base->object;
calc_tw_center(scene, base->object->obmat[3]);
protectflag_to_drawflags(base->object->protectflag, &rv3d->twdrawflag);
totsel++;
@@ -542,7 +542,7 @@ int calc_manipulator_stats(const bContext *C)
/* selection center */
if (totsel) {
- mul_v3_fl(scene->twcent, 1.0f/(float)totsel); // centroid!
+ mul_v3_fl(scene->twcent, 1.0f / (float)totsel); // centroid!
}
}
@@ -551,32 +551,32 @@ int calc_manipulator_stats(const bContext *C)
switch (v3d->twmode) {
- case V3D_MANIP_GLOBAL:
- break; /* nothing to do */
+ case V3D_MANIP_GLOBAL:
+ break; /* nothing to do */
- case V3D_MANIP_GIMBAL:
- {
- float mat[3][3];
- if (gimbal_axis(ob, mat)) {
- copy_m4_m3(rv3d->twmat, mat);
- break;
- }
- /* if not gimbal, fall through to normal */
- }
- case V3D_MANIP_NORMAL:
- if (obedit || ob->mode & OB_MODE_POSE) {
+ case V3D_MANIP_GIMBAL:
+ {
float mat[3][3];
- ED_getTransformOrientationMatrix(C, mat, (v3d->around == V3D_ACTIVE));
- copy_m4_m3(rv3d->twmat, mat);
- break;
+ if (gimbal_axis(ob, mat)) {
+ copy_m4_m3(rv3d->twmat, mat);
+ break;
+ }
+ /* if not gimbal, fall through to normal */
}
+ case V3D_MANIP_NORMAL:
+ if (obedit || ob->mode & OB_MODE_POSE) {
+ float mat[3][3];
+ ED_getTransformOrientationMatrix(C, mat, (v3d->around == V3D_ACTIVE));
+ copy_m4_m3(rv3d->twmat, mat);
+ break;
+ }
/* no break we define 'normal' as 'local' in Object mode */
- case V3D_MANIP_LOCAL:
- copy_m4_m4(rv3d->twmat, ob->obmat);
- normalize_m4(rv3d->twmat);
- break;
+ case V3D_MANIP_LOCAL:
+ copy_m4_m4(rv3d->twmat, ob->obmat);
+ normalize_m4(rv3d->twmat);
+ break;
- case V3D_MANIP_VIEW:
+ case V3D_MANIP_VIEW:
{
float mat[3][3];
copy_m3_m4(mat, rv3d->viewinv);
@@ -584,7 +584,7 @@ int calc_manipulator_stats(const bContext *C)
copy_m4_m3(rv3d->twmat, mat);
}
break;
- default: /* V3D_MANIP_CUSTOM */
+ default: /* V3D_MANIP_CUSTOM */
{
float mat[3][3];
applyTransformOrientation(C, mat, NULL);
@@ -601,7 +601,7 @@ int calc_manipulator_stats(const bContext *C)
/* don't draw axis perpendicular to the view */
static void test_manipulator_axis(const bContext *C)
{
- RegionView3D *rv3d= CTX_wm_region_view3d(C);
+ RegionView3D *rv3d = CTX_wm_region_view3d(C);
float angle;
float vec[3];
@@ -613,7 +613,7 @@ static void test_manipulator_axis(const bContext *C)
}
angle = rv3d->twangle[0] = RAD2DEGF(angle);
if (angle < 5.0f) {
- rv3d->twdrawflag &= ~(MAN_TRANS_X|MAN_SCALE_X);
+ rv3d->twdrawflag &= ~(MAN_TRANS_X | MAN_SCALE_X);
}
angle = fabs(angle_v3v3(rv3d->twmat[1], vec));
@@ -622,7 +622,7 @@ static void test_manipulator_axis(const bContext *C)
}
angle = rv3d->twangle[1] = RAD2DEGF(angle);
if (angle < 5.0f) {
- rv3d->twdrawflag &= ~(MAN_TRANS_Y|MAN_SCALE_Y);
+ rv3d->twdrawflag &= ~(MAN_TRANS_Y | MAN_SCALE_Y);
}
angle = fabs(angle_v3v3(rv3d->twmat[2], vec));
@@ -631,7 +631,7 @@ static void test_manipulator_axis(const bContext *C)
}
angle = rv3d->twangle[2] = RAD2DEGF(angle);
if (angle < 5.0f) {
- rv3d->twdrawflag &= ~(MAN_TRANS_Z|MAN_SCALE_Z);
+ rv3d->twdrawflag &= ~(MAN_TRANS_Z | MAN_SCALE_Z);
}
}
@@ -643,7 +643,7 @@ static float screen_aligned(RegionView3D *rv3d, float mat[][4])
glTranslatef(mat[3][0], mat[3][1], mat[3][2]);
/* sets view screen aligned */
- glRotatef(-360.0f*saacos(rv3d->viewquat[0])/(float)M_PI, rv3d->viewquat[1], rv3d->viewquat[2], rv3d->viewquat[3]);
+ glRotatef(-360.0f * saacos(rv3d->viewquat[0]) / (float)M_PI, rv3d->viewquat[1], rv3d->viewquat[2], rv3d->viewquat[3]);
return len_v3(mat[0]); /* draw scale */
}
@@ -666,43 +666,43 @@ static void partial_doughnut(float radring, float radhole, int start, int end, i
if (start == 0 && end == nrings) do_caps = FALSE;
- ring_delta= 2.0f*(float)M_PI/(float)nrings;
- side_delta= 2.0f*(float)M_PI/(float)nsides;
+ ring_delta = 2.0f * (float)M_PI / (float)nrings;
+ side_delta = 2.0f * (float)M_PI / (float)nsides;
- theta= (float)M_PI+0.5f*ring_delta;
- cos_theta= (float)cos(theta);
- sin_theta= (float)sin(theta);
+ theta = (float)M_PI + 0.5f * ring_delta;
+ cos_theta = (float)cos(theta);
+ sin_theta = (float)sin(theta);
- for (i= nrings - 1; i >= 0; i--) {
- theta1= theta + ring_delta;
- cos_theta1= (float)cos(theta1);
- sin_theta1= (float)sin(theta1);
+ for (i = nrings - 1; i >= 0; i--) {
+ theta1 = theta + ring_delta;
+ cos_theta1 = (float)cos(theta1);
+ sin_theta1 = (float)sin(theta1);
- if (do_caps && i==start) { // cap
+ if (do_caps && i == start) { // cap
glBegin(GL_POLYGON);
- phi= 0.0;
- for (j= nsides; j >= 0; j--) {
+ phi = 0.0;
+ for (j = nsides; j >= 0; j--) {
float cos_phi, sin_phi, dist;
phi += side_delta;
- cos_phi= (float)cos(phi);
- sin_phi= (float)sin(phi);
- dist= radhole + radring * cos_phi;
+ cos_phi = (float)cos(phi);
+ sin_phi = (float)sin(phi);
+ dist = radhole + radring * cos_phi;
glVertex3f(cos_theta1 * dist, -sin_theta1 * dist, radring * sin_phi);
}
glEnd();
}
- if (i>=start && i<=end) {
+ if (i >= start && i <= end) {
glBegin(GL_QUAD_STRIP);
- phi= 0.0;
- for (j= nsides; j >= 0; j--) {
+ phi = 0.0;
+ for (j = nsides; j >= 0; j--) {
float cos_phi, sin_phi, dist;
phi += side_delta;
- cos_phi= (float)cos(phi);
- sin_phi= (float)sin(phi);
- dist= radhole + radring * cos_phi;
+ cos_phi = (float)cos(phi);
+ sin_phi = (float)sin(phi);
+ dist = radhole + radring * cos_phi;
glVertex3f(cos_theta1 * dist, -sin_theta1 * dist, radring * sin_phi);
glVertex3f(cos_theta * dist, -sin_theta * dist, radring * sin_phi);
@@ -710,16 +710,16 @@ static void partial_doughnut(float radring, float radhole, int start, int end, i
glEnd();
}
- if (do_caps && i==end) { // cap
+ if (do_caps && i == end) { // cap
glBegin(GL_POLYGON);
- phi= 0.0;
- for (j= nsides; j >= 0; j--) {
+ phi = 0.0;
+ for (j = nsides; j >= 0; j--) {
float cos_phi, sin_phi, dist;
phi -= side_delta;
- cos_phi= (float)cos(phi);
- sin_phi= (float)sin(phi);
- dist= radhole + radring * cos_phi;
+ cos_phi = (float)cos(phi);
+ sin_phi = (float)sin(phi);
+ dist = radhole + radring * cos_phi;
glVertex3f(cos_theta * dist, -sin_theta * dist, radring * sin_phi);
}
@@ -727,9 +727,9 @@ static void partial_doughnut(float radring, float radhole, int start, int end, i
}
- theta= theta1;
- cos_theta= cos_theta1;
- sin_theta= sin_theta1;
+ theta = theta1;
+ cos_theta = cos_theta1;
+ sin_theta = sin_theta1;
}
}
@@ -751,43 +751,43 @@ static char axisBlendAngle(float angle)
*/
static void manipulator_setcolor(View3D *v3d, char axis, int colcode, unsigned char alpha)
{
- unsigned char col[4]= {0};
- col[3]= alpha;
+ unsigned char col[4] = {0};
+ col[3] = alpha;
- if (colcode==MAN_GHOST) {
- col[3]= 70;
+ if (colcode == MAN_GHOST) {
+ col[3] = 70;
}
- else if (colcode==MAN_MOVECOL) {
+ else if (colcode == MAN_MOVECOL) {
UI_GetThemeColor3ubv(TH_TRANSFORM, col);
}
else {
switch (axis) {
- case 'C':
- UI_GetThemeColor3ubv(TH_TRANSFORM, col);
- if (v3d->twmode == V3D_MANIP_LOCAL) {
- col[0]= col[0]>200?255:col[0]+55;
- col[1]= col[1]>200?255:col[1]+55;
- col[2]= col[2]>200?255:col[2]+55;
- }
- else if (v3d->twmode == V3D_MANIP_NORMAL) {
- col[0]= col[0]<55?0:col[0]-55;
- col[1]= col[1]<55?0:col[1]-55;
- col[2]= col[2]<55?0:col[2]-55;
- }
- break;
- case 'X':
- col[0]= 220;
- break;
- case 'Y':
- col[1]= 220;
- break;
- case 'Z':
- col[0]= 30;
- col[1]= 30;
- col[2]= 220;
- break;
- default:
- BLI_assert(!"invalid axis arg");
+ case 'C':
+ UI_GetThemeColor3ubv(TH_TRANSFORM, col);
+ if (v3d->twmode == V3D_MANIP_LOCAL) {
+ col[0] = col[0] > 200 ? 255 : col[0] + 55;
+ col[1] = col[1] > 200 ? 255 : col[1] + 55;
+ col[2] = col[2] > 200 ? 255 : col[2] + 55;
+ }
+ else if (v3d->twmode == V3D_MANIP_NORMAL) {
+ col[0] = col[0] < 55 ? 0 : col[0] - 55;
+ col[1] = col[1] < 55 ? 0 : col[1] - 55;
+ col[2] = col[2] < 55 ? 0 : col[2] - 55;
+ }
+ break;
+ case 'X':
+ col[0] = 220;
+ break;
+ case 'Y':
+ col[1] = 220;
+ break;
+ case 'Z':
+ col[0] = 30;
+ col[1] = 30;
+ col[2] = 220;
+ break;
+ default:
+ BLI_assert(!"invalid axis arg");
}
}
@@ -836,7 +836,7 @@ static void preOrthoFront(int ortho, float twmat[][4], int axis)
orthogonalize_m4(omat, axis);
glPushMatrix();
glMultMatrixf(omat);
- glFrontFace(is_negative_m4(omat) ? GL_CW:GL_CCW);
+ glFrontFace(is_negative_m4(omat) ? GL_CW : GL_CCW);
}
}
@@ -853,42 +853,42 @@ static void draw_manipulator_rotate(View3D *v3d, RegionView3D *rv3d, int moving,
double plane[4];
float matt[4][4];
float size, unitmat[4][4];
- float cywid= 0.33f*0.01f*(float)U.tw_handlesize;
- float cusize= cywid*0.65f;
- int arcs= (G.rt!=2);
+ float cywid = 0.33f * 0.01f * (float)U.tw_handlesize;
+ float cusize = cywid * 0.65f;
+ int arcs = (G.rt != 2);
int colcode;
int ortho;
- if (moving) colcode= MAN_MOVECOL;
- else colcode= MAN_RGB;
+ if (moving) colcode = MAN_MOVECOL;
+ else colcode = MAN_RGB;
/* when called while moving in mixed mode, do not draw when... */
- if ((drawflags & MAN_ROT_C)==0) return;
+ if ((drawflags & MAN_ROT_C) == 0) return;
/* Init stuff */
glDisable(GL_DEPTH_TEST);
unit_m4(unitmat);
- qobj= gluNewQuadric();
+ qobj = gluNewQuadric();
gluQuadricDrawStyle(qobj, GLU_FILL);
/* prepare for screen aligned draw */
- size= len_v3(rv3d->twmat[0]);
+ size = len_v3(rv3d->twmat[0]);
glPushMatrix();
glTranslatef(rv3d->twmat[3][0], rv3d->twmat[3][1], rv3d->twmat[3][2]);
if (arcs) {
/* clipplane makes nice handles, calc here because of multmatrix but with translate! */
copy_v3db_v3fl(plane, rv3d->viewinv[2]);
- plane[3]= -0.02f*size; // clip just a bit more
+ plane[3] = -0.02f * size; // clip just a bit more
glClipPlane(GL_CLIP_PLANE0, plane);
}
/* sets view screen aligned */
- glRotatef(-360.0f*saacos(rv3d->viewquat[0])/(float)M_PI, rv3d->viewquat[1], rv3d->viewquat[2], rv3d->viewquat[3]);
+ glRotatef(-360.0f * saacos(rv3d->viewquat[0]) / (float)M_PI, rv3d->viewquat[1], rv3d->viewquat[2], rv3d->viewquat[3]);
/* Screen aligned help circle */
if (arcs) {
- if ((G.f & G_PICKSEL)==0) {
+ if ((G.f & G_PICKSEL) == 0) {
UI_ThemeColorShade(TH_BACK, -30);
drawcircball(GL_LINE_LOOP, unitmat[3], size, unitmat);
}
@@ -899,22 +899,22 @@ static void draw_manipulator_rotate(View3D *v3d, RegionView3D *rv3d, int moving,
if (G.f & G_PICKSEL) glLoadName(MAN_ROT_T);
UI_ThemeColor(TH_TRANSFORM);
- drawcircball(GL_LINE_LOOP, unitmat[3], 0.2f*size, unitmat);
+ drawcircball(GL_LINE_LOOP, unitmat[3], 0.2f * size, unitmat);
}
/* Screen aligned view rot circle */
if (drawflags & MAN_ROT_V) {
if (G.f & G_PICKSEL) glLoadName(MAN_ROT_V);
UI_ThemeColor(TH_TRANSFORM);
- drawcircball(GL_LINE_LOOP, unitmat[3], 1.2f*size, unitmat);
+ drawcircball(GL_LINE_LOOP, unitmat[3], 1.2f * size, unitmat);
if (moving) {
float vec[3];
- vec[0]= 0; // XXX (float)(t->imval[0] - t->center2d[0]);
- vec[1]= 0; // XXX (float)(t->imval[1] - t->center2d[1]);
- vec[2]= 0.0f;
+ vec[0] = 0; // XXX (float)(t->imval[0] - t->center2d[0]);
+ vec[1] = 0; // XXX (float)(t->imval[1] - t->center2d[1]);
+ vec[2] = 0.0f;
normalize_v3(vec);
- mul_v3_fl(vec, 1.2f*size);
+ mul_v3_fl(vec, 1.2f * size);
glBegin(GL_LINES);
glVertex3f(0.0f, 0.0f, 0.0f);
glVertex3fv(vec);
@@ -932,22 +932,22 @@ static void draw_manipulator_rotate(View3D *v3d, RegionView3D *rv3d, int moving,
// XXX mul_m4_m3m4(matt, t->mat, rv3d->twmat);
if (ortho) {
glMultMatrixf(matt);
- glFrontFace(is_negative_m4(matt) ? GL_CW:GL_CCW);
+ glFrontFace(is_negative_m4(matt) ? GL_CW : GL_CCW);
}
}
else {
if (ortho) {
- glFrontFace(is_negative_m4(rv3d->twmat) ? GL_CW:GL_CCW);
+ glFrontFace(is_negative_m4(rv3d->twmat) ? GL_CW : GL_CCW);
glMultMatrixf(rv3d->twmat);
}
}
/* axes */
- if (arcs==0) {
+ if (arcs == 0) {
if (!(G.f & G_PICKSEL)) {
- if ( (combo & V3D_MANIP_SCALE)==0) {
+ if ((combo & V3D_MANIP_SCALE) == 0) {
/* axis */
- if ( (drawflags & MAN_ROT_X) || (moving && (drawflags & MAN_ROT_Z)) ) {
+ if ((drawflags & MAN_ROT_X) || (moving && (drawflags & MAN_ROT_Z))) {
preOrthoFront(ortho, rv3d->twmat, 2);
manipulator_setcolor(v3d, 'X', colcode, 255);
glBegin(GL_LINES);
@@ -956,7 +956,7 @@ static void draw_manipulator_rotate(View3D *v3d, RegionView3D *rv3d, int moving,
glEnd();
postOrtho(ortho);
}
- if ( (drawflags & MAN_ROT_Y) || (moving && (drawflags & MAN_ROT_X)) ) {
+ if ((drawflags & MAN_ROT_Y) || (moving && (drawflags & MAN_ROT_X))) {
preOrthoFront(ortho, rv3d->twmat, 0);
manipulator_setcolor(v3d, 'Y', colcode, 255);
glBegin(GL_LINES);
@@ -965,7 +965,7 @@ static void draw_manipulator_rotate(View3D *v3d, RegionView3D *rv3d, int moving,
glEnd();
postOrtho(ortho);
}
- if ( (drawflags & MAN_ROT_Z) || (moving && (drawflags & MAN_ROT_Y)) ) {
+ if ((drawflags & MAN_ROT_Z) || (moving && (drawflags & MAN_ROT_Y))) {
preOrthoFront(ortho, rv3d->twmat, 1);
manipulator_setcolor(v3d, 'Z', colcode, 255);
glBegin(GL_LINES);
@@ -978,7 +978,7 @@ static void draw_manipulator_rotate(View3D *v3d, RegionView3D *rv3d, int moving,
}
}
- if (arcs==0 && moving) {
+ if (arcs == 0 && moving) {
/* Z circle */
if (drawflags & MAN_ROT_Z) {
@@ -1020,7 +1020,7 @@ static void draw_manipulator_rotate(View3D *v3d, RegionView3D *rv3d, int moving,
preOrthoFront(ortho, rv3d->twmat, 2);
if (G.f & G_PICKSEL) glLoadName(MAN_ROT_Z);
manipulator_setcolor(v3d, 'Z', colcode, 255);
- partial_doughnut(cusize/4.0f, 1.0f, 0, 48, 8, 48);
+ partial_doughnut(cusize / 4.0f, 1.0f, 0, 48, 8, 48);
postOrtho(ortho);
}
/* X circle */
@@ -1029,7 +1029,7 @@ static void draw_manipulator_rotate(View3D *v3d, RegionView3D *rv3d, int moving,
if (G.f & G_PICKSEL) glLoadName(MAN_ROT_X);
glRotatef(90.0, 0.0, 1.0, 0.0);
manipulator_setcolor(v3d, 'X', colcode, 255);
- partial_doughnut(cusize/4.0f, 1.0f, 0, 48, 8, 48);
+ partial_doughnut(cusize / 4.0f, 1.0f, 0, 48, 8, 48);
glRotatef(-90.0, 0.0, 1.0, 0.0);
postOrtho(ortho);
}
@@ -1039,7 +1039,7 @@ static void draw_manipulator_rotate(View3D *v3d, RegionView3D *rv3d, int moving,
if (G.f & G_PICKSEL) glLoadName(MAN_ROT_Y);
glRotatef(-90.0, 1.0, 0.0, 0.0);
manipulator_setcolor(v3d, 'Y', colcode, 255);
- partial_doughnut(cusize/4.0f, 1.0f, 0, 48, 8, 48);
+ partial_doughnut(cusize / 4.0f, 1.0f, 0, 48, 8, 48);
glRotatef(90.0, 1.0, 0.0, 0.0);
postOrtho(ortho);
}
@@ -1047,7 +1047,7 @@ static void draw_manipulator_rotate(View3D *v3d, RegionView3D *rv3d, int moving,
glDisable(GL_CLIP_PLANE0);
}
- if (arcs==0) {
+ if (arcs == 0) {
/* Z handle on X axis */
if (drawflags & MAN_ROT_Z) {
@@ -1056,7 +1056,7 @@ static void draw_manipulator_rotate(View3D *v3d, RegionView3D *rv3d, int moving,
if (G.f & G_PICKSEL) glLoadName(MAN_ROT_Z);
manipulator_setcolor(v3d, 'Z', colcode, 255);
- partial_doughnut(0.7f*cusize, 1.0f, 31, 33, 8, 64);
+ partial_doughnut(0.7f * cusize, 1.0f, 31, 33, 8, 64);
glPopMatrix();
postOrtho(ortho);
@@ -1071,7 +1071,7 @@ static void draw_manipulator_rotate(View3D *v3d, RegionView3D *rv3d, int moving,
glRotatef(90.0, 1.0, 0.0, 0.0);
glRotatef(90.0, 0.0, 0.0, 1.0);
- partial_doughnut(0.7f*cusize, 1.0f, 31, 33, 8, 64);
+ partial_doughnut(0.7f * cusize, 1.0f, 31, 33, 8, 64);
glPopMatrix();
postOrtho(ortho);
@@ -1086,7 +1086,7 @@ static void draw_manipulator_rotate(View3D *v3d, RegionView3D *rv3d, int moving,
glRotatef(-90.0, 0.0, 1.0, 0.0);
glRotatef(90.0, 0.0, 0.0, 1.0);
- partial_doughnut(0.7f*cusize, 1.0f, 31, 33, 8, 64);
+ partial_doughnut(0.7f * cusize, 1.0f, 31, 33, 8, 64);
glPopMatrix();
postOrtho(ortho);
@@ -1104,56 +1104,57 @@ static void draw_manipulator_rotate(View3D *v3d, RegionView3D *rv3d, int moving,
static void drawsolidcube(float size)
{
static float cube[8][3] = {
- {-1.0, -1.0, -1.0},
- {-1.0, -1.0, 1.0},
- {-1.0, 1.0, 1.0},
- {-1.0, 1.0, -1.0},
- { 1.0, -1.0, -1.0},
- { 1.0, -1.0, 1.0},
- { 1.0, 1.0, 1.0},
- { 1.0, 1.0, -1.0}, };
+ {-1.0, -1.0, -1.0},
+ {-1.0, -1.0, 1.0},
+ {-1.0, 1.0, 1.0},
+ {-1.0, 1.0, -1.0},
+ { 1.0, -1.0, -1.0},
+ { 1.0, -1.0, 1.0},
+ { 1.0, 1.0, 1.0},
+ { 1.0, 1.0, -1.0},
+ };
float n[3] = {0.0f};
glPushMatrix();
glScalef(size, size, size);
glBegin(GL_QUADS);
- n[0]= -1.0;
+ n[0] = -1.0;
glNormal3fv(n);
glVertex3fv(cube[0]); glVertex3fv(cube[1]); glVertex3fv(cube[2]); glVertex3fv(cube[3]);
- n[0]=0;
+ n[0] = 0;
glEnd();
glBegin(GL_QUADS);
- n[1]= -1.0;
+ n[1] = -1.0;
glNormal3fv(n);
glVertex3fv(cube[0]); glVertex3fv(cube[4]); glVertex3fv(cube[5]); glVertex3fv(cube[1]);
- n[1]=0;
+ n[1] = 0;
glEnd();
glBegin(GL_QUADS);
- n[0]= 1.0;
+ n[0] = 1.0;
glNormal3fv(n);
glVertex3fv(cube[4]); glVertex3fv(cube[7]); glVertex3fv(cube[6]); glVertex3fv(cube[5]);
- n[0]=0;
+ n[0] = 0;
glEnd();
glBegin(GL_QUADS);
- n[1]= 1.0;
+ n[1] = 1.0;
glNormal3fv(n);
glVertex3fv(cube[7]); glVertex3fv(cube[3]); glVertex3fv(cube[2]); glVertex3fv(cube[6]);
- n[1]=0;
+ n[1] = 0;
glEnd();
glBegin(GL_QUADS);
- n[2]= 1.0;
+ n[2] = 1.0;
glNormal3fv(n);
glVertex3fv(cube[1]); glVertex3fv(cube[5]); glVertex3fv(cube[6]); glVertex3fv(cube[2]);
- n[2]=0;
+ n[2] = 0;
glEnd();
glBegin(GL_QUADS);
- n[2]= -1.0;
+ n[2] = -1.0;
glNormal3fv(n);
glVertex3fv(cube[7]); glVertex3fv(cube[4]); glVertex3fv(cube[0]); glVertex3fv(cube[3]);
glEnd();
@@ -1164,32 +1165,32 @@ static void drawsolidcube(float size)
static void draw_manipulator_scale(View3D *v3d, RegionView3D *rv3d, int moving, int drawflags, int combo, int colcode)
{
- float cywid= 0.25f*0.01f*(float)U.tw_handlesize;
- float cusize= cywid*0.75f, dz;
+ float cywid = 0.25f * 0.01f * (float)U.tw_handlesize;
+ float cusize = cywid * 0.75f, dz;
/* when called while moving in mixed mode, do not draw when... */
- if ((drawflags & MAN_SCALE_C)==0) return;
+ if ((drawflags & MAN_SCALE_C) == 0) return;
glDisable(GL_DEPTH_TEST);
/* not in combo mode */
- if ( (combo & (V3D_MANIP_TRANSLATE|V3D_MANIP_ROTATE))==0) {
+ if ((combo & (V3D_MANIP_TRANSLATE | V3D_MANIP_ROTATE)) == 0) {
float size, unitmat[4][4];
- int shift= 0; // XXX
+ int shift = 0; // XXX
/* center circle, do not add to selection when shift is pressed (planar constraint) */
- if ( (G.f & G_PICKSEL) && shift==0) glLoadName(MAN_SCALE_C);
+ if ((G.f & G_PICKSEL) && shift == 0) glLoadName(MAN_SCALE_C);
manipulator_setcolor(v3d, 'C', colcode, 255);
glPushMatrix();
- size= screen_aligned(rv3d, rv3d->twmat);
+ size = screen_aligned(rv3d, rv3d->twmat);
unit_m4(unitmat);
- drawcircball(GL_LINE_LOOP, unitmat[3], 0.2f*size, unitmat);
+ drawcircball(GL_LINE_LOOP, unitmat[3], 0.2f * size, unitmat);
glPopMatrix();
- dz= 1.0;
+ dz = 1.0;
}
- else dz= 1.0f-4.0f*cusize;
+ else dz = 1.0f - 4.0f * cusize;
if (moving) {
float matt[4][4];
@@ -1197,11 +1198,11 @@ static void draw_manipulator_scale(View3D *v3d, RegionView3D *rv3d, int moving,
copy_m4_m4(matt, rv3d->twmat); // to copy the parts outside of [3][3]
// XXX mul_m4_m3m4(matt, t->mat, rv3d->twmat);
glMultMatrixf(matt);
- glFrontFace(is_negative_m4(matt) ? GL_CW:GL_CCW);
+ glFrontFace(is_negative_m4(matt) ? GL_CW : GL_CCW);
}
else {
glMultMatrixf(rv3d->twmat);
- glFrontFace(is_negative_m4(rv3d->twmat) ? GL_CW:GL_CCW);
+ glFrontFace(is_negative_m4(rv3d->twmat) ? GL_CW : GL_CCW);
}
/* axis */
@@ -1233,7 +1234,7 @@ static void draw_manipulator_scale(View3D *v3d, RegionView3D *rv3d, int moving,
/* if shiftkey, center point as last, for selectbuffer order */
if (G.f & G_PICKSEL) {
- int shift= 0; // XXX
+ int shift = 0; // XXX
if (shift) {
glTranslatef(0.0, -dz, 0.0);
@@ -1254,55 +1255,55 @@ static void draw_manipulator_scale(View3D *v3d, RegionView3D *rv3d, int moving,
static void draw_cone(GLUquadricObj *qobj, float len, float width)
{
- glTranslatef(0.0, 0.0, -0.5f*len);
+ glTranslatef(0.0, 0.0, -0.5f * len);
gluCylinder(qobj, width, 0.0, len, 8, 1);
gluQuadricOrientation(qobj, GLU_INSIDE);
gluDisk(qobj, 0.0, width, 8, 1);
gluQuadricOrientation(qobj, GLU_OUTSIDE);
- glTranslatef(0.0, 0.0, 0.5f*len);
+ glTranslatef(0.0, 0.0, 0.5f * len);
}
static void draw_cylinder(GLUquadricObj *qobj, float len, float width)
{
- width*= 0.8f; // just for beauty
+ width *= 0.8f; // just for beauty
- glTranslatef(0.0, 0.0, -0.5f*len);
+ glTranslatef(0.0, 0.0, -0.5f * len);
gluCylinder(qobj, width, width, len, 8, 1);
gluQuadricOrientation(qobj, GLU_INSIDE);
gluDisk(qobj, 0.0, width, 8, 1);
gluQuadricOrientation(qobj, GLU_OUTSIDE);
glTranslatef(0.0, 0.0, len);
gluDisk(qobj, 0.0, width, 8, 1);
- glTranslatef(0.0, 0.0, -0.5f*len);
+ glTranslatef(0.0, 0.0, -0.5f * len);
}
static void draw_manipulator_translate(View3D *v3d, RegionView3D *rv3d, int UNUSED(moving), int drawflags, int combo, int colcode)
{
GLUquadricObj *qobj;
- float cylen= 0.01f*(float)U.tw_handlesize;
- float cywid= 0.25f*cylen, dz, size;
+ float cylen = 0.01f * (float)U.tw_handlesize;
+ float cywid = 0.25f * cylen, dz, size;
float unitmat[4][4];
- int shift= 0; // XXX
+ int shift = 0; // XXX
/* when called while moving in mixed mode, do not draw when... */
- if ((drawflags & MAN_TRANS_C)==0) return;
+ if ((drawflags & MAN_TRANS_C) == 0) return;
// XXX if (moving) glTranslatef(t->vec[0], t->vec[1], t->vec[2]);
glDisable(GL_DEPTH_TEST);
- qobj= gluNewQuadric();
+ qobj = gluNewQuadric();
gluQuadricDrawStyle(qobj, GLU_FILL);
/* center circle, do not add to selection when shift is pressed (planar constraint) */
- if ( (G.f & G_PICKSEL) && shift==0) glLoadName(MAN_TRANS_C);
+ if ((G.f & G_PICKSEL) && shift == 0) glLoadName(MAN_TRANS_C);
manipulator_setcolor(v3d, 'C', colcode, 255);
glPushMatrix();
- size= screen_aligned(rv3d, rv3d->twmat);
+ size = screen_aligned(rv3d, rv3d->twmat);
unit_m4(unitmat);
- drawcircball(GL_LINE_LOOP, unitmat[3], 0.2f*size, unitmat);
+ drawcircball(GL_LINE_LOOP, unitmat[3], 0.2f * size, unitmat);
glPopMatrix();
/* and now apply matrix, we move to local matrix drawing */
@@ -1312,14 +1313,14 @@ static void draw_manipulator_translate(View3D *v3d, RegionView3D *rv3d, int UNUS
glLoadName(-1);
// translate drawn as last, only axis when no combo with scale, or for ghosting
- if ((combo & V3D_MANIP_SCALE)==0 || colcode==MAN_GHOST)
+ if ((combo & V3D_MANIP_SCALE) == 0 || colcode == MAN_GHOST)
draw_manipulator_axes(v3d, rv3d, colcode, drawflags & MAN_TRANS_X, drawflags & MAN_TRANS_Y, drawflags & MAN_TRANS_Z);
/* offset in combo mode, for rotate a bit more */
- if (combo & (V3D_MANIP_ROTATE)) dz= 1.0f+2.0f*cylen;
- else if (combo & (V3D_MANIP_SCALE)) dz= 1.0f+0.5f*cylen;
- else dz= 1.0f;
+ if (combo & (V3D_MANIP_ROTATE)) dz = 1.0f + 2.0f * cylen;
+ else if (combo & (V3D_MANIP_SCALE)) dz = 1.0f + 0.5f * cylen;
+ else dz = 1.0f;
/* Z Cone */
glTranslatef(0.0, 0.0, dz);
@@ -1357,35 +1358,35 @@ static void draw_manipulator_rotate_cyl(View3D *v3d, RegionView3D *rv3d, int mov
{
GLUquadricObj *qobj;
float size;
- float cylen= 0.01f*(float)U.tw_handlesize;
- float cywid= 0.25f*cylen;
+ float cylen = 0.01f * (float)U.tw_handlesize;
+ float cywid = 0.25f * cylen;
/* when called while moving in mixed mode, do not draw when... */
- if ((drawflags & MAN_ROT_C)==0) return;
+ if ((drawflags & MAN_ROT_C) == 0) return;
/* prepare for screen aligned draw */
glPushMatrix();
- size= screen_aligned(rv3d, rv3d->twmat);
+ size = screen_aligned(rv3d, rv3d->twmat);
glDisable(GL_DEPTH_TEST);
- qobj= gluNewQuadric();
+ qobj = gluNewQuadric();
/* Screen aligned view rot circle */
if (drawflags & MAN_ROT_V) {
- float unitmat[4][4]= MAT4_UNITY;
+ float unitmat[4][4] = MAT4_UNITY;
if (G.f & G_PICKSEL) glLoadName(MAN_ROT_V);
UI_ThemeColor(TH_TRANSFORM);
- drawcircball(GL_LINE_LOOP, unitmat[3], 1.2f*size, unitmat);
+ drawcircball(GL_LINE_LOOP, unitmat[3], 1.2f * size, unitmat);
if (moving) {
float vec[3];
- vec[0]= 0; // XXX (float)(t->imval[0] - t->center2d[0]);
- vec[1]= 0; // XXX (float)(t->imval[1] - t->center2d[1]);
- vec[2]= 0.0f;
+ vec[0] = 0; // XXX (float)(t->imval[0] - t->center2d[0]);
+ vec[1] = 0; // XXX (float)(t->imval[1] - t->center2d[1]);
+ vec[2] = 0.0f;
normalize_v3(vec);
- mul_v3_fl(vec, 1.2f*size);
+ mul_v3_fl(vec, 1.2f * size);
glBegin(GL_LINES);
glVertex3f(0.0, 0.0, 0.0);
glVertex3fv(vec);
@@ -1398,8 +1399,8 @@ static void draw_manipulator_rotate_cyl(View3D *v3d, RegionView3D *rv3d, int mov
if (moving) {
float matt[4][4];
copy_m4_m4(matt, rv3d->twmat); // to copy the parts outside of [3][3]
- // XXX if (t->flag & T_USES_MANIPULATOR) {
- // XXX mul_m4_m3m4(matt, t->mat, rv3d->twmat);
+ // XXX if (t->flag & T_USES_MANIPULATOR) {
+ // XXX mul_m4_m3m4(matt, t->mat, rv3d->twmat);
// XXX }
glMultMatrixf(matt);
}
@@ -1407,13 +1408,13 @@ static void draw_manipulator_rotate_cyl(View3D *v3d, RegionView3D *rv3d, int mov
glMultMatrixf(rv3d->twmat);
}
- glFrontFace(is_negative_m4(rv3d->twmat) ? GL_CW:GL_CCW);
+ glFrontFace(is_negative_m4(rv3d->twmat) ? GL_CW : GL_CCW);
/* axis */
- if ( (G.f & G_PICKSEL)==0 ) {
+ if ((G.f & G_PICKSEL) == 0) {
// only draw axis when combo didn't draw scale axes
- if ((combo & V3D_MANIP_SCALE)==0)
+ if ((combo & V3D_MANIP_SCALE) == 0)
draw_manipulator_axes(v3d, rv3d, colcode, drawflags & MAN_ROT_X, drawflags & MAN_ROT_Y, drawflags & MAN_ROT_Z);
/* only has to be set when not in picking */
@@ -1459,15 +1460,15 @@ static void draw_manipulator_rotate_cyl(View3D *v3d, RegionView3D *rv3d, int mov
/* main call, does calc centers & orientation too */
/* uses global G.moving */
-static int drawflags= 0xFFFF; // only for the calls below, belongs in scene...?
+static int drawflags = 0xFFFF; // only for the calls below, belongs in scene...?
void BIF_draw_manipulator(const bContext *C)
{
- ScrArea *sa= CTX_wm_area(C);
- ARegion *ar= CTX_wm_region(C);
- Scene *scene= CTX_data_scene(C);
- View3D *v3d= sa->spacedata.first;
- RegionView3D *rv3d= ar->regiondata;
+ ScrArea *sa = CTX_wm_area(C);
+ ARegion *ar = CTX_wm_region(C);
+ Scene *scene = CTX_data_scene(C);
+ View3D *v3d = sa->spacedata.first;
+ RegionView3D *rv3d = ar->regiondata;
int totsel;
if (!(v3d->twflag & V3D_USE_MANIPULATOR)) return;
@@ -1477,38 +1478,38 @@ void BIF_draw_manipulator(const bContext *C)
{
v3d->twflag &= ~V3D_DRAW_MANIPULATOR;
- totsel= calc_manipulator_stats(C);
- if (totsel==0) return;
+ totsel = calc_manipulator_stats(C);
+ if (totsel == 0) return;
v3d->twflag |= V3D_DRAW_MANIPULATOR;
/* now we can define center */
switch (v3d->around) {
- case V3D_CENTER:
- case V3D_ACTIVE:
- rv3d->twmat[3][0]= (scene->twmin[0] + scene->twmax[0])/2.0f;
- rv3d->twmat[3][1]= (scene->twmin[1] + scene->twmax[1])/2.0f;
- rv3d->twmat[3][2]= (scene->twmin[2] + scene->twmax[2])/2.0f;
- if (v3d->around==V3D_ACTIVE && scene->obedit==NULL) {
- Object *ob= OBACT;
- if (ob && !(ob->mode & OB_MODE_POSE))
- copy_v3_v3(rv3d->twmat[3], ob->obmat[3]);
- }
- break;
- case V3D_LOCAL:
- case V3D_CENTROID:
- copy_v3_v3(rv3d->twmat[3], scene->twcent);
- break;
- case V3D_CURSOR:
- copy_v3_v3(rv3d->twmat[3], give_cursor(scene, v3d));
- break;
+ case V3D_CENTER:
+ case V3D_ACTIVE:
+ rv3d->twmat[3][0] = (scene->twmin[0] + scene->twmax[0]) / 2.0f;
+ rv3d->twmat[3][1] = (scene->twmin[1] + scene->twmax[1]) / 2.0f;
+ rv3d->twmat[3][2] = (scene->twmin[2] + scene->twmax[2]) / 2.0f;
+ if (v3d->around == V3D_ACTIVE && scene->obedit == NULL) {
+ Object *ob = OBACT;
+ if (ob && !(ob->mode & OB_MODE_POSE))
+ copy_v3_v3(rv3d->twmat[3], ob->obmat[3]);
+ }
+ break;
+ case V3D_LOCAL:
+ case V3D_CENTROID:
+ copy_v3_v3(rv3d->twmat[3], scene->twcent);
+ break;
+ case V3D_CURSOR:
+ copy_v3_v3(rv3d->twmat[3], give_cursor(scene, v3d));
+ break;
}
mul_mat3_m4_fl(rv3d->twmat, ED_view3d_pixel_size(rv3d, rv3d->twmat[3]) * U.tw_size * 5.0f);
}
test_manipulator_axis(C);
- drawflags= rv3d->twdrawflag; /* set in calc_manipulator_stats */
+ drawflags = rv3d->twdrawflag; /* set in calc_manipulator_stats */
if (v3d->twflag & V3D_DRAW_MANIPULATOR) {
@@ -1516,7 +1517,7 @@ void BIF_draw_manipulator(const bContext *C)
glEnable(GL_BLEND);
if (v3d->twtype & V3D_MANIP_ROTATE) {
- if (G.rt==3) {
+ if (G.rt == 3) {
if (G.moving) draw_manipulator_rotate_cyl(v3d, rv3d, 1, drawflags, v3d->twtype, MAN_MOVECOL);
else draw_manipulator_rotate_cyl(v3d, rv3d, 0, drawflags, v3d->twtype, MAN_RGB);
}
@@ -1536,31 +1537,31 @@ void BIF_draw_manipulator(const bContext *C)
static int manipulator_selectbuf(ScrArea *sa, ARegion *ar, const int mval[2], float hotspot)
{
- View3D *v3d= sa->spacedata.first;
- RegionView3D *rv3d= ar->regiondata;
+ View3D *v3d = sa->spacedata.first;
+ RegionView3D *rv3d = ar->regiondata;
rctf rect;
- GLuint buffer[64]; // max 4 items per select, so large enuf
+ GLuint buffer[64]; // max 4 items per select, so large enuf
short hits;
extern void setwinmatrixview3d(ARegion *ar, View3D *v3d, rctf *rect); // XXX check a bit later on this... (ton)
G.f |= G_PICKSEL;
- rect.xmin = mval[0]-hotspot;
- rect.xmax = mval[0]+hotspot;
- rect.ymin = mval[1]-hotspot;
- rect.ymax = mval[1]+hotspot;
+ rect.xmin = mval[0] - hotspot;
+ rect.xmax = mval[0] + hotspot;
+ rect.ymin = mval[1] - hotspot;
+ rect.ymax = mval[1] + hotspot;
setwinmatrixview3d(ar, v3d, &rect);
mult_m4_m4m4(rv3d->persmat, rv3d->winmat, rv3d->viewmat);
glSelectBuffer(64, buffer);
glRenderMode(GL_SELECT);
- glInitNames(); /* these two calls whatfor? It doesnt work otherwise */
+ glInitNames(); /* these two calls whatfor? It doesnt work otherwise */
glPushName(-2);
/* do the drawing */
if (v3d->twtype & V3D_MANIP_ROTATE) {
- if (G.rt==3) draw_manipulator_rotate_cyl(v3d, rv3d, 0, MAN_ROT_C & rv3d->twdrawflag, v3d->twtype, MAN_RGB);
+ if (G.rt == 3) draw_manipulator_rotate_cyl(v3d, rv3d, 0, MAN_ROT_C & rv3d->twdrawflag, v3d->twtype, MAN_RGB);
else draw_manipulator_rotate(v3d, rv3d, 0, MAN_ROT_C & rv3d->twdrawflag, v3d->twtype);
}
if (v3d->twtype & V3D_MANIP_SCALE)
@@ -1569,37 +1570,37 @@ static int manipulator_selectbuf(ScrArea *sa, ARegion *ar, const int mval[2], fl
draw_manipulator_translate(v3d, rv3d, 0, MAN_TRANS_C & rv3d->twdrawflag, v3d->twtype, MAN_RGB);
glPopName();
- hits= glRenderMode(GL_RENDER);
+ hits = glRenderMode(GL_RENDER);
G.f &= ~G_PICKSEL;
setwinmatrixview3d(ar, v3d, NULL);
mult_m4_m4m4(rv3d->persmat, rv3d->winmat, rv3d->viewmat);
- if (hits==1) return buffer[3];
- else if (hits>1) {
- GLuint val, dep, mindep=0, mindeprot=0, minval=0, minvalrot=0;
+ if (hits == 1) return buffer[3];
+ else if (hits > 1) {
+ GLuint val, dep, mindep = 0, mindeprot = 0, minval = 0, minvalrot = 0;
int a;
/* we compare the hits in buffer, but value centers highest */
/* we also store the rotation hits separate (because of arcs) and return hits on other widgets if there are */
- for (a=0; a<hits; a++) {
- dep= buffer[4*a + 1];
- val= buffer[4*a + 3];
+ for (a = 0; a < hits; a++) {
+ dep = buffer[4 * a + 1];
+ val = buffer[4 * a + 3];
- if (val==MAN_TRANS_C) return MAN_TRANS_C;
- else if (val==MAN_SCALE_C) return MAN_SCALE_C;
+ if (val == MAN_TRANS_C) return MAN_TRANS_C;
+ else if (val == MAN_SCALE_C) return MAN_SCALE_C;
else {
if (val & MAN_ROT_C) {
- if (minvalrot==0 || dep<mindeprot) {
- mindeprot= dep;
- minvalrot= val;
+ if (minvalrot == 0 || dep < mindeprot) {
+ mindeprot = dep;
+ minvalrot = val;
}
}
else {
- if (minval==0 || dep<mindep) {
- mindep= dep;
- minval= val;
+ if (minval == 0 || dep < mindep) {
+ mindep = dep;
+ minval = val;
}
}
}
@@ -1617,9 +1618,9 @@ static int manipulator_selectbuf(ScrArea *sa, ARegion *ar, const int mval[2], fl
/* return 0; nothing happened */
int BIF_do_manipulator(bContext *C, struct wmEvent *event, wmOperator *op)
{
- ScrArea *sa= CTX_wm_area(C);
- View3D *v3d= sa->spacedata.first;
- ARegion *ar= CTX_wm_region(C);
+ ScrArea *sa = CTX_wm_area(C);
+ View3D *v3d = sa->spacedata.first;
+ ARegion *ar = CTX_wm_region(C);
int constraint_axis[3] = {0, 0, 0};
int val;
int shift = event->shift;
@@ -1631,41 +1632,41 @@ int BIF_do_manipulator(bContext *C, struct wmEvent *event, wmOperator *op)
RNA_enum_set(op->ptr, "constraint_orientation", v3d->twmode);
// find the hotspots first test narrow hotspot
- val= manipulator_selectbuf(sa, ar, event->mval, 0.5f*(float)U.tw_hotspot);
+ val = manipulator_selectbuf(sa, ar, event->mval, 0.5f * (float)U.tw_hotspot);
if (val) {
// drawflags still global, for drawing call above
- drawflags= manipulator_selectbuf(sa, ar, event->mval, 0.2f*(float)U.tw_hotspot);
- if (drawflags==0) drawflags= val;
+ drawflags = manipulator_selectbuf(sa, ar, event->mval, 0.2f * (float)U.tw_hotspot);
+ if (drawflags == 0) drawflags = val;
if (drawflags & MAN_TRANS_C) {
switch (drawflags) {
- case MAN_TRANS_C:
- break;
- case MAN_TRANS_X:
- if (shift) {
- constraint_axis[1] = 1;
- constraint_axis[2] = 1;
- }
- else
- constraint_axis[0] = 1;
- break;
- case MAN_TRANS_Y:
- if (shift) {
- constraint_axis[0] = 1;
- constraint_axis[2] = 1;
- }
- else
- constraint_axis[1] = 1;
- break;
- case MAN_TRANS_Z:
- if (shift) {
- constraint_axis[0] = 1;
- constraint_axis[1] = 1;
- }
- else
- constraint_axis[2] = 1;
- break;
+ case MAN_TRANS_C:
+ break;
+ case MAN_TRANS_X:
+ if (shift) {
+ constraint_axis[1] = 1;
+ constraint_axis[2] = 1;
+ }
+ else
+ constraint_axis[0] = 1;
+ break;
+ case MAN_TRANS_Y:
+ if (shift) {
+ constraint_axis[0] = 1;
+ constraint_axis[2] = 1;
+ }
+ else
+ constraint_axis[1] = 1;
+ break;
+ case MAN_TRANS_Z:
+ if (shift) {
+ constraint_axis[0] = 1;
+ constraint_axis[1] = 1;
+ }
+ else
+ constraint_axis[2] = 1;
+ break;
}
RNA_boolean_set_array(op->ptr, "constraint_axis", constraint_axis);
WM_operator_name_call(C, "TRANSFORM_OT_translate", WM_OP_INVOKE_DEFAULT, op->ptr);
@@ -1673,30 +1674,30 @@ int BIF_do_manipulator(bContext *C, struct wmEvent *event, wmOperator *op)
}
else if (drawflags & MAN_SCALE_C) {
switch (drawflags) {
- case MAN_SCALE_X:
- if (shift) {
- constraint_axis[1] = 1;
- constraint_axis[2] = 1;
- }
- else
- constraint_axis[0] = 1;
- break;
- case MAN_SCALE_Y:
- if (shift) {
- constraint_axis[0] = 1;
- constraint_axis[2] = 1;
- }
- else
- constraint_axis[1] = 1;
- break;
- case MAN_SCALE_Z:
- if (shift) {
- constraint_axis[0] = 1;
- constraint_axis[1] = 1;
- }
- else
- constraint_axis[2] = 1;
- break;
+ case MAN_SCALE_X:
+ if (shift) {
+ constraint_axis[1] = 1;
+ constraint_axis[2] = 1;
+ }
+ else
+ constraint_axis[0] = 1;
+ break;
+ case MAN_SCALE_Y:
+ if (shift) {
+ constraint_axis[0] = 1;
+ constraint_axis[2] = 1;
+ }
+ else
+ constraint_axis[1] = 1;
+ break;
+ case MAN_SCALE_Z:
+ if (shift) {
+ constraint_axis[0] = 1;
+ constraint_axis[1] = 1;
+ }
+ else
+ constraint_axis[2] = 1;
+ break;
}
RNA_boolean_set_array(op->ptr, "constraint_axis", constraint_axis);
WM_operator_name_call(C, "TRANSFORM_OT_resize", WM_OP_INVOKE_DEFAULT, op->ptr);
@@ -1708,15 +1709,15 @@ int BIF_do_manipulator(bContext *C, struct wmEvent *event, wmOperator *op)
}
else if (drawflags & MAN_ROT_C) {
switch (drawflags) {
- case MAN_ROT_X:
- constraint_axis[0] = 1;
- break;
- case MAN_ROT_Y:
- constraint_axis[1] = 1;
- break;
- case MAN_ROT_Z:
- constraint_axis[2] = 1;
- break;
+ case MAN_ROT_X:
+ constraint_axis[0] = 1;
+ break;
+ case MAN_ROT_Y:
+ constraint_axis[1] = 1;
+ break;
+ case MAN_ROT_Z:
+ constraint_axis[2] = 1;
+ break;
}
RNA_boolean_set_array(op->ptr, "constraint_axis", constraint_axis);
WM_operator_name_call(C, "TRANSFORM_OT_rotate", WM_OP_INVOKE_DEFAULT, op->ptr);
@@ -1724,7 +1725,7 @@ int BIF_do_manipulator(bContext *C, struct wmEvent *event, wmOperator *op)
}
}
/* after transform, restore drawflags */
- drawflags= 0xFFFF;
+ drawflags = 0xFFFF;
return val;
}
diff --git a/source/blender/editors/transform/transform_ops.c b/source/blender/editors/transform/transform_ops.c
index 6fd8e07d34a..81a4c082dcc 100644
--- a/source/blender/editors/transform/transform_ops.c
+++ b/source/blender/editors/transform/transform_ops.c
@@ -40,6 +40,7 @@
#include "BKE_context.h"
#include "BKE_global.h"
#include "BKE_armature.h"
+#include "BKE_report.h"
#include "WM_api.h"
#include "WM_types.h"
@@ -51,11 +52,10 @@
#include "transform.h"
-typedef struct TransformModeItem
-{
+typedef struct TransformModeItem {
char *idname;
- int mode;
- void (*opfunc)(wmOperatorType*);
+ int mode;
+ void (*opfunc)(wmOperatorType *);
} TransformModeItem;
static float VecOne[3] = {1, 1, 1};
@@ -135,6 +135,7 @@ EnumPropertyItem transform_mode_types[] =
{TFM_BONESIZE, "BONE_SIZE", 0, "Bonesize", ""},
{TFM_BONE_ENVELOPE, "BONE_ENVELOPE", 0, "Bone_Envelope", ""},
{TFM_CURVE_SHRINKFATTEN, "CURVE_SHRINKFATTEN", 0, "Curve_Shrinkfatten", ""},
+ {TFM_MASK_SHRINKFATTEN, "MASK_SHRINKFATTEN", 0, "Mask_Shrinkfatten", ""},
{TFM_BONE_ROLL, "BONE_ROLL", 0, "Bone_Roll", ""},
{TFM_TIME_TRANSLATE, "TIME_TRANSLATE", 0, "Time_Translate", ""},
{TFM_TIME_SLIDE, "TIME_SLIDE", 0, "Time_Slide", ""},
@@ -151,11 +152,11 @@ EnumPropertyItem transform_mode_types[] =
static int snap_type_exec(bContext *C, wmOperator *op)
{
- ToolSettings *ts= CTX_data_tool_settings(C);
+ ToolSettings *ts = CTX_data_tool_settings(C);
ts->snap_mode = RNA_enum_get(op->ptr, "type");
- WM_event_add_notifier(C, NC_SCENE|ND_TOOLSETTINGS, NULL); /* header redraw */
+ WM_event_add_notifier(C, NC_SCENE | ND_TOOLSETTINGS, NULL); /* header redraw */
return OPERATOR_FINISHED;
}
@@ -187,7 +188,7 @@ static int select_orientation_exec(bContext *C, wmOperator *op)
BIF_selectTransformOrientationValue(C, orientation);
- WM_event_add_notifier(C, NC_SPACE|ND_SPACE_VIEW3D, CTX_wm_view3d(C));
+ WM_event_add_notifier(C, NC_SPACE | ND_SPACE_VIEW3D, CTX_wm_view3d(C));
return OPERATOR_FINISHED;
}
@@ -197,8 +198,8 @@ static int select_orientation_invoke(bContext *C, wmOperator *UNUSED(op), wmEven
uiPopupMenu *pup;
uiLayout *layout;
- pup= uiPupMenuBegin(C, "Orientation", ICON_NONE);
- layout= uiPupMenuLayout(pup);
+ pup = uiPupMenuBegin(C, "Orientation", ICON_NONE);
+ layout = uiPupMenuLayout(pup);
uiItemsEnumO(layout, "TRANSFORM_OT_select_orientation", "orientation");
uiPupMenuEnd(C, pup);
@@ -220,7 +221,7 @@ static void TRANSFORM_OT_select_orientation(struct wmOperatorType *ot)
ot->exec = select_orientation_exec;
ot->poll = ED_operator_view3d_active;
- prop= RNA_def_property(ot->srna, "orientation", PROP_ENUM, PROP_NONE);
+ prop = RNA_def_property(ot->srna, "orientation", PROP_ENUM, PROP_NONE);
RNA_def_property_ui_text(prop, "Orientation", "Transformation orientation");
RNA_def_enum_funcs(prop, rna_TransformOrientation_itemf);
}
@@ -233,8 +234,8 @@ static int delete_orientation_exec(bContext *C, wmOperator *UNUSED(op))
BIF_removeTransformOrientationIndex(C, selected_index);
- WM_event_add_notifier(C, NC_SPACE|ND_SPACE_VIEW3D, CTX_wm_view3d(C));
- WM_event_add_notifier(C, NC_SCENE|NA_EDITED, CTX_data_scene(C));
+ WM_event_add_notifier(C, NC_SPACE | ND_SPACE_VIEW3D, CTX_wm_view3d(C));
+ WM_event_add_notifier(C, NC_SCENE | NA_EDITED, CTX_data_scene(C));
return OPERATOR_FINISHED;
}
@@ -282,10 +283,15 @@ static int create_orientation_exec(bContext *C, wmOperator *op)
RNA_string_get(op->ptr, "name", name);
+ if (use && !CTX_wm_view3d(C)) {
+ BKE_report(op->reports, RPT_ERROR, "Create Orientation \"use\" parameter only valid in a 3dView context");
+ return OPERATOR_CANCELLED;
+ }
+
BIF_createTransformOrientation(C, op->reports, name, use, overwrite);
- WM_event_add_notifier(C, NC_SPACE|ND_SPACE_VIEW3D, CTX_wm_view3d(C));
- WM_event_add_notifier(C, NC_SCENE|NA_EDITED, CTX_data_scene(C));
+ WM_event_add_notifier(C, NC_SPACE | ND_SPACE_VIEW3D, CTX_wm_view3d(C));
+ WM_event_add_notifier(C, NC_SCENE | NA_EDITED, CTX_data_scene(C));
return OPERATOR_FINISHED;
}
@@ -301,13 +307,13 @@ static void TRANSFORM_OT_create_orientation(struct wmOperatorType *ot)
ot->name = "Create Orientation";
ot->description = "Create transformation orientation from selection";
ot->idname = "TRANSFORM_OT_create_orientation";
- ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO;
+ ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
/* api callbacks */
ot->invoke = create_orientation_invoke;
ot->exec = create_orientation_exec;
ot->poll = ED_operator_areaactive;
- ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO;
+ ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
RNA_def_string(ot->srna, "name", "", MAX_NAME, "Name", "Text to insert at the cursor position");
RNA_def_boolean(ot->srna, "use", 0, "Use after creation", "Select orientation after its creation");
@@ -372,9 +378,9 @@ static int transform_modal(bContext *C, wmOperator *op, wmEvent *event)
#endif
/* XXX insert keys are called here, and require context */
- t->context= C;
+ t->context = C;
exit_code = transformEvent(t, event);
- t->context= NULL;
+ t->context = NULL;
transformApply(C, t);
@@ -418,7 +424,7 @@ static int transform_exec(bContext *C, wmOperator *op)
transformops_exit(C, op);
- WM_event_add_notifier(C, NC_OBJECT|ND_TRANSFORM, NULL);
+ WM_event_add_notifier(C, NC_OBJECT | ND_TRANSFORM, NULL);
return OPERATOR_FINISHED;
}
@@ -447,7 +453,7 @@ void Transform_Properties(struct wmOperatorType *ot, int flags)
PropertyRNA *prop;
if (flags & P_AXIS) {
- prop= RNA_def_property(ot->srna, "axis", PROP_FLOAT, PROP_DIRECTION);
+ prop = RNA_def_property(ot->srna, "axis", PROP_FLOAT, PROP_DIRECTION);
RNA_def_property_array(prop, 3);
/* Make this not hidden when there's a nice axis selection widget */
RNA_def_property_flag(prop, PROP_HIDDEN);
@@ -457,7 +463,7 @@ void Transform_Properties(struct wmOperatorType *ot, int flags)
if (flags & P_CONSTRAINT) {
RNA_def_boolean_vector(ot->srna, "constraint_axis", 3, NULL, "Constraint Axis", "");
- prop= RNA_def_property(ot->srna, "constraint_orientation", PROP_ENUM, PROP_NONE);
+ prop = RNA_def_property(ot->srna, "constraint_orientation", PROP_ENUM, PROP_NONE);
RNA_def_property_ui_text(prop, "Orientation", "Transformation orientation");
RNA_def_enum_funcs(prop, rna_TransformOrientation_itemf);
@@ -476,19 +482,19 @@ void Transform_Properties(struct wmOperatorType *ot, int flags)
}
if (flags & P_SNAP) {
- prop= RNA_def_boolean(ot->srna, "snap", 0, "Use Snapping Options", "");
+ prop = RNA_def_boolean(ot->srna, "snap", 0, "Use Snapping Options", "");
RNA_def_property_flag(prop, PROP_HIDDEN);
if (flags & P_GEO_SNAP) {
- prop= RNA_def_enum(ot->srna, "snap_target", snap_target_items, 0, "Target", "");
+ prop = RNA_def_enum(ot->srna, "snap_target", snap_target_items, 0, "Target", "");
RNA_def_property_flag(prop, PROP_HIDDEN);
- prop= RNA_def_float_vector(ot->srna, "snap_point", 3, NULL, -FLT_MAX, FLT_MAX, "Point", "", -FLT_MAX, FLT_MAX);
+ prop = RNA_def_float_vector(ot->srna, "snap_point", 3, NULL, -FLT_MAX, FLT_MAX, "Point", "", -FLT_MAX, FLT_MAX);
RNA_def_property_flag(prop, PROP_HIDDEN);
if (flags & P_ALIGN_SNAP) {
- prop= RNA_def_boolean(ot->srna, "snap_align", 0, "Align with Point Normal", "");
+ prop = RNA_def_boolean(ot->srna, "snap_align", 0, "Align with Point Normal", "");
RNA_def_property_flag(prop, PROP_HIDDEN);
- prop= RNA_def_float_vector(ot->srna, "snap_normal", 3, NULL, -FLT_MAX, FLT_MAX, "Normal", "", -FLT_MAX, FLT_MAX);
+ prop = RNA_def_float_vector(ot->srna, "snap_normal", 3, NULL, -FLT_MAX, FLT_MAX, "Normal", "", -FLT_MAX, FLT_MAX);
RNA_def_property_flag(prop, PROP_HIDDEN);
}
}
@@ -513,7 +519,7 @@ static void TRANSFORM_OT_translate(struct wmOperatorType *ot)
ot->name = "Translate";
ot->description = "Translate (move) selected items";
ot->idname = OP_TRANSLATION;
- ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO|OPTYPE_BLOCKING;
+ ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO | OPTYPE_BLOCKING;
/* api callbacks */
ot->invoke = transform_invoke;
@@ -524,7 +530,7 @@ static void TRANSFORM_OT_translate(struct wmOperatorType *ot)
RNA_def_float_vector_xyz(ot->srna, "value", 3, NULL, -FLT_MAX, FLT_MAX, "Vector", "", -FLT_MAX, FLT_MAX);
- Transform_Properties(ot, P_CONSTRAINT|P_PROPORTIONAL|P_MIRROR|P_ALIGN_SNAP|P_OPTIONS);
+ Transform_Properties(ot, P_CONSTRAINT | P_PROPORTIONAL | P_MIRROR | P_ALIGN_SNAP | P_OPTIONS);
}
static void TRANSFORM_OT_resize(struct wmOperatorType *ot)
@@ -533,7 +539,7 @@ static void TRANSFORM_OT_resize(struct wmOperatorType *ot)
ot->name = "Resize";
ot->description = "Scale (resize) selected items";
ot->idname = OP_RESIZE;
- ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO|OPTYPE_BLOCKING;
+ ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO | OPTYPE_BLOCKING;
/* api callbacks */
ot->invoke = transform_invoke;
@@ -544,7 +550,7 @@ static void TRANSFORM_OT_resize(struct wmOperatorType *ot)
RNA_def_float_vector(ot->srna, "value", 3, VecOne, -FLT_MAX, FLT_MAX, "Vector", "", -FLT_MAX, FLT_MAX);
- Transform_Properties(ot, P_CONSTRAINT|P_PROPORTIONAL|P_MIRROR|P_GEO_SNAP|P_OPTIONS);
+ Transform_Properties(ot, P_CONSTRAINT | P_PROPORTIONAL | P_MIRROR | P_GEO_SNAP | P_OPTIONS);
}
static int skin_resize_poll(bContext *C)
@@ -563,7 +569,7 @@ static void TRANSFORM_OT_skin_resize(struct wmOperatorType *ot)
ot->name = "Skin Resize";
ot->description = "Scale selected vertices' skin radii";
ot->idname = OP_SKIN_RESIZE;
- ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO|OPTYPE_BLOCKING;
+ ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO | OPTYPE_BLOCKING;
/* api callbacks */
ot->invoke = transform_invoke;
@@ -574,7 +580,7 @@ static void TRANSFORM_OT_skin_resize(struct wmOperatorType *ot)
RNA_def_float_vector(ot->srna, "value", 3, VecOne, -FLT_MAX, FLT_MAX, "Vector", "", -FLT_MAX, FLT_MAX);
- Transform_Properties(ot, P_CONSTRAINT|P_PROPORTIONAL|P_MIRROR|P_GEO_SNAP|P_OPTIONS);
+ Transform_Properties(ot, P_CONSTRAINT | P_PROPORTIONAL | P_MIRROR | P_GEO_SNAP | P_OPTIONS);
}
static void TRANSFORM_OT_trackball(struct wmOperatorType *ot)
@@ -583,7 +589,7 @@ static void TRANSFORM_OT_trackball(struct wmOperatorType *ot)
ot->name = "Trackball";
ot->description = "Trackball style rotation of selected items";
ot->idname = OP_TRACKBALL;
- ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO|OPTYPE_BLOCKING;
+ ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO | OPTYPE_BLOCKING;
/* api callbacks */
ot->invoke = transform_invoke;
@@ -594,7 +600,7 @@ static void TRANSFORM_OT_trackball(struct wmOperatorType *ot)
RNA_def_float_vector(ot->srna, "value", 2, VecOne, -FLT_MAX, FLT_MAX, "Angle", "", -FLT_MAX, FLT_MAX);
- Transform_Properties(ot, P_PROPORTIONAL|P_MIRROR|P_SNAP);
+ Transform_Properties(ot, P_PROPORTIONAL | P_MIRROR | P_SNAP);
}
static void TRANSFORM_OT_rotate(struct wmOperatorType *ot)
@@ -603,7 +609,7 @@ static void TRANSFORM_OT_rotate(struct wmOperatorType *ot)
ot->name = "Rotate";
ot->description = "Rotate selected items";
ot->idname = OP_ROTATION;
- ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO|OPTYPE_BLOCKING;
+ ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO | OPTYPE_BLOCKING;
/* api callbacks */
ot->invoke = transform_invoke;
@@ -612,9 +618,9 @@ static void TRANSFORM_OT_rotate(struct wmOperatorType *ot)
ot->cancel = transform_cancel;
ot->poll = ED_operator_screenactive;
- RNA_def_float_rotation(ot->srna, "value", 1, NULL, -FLT_MAX, FLT_MAX, "Angle", "", -M_PI*2, M_PI*2);
+ RNA_def_float_rotation(ot->srna, "value", 1, NULL, -FLT_MAX, FLT_MAX, "Angle", "", -M_PI * 2, M_PI * 2);
- Transform_Properties(ot, P_AXIS|P_CONSTRAINT|P_PROPORTIONAL|P_MIRROR|P_GEO_SNAP);
+ Transform_Properties(ot, P_AXIS | P_CONSTRAINT | P_PROPORTIONAL | P_MIRROR | P_GEO_SNAP);
}
static void TRANSFORM_OT_tilt(struct wmOperatorType *ot)
@@ -626,7 +632,7 @@ static void TRANSFORM_OT_tilt(struct wmOperatorType *ot)
* "Specify an extra axis rotation for selected vertices of 3d curve" */
ot->description = "Tilt selected control vertices of 3d curve";
ot->idname = OP_TILT;
- ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO|OPTYPE_BLOCKING;
+ ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO | OPTYPE_BLOCKING;
/* api callbacks */
ot->invoke = transform_invoke;
@@ -635,9 +641,9 @@ static void TRANSFORM_OT_tilt(struct wmOperatorType *ot)
ot->cancel = transform_cancel;
ot->poll = ED_operator_editcurve_3d;
- RNA_def_float_rotation(ot->srna, "value", 1, NULL, -FLT_MAX, FLT_MAX, "Angle", "", -M_PI*2, M_PI*2);
+ RNA_def_float_rotation(ot->srna, "value", 1, NULL, -FLT_MAX, FLT_MAX, "Angle", "", -M_PI * 2, M_PI * 2);
- Transform_Properties(ot, P_CONSTRAINT|P_PROPORTIONAL|P_MIRROR|P_SNAP);
+ Transform_Properties(ot, P_CONSTRAINT | P_PROPORTIONAL | P_MIRROR | P_SNAP);
}
static void TRANSFORM_OT_warp(struct wmOperatorType *ot)
@@ -646,7 +652,7 @@ static void TRANSFORM_OT_warp(struct wmOperatorType *ot)
ot->name = "Warp";
ot->description = "Warp selected items around the cursor";
ot->idname = OP_WARP;
- ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO|OPTYPE_BLOCKING;
+ ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO | OPTYPE_BLOCKING;
/* api callbacks */
ot->invoke = transform_invoke;
@@ -655,9 +661,9 @@ static void TRANSFORM_OT_warp(struct wmOperatorType *ot)
ot->cancel = transform_cancel;
ot->poll = ED_operator_screenactive;
- RNA_def_float_rotation(ot->srna, "value", 1, NULL, -FLT_MAX, FLT_MAX, "Angle", "", -M_PI*2, M_PI*2);
+ RNA_def_float_rotation(ot->srna, "value", 1, NULL, -FLT_MAX, FLT_MAX, "Angle", "", -M_PI * 2, M_PI * 2);
- Transform_Properties(ot, P_PROPORTIONAL|P_MIRROR|P_SNAP);
+ Transform_Properties(ot, P_PROPORTIONAL | P_MIRROR | P_SNAP);
// XXX Warp axis?
}
@@ -667,7 +673,7 @@ static void TRANSFORM_OT_shear(struct wmOperatorType *ot)
ot->name = "Shear";
ot->description = "Shear selected items along the horizontal screen axis";
ot->idname = OP_SHEAR;
- ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO|OPTYPE_BLOCKING;
+ ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO | OPTYPE_BLOCKING;
/* api callbacks */
ot->invoke = transform_invoke;
@@ -678,7 +684,7 @@ static void TRANSFORM_OT_shear(struct wmOperatorType *ot)
RNA_def_float(ot->srna, "value", 0, -FLT_MAX, FLT_MAX, "Offset", "", -FLT_MAX, FLT_MAX);
- Transform_Properties(ot, P_PROPORTIONAL|P_MIRROR|P_SNAP);
+ Transform_Properties(ot, P_PROPORTIONAL | P_MIRROR | P_SNAP);
// XXX Shear axis?
}
@@ -688,7 +694,7 @@ static void TRANSFORM_OT_push_pull(struct wmOperatorType *ot)
ot->name = "Push/Pull";
ot->description = "Push/Pull selected items";
ot->idname = OP_PUSH_PULL;
- ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO|OPTYPE_BLOCKING;
+ ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO | OPTYPE_BLOCKING;
/* api callbacks */
ot->invoke = transform_invoke;
@@ -699,7 +705,7 @@ static void TRANSFORM_OT_push_pull(struct wmOperatorType *ot)
RNA_def_float(ot->srna, "value", 0, -FLT_MAX, FLT_MAX, "Distance", "", -FLT_MAX, FLT_MAX);
- Transform_Properties(ot, P_PROPORTIONAL|P_MIRROR|P_SNAP);
+ Transform_Properties(ot, P_PROPORTIONAL | P_MIRROR | P_SNAP);
}
static void TRANSFORM_OT_shrink_fatten(struct wmOperatorType *ot)
@@ -708,7 +714,7 @@ static void TRANSFORM_OT_shrink_fatten(struct wmOperatorType *ot)
ot->name = "Shrink/Fatten";
ot->description = "Shrink/fatten selected vertices along normals";
ot->idname = OP_SHRINK_FATTEN;
- ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO|OPTYPE_BLOCKING;
+ ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO | OPTYPE_BLOCKING;
/* api callbacks */
ot->invoke = transform_invoke;
@@ -719,7 +725,7 @@ static void TRANSFORM_OT_shrink_fatten(struct wmOperatorType *ot)
RNA_def_float(ot->srna, "value", 0, -FLT_MAX, FLT_MAX, "Offset", "", -FLT_MAX, FLT_MAX);
- Transform_Properties(ot, P_PROPORTIONAL|P_MIRROR|P_SNAP);
+ Transform_Properties(ot, P_PROPORTIONAL | P_MIRROR | P_SNAP);
}
static void TRANSFORM_OT_tosphere(struct wmOperatorType *ot)
@@ -729,7 +735,7 @@ static void TRANSFORM_OT_tosphere(struct wmOperatorType *ot)
//added "around mesh center" to differentiate between "MESH_OT_vertices_to_sphere()"
ot->description = "Move selected vertices outward in a spherical shape around mesh center";
ot->idname = OP_TOSPHERE;
- ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO|OPTYPE_BLOCKING;
+ ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO | OPTYPE_BLOCKING;
/* api callbacks */
ot->invoke = transform_invoke;
@@ -740,7 +746,7 @@ static void TRANSFORM_OT_tosphere(struct wmOperatorType *ot)
RNA_def_float_factor(ot->srna, "value", 0, 0, 1, "Factor", "", 0, 1);
- Transform_Properties(ot, P_PROPORTIONAL|P_MIRROR|P_SNAP);
+ Transform_Properties(ot, P_PROPORTIONAL | P_MIRROR | P_SNAP);
}
static void TRANSFORM_OT_mirror(struct wmOperatorType *ot)
@@ -749,7 +755,7 @@ static void TRANSFORM_OT_mirror(struct wmOperatorType *ot)
ot->name = "Mirror";
ot->description = "Mirror selected vertices around one or more axes";
ot->idname = OP_MIRROR;
- ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO|OPTYPE_BLOCKING;
+ ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO | OPTYPE_BLOCKING;
/* api callbacks */
ot->invoke = transform_invoke;
@@ -758,7 +764,7 @@ static void TRANSFORM_OT_mirror(struct wmOperatorType *ot)
ot->cancel = transform_cancel;
ot->poll = ED_operator_screenactive;
- Transform_Properties(ot, P_CONSTRAINT|P_PROPORTIONAL);
+ Transform_Properties(ot, P_CONSTRAINT | P_PROPORTIONAL);
}
static void TRANSFORM_OT_edge_slide(struct wmOperatorType *ot)
@@ -767,7 +773,7 @@ static void TRANSFORM_OT_edge_slide(struct wmOperatorType *ot)
ot->name = "Edge Slide";
ot->description = "Slide an edge loop along a mesh";
ot->idname = OP_EDGE_SLIDE;
- ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO|OPTYPE_BLOCKING;
+ ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO | OPTYPE_BLOCKING;
/* api callbacks */
ot->invoke = transform_invoke;
@@ -778,7 +784,7 @@ static void TRANSFORM_OT_edge_slide(struct wmOperatorType *ot)
RNA_def_float_factor(ot->srna, "value", 0, -1.0f, 1.0f, "Factor", "", -1.0f, 1.0f);
- Transform_Properties(ot, P_MIRROR|P_SNAP|P_CORRECT_UV);
+ Transform_Properties(ot, P_MIRROR | P_SNAP | P_CORRECT_UV);
}
static void TRANSFORM_OT_edge_crease(struct wmOperatorType *ot)
@@ -787,7 +793,7 @@ static void TRANSFORM_OT_edge_crease(struct wmOperatorType *ot)
ot->name = "Edge Crease";
ot->description = "Change the crease of edges";
ot->idname = OP_EDGE_CREASE;
- ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO|OPTYPE_BLOCKING;
+ ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO | OPTYPE_BLOCKING;
/* api callbacks */
ot->invoke = transform_invoke;
@@ -807,7 +813,7 @@ static void TRANSFORM_OT_edge_bevelweight(struct wmOperatorType *ot)
ot->name = "Edge Bevel Weight";
ot->description = "Change the bevel weight of edges";
ot->idname = OP_EDGE_BWEIGHT;
- ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO|OPTYPE_BLOCKING;
+ ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO | OPTYPE_BLOCKING;
/* api callbacks */
ot->invoke = transform_invoke;
@@ -827,7 +833,7 @@ static void TRANSFORM_OT_seq_slide(struct wmOperatorType *ot)
ot->name = "Sequence Slide";
ot->description = "Slide a sequence strip in time";
ot->idname = OP_SEQ_SLIDE;
- ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO|OPTYPE_BLOCKING;
+ ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO | OPTYPE_BLOCKING;
/* api callbacks */
ot->invoke = transform_invoke;
@@ -849,7 +855,7 @@ static void TRANSFORM_OT_transform(struct wmOperatorType *ot)
ot->name = "Transform";
ot->description = "Transform selected items by mode type";
ot->idname = "TRANSFORM_OT_transform";
- ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO|OPTYPE_BLOCKING;
+ ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO | OPTYPE_BLOCKING;
/* api callbacks */
ot->invoke = transform_invoke;
@@ -858,12 +864,12 @@ static void TRANSFORM_OT_transform(struct wmOperatorType *ot)
ot->cancel = transform_cancel;
ot->poll = ED_operator_screenactive;
- prop= RNA_def_enum(ot->srna, "mode", transform_mode_types, TFM_TRANSLATION, "Mode", "");
+ prop = RNA_def_enum(ot->srna, "mode", transform_mode_types, TFM_TRANSLATION, "Mode", "");
RNA_def_property_flag(prop, PROP_HIDDEN);
RNA_def_float_vector(ot->srna, "value", 4, NULL, -FLT_MAX, FLT_MAX, "Values", "", -FLT_MAX, FLT_MAX);
- Transform_Properties(ot, P_AXIS|P_CONSTRAINT|P_PROPORTIONAL|P_MIRROR|P_ALIGN_SNAP);
+ Transform_Properties(ot, P_AXIS | P_CONSTRAINT | P_PROPORTIONAL | P_MIRROR | P_ALIGN_SNAP);
}
void transform_operatortypes(void)
@@ -913,13 +919,13 @@ void transform_keymap_for_space(wmKeyConfig *keyconf, wmKeyMap *keymap, int spac
WM_keymap_add_item(keymap, OP_WARP, WKEY, KM_PRESS, KM_SHIFT, 0);
- WM_keymap_add_item(keymap, OP_TOSPHERE, SKEY, KM_PRESS, KM_ALT|KM_SHIFT, 0);
+ WM_keymap_add_item(keymap, OP_TOSPHERE, SKEY, KM_PRESS, KM_ALT | KM_SHIFT, 0);
- WM_keymap_add_item(keymap, OP_SHEAR, SKEY, KM_PRESS, KM_ALT|KM_CTRL|KM_SHIFT, 0);
+ WM_keymap_add_item(keymap, OP_SHEAR, SKEY, KM_PRESS, KM_ALT | KM_CTRL | KM_SHIFT, 0);
WM_keymap_add_item(keymap, "TRANSFORM_OT_select_orientation", SPACEKEY, KM_PRESS, KM_ALT, 0);
- kmi = WM_keymap_add_item(keymap, "TRANSFORM_OT_create_orientation", SPACEKEY, KM_PRESS, KM_CTRL|KM_ALT, 0);
+ kmi = WM_keymap_add_item(keymap, "TRANSFORM_OT_create_orientation", SPACEKEY, KM_PRESS, KM_CTRL | KM_ALT, 0);
RNA_boolean_set(kmi->ptr, "use", TRUE);
WM_keymap_add_item(keymap, OP_MIRROR, MKEY, KM_PRESS, KM_CTRL, 0);
@@ -927,12 +933,12 @@ void transform_keymap_for_space(wmKeyConfig *keyconf, wmKeyMap *keymap, int spac
kmi = WM_keymap_add_item(keymap, "WM_OT_context_toggle", TABKEY, KM_PRESS, KM_SHIFT, 0);
RNA_string_set(kmi->ptr, "data_path", "tool_settings.use_snap");
- WM_keymap_add_item(keymap, "TRANSFORM_OT_snap_type", TABKEY, KM_PRESS, KM_SHIFT|KM_CTRL, 0);
+ WM_keymap_add_item(keymap, "TRANSFORM_OT_snap_type", TABKEY, KM_PRESS, KM_SHIFT | KM_CTRL, 0);
kmi = WM_keymap_add_item(keymap, OP_TRANSLATION, TKEY, KM_PRESS, KM_SHIFT, 0);
RNA_boolean_set(kmi->ptr, "texture_space", TRUE);
- kmi = WM_keymap_add_item(keymap, OP_RESIZE, TKEY, KM_PRESS, KM_SHIFT|KM_ALT, 0);
+ kmi = WM_keymap_add_item(keymap, OP_RESIZE, TKEY, KM_PRESS, KM_SHIFT | KM_ALT, 0);
RNA_boolean_set(kmi->ptr, "texture_space", TRUE);
WM_keymap_add_item(keymap, OP_SKIN_RESIZE, AKEY, KM_PRESS, KM_CTRL, 0);
@@ -1014,7 +1020,7 @@ void transform_keymap_for_space(wmKeyConfig *keyconf, wmKeyMap *keymap, int spac
WM_keymap_add_item(keymap, OP_RESIZE, SKEY, KM_PRESS, 0, 0);
- WM_keymap_add_item(keymap, OP_SHEAR, SKEY, KM_PRESS, KM_ALT|KM_CTRL|KM_SHIFT, 0);
+ WM_keymap_add_item(keymap, OP_SHEAR, SKEY, KM_PRESS, KM_ALT | KM_CTRL | KM_SHIFT, 0);
WM_keymap_add_item(keymap, "TRANSFORM_OT_mirror", MKEY, KM_PRESS, KM_CTRL, 0);
@@ -1025,6 +1031,7 @@ void transform_keymap_for_space(wmKeyConfig *keyconf, wmKeyMap *keymap, int spac
WM_keymap_add_item(keymap, OP_TRANSLATION, GKEY, KM_PRESS, 0, 0);
WM_keymap_add_item(keymap, OP_TRANSLATION, EVT_TWEAK_S, KM_ANY, 0, 0);
WM_keymap_add_item(keymap, OP_RESIZE, SKEY, KM_PRESS, 0, 0);
+ WM_keymap_add_item(keymap, OP_ROTATION, RKEY, KM_PRESS, 0, 0);
break;
default:
break;
diff --git a/source/blender/editors/transform/transform_orientations.c b/source/blender/editors/transform/transform_orientations.c
index 91f62291450..97fc173f9a1 100644
--- a/source/blender/editors/transform/transform_orientations.c
+++ b/source/blender/editors/transform/transform_orientations.c
@@ -75,16 +75,16 @@ void BIF_clearTransformOrientation(bContext *C)
// Need to loop over all view3d
if (v3d && v3d->twmode >= V3D_MANIP_CUSTOM) {
- v3d->twmode = V3D_MANIP_GLOBAL; /* fallback to global */
+ v3d->twmode = V3D_MANIP_GLOBAL; /* fallback to global */
}
}
-static TransformOrientation* findOrientationName(ListBase *lb, const char *name)
+static TransformOrientation *findOrientationName(ListBase *lb, const char *name)
{
- TransformOrientation *ts= NULL;
+ TransformOrientation *ts = NULL;
- for (ts= lb->first; ts; ts = ts->next) {
- if (strncmp(ts->name, name, sizeof(ts->name)-1) == 0) {
+ for (ts = lb->first; ts; ts = ts->next) {
+ if (strncmp(ts->name, name, sizeof(ts->name) - 1) == 0) {
return ts;
}
}
@@ -115,7 +115,7 @@ void BIF_createTransformOrientation(bContext *C, ReportList *reports, char *name
ts = createBoneSpace(C, reports, name, overwrite);
}
else if (ob && (ob->mode & OB_MODE_POSE)) {
- ts = createBoneSpace(C, reports, name, overwrite);
+ ts = createBoneSpace(C, reports, name, overwrite);
}
else {
ts = createObjectSpace(C, reports, name, overwrite);
@@ -143,7 +143,7 @@ TransformOrientation *createObjectSpace(bContext *C, ReportList *UNUSED(reports)
/* use object name if no name is given */
if (name[0] == 0) {
- strncpy(name, ob->id.name+2, MAX_ID_NAME-2);
+ strncpy(name, ob->id.name + 2, MAX_ID_NAME - 2);
}
return addMatrixSpace(C, mat, name, overwrite);
@@ -262,7 +262,7 @@ int createSpaceNormalTangent(float mat[3][3], float normal[3], float tangent[3])
return 1;
}
-TransformOrientation* addMatrixSpace(bContext *C, float mat[3][3], char name[], int overwrite)
+TransformOrientation *addMatrixSpace(bContext *C, float mat[3][3], char name[], int overwrite)
{
ListBase *transform_spaces = &CTX_data_scene(C)->transform_spaces;
TransformOrientation *ts = NULL;
@@ -301,7 +301,7 @@ void BIF_removeTransformOrientation(bContext *C, TransformOrientation *target)
// Transform_fix_me NEED TO DO THIS FOR ALL VIEW3D
if (selected_index == i) {
- v3d->twmode = V3D_MANIP_GLOBAL; /* fallback to global */
+ v3d->twmode = V3D_MANIP_GLOBAL; /* fallback to global */
}
else if (selected_index > i) {
v3d->twmode--;
@@ -318,7 +318,7 @@ void BIF_removeTransformOrientation(bContext *C, TransformOrientation *target)
void BIF_removeTransformOrientationIndex(bContext *C, int index)
{
ListBase *transform_spaces = &CTX_data_scene(C)->transform_spaces;
- TransformOrientation *ts= BLI_findlink(transform_spaces, index);
+ TransformOrientation *ts = BLI_findlink(transform_spaces, index);
if (ts) {
View3D *v3d = CTX_wm_view3d(C);
@@ -327,7 +327,7 @@ void BIF_removeTransformOrientationIndex(bContext *C, int index)
// Transform_fix_me NEED TO DO THIS FOR ALL VIEW3D
if (selected_index == index) {
- v3d->twmode = V3D_MANIP_GLOBAL; /* fallback to global */
+ v3d->twmode = V3D_MANIP_GLOBAL; /* fallback to global */
}
else if (selected_index > index) {
v3d->twmode--;
@@ -365,15 +365,15 @@ EnumPropertyItem *BIF_enumTransformOrientation(bContext *C)
{
Scene *scene;
ListBase *transform_spaces;
- TransformOrientation *ts= NULL;
+ TransformOrientation *ts = NULL;
- EnumPropertyItem global = {V3D_MANIP_GLOBAL, "GLOBAL", 0, "Global", ""};
+ EnumPropertyItem global = {V3D_MANIP_GLOBAL, "GLOBAL", 0, "Global", ""};
EnumPropertyItem normal = {V3D_MANIP_NORMAL, "NORMAL", 0, "Normal", ""};
EnumPropertyItem local = {V3D_MANIP_LOCAL, "LOCAL", 0, "Local", ""};
EnumPropertyItem view = {V3D_MANIP_VIEW, "VIEW", 0, "View", ""};
EnumPropertyItem tmp = {0, "", 0, "", ""};
- EnumPropertyItem *item= NULL;
- int i = V3D_MANIP_CUSTOM, totitem= 0;
+ EnumPropertyItem *item = NULL;
+ int i = V3D_MANIP_CUSTOM, totitem = 0;
RNA_enum_item_add(&item, &totitem, &global);
RNA_enum_item_add(&item, &totitem, &normal);
@@ -381,7 +381,7 @@ EnumPropertyItem *BIF_enumTransformOrientation(bContext *C)
RNA_enum_item_add(&item, &totitem, &view);
if (C) {
- scene= CTX_data_scene(C);
+ scene = CTX_data_scene(C);
if (scene) {
transform_spaces = &scene->transform_spaces;
@@ -394,7 +394,7 @@ EnumPropertyItem *BIF_enumTransformOrientation(bContext *C)
for (; ts; ts = ts->next) {
tmp.identifier = "CUSTOM";
- tmp.name= ts->name;
+ tmp.name = ts->name;
tmp.value = i++;
RNA_enum_item_add(&item, &totitem, &tmp);
}
@@ -404,9 +404,9 @@ EnumPropertyItem *BIF_enumTransformOrientation(bContext *C)
return item;
}
-const char * BIF_menustringTransformOrientation(const bContext *C, const char *title)
+const char *BIF_menustringTransformOrientation(const bContext *C, const char *title)
{
- const char* menu = IFACE_("%t|Global%x0|Local%x1|Gimbal%x4|Normal%x2|View%x3");
+ const char *menu = IFACE_("%t|Global%x0|Local%x1|Gimbal%x4|Normal%x2|View%x3");
ListBase *transform_spaces = &CTX_data_scene(C)->transform_spaces;
TransformOrientation *ts;
int i = V3D_MANIP_CUSTOM;
@@ -459,7 +459,7 @@ void applyTransformOrientation(const bContext *C, float mat[3][3], char *name)
break;
}
}
- }
+ }
}
static int count_bone_select(bArmature *arm, ListBase *lb, int do_it)
@@ -468,7 +468,7 @@ static int count_bone_select(bArmature *arm, ListBase *lb, int do_it)
int do_next;
int total = 0;
- for (bone= lb->first; bone; bone= bone->next) {
+ for (bone = lb->first; bone; bone = bone->next) {
bone->flag &= ~BONE_TRANSFORM;
do_next = do_it;
if (do_it) {
@@ -476,7 +476,7 @@ static int count_bone_select(bArmature *arm, ListBase *lb, int do_it)
if (bone->flag & BONE_SELECTED) {
bone->flag |= BONE_TRANSFORM;
total++;
- do_next = FALSE; // no transform on children if one parent bone is selected
+ do_next = FALSE; // no transform on children if one parent bone is selected
}
}
}
@@ -493,55 +493,55 @@ void initTransformOrientation(bContext *C, TransInfo *t)
Object *obedit = CTX_data_active_object(C);
switch (t->current_orientation) {
- case V3D_MANIP_GLOBAL:
- unit_m3(t->spacemtx);
- strcpy(t->spacename, "global");
- break;
-
- case V3D_MANIP_GIMBAL:
- unit_m3(t->spacemtx);
- if (gimbal_axis(ob, t->spacemtx)) {
- strcpy(t->spacename, "gimbal");
+ case V3D_MANIP_GLOBAL:
+ unit_m3(t->spacemtx);
+ strcpy(t->spacename, "global");
break;
- }
+
+ case V3D_MANIP_GIMBAL:
+ unit_m3(t->spacemtx);
+ if (gimbal_axis(ob, t->spacemtx)) {
+ strcpy(t->spacename, "gimbal");
+ break;
+ }
/* no gimbal fallthrough to normal */
- case V3D_MANIP_NORMAL:
- if (obedit || (ob && ob->mode & OB_MODE_POSE)) {
- strcpy(t->spacename, "normal");
- ED_getTransformOrientationMatrix(C, t->spacemtx, (v3d->around == V3D_ACTIVE));
- break;
- }
+ case V3D_MANIP_NORMAL:
+ if (obedit || (ob && ob->mode & OB_MODE_POSE)) {
+ strcpy(t->spacename, "normal");
+ ED_getTransformOrientationMatrix(C, t->spacemtx, (v3d->around == V3D_ACTIVE));
+ break;
+ }
/* no break we define 'normal' as 'local' in Object mode */
- case V3D_MANIP_LOCAL:
- strcpy(t->spacename, "local");
+ case V3D_MANIP_LOCAL:
+ strcpy(t->spacename, "local");
- if (ob) {
- copy_m3_m4(t->spacemtx, ob->obmat);
- normalize_m3(t->spacemtx);
- }
- else {
- unit_m3(t->spacemtx);
- }
+ if (ob) {
+ copy_m3_m4(t->spacemtx, ob->obmat);
+ normalize_m3(t->spacemtx);
+ }
+ else {
+ unit_m3(t->spacemtx);
+ }
- break;
+ break;
- case V3D_MANIP_VIEW:
- if (t->ar->regiontype == RGN_TYPE_WINDOW) {
- RegionView3D *rv3d = t->ar->regiondata;
- float mat[3][3];
-
- strcpy(t->spacename, "view");
- copy_m3_m4(mat, rv3d->viewinv);
- normalize_m3(mat);
- copy_m3_m3(t->spacemtx, mat);
- }
- else {
- unit_m3(t->spacemtx);
- }
- break;
- default: /* V3D_MANIP_CUSTOM */
- applyTransformOrientation(C, t->spacemtx, t->spacename);
- break;
+ case V3D_MANIP_VIEW:
+ if (t->ar->regiontype == RGN_TYPE_WINDOW) {
+ RegionView3D *rv3d = t->ar->regiondata;
+ float mat[3][3];
+
+ strcpy(t->spacename, "view");
+ copy_m3_m4(mat, rv3d->viewinv);
+ normalize_m3(mat);
+ copy_m3_m3(t->spacemtx, mat);
+ }
+ else {
+ unit_m3(t->spacemtx);
+ }
+ break;
+ default: /* V3D_MANIP_CUSTOM */
+ applyTransformOrientation(C, t->spacemtx, t->spacename);
+ break;
}
}
@@ -549,7 +549,7 @@ int getTransformOrientation(const bContext *C, float normal[3], float plane[3],
{
Scene *scene = CTX_data_scene(C);
View3D *v3d = CTX_wm_view3d(C);
- Object *obedit= CTX_data_edit_object(C);
+ Object *obedit = CTX_data_edit_object(C);
Base *base;
Object *ob = OBACT;
int result = ORIENTATION_NONE;
@@ -566,14 +566,14 @@ int getTransformOrientation(const bContext *C, float normal[3], float plane[3],
invert_m3_m3(mat, imat);
transpose_m3(mat);
- ob= obedit;
+ ob = obedit;
- if (ob->type==OB_MESH) {
- Mesh *me= ob->data;
+ if (ob->type == OB_MESH) {
+ Mesh *me = ob->data;
BMEditMesh *em = me->edit_btmesh;
BMVert *eve;
BMEditSelection ese;
- float vec[3]= {0, 0, 0};
+ float vec[3] = {0, 0, 0};
/* USE LAST SELECTED WITH ACTIVE */
if (activeOnly && BM_select_history_active_get(em->bm, &ese)) {
@@ -711,17 +711,17 @@ int getTransformOrientation(const bContext *C, float normal[3], float plane[3],
}
} /* end editmesh */
else if (ELEM(obedit->type, OB_CURVE, OB_SURF)) {
- Curve *cu= obedit->data;
+ Curve *cu = obedit->data;
Nurb *nu;
BezTriple *bezt;
int a;
- ListBase *nurbs= BKE_curve_editNurbs_get(cu);
+ ListBase *nurbs = BKE_curve_editNurbs_get(cu);
for (nu = nurbs->first; nu; nu = nu->next) {
/* only bezier has a normal */
if (nu->type == CU_BEZIER) {
- bezt= nu->bezt;
- a= nu->pntsu;
+ bezt = nu->bezt;
+ a = nu->pntsu;
while (a--) {
/* exception */
if ((bezt->f1 & SELECT) + (bezt->f2 & SELECT) + (bezt->f3 & SELECT) > SELECT) {
@@ -747,7 +747,7 @@ int getTransformOrientation(const bContext *C, float normal[3], float plane[3],
result = ORIENTATION_NORMAL;
}
}
- else if (obedit->type==OB_MBALL) {
+ else if (obedit->type == OB_MBALL) {
#if 0 // XXX
/* editmball.c */
MetaElem *ml, *ml_sel = NULL;
@@ -784,7 +784,7 @@ int getTransformOrientation(const bContext *C, float normal[3], float plane[3],
bArmature *arm = obedit->data;
EditBone *ebone;
- for (ebone = arm->edbo->first; ebone; ebone=ebone->next) {
+ for (ebone = arm->edbo->first; ebone; ebone = ebone->next) {
if (arm->layer & ebone->layer) {
if (ebone->flag & BONE_SELECTED) {
float tmat[3][3];
@@ -819,7 +819,7 @@ int getTransformOrientation(const bContext *C, float normal[3], float plane[3],
}
}
else if (ob && (ob->mode & OB_MODE_POSE)) {
- bArmature *arm= ob->data;
+ bArmature *arm = ob->data;
bPoseChannel *pchan;
int totsel;
@@ -828,7 +828,7 @@ int getTransformOrientation(const bContext *C, float normal[3], float plane[3],
float imat[3][3], mat[3][3];
/* use channels to get stats */
- for (pchan= ob->pose->chanbase.first; pchan; pchan= pchan->next) {
+ for (pchan = ob->pose->chanbase.first; pchan; pchan = pchan->next) {
if (pchan->bone && pchan->bone->flag & BONE_TRANSFORM) {
add_v3_v3(normal, pchan->pose_mat[2]);
add_v3_v3(plane, pchan->pose_mat[1]);
@@ -847,7 +847,7 @@ int getTransformOrientation(const bContext *C, float normal[3], float plane[3],
result = ORIENTATION_EDGE;
}
}
- else if (ob && (ob->mode & (OB_MODE_ALL_PAINT|OB_MODE_PARTICLE_EDIT))) {
+ else if (ob && (ob->mode & (OB_MODE_ALL_PAINT | OB_MODE_PARTICLE_EDIT))) {
/* pass */
}
else {
@@ -855,10 +855,10 @@ int getTransformOrientation(const bContext *C, float normal[3], float plane[3],
ob = OBACT;
if (ob && !(ob->flag & SELECT)) ob = NULL;
- for (base= scene->base.first; base; base= base->next) {
+ for (base = scene->base.first; base; base = base->next) {
if (TESTBASELIB(v3d, base)) {
if (ob == NULL) {
- ob= base->object;
+ ob = base->object;
break;
}
}
@@ -876,8 +876,8 @@ int getTransformOrientation(const bContext *C, float normal[3], float plane[3],
void ED_getTransformOrientationMatrix(const bContext *C, float orientation_mat[][3], int activeOnly)
{
- float normal[3]={0.0, 0.0, 0.0};
- float plane[3]={0.0, 0.0, 0.0};
+ float normal[3] = {0.0, 0.0, 0.0};
+ float plane[3] = {0.0, 0.0, 0.0};
int type;
diff --git a/source/blender/editors/transform/transform_snap.c b/source/blender/editors/transform/transform_snap.c
index a04ce1ca213..9ebd43cd0d1 100644
--- a/source/blender/editors/transform/transform_snap.c
+++ b/source/blender/editors/transform/transform_snap.c
@@ -129,13 +129,13 @@ int BIF_snappingSupported(Object *obedit)
int validSnap(TransInfo *t)
{
- return (t->tsnap.status & (POINT_INIT|TARGET_INIT)) == (POINT_INIT|TARGET_INIT) ||
- (t->tsnap.status & (MULTI_POINTS|TARGET_INIT)) == (MULTI_POINTS|TARGET_INIT);
+ return (t->tsnap.status & (POINT_INIT | TARGET_INIT)) == (POINT_INIT | TARGET_INIT) ||
+ (t->tsnap.status & (MULTI_POINTS | TARGET_INIT)) == (MULTI_POINTS | TARGET_INIT);
}
int activeSnap(TransInfo *t)
{
- return (t->modifiers & (MOD_SNAP|MOD_SNAP_INVERT)) == MOD_SNAP || (t->modifiers & (MOD_SNAP|MOD_SNAP_INVERT)) == MOD_SNAP_INVERT;
+ return (t->modifiers & (MOD_SNAP | MOD_SNAP_INVERT)) == MOD_SNAP || (t->modifiers & (MOD_SNAP | MOD_SNAP_INVERT)) == MOD_SNAP_INVERT;
}
void drawSnapping(const struct bContext *C, TransInfo *t)
@@ -144,13 +144,13 @@ void drawSnapping(const struct bContext *C, TransInfo *t)
unsigned char col[4], selectedCol[4], activeCol[4];
UI_GetThemeColor3ubv(TH_TRANSFORM, col);
- col[3]= 128;
+ col[3] = 128;
UI_GetThemeColor3ubv(TH_SELECT, selectedCol);
- selectedCol[3]= 128;
+ selectedCol[3] = 128;
UI_GetThemeColor3ubv(TH_ACTIVE, activeCol);
- activeCol[3]= 192;
+ activeCol[3] = 192;
if (t->spacetype == SPACE_VIEW3D) {
TransSnapPoint *p;
@@ -187,31 +187,31 @@ void drawSnapping(const struct bContext *C, TransInfo *t)
glColor4ubv(activeCol);
glBegin(GL_LINES);
- glVertex3f(t->tsnap.snapPoint[0], t->tsnap.snapPoint[1], t->tsnap.snapPoint[2]);
- glVertex3f(t->tsnap.snapPoint[0] + t->tsnap.snapNormal[0],
- t->tsnap.snapPoint[1] + t->tsnap.snapNormal[1],
- t->tsnap.snapPoint[2] + t->tsnap.snapNormal[2]);
- glEnd();
+ glVertex3f(t->tsnap.snapPoint[0], t->tsnap.snapPoint[1], t->tsnap.snapPoint[2]);
+ glVertex3f(t->tsnap.snapPoint[0] + t->tsnap.snapNormal[0],
+ t->tsnap.snapPoint[1] + t->tsnap.snapNormal[1],
+ t->tsnap.snapPoint[2] + t->tsnap.snapNormal[2]);
+ glEnd();
}
if (v3d->zbuf)
glEnable(GL_DEPTH_TEST);
}
- else if (t->spacetype==SPACE_IMAGE) {
+ else if (t->spacetype == SPACE_IMAGE) {
/* This will not draw, and Im nor sure why - campbell */
#if 0
float xuser_asp, yuser_asp;
int wi, hi;
float w, h;
- calc_image_view(G.sima, 'f'); // float
+ calc_image_view(G.sima, 'f'); // float
myortho2(G.v2d->cur.xmin, G.v2d->cur.xmax, G.v2d->cur.ymin, G.v2d->cur.ymax);
glLoadIdentity();
ED_space_image_aspect(t->sa->spacedata.first, &xuser_aspx, &yuser_asp);
ED_space_image_width(t->sa->spacedata.first, &wi, &hi);
- w = (((float)wi)/256.0f)*G.sima->zoom * xuser_asp;
- h = (((float)hi)/256.0f)*G.sima->zoom * yuser_asp;
+ w = (((float)wi) / 256.0f) * G.sima->zoom * xuser_asp;
+ h = (((float)hi) / 256.0f) * G.sima->zoom * yuser_asp;
cpack(0xFFFFFF);
glTranslatef(t->tsnap.snapPoint[0], t->tsnap.snapPoint[1], 0.0f);
@@ -220,10 +220,10 @@ void drawSnapping(const struct bContext *C, TransInfo *t)
setlinestyle(0);
cpack(0x0);
- fdrawline(-0.020/w, 0, -0.1/w, 0);
- fdrawline(0.1/w, 0, .020/w, 0);
- fdrawline(0, -0.020/h, 0, -0.1/h);
- fdrawline(0, 0.1/h, 0, 0.020/h);
+ fdrawline(-0.020 / w, 0, -0.1 / w, 0);
+ fdrawline(0.1 / w, 0, .020 / w, 0);
+ fdrawline(0, -0.020 / h, 0, -0.1 / h);
+ fdrawline(0, 0.1 / h, 0, 0.020 / h);
glTranslatef(-t->tsnap.snapPoint[0], -t->tsnap.snapPoint[1], 0.0f);
setlinestyle(0);
@@ -261,12 +261,12 @@ void applyProject(TransInfo *t)
float imat[4][4];
int i;
- if (t->flag & (T_EDIT|T_POSE)) {
- Object *ob = t->obedit?t->obedit:t->poseobj;
+ if (t->flag & (T_EDIT | T_POSE)) {
+ Object *ob = t->obedit ? t->obedit : t->poseobj;
invert_m4_m4(imat, ob->obmat);
}
- for (i = 0 ; i < t->total; i++, td++) {
+ for (i = 0; i < t->total; i++, td++) {
float iloc[3], loc[3], no[3];
float mval[2];
int dist = 1000;
@@ -278,12 +278,12 @@ void applyProject(TransInfo *t)
continue;
copy_v3_v3(iloc, td->loc);
- if (t->flag & (T_EDIT|T_POSE)) {
- Object *ob = t->obedit?t->obedit:t->poseobj;
+ if (t->flag & (T_EDIT | T_POSE)) {
+ Object *ob = t->obedit ? t->obedit : t->poseobj;
mul_m4_v3(ob->obmat, iloc);
}
else if (t->flag & T_OBJECT) {
- td->ob->recalc |= OB_RECALC_OB|OB_RECALC_DATA|OB_RECALC_TIME;
+ td->ob->recalc |= OB_RECALC_OB | OB_RECALC_DATA | OB_RECALC_TIME;
BKE_object_handle_update(t->scene, td->ob);
copy_v3_v3(iloc, td->ob->obmat[3]);
}
@@ -387,7 +387,7 @@ static void initSnappingMode(TransInfo *t)
/* Edit mode */
if (t->tsnap.applySnap != NULL && // A snapping function actually exist
- (obedit != NULL && ELEM4(obedit->type, OB_MESH, OB_ARMATURE, OB_CURVE, OB_LATTICE)) ) // Temporary limited to edit mode meshes, armature, curves
+ (obedit != NULL && ELEM4(obedit->type, OB_MESH, OB_ARMATURE, OB_CURVE, OB_LATTICE)) ) // Temporary limited to edit mode meshes, armature, curves
{
/* Exclude editmesh if using proportional edit */
if ((obedit->type == OB_MESH) && (t->flag & T_PROP_EDIT)) {
@@ -399,13 +399,13 @@ static void initSnappingMode(TransInfo *t)
}
/* Particles edit mode*/
else if (t->tsnap.applySnap != NULL && // A snapping function actually exist
- (obedit == NULL && BASACT && BASACT->object && BASACT->object->mode & OB_MODE_PARTICLE_EDIT ))
+ (obedit == NULL && BASACT && BASACT->object && BASACT->object->mode & OB_MODE_PARTICLE_EDIT))
{
t->tsnap.modeSelect = SNAP_ALL;
}
/* Object mode */
else if (t->tsnap.applySnap != NULL && // A snapping function actually exist
- (obedit == NULL) ) // Object Mode
+ (obedit == NULL) ) // Object Mode
{
t->tsnap.modeSelect = SNAP_NOT_SELECTED;
}
@@ -438,7 +438,7 @@ void initSnapping(TransInfo *t, wmOperator *op)
if (RNA_struct_property_is_set(op->ptr, "snap_point")) {
RNA_float_get_array(op->ptr, "snap_point", t->tsnap.snapPoint);
- t->tsnap.status |= SNAP_FORCED|POINT_INIT;
+ t->tsnap.status |= SNAP_FORCED | POINT_INIT;
}
/* snap align only defined in specific cases */
@@ -497,33 +497,33 @@ static void setSnappingCallback(TransInfo *t)
}
switch (t->mode) {
- case TFM_TRANSLATION:
- t->tsnap.applySnap = ApplySnapTranslation;
- t->tsnap.distance = TranslationBetween;
- break;
- case TFM_ROTATION:
- t->tsnap.applySnap = ApplySnapRotation;
- t->tsnap.distance = RotationBetween;
-
- // Can't do TARGET_CENTER with rotation, use TARGET_MEDIAN instead
- if (t->tsnap.target == SCE_SNAP_TARGET_CENTER) {
- t->tsnap.target = SCE_SNAP_TARGET_MEDIAN;
- t->tsnap.targetSnap = TargetSnapMedian;
- }
- break;
- case TFM_RESIZE:
- t->tsnap.applySnap = ApplySnapResize;
- t->tsnap.distance = ResizeBetween;
-
- // Can't do TARGET_CENTER with resize, use TARGET_MEDIAN instead
- if (t->tsnap.target == SCE_SNAP_TARGET_CENTER) {
- t->tsnap.target = SCE_SNAP_TARGET_MEDIAN;
- t->tsnap.targetSnap = TargetSnapMedian;
- }
- break;
- default:
- t->tsnap.applySnap = NULL;
- break;
+ case TFM_TRANSLATION:
+ t->tsnap.applySnap = ApplySnapTranslation;
+ t->tsnap.distance = TranslationBetween;
+ break;
+ case TFM_ROTATION:
+ t->tsnap.applySnap = ApplySnapRotation;
+ t->tsnap.distance = RotationBetween;
+
+ // Can't do TARGET_CENTER with rotation, use TARGET_MEDIAN instead
+ if (t->tsnap.target == SCE_SNAP_TARGET_CENTER) {
+ t->tsnap.target = SCE_SNAP_TARGET_MEDIAN;
+ t->tsnap.targetSnap = TargetSnapMedian;
+ }
+ break;
+ case TFM_RESIZE:
+ t->tsnap.applySnap = ApplySnapResize;
+ t->tsnap.distance = ResizeBetween;
+
+ // Can't do TARGET_CENTER with resize, use TARGET_MEDIAN instead
+ if (t->tsnap.target == SCE_SNAP_TARGET_CENTER) {
+ t->tsnap.target = SCE_SNAP_TARGET_MEDIAN;
+ t->tsnap.targetSnap = TargetSnapMedian;
+ }
+ break;
+ default:
+ t->tsnap.applySnap = NULL;
+ break;
}
}
@@ -550,7 +550,7 @@ int updateSelectedSnapPoint(TransInfo *t)
int closest_dist = 0;
int screen_loc[2];
- for ( p = t->tsnap.points.first; p; p = p->next ) {
+ for (p = t->tsnap.points.first; p; p = p->next) {
int dx, dy;
int dist;
@@ -663,8 +663,8 @@ static float RotationBetween(TransInfo *t, float p1[3], float p2[3])
float angle, start[3], end[3], center[3];
copy_v3_v3(center, t->center);
- if (t->flag & (T_EDIT|T_POSE)) {
- Object *ob= t->obedit?t->obedit:t->poseobj;
+ if (t->flag & (T_EDIT | T_POSE)) {
+ Object *ob = t->obedit ? t->obedit : t->poseobj;
mul_m4_v3(ob->obmat, center);
}
@@ -719,8 +719,8 @@ static float ResizeBetween(TransInfo *t, float p1[3], float p2[3])
float d1[3], d2[3], center[3], len_d1;
copy_v3_v3(center, t->center);
- if (t->flag & (T_EDIT|T_POSE)) {
- Object *ob= t->obedit?t->obedit:t->poseobj;
+ if (t->flag & (T_EDIT | T_POSE)) {
+ Object *ob = t->obedit ? t->obedit : t->poseobj;
mul_m4_v3(ob->obmat, center);
}
@@ -739,7 +739,7 @@ static float ResizeBetween(TransInfo *t, float p1[3], float p2[3])
/********************** CALC **************************/
-static void UNUSED_FUNCTION(CalcSnapGrid)(TransInfo *t, float *UNUSED(vec))
+static void UNUSED_FUNCTION(CalcSnapGrid) (TransInfo * t, float *UNUSED(vec))
{
snapGridAction(t, t->tsnap.snapPoint, BIG_GEARS);
}
@@ -830,9 +830,9 @@ static void CalcSnapGeometry(TransInfo *t, float *UNUSED(vec))
if (max_dist != FLT_MAX) {
copy_v3_v3(loc, p);
/* XXX, is there a correct normal in this case ???, for now just z up */
- no[0]= 0.0;
- no[1]= 0.0;
- no[2]= 1.0;
+ no[0] = 0.0;
+ no[1] = 0.0;
+ no[2] = 1.0;
found = 1;
}
@@ -861,12 +861,12 @@ static void CalcSnapGeometry(TransInfo *t, float *UNUSED(vec))
t->tsnap.status &= ~POINT_INIT;
}
}
- else if (t->spacetype == SPACE_IMAGE && t->obedit != NULL && t->obedit->type==OB_MESH) {
+ else if (t->spacetype == SPACE_IMAGE && t->obedit != NULL && t->obedit->type == OB_MESH) {
/* same as above but for UV's */
- Image *ima= ED_space_image(t->sa->spacedata.first);
+ Image *ima = ED_space_image(t->sa->spacedata.first);
float aspx, aspy, co[2];
- UI_view2d_region_to_view(&t->ar->v2d, t->mval[0], t->mval[1], co, co+1);
+ UI_view2d_region_to_view(&t->ar->v2d, t->mval[0], t->mval[1], co, co + 1);
if (ED_uvedit_nearest_uv(t->scene, t->obedit, ima, co, t->tsnap.snapPoint)) {
ED_space_image_uv_aspect(t->sa->spacedata.first, &aspx, &aspy);
@@ -888,8 +888,8 @@ static void TargetSnapCenter(TransInfo *t)
/* Only need to calculate once */
if ((t->tsnap.status & TARGET_INIT) == 0) {
copy_v3_v3(t->tsnap.snapTarget, t->center);
- if (t->flag & (T_EDIT|T_POSE)) {
- Object *ob= t->obedit?t->obedit:t->poseobj;
+ if (t->flag & (T_EDIT | T_POSE)) {
+ Object *ob = t->obedit ? t->obedit : t->poseobj;
mul_m4_v3(ob->obmat, t->tsnap.snapTarget);
}
@@ -905,7 +905,7 @@ static void TargetSnapActive(TransInfo *t)
TransData *active_td = NULL;
int i;
- for (td = t->data, i = 0 ; i < t->total && td->flag & TD_SELECTED ; i++, td++) {
+ for (td = t->data, i = 0; i < t->total && td->flag & TD_SELECTED; i++, td++) {
if (td->flag & TD_ACTIVE) {
active_td = td;
break;
@@ -915,8 +915,8 @@ static void TargetSnapActive(TransInfo *t)
if (active_td) {
copy_v3_v3(t->tsnap.snapTarget, active_td->center);
- if (t->flag & (T_EDIT|T_POSE)) {
- Object *ob= t->obedit?t->obedit:t->poseobj;
+ if (t->flag & (T_EDIT | T_POSE)) {
+ Object *ob = t->obedit ? t->obedit : t->poseobj;
mul_m4_v3(ob->obmat, t->tsnap.snapTarget);
}
@@ -942,14 +942,14 @@ static void TargetSnapMedian(TransInfo *t)
t->tsnap.snapTarget[1] = 0;
t->tsnap.snapTarget[2] = 0;
- for (td = t->data, i = 0 ; i < t->total && td->flag & TD_SELECTED ; i++, td++) {
+ for (td = t->data, i = 0; i < t->total && td->flag & TD_SELECTED; i++, td++) {
add_v3_v3(t->tsnap.snapTarget, td->center);
}
mul_v3_fl(t->tsnap.snapTarget, 1.0 / i);
- if (t->flag & (T_EDIT|T_POSE)) {
- Object *ob= t->obedit?t->obedit:t->poseobj;
+ if (t->flag & (T_EDIT | T_POSE)) {
+ Object *ob = t->obedit ? t->obedit : t->poseobj;
mul_m4_v3(ob->obmat, t->tsnap.snapTarget);
}
@@ -966,7 +966,7 @@ static void TargetSnapClosest(TransInfo *t)
/* Object mode */
if (t->flag & T_OBJECT) {
int i;
- for (td = t->data, i = 0 ; i < t->total && td->flag & TD_SELECTED ; i++, td++) {
+ for (td = t->data, i = 0; i < t->total && td->flag & TD_SELECTED; i++, td++) {
struct BoundBox *bb = BKE_object_boundbox_get(td->ob);
/* use boundbox if possible */
@@ -1008,14 +1008,14 @@ static void TargetSnapClosest(TransInfo *t)
}
else {
int i;
- for (td = t->data, i = 0 ; i < t->total && td->flag & TD_SELECTED ; i++, td++) {
+ for (td = t->data, i = 0; i < t->total && td->flag & TD_SELECTED; i++, td++) {
float loc[3];
float dist;
copy_v3_v3(loc, td->center);
- if (t->flag & (T_EDIT|T_POSE)) {
- Object *ob= t->obedit?t->obedit:t->poseobj;
+ if (t->flag & (T_EDIT | T_POSE)) {
+ Object *ob = t->obedit ? t->obedit : t->poseobj;
mul_m4_v3(ob->obmat, loc);
}
@@ -1230,10 +1230,10 @@ static int snapArmature(short snap_mode, ARegion *ar, Object *ob, bArmature *arm
if (arm->edbo) {
EditBone *eBone;
- for (eBone=arm->edbo->first; eBone; eBone=eBone->next) {
+ for (eBone = arm->edbo->first; eBone; eBone = eBone->next) {
if (eBone->layer & arm->layer) {
/* skip hidden or moving (selected) bones */
- if ((eBone->flag & (BONE_HIDDEN_A|BONE_ROOTSEL|BONE_TIPSEL))==0) {
+ if ((eBone->flag & (BONE_HIDDEN_A | BONE_ROOTSEL | BONE_TIPSEL)) == 0) {
switch (snap_mode) {
case SCE_SNAP_MODE_VERTEX:
retval |= snapVertex(ar, eBone->head, NULL, obmat, NULL, ray_start, ray_start_local, ray_normal_local, mval, r_loc, NULL, r_dist, r_depth);
@@ -1251,10 +1251,10 @@ static int snapArmature(short snap_mode, ARegion *ar, Object *ob, bArmature *arm
bPoseChannel *pchan;
Bone *bone;
- for (pchan= ob->pose->chanbase.first; pchan; pchan= pchan->next) {
- bone= pchan->bone;
+ for (pchan = ob->pose->chanbase.first; pchan; pchan = pchan->next) {
+ bone = pchan->bone;
/* skip hidden bones */
- if (bone && !(bone->flag & (BONE_HIDDEN_P|BONE_HIDDEN_PG))) {
+ if (bone && !(bone->flag & (BONE_HIDDEN_P | BONE_HIDDEN_PG))) {
float *head_vec = pchan->pose_head;
float *tail_vec = pchan->pose_tail;
@@ -1313,22 +1313,22 @@ static int snapDerivedMesh(short snap_mode, ARegion *ar, Object *ob, DerivedMesh
switch (snap_mode) {
case SCE_SNAP_MODE_FACE:
{
-#ifdef USE_BVH_FACE_SNAP // Added for durian
+#ifdef USE_BVH_FACE_SNAP // Added for durian
BVHTreeRayHit hit;
BVHTreeFromMesh treeData;
/* local scale in normal direction */
float local_scale = len_v3(ray_normal_local);
- treeData.em_evil= em;
+ treeData.em_evil = em;
bvhtree_from_mesh_faces(&treeData, dm, 0.0f, 4, 6);
hit.index = -1;
hit.dist = *r_depth * (*r_depth == FLT_MAX ? 1.0f : local_scale);
if (treeData.tree && BLI_bvhtree_ray_cast(treeData.tree, ray_start_local, ray_normal_local, 0.0f, &hit, treeData.raycast_callback, &treeData) != -1) {
- if (hit.dist/local_scale <= *r_depth) {
- *r_depth= hit.dist/local_scale;
+ if (hit.dist / local_scale <= *r_depth) {
+ *r_depth = hit.dist / local_scale;
copy_v3_v3(r_loc, hit.co);
copy_v3_v3(r_no, hit.no);
@@ -1356,7 +1356,7 @@ static int snapDerivedMesh(short snap_mode, ARegion *ar, Object *ob, DerivedMesh
EDBM_index_arrays_init(em, 0, 0, 1);
}
- for ( i = 0; i < totface; i++) {
+ for (i = 0; i < totface; i++) {
BMFace *efa = NULL;
MFace *f = faces + i;
@@ -1384,7 +1384,7 @@ static int snapDerivedMesh(short snap_mode, ARegion *ar, Object *ob, DerivedMesh
BMLoop *l;
l = BM_iter_new(&iter, em->bm, BM_LOOPS_OF_FACE, efa);
- for ( ; l; l=BM_iter_step(&iter)) {
+ for (; l; l = BM_iter_step(&iter)) {
if (BM_elem_flag_test(l->v, BM_ELEM_SELECT)) {
test = 0;
break;
@@ -1430,7 +1430,7 @@ static int snapDerivedMesh(short snap_mode, ARegion *ar, Object *ob, DerivedMesh
EDBM_index_arrays_init(em, 1, 0, 0);
}
- for ( i = 0; i < totvert; i++) {
+ for (i = 0; i < totvert; i++) {
BMVert *eve = NULL;
MVert *v = verts + i;
@@ -1481,7 +1481,7 @@ static int snapDerivedMesh(short snap_mode, ARegion *ar, Object *ob, DerivedMesh
EDBM_index_arrays_init(em, 0, 1, 0);
}
- for ( i = 0; i < totedge; i++) {
+ for (i = 0; i < totedge; i++) {
BMEdge *eed = NULL;
MEdge *e = edges + i;
@@ -1502,8 +1502,8 @@ static int snapDerivedMesh(short snap_mode, ARegion *ar, Object *ob, DerivedMesh
eed = EDBM_edge_at_index(em, index);
if (eed && (BM_elem_flag_test(eed, BM_ELEM_HIDDEN) ||
- BM_elem_flag_test(eed->v1, BM_ELEM_SELECT) ||
- BM_elem_flag_test(eed->v2, BM_ELEM_SELECT)))
+ BM_elem_flag_test(eed->v1, BM_ELEM_SELECT) ||
+ BM_elem_flag_test(eed->v2, BM_ELEM_SELECT)))
{
test = 0;
}
@@ -1531,7 +1531,7 @@ static int snapObject(Scene *scene, ARegion *ar, Object *ob, int editobject, flo
const float ray_start[3], const float ray_normal[3], const float mval[2],
float r_loc[3], float r_no[3], int *r_dist, float *r_depth)
{
- ToolSettings *ts= scene->toolsettings;
+ ToolSettings *ts = scene->toolsettings;
int retval = 0;
if (ob->type == OB_MESH) {
@@ -1580,18 +1580,18 @@ static int snapObjects(Scene *scene, View3D *v3d, ARegion *ar, Object *obedit, c
*
* To solve that problem, we do it first as an exception.
* */
- base= BASACT;
+ base = BASACT;
if (base && base->object && base->object->mode & OB_MODE_PARTICLE_EDIT) {
Object *ob = base->object;
retval |= snapObject(scene, ar, ob, 0, ob->obmat, ray_start, ray_normal, mval, r_loc, r_no, r_dist, &depth);
}
- for ( base = FIRSTBASE; base != NULL; base = base->next ) {
- if ( (BASE_VISIBLE(v3d, base)) &&
- (base->flag & (BA_HAS_RECALC_OB|BA_HAS_RECALC_DATA)) == 0 &&
+ for (base = FIRSTBASE; base != NULL; base = base->next) {
+ if ((BASE_VISIBLE(v3d, base)) &&
+ (base->flag & (BA_HAS_RECALC_OB | BA_HAS_RECALC_DATA)) == 0 &&
- ( (mode == SNAP_NOT_SELECTED && (base->flag & (SELECT|BA_WAS_SEL)) == 0) ||
- (ELEM(mode, SNAP_ALL, SNAP_NOT_OBEDIT) && base != BASACT)) )
+ ((mode == SNAP_NOT_SELECTED && (base->flag & (SELECT | BA_WAS_SEL)) == 0) ||
+ (ELEM(mode, SNAP_ALL, SNAP_NOT_OBEDIT) && base != BASACT)))
{
Object *ob = base->object;
@@ -1719,7 +1719,7 @@ static int peelDerivedMesh(Object *ob, DerivedMesh *dm, float obmat[][4],
MFace *faces = dm->getTessFaceArray(dm);
int i;
- for ( i = 0; i < totface; i++) {
+ for (i = 0; i < totface; i++) {
MFace *f = faces + i;
float lambda;
int result;
@@ -1837,7 +1837,7 @@ static int peelObjects(Scene *scene, View3D *v3d, ARegion *ar, Object *obedit, L
if (ob->type == OB_MESH) {
int val = 0;
- if (ob != obedit && ((mode == SNAP_NOT_SELECTED && (base->flag & (SELECT|BA_WAS_SEL)) == 0) || ELEM(mode, SNAP_ALL, SNAP_NOT_OBEDIT))) {
+ if (ob != obedit && ((mode == SNAP_NOT_SELECTED && (base->flag & (SELECT | BA_WAS_SEL)) == 0) || ELEM(mode, SNAP_ALL, SNAP_NOT_OBEDIT))) {
DerivedMesh *dm = mesh_get_derived_final(scene, ob, CD_MASK_BAREMESH);
val = peelDerivedMesh(ob, dm, ob->obmat, ray_start, ray_normal, mval, depth_peels);
@@ -1918,7 +1918,7 @@ static void applyGrid(TransInfo *t, float *val, int max_index, float fac[3], Gea
if (max_index > 2) {
printf("applyGrid: invalid index %d, clamping\n", max_index);
- max_index= 2;
+ max_index = 2;
}
// Early bailing out if no need to snap
@@ -1926,11 +1926,11 @@ static void applyGrid(TransInfo *t, float *val, int max_index, float fac[3], Gea
return;
/* evil hack - snapping needs to be adapted for image aspect ratio */
- if ((t->spacetype==SPACE_IMAGE) && (t->mode==TFM_TRANSLATION)) {
- ED_space_image_uv_aspect(t->sa->spacedata.first, asp, asp+1);
+ if ((t->spacetype == SPACE_IMAGE) && (t->mode == TFM_TRANSLATION)) {
+ ED_space_image_uv_aspect(t->sa->spacedata.first, asp, asp + 1);
}
- for (i=0; i<=max_index; i++) {
- val[i]= fac[action]*asp[i]*(float)floor(val[i]/(fac[action]*asp[i]) +0.5f);
+ for (i = 0; i <= max_index; i++) {
+ val[i] = fac[action] * asp[i] * (float)floor(val[i] / (fac[action] * asp[i]) + 0.5f);
}
}
diff --git a/source/blender/editors/util/undo.c b/source/blender/editors/util/undo.c
index e7a9ab9ca73..65d23641ab5 100644
--- a/source/blender/editors/util/undo.c
+++ b/source/blender/editors/util/undo.c
@@ -138,20 +138,20 @@ static int ed_undo_step(bContext *C, int step, const char *undoname)
return ED_undo_gpencil_step(C, step, undoname);
}
- if (sa && sa->spacetype == SPACE_IMAGE) {
+ if (sa && (sa->spacetype == SPACE_IMAGE)) {
SpaceImage *sima = (SpaceImage *)sa->spacedata.first;
- if ((obact && obact->mode & OB_MODE_TEXTURE_PAINT) || sima->flag & SI_DRAWTOOL) {
+ if ((obact && (obact->mode & OB_MODE_TEXTURE_PAINT)) || (sima->flag & SI_DRAWTOOL)) {
if (!ED_undo_paint_step(C, UNDO_PAINT_IMAGE, step, undoname) && undoname)
if (U.uiflag & USER_GLOBALUNDO)
BKE_undo_name(C, undoname);
-
+
WM_event_add_notifier(C, NC_WINDOW, NULL);
return OPERATOR_FINISHED;
}
}
- if (sa && sa->spacetype == SPACE_TEXT) {
+ if (sa && (sa->spacetype == SPACE_TEXT)) {
ED_text_undo_step(C, step);
}
else if (obedit) {
@@ -160,7 +160,7 @@ static int ed_undo_step(bContext *C, int step, const char *undoname)
undo_editmode_name(C, undoname);
else
undo_editmode_step(C, step);
-
+
WM_event_add_notifier(C, NC_GEOM | ND_DATA, NULL);
}
}
@@ -195,7 +195,7 @@ static int ed_undo_step(bContext *C, int step, const char *undoname)
BKE_undo_name(C, undoname);
else
BKE_undo_step(C, step);
-
+
WM_event_add_notifier(C, NC_SCENE | ND_LAYER_CONTENT, CTX_data_scene(C));
}
@@ -238,12 +238,12 @@ int ED_undo_valid(const bContext *C, const char *undoname)
if (sa && sa->spacetype == SPACE_IMAGE) {
SpaceImage *sima = (SpaceImage *)sa->spacedata.first;
- if ((obact && obact->mode & OB_MODE_TEXTURE_PAINT) || sima->flag & SI_DRAWTOOL) {
+ if ((obact && (obact->mode & OB_MODE_TEXTURE_PAINT)) || (sima->flag & SI_DRAWTOOL)) {
return 1;
}
}
- if (sa && sa->spacetype == SPACE_TEXT) {
+ if (sa && (sa->spacetype == SPACE_TEXT)) {
return 1;
}
else if (obedit) {
@@ -256,11 +256,11 @@ int ED_undo_valid(const bContext *C, const char *undoname)
/* if below tests fail, global undo gets executed */
if (obact && obact->mode & OB_MODE_TEXTURE_PAINT) {
- if (ED_undo_paint_valid(UNDO_PAINT_IMAGE, undoname) )
+ if (ED_undo_paint_valid(UNDO_PAINT_IMAGE, undoname))
return 1;
}
else if (obact && obact->mode & OB_MODE_SCULPT) {
- if (ED_undo_paint_valid(UNDO_PAINT_MESH, undoname) )
+ if (ED_undo_paint_valid(UNDO_PAINT_MESH, undoname))
return 1;
}
else if (obact && obact->mode & OB_MODE_PARTICLE_EDIT) {
@@ -276,7 +276,7 @@ int ED_undo_valid(const bContext *C, const char *undoname)
static int ed_undo_exec(bContext *C, wmOperator *UNUSED(op))
{
- /* "last operator" should disappear, later we can tie ths with undo stack nicer */
+ /* "last operator" should disappear, later we can tie this with undo stack nicer */
WM_operator_stack_clear(CTX_wm_manager(C));
return ed_undo_step(C, 1, NULL);
}
diff --git a/source/blender/editors/uvedit/uvedit_ops.c b/source/blender/editors/uvedit/uvedit_ops.c
index 53331dbe079..b15df9c3e89 100644
--- a/source/blender/editors/uvedit/uvedit_ops.c
+++ b/source/blender/editors/uvedit/uvedit_ops.c
@@ -3784,7 +3784,8 @@ void ED_keymap_uvedit(wmKeyConfig *keyconf)
RNA_string_set(kmi->ptr, "data_path", "space_data.uv_editor.pivot_point");
RNA_string_set(kmi->ptr, "value", "CURSOR");
- ED_object_generic_keymap(keyconf, keymap, 2);
+ ED_keymap_proportional_cycle(keyconf, keymap);
+ ED_keymap_proportional_editmode(keyconf, keymap, FALSE);
transform_keymap_for_space(keyconf, keymap, SPACE_IMAGE);
}
diff --git a/source/blender/editors/uvedit/uvedit_parametrizer.c b/source/blender/editors/uvedit/uvedit_parametrizer.c
index 4a6de737e7a..87ff36ebf27 100644
--- a/source/blender/editors/uvedit/uvedit_parametrizer.c
+++ b/source/blender/editors/uvedit/uvedit_parametrizer.c
@@ -706,7 +706,7 @@ static void p_face_restore_uvs(PFace *f)
/* Construction (use only during construction, relies on u.key being set */
-static PVert *p_vert_add(PHandle *handle, PHashKey key, float *co, PEdge *e)
+static PVert *p_vert_add(PHandle *handle, PHashKey key, const float co[3], PEdge *e)
{
PVert *v = (PVert *)BLI_memarena_alloc(handle->arena, sizeof *v);
copy_v3_v3(v->co, co);
@@ -719,7 +719,7 @@ static PVert *p_vert_add(PHandle *handle, PHashKey key, float *co, PEdge *e)
return v;
}
-static PVert *p_vert_lookup(PHandle *handle, PHashKey key, float *co, PEdge *e)
+static PVert *p_vert_lookup(PHandle *handle, PHashKey key, const float co[3], PEdge *e)
{
PVert *v = (PVert *)phash_lookup(handle->hash_verts, key);
@@ -3596,7 +3596,7 @@ typedef struct SmoothNode {
int axis, ntri;
} SmoothNode;
-static void p_barycentric_2d(float *v1, float *v2, float *v3, float *p, float *b)
+static void p_barycentric_2d(const float v1[2], const float v2[2], const float v3[2], const float p[2], float b[3])
{
float a[2], c[2], h[2], div;
@@ -3624,7 +3624,7 @@ static void p_barycentric_2d(float *v1, float *v2, float *v3, float *p, float *b
}
}
-static PBool p_triangle_inside(SmoothTriangle *t, float *co)
+static PBool p_triangle_inside(SmoothTriangle *t, float co[2])
{
float b[3];
@@ -3706,7 +3706,7 @@ static void p_node_delete(SmoothNode *node)
MEM_freeN(node->tri);
}
-static PBool p_node_intersect(SmoothNode *node, float *co)
+static PBool p_node_intersect(SmoothNode *node, float co[2])
{
int i;
@@ -3726,7 +3726,7 @@ static PBool p_node_intersect(SmoothNode *node, float *co)
}
-/* smooothing */
+/* smoothing */
static int p_compare_float(const void *a, const void *b)
{
diff --git a/source/blender/editors/uvedit/uvedit_unwrap_ops.c b/source/blender/editors/uvedit/uvedit_unwrap_ops.c
index c8dbee65f6a..0930edbe46d 100644
--- a/source/blender/editors/uvedit/uvedit_unwrap_ops.c
+++ b/source/blender/editors/uvedit/uvedit_unwrap_ops.c
@@ -98,19 +98,14 @@ static int ED_uvedit_ensure_uvs(bContext *C, Scene *scene, Object *obedit)
SpaceLink *slink;
SpaceImage *sima;
- if (ED_uvedit_test(obedit)) {
+ if (ED_uvedit_test(obedit))
return 1;
- }
- if (em && em->bm->totface && !CustomData_has_layer(&em->bm->pdata, CD_MTEXPOLY)) {
- BM_data_layer_add(em->bm, &em->bm->pdata, CD_MTEXPOLY);
- BM_data_layer_add(em->bm, &em->bm->ldata, CD_MLOOPUV);
- ED_mesh_uv_loop_reset_ex(C, obedit->data, 0);
- }
+ if (em && em->bm->totface && !CustomData_has_layer(&em->bm->pdata, CD_MTEXPOLY))
+ ED_mesh_uv_texture_add(C, obedit->data, NULL, TRUE);
- if (!ED_uvedit_test(obedit)) {
+ if (!ED_uvedit_test(obedit))
return 0;
- }
ima = CTX_data_edit_image(C);