diff --git a/src/closure/.gitignore b/src/closure/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..240fb1c7a110d9396c846279e61665984d8fede0
--- /dev/null
+++ b/src/closure/.gitignore
@@ -0,0 +1 @@
+conf/depswriter/*.pyc
diff --git a/src/module_gtf/web_service/ws_data/gtf/workspace/-1/fme/exportv3.fmw b/src/module_gtf/web_service/ws_data/gtf/workspace/-1/fme/exportv3.fmw
index 915752d477e95a4c5d9860e3d815e5391d31864b..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100755
--- a/src/module_gtf/web_service/ws_data/gtf/workspace/-1/fme/exportv3.fmw
+++ b/src/module_gtf/web_service/ws_data/gtf/workspace/-1/fme/exportv3.fmw
@@ -1,2559 +0,0 @@
-#! <?xml version="1.0" encoding="UTF-8" ?>
-#! <WORKSPACE
-#    
-#    
-#    Ligne de commande pour exécuter le projet :
-#    
-#    
-#    C:\Apps\FME_2017.0.1.1x64\fme.exe C:\vm02.veremes.net\produit_vitis\web_services\gtf\trunk\ws_data\gtf\workspace\-1\fme\exportv3.fmw
-#          --idWorkspaceList "35"
-#          --destGexFile "C:\antoine_non_sauv\2017_11_gtf_export\test.gex"
-#          --GTF_CONNECTION_STRING "********"
-#    
-#    
-#!   FME_IMPLICIT_CSMAP_REPROJECTION_MODE="Datum"
-#!   SOURCE="NONE"
-#!   DESTINATION_ROUTING_FILE=""
-#!   LAST_SAVE_BUILD="FME(R) 2017.0.1.1 (20170512 - Build 17291 - WIN64)"
-#!   DOC_EXTENTS="8341.68 1887.5"
-#!   SHOW_INFO_NODES="true"
-#!   FME_DOCUMENT_GUID="24e88c09-2967-4adc-b277-b5ac32851349"
-#!   FME_SERVER_SERVICES=""
-#!   DESTINATION="NONE"
-#!   DOC_TOP_LEFT="-1097.25 -1510"
-#!   MARKDOWN_USAGE=""
-#!   MULTI_WRITER_DATASET_ORDER="BY_ID"
-#!   EXPLICIT_BOOKMARK_ORDER="false"
-#!   FME_BUILD_NUM="17291"
-#!   FME_DOCUMENT_PRIORGUID="fd89c3eb-5182-456f-bd29-c4bdae64195b,47d199cd-a566-402e-b9c6-4844847c098b,5a359828-7a13-4433-97c1-631ebac2f228,3c2eb166-2bb5-4c14-b1b9-165496ccf77d,b9f89332-b24a-4203-bf96-28924ba82071,2d525983-25e0-48e0-924f-e75221456754,dd1480d1-fb7f-4010-8027-72314e8d8cb3,df096b1c-049d-4eb1-a9b2-15d706b0ea54,3cb7b1f1-3810-4409-8a78-1eb1e1274190,18039d49-8f55-4145-89fd-b94fba95238b,004cd3a4-00fe-4b9c-933b-5986d0689edc,910f42aa-c3b6-11e7-b7dc-020000e1df2f,0e7248ea-c859-11e7-a6c1-020000e1df2f,7f09b758-378d-41e5-bc51-de9e768c02e4"
-#!   TERMINATE_REJECTED="NO"
-#!   FME_GEOMETRY_HANDLING="Enhanced"
-#!   PASSWORD=""
-#!   DESCRIPTION="&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Export de traitements GEX depuis GTF &lt;/p&gt;&#10;"
-#!   VIEW_POSITION="-674.786 428.655"
-#!   USAGE="&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;    &lt;br/&gt;&lt;/p&gt;"
-#!   MAX_LOG_FEATURES="200"
-#!   ATTR_TYPE_ENCODING="SDF"
-#!   END_PYTHON=""
-#!   WORKSPACE_VERSION="1"
-#!   TITLE="Export GTF"
-#!   IGNORE_READER_FAILURE="No"
-#!   LAST_SAVE_DATE="2018-02-04T21:24:43"
-#!   BEGIN_TCL=""
-#!   HISTORY="20120601,M.&lt;space&gt;Ambrosy,v3&lt;space&gt;:&lt;space&gt;Les&lt;space&gt;traitements&lt;space&gt;sont&lt;space&gt;dans&lt;space&gt;le&lt;space&gt;dossier&lt;space&gt;workspace,20140306,M.&lt;space&gt;Ambrosy,Refonte&lt;space&gt;et&lt;space&gt;gestion&lt;space&gt;des&lt;space&gt;m&lt;u00e9&gt;tadonn&lt;u00e9&gt;es,20140307,M.&lt;space&gt;Ambrosy,D&lt;u00e9&gt;sactivation&lt;space&gt;des&lt;space&gt;groupes,20150109,M.&lt;space&gt;Ambrosy,Mises&lt;space&gt;&lt;u00e0&gt;&lt;space&gt;jour&lt;space&gt;majeures"
-#!   SHOW_ANNOTATIONS="true"
-#!   ZOOM_SCALE="113"
-#!   MARKDOWN_DESCRIPTION=""
-#!   END_TCL=""
-#!   LOG_MAX_RECORDED_FEATURES="200"
-#!   PYTHON_COMPATIBILITY="27"
-#!   CATEGORY="GTF"
-#!   FME_STROKE_MAX_DEVIATION="0"
-#!   SOURCE_ROUTING_FILE=""
-#!   FME_REPROJECTION_ENGINE="FME"
-#!   LOG_FILE=""
-#!   BEGIN_PYTHON=""
-#!   USE_MARKDOWN=""
-#!   REDIRECT_TERMINATORS="NONE"
-#!   WARN_INVALID_XFORM_PARAM="Yes"
-#! >
-#! <DATASETS>
-#! <DATASET
-#!   IS_SOURCE="true"
-#!   ROLE="READER"
-#!   FORMAT="POSTGRES"
-#!   DATASET="$(dbDatabase)"
-#!   KEYWORD="POSTGRES_1"
-#!   MULTI_GEOM_ALLOWED="false"
-#!   ATTR_MAX_LENGTH="60"
-#!   ATTR_CASE="ANY"
-#!   ALLOWED_FEAT_TYPES=""
-#!   WRITE_DEFS="true"
-#!   DEFLINE_TEMPLATE="postgres_type {FME_GEN_GEOMETRY} postgres_sql_where_clause &quot;&quot; postgres_sql_statement &quot;&quot;"
-#!   DEFLINE_ATTRS="true"
-#!   EXPOSABLE_ATTRS="multi_reader_full_id int4 fme_text_size float8 fme_text_string char(50) multi_reader_keyword char(50) fme_fill_color char(50) postgres_oid int4 fme_geometry fme_char(50) multi_reader_id int4 fme_basename char(50) fme_secondary_axis float8 fme_start_angle float8 fme_sweep_angle float8 fme_type char(50) fme_dataset char(50) multi_reader_type char(50) fme_color char(50) fme_feature_type char(50) postgres_type char(50) fme_rotation float8 fme_primary_axis float8"
-#!   DEFLINE_PARMS="&quot;GUI OPTIONAL TEXT postgres_sql_where_clause WHERE Clause&quot; &quot;&quot; &quot;GUI OPTIONAL TEXT postgres_sql_statement SELECT Statement&quot; &quot;&quot; "
-#!   ATTR_INDEX_TYPES="BTREE HASH PRIKEY RTREE"
-#!   ATTR_NAME_INVALID_CHARS=""
-#!   SUPPORTS_FEATURE_TYPE_FANOUT="true"
-#!   ENABLED="true"
-#!   DYNAMIC_FEATURE_TYPES_LIST_ON_MERGE="true"
-#!   DATASET_TYPE="DATABASE"
-#!   GENERATE_FME_BUILD_NUM="13547"
-#!   MAX_FEATURES=""
-#!   COORDSYS=""
-#!   MIN_FEATURES=""
-#!   MAX_FEATURES_PER_FEATURE_TYPE=""
-#!   FEATURE_TYPES=""
-#!   START_FEATURE=""
-#! />
-#! <DATASET
-#!   IS_SOURCE="false"
-#!   ROLE="WRITER"
-#!   FORMAT="GML"
-#!   DATASET="test.gml"
-#!   KEYWORD="GML_1"
-#!   MULTI_GEOM_ALLOWED="true"
-#!   ATTR_MAX_LENGTH="254"
-#!   ATTR_CASE="ANY"
-#!   ALLOWED_FEAT_TYPES=""
-#!   WRITE_DEFS="true"
-#!   DEFLINE_TEMPLATE=""
-#!   DEFLINE_ATTRS="true"
-#!   EXPOSABLE_ATTRS="fme_rotation xml_real64 fme_text_size xml_real64 fme_geometry fme_char(50) fme_type xml_char(50) fme_color xml_char(50) gml_id xml_char(64) fme_fill_color xml_char(50) fme_feature_type xml_char(50) fme_basename xml_char(50) fme_secondary_axis xml_real64 xml_type xml_char(50) fme_dataset xml_char(50) fme_start_angle xml_real64 fme_sweep_angle xml_real64 fme_text_string xml_char(50) fme_primary_axis xml_real64"
-#!   DEFLINE_PARMS=""
-#!   ATTR_INDEX_TYPES=""
-#!   ATTR_NAME_INVALID_CHARS="[]= %~!@$&amp;#[()^?*&apos;+\\/&quot;:"
-#!   SUPPORTS_FEATURE_TYPE_FANOUT="true"
-#!   ENABLED="true"
-#!   DYNAMIC_FEATURE_TYPES_LIST_ON_MERGE="true"
-#!   DATASET_TYPE="FILE_OR_URL"
-#!   GENERATE_FME_BUILD_NUM="6508"
-#!   FANOUT_EXPRESSION=""
-#!   FANOUT_GROUP="NO"
-#!   COORDSYS=""
-#! >
-#! <METAFILE_PARAMETER
-#!   NAME="MIME_TYPE"
-#!   VALUE="application/xml"
-#! />
-#! <METAFILE_PARAMETER
-#!   NAME="ADVANCED_PARMS"
-#!   VALUE="_CONTINUE_ON_GEOM_ERROR HTTP_PROXY HTTP_PROXY_PORT HTTP_PROXY_USER HTTP_PROXY_PASSWORD HTTP_PROXY_AUTH_METHOD _CACHE_XSD _CACHE_XSD_EXPIRY_TIME READ_PREDEFINED_GML_PROPERTIES _SYSTEM_ENCODING _SUPPRESS_XSD_DOCUMENT _SUPPRESS_XSI_SCHEMALOCATION _FEATURE_COLLECTION"
-#! />
-#! </DATASET>
-#! </DATASETS>
-#! <DATA_TYPES>
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="bool"
-#!   FME_TYPE="fme_boolean"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="char(width)"
-#!   FME_TYPE="fme_char(width)"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="varchar(width)"
-#!   FME_TYPE="fme_varchar(width)"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="text"
-#!   FME_TYPE="fme_buffer"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="xml"
-#!   FME_TYPE="fme_xml"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="json"
-#!   FME_TYPE="fme_json"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="jsonb"
-#!   FME_TYPE="fme_json"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="bytea"
-#!   FME_TYPE="fme_binarybuffer"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="bytea"
-#!   FME_TYPE="fme_varbinary(width)"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="bytea"
-#!   FME_TYPE="fme_binary(width)"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="int2"
-#!   FME_TYPE="fme_int16"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="int2"
-#!   FME_TYPE="fme_int8"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="int2"
-#!   FME_TYPE="fme_uint8"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="int4"
-#!   FME_TYPE="fme_int32"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="int4"
-#!   FME_TYPE="fme_uint16"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="int8"
-#!   FME_TYPE="fme_int64"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="int8"
-#!   FME_TYPE="fme_uint32"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="numeric(width,decimal)"
-#!   FME_TYPE="fme_decimal(width,decimal)"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="numeric(20,0)"
-#!   FME_TYPE="fme_uint64"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="oid"
-#!   FME_TYPE="fme_uint32"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="serial"
-#!   FME_TYPE="fme_int32"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="float4"
-#!   FME_TYPE="fme_real32"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="money"
-#!   FME_TYPE="fme_real32"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="float8"
-#!   FME_TYPE="fme_real64"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="date"
-#!   FME_TYPE="fme_date"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="time"
-#!   FME_TYPE="fme_time"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="timetz"
-#!   FME_TYPE="fme_time"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="timestamp"
-#!   FME_TYPE="fme_datetime"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="timestamptz"
-#!   FME_TYPE="fme_datetime"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="uuid"
-#!   FME_TYPE="fme_buffer"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="bit(width)"
-#!   FME_TYPE="fme_char(width)"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="varbit"
-#!   FME_TYPE="fme_buffer"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="varbit(width)"
-#!   FME_TYPE="fme_varchar(width)"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="text"
-#!   FME_TYPE="fme_xml"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="text"
-#!   FME_TYPE="fme_json"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="bytea"
-#!   FME_TYPE="fme_buffer"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="varchar(20)"
-#!   FME_TYPE="fme_uint64"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="float8"
-#!   FME_TYPE="fme_decimal(width,decimal)"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="char(1)"
-#!   FME_TYPE="fme_char(width)"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_char(width)"
-#!   FME_TYPE="fme_varchar(width)"
-#!   FORMAT="GML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_char(width)"
-#!   FME_TYPE="fme_varbinary(width)"
-#!   FORMAT="GML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_char(width)"
-#!   FME_TYPE="fme_char(width)"
-#!   FORMAT="GML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_char(width)"
-#!   FME_TYPE="fme_binary(width)"
-#!   FORMAT="GML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_buffer"
-#!   FME_TYPE="fme_buffer"
-#!   FORMAT="GML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_buffer"
-#!   FME_TYPE="fme_binarybuffer"
-#!   FORMAT="GML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_buffer"
-#!   FME_TYPE="fme_json"
-#!   FORMAT="GML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_xml"
-#!   FME_TYPE="fme_xml"
-#!   FORMAT="GML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_datetime"
-#!   FME_TYPE="fme_buffer"
-#!   FORMAT="GML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_date"
-#!   FME_TYPE="fme_buffer"
-#!   FORMAT="GML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_time"
-#!   FME_TYPE="fme_buffer"
-#!   FORMAT="GML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_int64"
-#!   FME_TYPE="fme_int64"
-#!   FORMAT="GML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_uint64"
-#!   FME_TYPE="fme_uint64"
-#!   FORMAT="GML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_int32"
-#!   FME_TYPE="fme_int32"
-#!   FORMAT="GML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_uint32"
-#!   FME_TYPE="fme_uint32"
-#!   FORMAT="GML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_int16"
-#!   FME_TYPE="fme_int16"
-#!   FORMAT="GML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_uint16"
-#!   FME_TYPE="fme_uint16"
-#!   FORMAT="GML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_byte"
-#!   FME_TYPE="fme_int8"
-#!   FORMAT="GML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_ubyte"
-#!   FME_TYPE="fme_uint8"
-#!   FORMAT="GML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_real32"
-#!   FME_TYPE="fme_real32"
-#!   FORMAT="GML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_real64"
-#!   FME_TYPE="fme_real64"
-#!   FORMAT="GML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_decimal(width,decimal)"
-#!   FME_TYPE="fme_decimal(width,decimal)"
-#!   FORMAT="GML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_boolean"
-#!   FME_TYPE="fme_boolean"
-#!   FORMAT="GML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_char(20)"
-#!   FME_TYPE="fme_datetime"
-#!   FORMAT="GML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_char(8)"
-#!   FME_TYPE="fme_date"
-#!   FORMAT="GML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_char(12)"
-#!   FME_TYPE="fme_time"
-#!   FORMAT="GML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_geometry"
-#!   FME_TYPE="fme_buffer"
-#!   FORMAT="GML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_xml"
-#!   FME_TYPE="fme_buffer"
-#!   FORMAT="GML"
-#! />
-#! </DATA_TYPES>
-#! <GEOM_TYPES>
-#! <GEOM_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="postgres_none"
-#!   FME_TYPE="fme_no_geom"
-#!   FORMAT="POSTGRES"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="postgres_none"
-#!   FME_TYPE="fme_point"
-#!   FORMAT="POSTGRES"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="postgres_none"
-#!   FME_TYPE="fme_line"
-#!   FORMAT="POSTGRES"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="postgres_none"
-#!   FME_TYPE="fme_area"
-#!   FORMAT="POSTGRES"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="postgres_none"
-#!   FME_TYPE="fme_rectangle"
-#!   FORMAT="POSTGRES"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="postgres_none"
-#!   FME_TYPE="fme_rounded_rectangle"
-#!   FORMAT="POSTGRES"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="postgres_none"
-#!   FME_TYPE="fme_text"
-#!   FORMAT="POSTGRES"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="postgres_none"
-#!   FME_TYPE="fme_ellipse"
-#!   FORMAT="POSTGRES"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="postgres_none"
-#!   FME_TYPE="fme_arc"
-#!   FORMAT="POSTGRES"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="postrgres_none"
-#!   FME_TYPE="fme_collection"
-#!   FORMAT="POSTGRES"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="postgres_none"
-#!   FME_TYPE="fme_raster"
-#!   FORMAT="POSTGRES"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="postgres_none"
-#!   FME_TYPE="fme_surface"
-#!   FORMAT="POSTGRES"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="postgres_none"
-#!   FME_TYPE="fme_solid"
-#!   FORMAT="POSTGRES"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="postgres_none"
-#!   FME_TYPE="fme_point_cloud"
-#!   FORMAT="POSTGRES"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_no_geom"
-#!   FME_TYPE="fme_no_geom"
-#!   FORMAT="GML"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_point"
-#!   FME_TYPE="fme_point"
-#!   FORMAT="GML"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_line"
-#!   FME_TYPE="fme_line"
-#!   FORMAT="GML"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_area"
-#!   FME_TYPE="fme_area"
-#!   FORMAT="GML"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_aggregate"
-#!   FME_TYPE="fme_collection"
-#!   FORMAT="GML"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_text"
-#!   FME_TYPE="fme_text"
-#!   FORMAT="GML"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_area"
-#!   FME_TYPE="fme_ellipse"
-#!   FORMAT="GML"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_area"
-#!   FME_TYPE="fme_rectangle"
-#!   FORMAT="GML"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_area"
-#!   FME_TYPE="fme_rounded_rectangle"
-#!   FORMAT="GML"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_arc"
-#!   FME_TYPE="fme_arc"
-#!   FORMAT="GML"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_surface"
-#!   FME_TYPE="fme_surface"
-#!   FORMAT="GML"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_solid"
-#!   FME_TYPE="fme_solid"
-#!   FORMAT="GML"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_mesh"
-#!   FME_TYPE="fme_surface"
-#!   FORMAT="GML"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_area"
-#!   FME_TYPE="fme_raster"
-#!   FORMAT="GML"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_area"
-#!   FME_TYPE="fme_point_cloud"
-#!   FORMAT="GML"
-#! />
-#! </GEOM_TYPES>
-#! <FEATURE_TYPES>
-#! <FEATURE_TYPE
-#!   IS_SOURCE="true"
-#!   NODE_NAME="workspace"
-#!   FEATURE_TYPE_NAME=""
-#!   FEATURE_TYPE_NAME_QUALIFIER="s_gtf"
-#!   IS_EDITABLE="false"
-#!   IDENTIFIER="35"
-#!   FEAT_GEOMTYPE="postgres_none"
-#!   POSITION="-1097.25 -187"
-#!   BOUNDING_RECT="-1097.25 -187 990.386 71"
-#!   ORDER="5e+14"
-#!   COLLAPSED="true"
-#!   KEYWORD="POSTGRES_1"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   HIDDEN_USER_ATTRS=""
-#!   MERGE_FILTER=""
-#!   MERGE_FILTER_TYPE="FILTER_TYPE_GLOB"
-#!   MERGE_FILTER_CASE_SENSITIVE="false"
-#!   DYNAMIC_SCHEMA="false"
-#! >
-#!     <FEAT_ATTRIBUTE ATTR_NAME="workspace_id" ATTR_TYPE="int4,PRIKEY" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="name" ATTR_TYPE="varchar(100),BTREE" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="description" ATTR_TYPE="text" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="subscription" ATTR_TYPE="bool" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="fmw_file" ATTR_TYPE="varchar(150)" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="category_id" ATTR_TYPE="int4,BTREE" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="success_action_id" ATTR_TYPE="int4" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="failed_action_id" ATTR_TYPE="int4" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="survey" ATTR_TYPE="bool" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="form_type" ATTR_TYPE="varchar(10)" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="legal_terms_conditions" ATTR_TYPE="text" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="usage" ATTR_TYPE="text" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="requirements" ATTR_TYPE="text" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="history" ATTR_TYPE="text" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="last_save_date" ATTR_TYPE="timestamp" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="last_save_build" ATTR_TYPE="varchar(255)" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="file_encoding" ATTR_TYPE="varchar(50)" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="title" ATTR_TYPE="varchar(255)" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="key" ATTR_TYPE="varchar(40)" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="email_template_id" ATTR_TYPE="int4" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="owner" ATTR_TYPE="int4" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="creation_date" ATTR_TYPE="date" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="locked" ATTR_TYPE="bool" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="tag" ATTR_TYPE="varchar(100)" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <DEFLINE_PARM PARM_NAME="postgres_sql_statement" PARM_VALUE=""/>
-#!     <DEFLINE_PARM PARM_NAME="postgres_sql_where_clause" PARM_VALUE=""/>
-#! </FEATURE_TYPE>
-#! <FEATURE_TYPE
-#!   IS_SOURCE="true"
-#!   NODE_NAME="category"
-#!   FEATURE_TYPE_NAME=""
-#!   FEATURE_TYPE_NAME_QUALIFIER="s_gtf"
-#!   IS_EDITABLE="false"
-#!   IDENTIFIER="42"
-#!   FEAT_GEOMTYPE="postgres_none"
-#!   POSITION="1786 -1013"
-#!   BOUNDING_RECT="1786 -1013 0 0"
-#!   ORDER="5e+14"
-#!   COLLAPSED="false"
-#!   KEYWORD="POSTGRES_1"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   HIDDEN_USER_ATTRS=""
-#!   MERGE_FILTER=""
-#!   MERGE_FILTER_TYPE="FILTER_TYPE_GLOB"
-#!   MERGE_FILTER_CASE_SENSITIVE="false"
-#!   DYNAMIC_SCHEMA="false"
-#! >
-#!     <FEAT_ATTRIBUTE ATTR_NAME="category_id" ATTR_TYPE="int4,PRIKEY" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="name" ATTR_TYPE="varchar(50)" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="description" ATTR_TYPE="varchar(200)" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <DEFLINE_PARM PARM_NAME="postgres_sql_statement" PARM_VALUE=""/>
-#!     <DEFLINE_PARM PARM_NAME="postgres_sql_where_clause" PARM_VALUE=""/>
-#! </FEATURE_TYPE>
-#! <FEATURE_TYPE
-#!   IS_SOURCE="false"
-#!   NODE_NAME="gtf_pro_workspace"
-#!   FEATURE_TYPE_NAME=""
-#!   FEATURE_TYPE_NAME_QUALIFIER=""
-#!   IS_EDITABLE="true"
-#!   IDENTIFIER="77"
-#!   FEAT_GEOMTYPE="All"
-#!   POSITION="6218.97 -1439"
-#!   BOUNDING_RECT="6218.97 -1439 1025.46 71"
-#!   ORDER="5e+14"
-#!   COLLAPSED="false"
-#!   KEYWORD="GML_1"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   SCHEMA_ATTRIBUTE_SOURCE="1"
-#! >
-#!     <FEAT_ATTRIBUTE ATTR_NAME="workspace_id" ATTR_TYPE="xml_int32" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="label_name" ATTR_TYPE="xml_char(100)" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="description" ATTR_TYPE="xml_buffer" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="subscription" ATTR_TYPE="xml_boolean" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="fmw_file" ATTR_TYPE="xml_char(150)" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="category_id" ATTR_TYPE="xml_int16" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="category_name" ATTR_TYPE="xml_int32" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="lb_method_id" ATTR_TYPE="xml_int32" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="success_action_id" ATTR_TYPE="xml_int32" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="failed_action_id" ATTR_TYPE="xml_int32" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="survey" ATTR_TYPE="xml_boolean" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="form_type" ATTR_TYPE="xml_char(10)" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="legal_terms_conditions" ATTR_TYPE="xml_buffer" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="usage" ATTR_TYPE="xml_buffer" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="requirements" ATTR_TYPE="xml_buffer" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="history" ATTR_TYPE="xml_buffer" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="last_save_date" ATTR_TYPE="xml_char(20)" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="last_save_build" ATTR_TYPE="xml_char(80)" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="file_encoding" ATTR_TYPE="xml_char(80)" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="title" ATTR_TYPE="xml_char(80)" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="key" ATTR_TYPE="xml_char(80)" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="email_template_id" ATTR_TYPE="xml_int32" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="owner" ATTR_TYPE="xml_int32" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="creation_date" ATTR_TYPE="xml_char(8)" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="locked" ATTR_TYPE="xml_boolean" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="tag" ATTR_TYPE="xml_char(100)" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#! </FEATURE_TYPE>
-#! </FEATURE_TYPES>
-#! <FMESERVER>
-#! </FMESERVER>
-#! <GLOBAL_PARAMETERS>
-#! <GLOBAL_PARAMETER
-#!   GUI_LINE="GUI TEXT_OR_ATTR idWorkspaceList id séparés par un espace :"
-#!   DEFAULT_VALUE="35"
-#!   IS_STAND_ALONE="true"
-#! />
-#! <GLOBAL_PARAMETER
-#!   GUI_LINE="GUI FILENAME_OR_ATTR destGexFile Export_GTF|*.gex Fichier Gtf Export (.gex) :"
-#!   DEFAULT_VALUE="C:\antoine_non_sauv\2017_11_gtf_export\test.gex"
-#!   IS_STAND_ALONE="true"
-#! />
-#! <GLOBAL_PARAMETER
-#!   GUI_LINE="GUI OPTIONAL PASSWORD_OR_ATTR GTF_CONNECTION_STRING Chaîne de connexion à la base GTF :"
-#!   DEFAULT_VALUE=""
-#!   IS_STAND_ALONE="true"
-#! />
-#! <GLOBAL_PARAMETER
-#!   GUI_LINE="GUI IGNORE OPTIONAL TEXT_EDIT_PYTHON_PARM dbServer Python Script:"
-#!   DEFAULT_VALUE="import&lt;space&gt;fmeobjects&lt;lf&gt;import&lt;space&gt;string&lt;lf&gt;connection_string&lt;space&gt;=&lt;space&gt;string.split&lt;openparen&gt;FME_MacroValues&lt;openbracket&gt;&lt;apos&gt;GTF_CONNECTION_STRING&lt;apos&gt;&lt;closebracket&gt;&lt;comma&gt;&lt;apos&gt;&lt;comma&gt;&lt;apos&gt;&lt;closeparen&gt;&lt;lf&gt;return&lt;space&gt;connection_string&lt;openbracket&gt;0&lt;closebracket&gt;"
-#!   IS_STAND_ALONE="true"
-#! />
-#! <GLOBAL_PARAMETER
-#!   GUI_LINE="GUI IGNORE OPTIONAL TEXT_EDIT_PYTHON_PARM dbPort Python Script:"
-#!   DEFAULT_VALUE="import&lt;space&gt;fmeobjects&lt;lf&gt;import&lt;space&gt;string&lt;lf&gt;connection_string&lt;space&gt;=&lt;space&gt;string.split&lt;openparen&gt;FME_MacroValues&lt;openbracket&gt;&lt;apos&gt;GTF_CONNECTION_STRING&lt;apos&gt;&lt;closebracket&gt;&lt;comma&gt;&lt;apos&gt;&lt;comma&gt;&lt;apos&gt;&lt;closeparen&gt;&lt;lf&gt;return&lt;space&gt;connection_string&lt;openbracket&gt;1&lt;closebracket&gt;"
-#!   IS_STAND_ALONE="true"
-#! />
-#! <GLOBAL_PARAMETER
-#!   GUI_LINE="GUI IGNORE OPTIONAL TEXT_EDIT_PYTHON_PARM dbDatabase Python Script:"
-#!   DEFAULT_VALUE="import&lt;space&gt;fmeobjects&lt;lf&gt;import&lt;space&gt;string&lt;lf&gt;connection_string&lt;space&gt;=&lt;space&gt;string.split&lt;openparen&gt;FME_MacroValues&lt;openbracket&gt;&lt;apos&gt;GTF_CONNECTION_STRING&lt;apos&gt;&lt;closebracket&gt;&lt;comma&gt;&lt;apos&gt;&lt;comma&gt;&lt;apos&gt;&lt;closeparen&gt;&lt;lf&gt;return&lt;space&gt;connection_string&lt;openbracket&gt;2&lt;closebracket&gt;"
-#!   IS_STAND_ALONE="true"
-#! />
-#! <GLOBAL_PARAMETER
-#!   GUI_LINE="GUI IGNORE OPTIONAL TEXT_EDIT_PYTHON_PARM dbUser Python Script:"
-#!   DEFAULT_VALUE="import&lt;space&gt;fmeobjects&lt;lf&gt;import&lt;space&gt;string&lt;lf&gt;connection_string&lt;space&gt;=&lt;space&gt;string.split&lt;openparen&gt;FME_MacroValues&lt;openbracket&gt;&lt;apos&gt;GTF_CONNECTION_STRING&lt;apos&gt;&lt;closebracket&gt;&lt;comma&gt;&lt;apos&gt;&lt;comma&gt;&lt;apos&gt;&lt;closeparen&gt;&lt;lf&gt;return&lt;space&gt;connection_string&lt;openbracket&gt;3&lt;closebracket&gt;"
-#!   IS_STAND_ALONE="true"
-#! />
-#! <GLOBAL_PARAMETER
-#!   GUI_LINE="GUI IGNORE OPTIONAL TEXT_EDIT_PYTHON_PARM dbPassword Script Python:"
-#!   DEFAULT_VALUE="import&lt;space&gt;fmeobjects&lt;lf&gt;import&lt;space&gt;string&lt;lf&gt;connection_string&lt;space&gt;=&lt;space&gt;string.split&lt;openparen&gt;FME_MacroValues&lt;openbracket&gt;&lt;apos&gt;GTF_CONNECTION_STRING&lt;apos&gt;&lt;closebracket&gt;&lt;comma&gt;&lt;apos&gt;&lt;comma&gt;&lt;apos&gt;&lt;closeparen&gt;&lt;lf&gt;return&lt;space&gt;connection_string&lt;openbracket&gt;4&lt;closebracket&gt;"
-#!   IS_STAND_ALONE="true"
-#! />
-#! </GLOBAL_PARAMETERS>
-#! <COMMENTS>
-#! <COMMENT
-#!   IDENTIFIER="43"
-#!   COMMENT_VALUE="&lt;html&gt;&lt;body&gt;s_gtf.category&lt;/body&gt;&lt;/html&gt;"
-#!   POSITION="1793 -835"
-#!   TOP_LEFT="1793 -835"
-#!   BOTTOM_RIGHT="1793 -835"
-#!   BOUNDING_RECT="1793 -835 0 0"
-#!   ORDER="26"
-#!   FOLLOW_ANCHOR="true"
-#!   INFO_NODE="false"
-#!   COLOUR="1,1,0.784314,0.192157"
-#!   SIZE_POLICY="8"
-#!   COMMENT_TYPE="REGULAR"
-#!   ANCHORED_NODE="42"
-#! />
-#! <COMMENT
-#!   IDENTIFIER="87"
-#!   COMMENT_VALUE="&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;&#10;&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;&#10;p, li { white-space: pre-wrap; }&#10;&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;MS Shell Dlg 2&apos;; font-size:11px; font-weight:400; font-style:normal;&quot;&gt;&#10;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Copie des fichiers vers temp&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;"
-#!   POSITION="4479 -830"
-#!   TOP_LEFT="4479 -830"
-#!   BOTTOM_RIGHT="4479 -830"
-#!   BOUNDING_RECT="4479 -830 0 0"
-#!   ORDER="30"
-#!   FOLLOW_ANCHOR="true"
-#!   INFO_NODE="false"
-#!   COLOUR="1,1,0.784314,0.192157"
-#!   SIZE_POLICY="8"
-#!   COMMENT_TYPE="REGULAR"
-#!   ANCHORED_NODE="86"
-#! />
-#! <COMMENT
-#!   IDENTIFIER="46"
-#!   COMMENT_VALUE="&lt;html&gt;&lt;body&gt;s_gtf.workspace&lt;/body&gt;&lt;/html&gt;"
-#!   POSITION="-761.286 54.5576"
-#!   TOP_LEFT="-761.286 54.5576"
-#!   BOTTOM_RIGHT="-761.286 54.5576"
-#!   BOUNDING_RECT="-761.286 54.5576 0 0"
-#!   ORDER="41"
-#!   FOLLOW_ANCHOR="true"
-#!   INFO_NODE="false"
-#!   COLOUR="1,1,0.784314,0.192157"
-#!   SIZE_POLICY="8"
-#!   COMMENT_TYPE="REGULAR"
-#!   ANCHORED_NODE="35"
-#! />
-#! <COMMENT
-#!   IDENTIFIER="73"
-#!   COMMENT_VALUE="&lt;html&gt;&lt;body&gt;Ecriture du fichier GML&lt;/body&gt;&lt;/html&gt;"
-#!   POSITION="6246.97 -1250"
-#!   TOP_LEFT="6246.97 -1250"
-#!   BOTTOM_RIGHT="6246.97 -1250"
-#!   BOUNDING_RECT="6246.97 -1250 0 0"
-#!   ORDER="47"
-#!   FOLLOW_ANCHOR="true"
-#!   INFO_NODE="false"
-#!   COLOUR="1,1,0.784314,0.192157"
-#!   SIZE_POLICY="8"
-#!   COMMENT_TYPE="REGULAR"
-#!   ANCHORED_NODE="77"
-#! />
-#! <COMMENT
-#!   IDENTIFIER="33"
-#!   COMMENT_VALUE="&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;&#10;&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;&#10;p, li { white-space: pre-wrap; }&#10;&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;MS Shell Dlg 2&apos;; font-size:11px; font-weight:400; font-style:normal;&quot;&gt;&#10;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11px;&quot;&gt;On est obligé de récupèrer&lt;/span&gt;&lt;/p&gt;&#10;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11px;&quot;&gt;le paramètre sous forme d&apos;attribut&lt;/span&gt;&lt;/p&gt;&#10;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11px;&quot;&gt;pour le modifier ensuite&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;"
-#!   POSITION="237.997 136.558"
-#!   TOP_LEFT="237.997 136.558"
-#!   BOTTOM_RIGHT="237.997 136.558"
-#!   BOUNDING_RECT="237.997 136.558 0 0"
-#!   ORDER="5e+14"
-#!   FOLLOW_ANCHOR="true"
-#!   INFO_NODE="false"
-#!   COLOUR="1,1,0.784314,0.192157"
-#!   SIZE_POLICY="8"
-#!   COMMENT_TYPE="REGULAR"
-#!   ANCHORED_NODE="26"
-#! />
-#! </COMMENTS>
-#! <CONSTANTS>
-#! </CONSTANTS>
-#! <BOOKMARKS>
-#! <BOOKMARK
-#!   IDENTIFIER="25"
-#!   NAME="Récupère le nom de la catégorie"
-#!   DESCRIPTION="&lt;html&gt;&lt;body&gt;&lt;/body&gt;&lt;/html&gt;"
-#!   TOP_LEFT="1688 -693"
-#!   BOTTOM_RIGHT="4069 -1345"
-#!   BOUNDING_RECT="1688 -693 2381 652"
-#!   STICKY="true"
-#!   COLOUR="0.164706,0.866667,0.976471"
-#!   CONTENTS="63 43 64 42 66 51 59 65 "
-#! />
-#! </BOOKMARKS>
-#! <TRANSFORMERS>
-#! <TRANSFORMER
-#!   IDENTIFIER="57"
-#!   TYPE="AttributeRenamer"
-#!   VERSION="2"
-#!   POSITION="2907 -194"
-#!   BOUNDING_RECT="2907 -194 0 0"
-#!   ORDER="34"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="14235"
-#! >
-#!     <OUTPUT_FEAT NAME="OUTPUT"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="label_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="owner" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="AttributeRenamer"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="ATTR_LIST" PARM_VALUE="name,label_name,&quot;&quot;"/>
-#!     <XFORM_PARM PARM_NAME="ATTR_LIST_GROUP" PARM_VALUE=""/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="59"
-#!   TYPE="AttributeRemover"
-#!   VERSION="0"
-#!   POSITION="2374 -1021"
-#!   BOUNDING_RECT="2374 -1021 0 0"
-#!   ORDER="27"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="14235"
-#! >
-#!     <OUTPUT_FEAT NAME="OUTPUT"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_PARM PARM_NAME="REMOVE_ATTRS" PARM_VALUE="description"/>
-#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="LIST_ATTRS" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="AttributeRemover_2"/>
-#!     <XFORM_PARM PARM_NAME="PARAMETERS_GROUP" PARM_VALUE=""/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="63"
-#!   TYPE="AttributeRenamer"
-#!   VERSION="2"
-#!   POSITION="2971 -1038"
-#!   BOUNDING_RECT="2971 -1038 0 0"
-#!   ORDER="28"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="14235"
-#! >
-#!     <OUTPUT_FEAT NAME="OUTPUT"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="AttributeRenamer_2"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="ATTR_LIST" PARM_VALUE="name,category_name,&quot;&quot;"/>
-#!     <XFORM_PARM PARM_NAME="ATTR_LIST_GROUP" PARM_VALUE=""/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="65"
-#!   TYPE="FeatureMerger"
-#!   VERSION="10"
-#!   POSITION="3589 -783"
-#!   BOUNDING_RECT="3589 -783 0 0"
-#!   ORDER="35"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="14235"
-#! >
-#!     <OUTPUT_FEAT NAME="MERGED"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="label_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="owner" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <OUTPUT_FEAT NAME="NOT_MERGED"/>
-#!     <FEAT_COLLAPSED COLLAPSED="1"/>
-#!     <XFORM_ATTR ATTR_NAME="workspace_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="label_name" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="owner" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <OUTPUT_FEAT NAME="REFERENCED"/>
-#!     <FEAT_COLLAPSED COLLAPSED="2"/>
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="2" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="2" />
-#!     <XFORM_ATTR ATTR_NAME="numReferences" IS_USER_CREATED="false" FEAT_INDEX="2" />
-#!     <OUTPUT_FEAT NAME="UNREFERENCED"/>
-#!     <FEAT_COLLAPSED COLLAPSED="3"/>
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="3" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="3" />
-#!     <OUTPUT_FEAT NAME="DUPLICATE_SUPPLIER"/>
-#!     <FEAT_COLLAPSED COLLAPSED="4"/>
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_PARM PARM_NAME="JOIN_KEYS" PARM_VALUE="&lt;at&gt;Value&lt;openparen&gt;category_id&lt;closeparen&gt; &lt;at&gt;Value&lt;openparen&gt;category_id&lt;closeparen&gt;"/>
-#!     <XFORM_PARM PARM_NAME="JOIN_ATTRIBUTES_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="PARAMETERS" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="LIST_NAME" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="IGNORE_NULLS" PARM_VALUE="Yes"/>
-#!     <XFORM_PARM PARM_NAME="SUPPLIER_PREFIX_DUMMY" PARM_VALUE="YES"/>
-#!     <XFORM_PARM PARM_NAME="GROUP_BY" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="GEOM_TYPE" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="SUPPLIER_PREFIX" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="FeatureMerger_3"/>
-#!     <XFORM_PARM PARM_NAME="SUPPLIERS_FIRST" PARM_VALUE="No"/>
-#!     <XFORM_PARM PARM_NAME="PROCESS_DUPS" PARM_VALUE="No"/>
-#!     <XFORM_PARM PARM_NAME="MERGE_TYPE" PARM_VALUE="Attributes Only"/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="86"
-#!   TYPE="PythonCaller"
-#!   VERSION="4"
-#!   POSITION="4490 -997"
-#!   BOUNDING_RECT="4490 -997 0 0"
-#!   ORDER="42"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="17292"
-#! >
-#!     <OUTPUT_FEAT NAME="OUTPUT"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="label_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="owner" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_creation_instance" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_tempDir" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_PARM PARM_NAME="PYTHONSYMBOL" PARM_VALUE="FeatureProcessor"/>
-#!     <XFORM_PARM PARM_NAME="ADVANCED_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="NEW_ATTRIBUTES" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="LIST_ATTRS" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="PYTHONSOURCE" PARM_VALUE="import&lt;space&gt;fmeobjects&lt;lf&gt;import&lt;space&gt;os&lt;lf&gt;import&lt;space&gt;shutil&lt;lf&gt;&lt;lf&gt;def&lt;space&gt;FeatureProcessor&lt;openparen&gt;feature&lt;closeparen&gt;:&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;fme_mf_dir&lt;space&gt;=&lt;space&gt;os.path.normpath&lt;openparen&gt;FME_MacroValues&lt;openbracket&gt;&lt;apos&gt;FME_MF_DIR&lt;apos&gt;&lt;closebracket&gt;&lt;closeparen&gt;&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;workspace_id&lt;space&gt;=&lt;space&gt;feature.getAttribute&lt;openparen&gt;&lt;apos&gt;workspace_id&lt;apos&gt;&lt;closeparen&gt;&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;projectsourcedir&lt;space&gt;=&lt;space&gt;fme_mf_dir&lt;space&gt;+&lt;space&gt;&lt;apos&gt;&lt;solidus&gt;&lt;solidus&gt;..&lt;solidus&gt;&lt;solidus&gt;..&lt;solidus&gt;&lt;solidus&gt;&lt;apos&gt;&lt;space&gt;+&lt;space&gt;workspace_id&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;if&lt;space&gt;os.path.exists&lt;openparen&gt;projectsourcedir&lt;closeparen&gt;:&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;try:&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;shutil.copytree&lt;openparen&gt;projectsourcedir&lt;comma&gt;&lt;space&gt;feature.getAttribute&lt;openparen&gt;&lt;apos&gt;_tempDir&lt;apos&gt;&lt;closeparen&gt;&lt;space&gt;+&lt;space&gt;&lt;apos&gt;&lt;solidus&gt;&lt;solidus&gt;&lt;apos&gt;&lt;space&gt;+&lt;space&gt;workspace_id&lt;comma&gt;&lt;space&gt;symlinks=False&lt;comma&gt;&lt;space&gt;ignore=None&lt;closeparen&gt;&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;except:&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;print&lt;space&gt;&lt;quote&gt;Une&lt;space&gt;erreur&lt;space&gt;PYTHON&lt;space&gt;est&lt;space&gt;survenue&lt;space&gt;!&lt;quote&gt;&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;raise"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="PythonCaller"/>
-#!     <XFORM_PARM PARM_NAME="PARAMETERS_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="HIDE_ATTRIBUTES" PARM_VALUE=""/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="56"
-#!   TYPE="StringReplacer"
-#!   VERSION="3"
-#!   POSITION="952.985 -184"
-#!   BOUNDING_RECT="952.985 -184 0 0"
-#!   ORDER="49"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="14235"
-#! >
-#!     <OUTPUT_FEAT NAME="OUTPUT"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="owner" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_idWorkspaceList" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_PARM PARM_NAME="NO_MATCH" PARM_VALUE="_FME_NO_OP_"/>
-#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="FIND_TEXT" PARM_VALUE="&lt;space&gt;"/>
-#!     <XFORM_PARM PARM_NAME="NO_MATCH_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="REGEXP" PARM_VALUE="no"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="StringReplacer"/>
-#!     <XFORM_PARM PARM_NAME="PARAMETERS_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="SRC_ATTRS" PARM_VALUE="_idWorkspaceList"/>
-#!     <XFORM_PARM PARM_NAME="CASE" PARM_VALUE="no"/>
-#!     <XFORM_PARM PARM_NAME="REPLACE_TEXT" PARM_VALUE="&lt;comma&gt;"/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="58"
-#!   TYPE="Tester"
-#!   VERSION="2"
-#!   POSITION="1623.91 -179"
-#!   BOUNDING_RECT="1623.91 -179 0 0"
-#!   ORDER="48"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="14235"
-#! >
-#!     <OUTPUT_FEAT NAME="PASSED"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="owner" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_idWorkspaceList" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <OUTPUT_FEAT NAME="FAILED"/>
-#!     <FEAT_COLLAPSED COLLAPSED="1"/>
-#!     <XFORM_ATTR ATTR_NAME="workspace_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="owner" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_idWorkspaceList" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_PARM PARM_NAME="BOOL_OP" PARM_VALUE="OR"/>
-#!     <XFORM_PARM PARM_NAME="TEST_LIST" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="TEST_DESCRIPTION" PARM_VALUE="&quot;&quot;"/>
-#!     <XFORM_PARM PARM_NAME="COMPOSITE_TEST" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="Tester"/>
-#!     <XFORM_PARM PARM_NAME="TEST_CLAUSE" PARM_VALUE="TEST &lt;at&gt;Value&lt;openparen&gt;workspace_id&lt;closeparen&gt; IN &lt;at&gt;Value&lt;openparen&gt;_idWorkspaceList&lt;closeparen&gt;"/>
-#!     <XFORM_PARM PARM_NAME="TEST_MODE" PARM_VALUE="Automatic"/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="26"
-#!   TYPE="ParameterFetcher"
-#!   VERSION="4"
-#!   POSITION="303.414 -179"
-#!   BOUNDING_RECT="303.414 -179 0 0"
-#!   ORDER="5e+14"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="14235"
-#! >
-#!     <OUTPUT_FEAT NAME="OUTPUT"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="owner" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_idWorkspaceList" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="ParameterFetcher"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="PARAMETERS_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="ATTR_LIST" PARM_VALUE="_idWorkspaceList {$(idWorkspaceList)}"/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="30"
-#!   TYPE="AttributeRemover"
-#!   VERSION="0"
-#!   POSITION="2232.09 -194"
-#!   BOUNDING_RECT="2232.09 -194 0 0"
-#!   ORDER="5e+14"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="14235"
-#! >
-#!     <OUTPUT_FEAT NAME="OUTPUT"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="owner" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_PARM PARM_NAME="REMOVE_ATTRS" PARM_VALUE="_idWorkspaceList"/>
-#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="LIST_ATTRS" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="AttributeRemover"/>
-#!     <XFORM_PARM PARM_NAME="PARAMETERS_GROUP" PARM_VALUE=""/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="34"
-#!   TYPE="FeatureWriter"
-#!   VERSION="0"
-#!   POSITION="5107.96 -877"
-#!   BOUNDING_RECT="5107.96 -877 -1 -1"
-#!   ORDER="5e+14"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="16492"
-#! >
-#!     <OUTPUT_FEAT NAME="SUMMARY"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="_feature_type{}.count" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_feature_type{}.name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_dataset" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_total_features_written" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_PARM PARM_NAME="DATASET_ATTR" PARM_VALUE="_dataset"/>
-#!     <XFORM_PARM PARM_NAME="GML_SYSTEM_ENCODING" PARM_VALUE="utf-8"/>
-#!     <XFORM_PARM PARM_NAME="GML_DESTINATION_DATASETTYPE_VALIDATION" PARM_VALUE="Yes"/>
-#!     <XFORM_PARM PARM_NAME="GML_STYLESHEET_RESULT" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="GML_FEATURE_COLLECTION_NS_URI" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="WRITER_DIRECTIVES" PARM_VALUE="PREFER_POLYGON_OVER_SURFACE,no,WRITE_ALL_FEATURE_TYPE_DEFNS,no,TARGET_NS_PREFIX,gex,INDENT_SIZE,1,USE_STYLESHEET_RESULT_AS_DATASET,no,PRETTY_PRINT_SETTINGS,FME_DISCLOSURE_OPEN,PROFILE,3.1.1,FEATURE_COLLECTION_GROUP,FME_DISCLOSURE_CLOSED,TEXT_INDENT,No,GML_WRT_ADV_PARAMETERS,FME_DISCLOSURE_OPEN,SUPPRESS_XSI_SCHEMALOCATION,no,COORDINATE_SYSTEM_GRANULARITY,DATASET,VALIDATE_OUTPUT_DATASET,NO,TARGET_NS_URI,http:&lt;solidus&gt;&lt;solidus&gt;www.veremes.com&lt;solidus&gt;gtf&lt;solidus&gt;export,DESTINATION_DATASETTYPE_VALIDATION,Yes,DOCUMENTS_TO_WRITE,BOTH,SYSTEM_ENCODING,utf-8,REPLACE_TABS_WITH_SPACES,No,PRETTY_PRINT,No"/>
-#!     <XFORM_PARM PARM_NAME="GML_APPLY_STYLESHEET" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="GML_TARGET_NS_PREFIX" PARM_VALUE="gex"/>
-#!     <XFORM_PARM PARM_NAME="FEATURE_TYPE_LIST_ATTR" PARM_VALUE="_feature_type"/>
-#!     <XFORM_PARM PARM_NAME="GML_TARGET_NS_URI" PARM_VALUE="http://www.veremes.com/gtf/export"/>
-#!     <XFORM_PARM PARM_NAME="GML_WRITE_ALL_FEATURE_TYPE_DEFNS" PARM_VALUE="no"/>
-#!     <XFORM_PARM PARM_NAME="FORMAT" PARM_VALUE="GML"/>
-#!     <XFORM_PARM PARM_NAME="WRITER_FEATURE_TYPE_PARAMS" PARM_VALUE="WRITER_METAFILE_INFO,ATTRIBUTE_CASE,ANY,ATTRIBUTE_INVALID_CHARS,&lt;openbracket&gt;&lt;closebracket&gt;=&lt;space&gt;%~!&lt;at&gt;&lt;dollar&gt;&lt;amp&gt;#&lt;openbracket&gt;&lt;openparen&gt;&lt;closeparen&gt;^?*&lt;apos&gt;+&lt;backslash&gt;&lt;backslash&gt;&lt;solidus&gt;&lt;quote&gt;:,ATTRIBUTE_LENGTH,254,ATTR_TYPE_MAP,xml_char&lt;openparen&gt;width&lt;closeparen&gt;&lt;comma&gt;fme_varchar&lt;openparen&gt;width&lt;closeparen&gt;&lt;comma&gt;xml_char&lt;openparen&gt;width&lt;closeparen&gt;&lt;comma&gt;fme_varbinary&lt;openparen&gt;width&lt;closeparen&gt;&lt;comma&gt;xml_char&lt;openparen&gt;width&lt;closeparen&gt;&lt;comma&gt;fme_char&lt;openparen&gt;width&lt;closeparen&gt;&lt;comma&gt;xml_char&lt;openparen&gt;width&lt;closeparen&gt;&lt;comma&gt;fme_binary&lt;openparen&gt;width&lt;closeparen&gt;&lt;comma&gt;xml_buffer&lt;comma&gt;fme_buffer&lt;comma&gt;xml_buffer&lt;comma&gt;fme_binarybuffer&lt;comma&gt;xml_buffer&lt;comma&gt;fme_json&lt;comma&gt;xml_xml&lt;comma&gt;fme_xml&lt;comma&gt;xml_datetime&lt;comma&gt;fme_buffer&lt;comma&gt;xml_date&lt;comma&gt;fme_buffer&lt;comma&gt;xml_time&lt;comma&gt;fme_buffer&lt;comma&gt;xml_int64&lt;comma&gt;fme_int64&lt;comma&gt;xml_uint64&lt;comma&gt;fme_uint64&lt;comma&gt;xml_int32&lt;comma&gt;fme_int32&lt;comma&gt;xml_uint32&lt;comma&gt;fme_uint32&lt;comma&gt;xml_int16&lt;comma&gt;fme_int16&lt;comma&gt;xml_uint16&lt;comma&gt;fme_uint16&lt;comma&gt;xml_byte&lt;comma&gt;fme_int8&lt;comma&gt;xml_ubyte&lt;comma&gt;fme_uint8&lt;comma&gt;xml_real32&lt;comma&gt;fme_real32&lt;comma&gt;xml_real64&lt;comma&gt;fme_real64&lt;comma&gt;&lt;quote&gt;xml_decimal&lt;openparen&gt;width&lt;comma&gt;decimal&lt;closeparen&gt;&lt;quote&gt;&lt;comma&gt;&lt;quote&gt;fme_decimal&lt;openparen&gt;width&lt;comma&gt;decimal&lt;closeparen&gt;&lt;quote&gt;&lt;comma&gt;xml_boolean&lt;comma&gt;fme_boolean&lt;comma&gt;xml_char&lt;openparen&gt;20&lt;closeparen&gt;&lt;comma&gt;fme_datetime&lt;comma&gt;xml_char&lt;openparen&gt;8&lt;closeparen&gt;&lt;comma&gt;fme_date&lt;comma&gt;xml_char&lt;openparen&gt;12&lt;closeparen&gt;&lt;comma&gt;fme_time&lt;comma&gt;xml_geometry&lt;comma&gt;fme_buffer,DEST_ILLEGAL_ATTR_LIST,,FEATURE_TYPE_CASE,ANY,FEATURE_TYPE_INVALID_CHARS,&lt;backslash&gt;&lt;backslash&gt;&lt;solidus&gt;&lt;quote&gt;:?*&lt;lt&gt;&lt;gt&gt;|&lt;openbracket&gt;&lt;closebracket&gt;=&lt;space&gt;%~!&lt;at&gt;&lt;dollar&gt;&lt;amp&gt;#&lt;openparen&gt;&lt;closeparen&gt;^&lt;apos&gt;+,FEATURE_TYPE_LENGTH,254,FEATURE_TYPE_LENGTH_INCLUDES_PREFIX,false,FEATURE_TYPE_RESERVED_WORDS,,FORMAT_NAME,GML,GEOM_MAP,xml_no_geom&lt;comma&gt;fme_no_geom&lt;comma&gt;xml_point&lt;comma&gt;fme_point&lt;comma&gt;xml_line&lt;comma&gt;fme_line&lt;comma&gt;xml_area&lt;comma&gt;fme_polygon&lt;comma&gt;xml_aggregate&lt;comma&gt;fme_collection&lt;comma&gt;xml_text&lt;comma&gt;fme_text&lt;comma&gt;xml_area&lt;comma&gt;fme_ellipse&lt;comma&gt;xml_area&lt;comma&gt;fme_rectangle&lt;comma&gt;xml_area&lt;comma&gt;fme_rounded_rectangle&lt;comma&gt;xml_arc&lt;comma&gt;fme_arc&lt;comma&gt;xml_surface&lt;comma&gt;fme_surface&lt;comma&gt;xml_solid&lt;comma&gt;fme_solid&lt;comma&gt;xml_mesh&lt;comma&gt;fme_surface&lt;comma&gt;xml_area&lt;comma&gt;fme_raster&lt;comma&gt;xml_area&lt;comma&gt;fme_point_cloud&lt;comma&gt;xml_no_geom&lt;comma&gt;fme_feature_table,READER_ATTR_INDEX_TYPES,,SOURCE,no,SUPPORTS_FEAT_TYPE_FANOUT,yes,SUPPORTS_MULTI_GEOM,yes,WORKBENCH_CANNED_SCHEMA,,WRITER,GML,WRITER_ATTR_INDEX_TYPES,,WRITER_DEFLINE_PARMS,,WRITER_DEF_LINE_TEMPLATE,&lt;opencurly&gt;FME_GEN_GROUP_NAME&lt;closecurly&gt;,WRITER_FORMAT_PARAMETER,ADVANCED_PARMS&lt;comma&gt;&lt;quote&gt;GML_OUT_SYSTEM_ENCODING&lt;space&gt;GML_OUT_WRITE_ALL_FEATURE_TYPE_DEFNS&lt;space&gt;GML_OUT_DOCUMENTS_TO_WRITE&lt;space&gt;GML_OUT_SUPPRESS_XSI_SCHEMALOCATION&lt;space&gt;GML_OUT_MAXIMUM_FRACTION_DIGITS&lt;space&gt;GML_OUT_MINIMUM_FRACTION_DIGITS&lt;space&gt;GML_OUT_APPLY_STYLESHEET&lt;space&gt;GML_OUT_STYLESHEET_RESULT&lt;space&gt;GML_OUT_USE_STYLESHEET_RESULT_AS_DATASET&lt;space&gt;GML_OUT_OVERRIDE_XSD_AND_USE_NAMESPACE_DECLARATIONS&lt;space&gt;GML_OUT_TARGET_NS_PREFIX&lt;space&gt;GML_OUT_TARGET_NS_URI&lt;space&gt;GML_OUT_MAP_ALL_SUBSTITUTABLE_PROPERTIES&lt;space&gt;GML_OUT_ADD_NAMESPACE_PREFIX_TO_NAMES&lt;space&gt;GML_OUT_MAX_MULTI_LIST_LEVEL&lt;space&gt;GML_OUT_FEATURE_COLLECTION&lt;space&gt;GML_OUT_FEATURE_COLLECTION_ID&lt;space&gt;GML_OUT_FEATURE_COLLECTION_NS_URI&lt;space&gt;GML_OUT_MAP_EMBEDDED_OBJECTS_AS&lt;space&gt;GML_OUT_MAP_PREDEFINED_GML_PROPERTIES&lt;space&gt;GML_OUT_MAP_COMPLEX_PROPERTIES_AS&lt;space&gt;GML_OUT_INDENT_SIZE&lt;space&gt;GML_OUT_REPLACE_TABS_WITH_SPACES&lt;space&gt;GML_OUT_TEXT_INDENT&lt;quote&gt;&lt;comma&gt;MIME_TYPE&lt;comma&gt;application&lt;solidus&gt;xml&lt;comma&gt;NETWORK_AUTHENTICATION&lt;comma&gt;ALWAYS&lt;comma&gt;NETWORK_PROXY&lt;comma&gt;NO&lt;comma&gt;DATASET_NAME&lt;comma&gt;&lt;quote&gt;gml&lt;space&gt;file&lt;quote&gt;&lt;comma&gt;READER_DATASET_HINT&lt;comma&gt;&lt;quote&gt;Select&lt;space&gt;the&lt;space&gt;GML&lt;space&gt;file&lt;openparen&gt;s&lt;closeparen&gt;&lt;quote&gt;&lt;comma&gt;WRITER_DATASET_HINT&lt;comma&gt;&lt;quote&gt;Specify&lt;space&gt;a&lt;space&gt;name&lt;space&gt;for&lt;space&gt;the&lt;space&gt;GML&lt;space&gt;file&lt;quote&gt;,WRITER_HAS_DEFLINE_ATTRS,yes;gtf_pro_workspace:gtf_pro_workspace,ftp_feature_type_name,gtf_pro_workspace,ftp_writer,GML,ftp_dynamic_schema,no,ftp_dynamic_feature_type_name_type,DYN_SCHEMA_PROP_AUTO,ftp_dynamic_geometry_type,DYN_SCHEMA_PROP_AUTO,ftp_dynamic_schema_def_name_type,DYN_SCHEMA_PROP_AUTO,ftp_dynamic_schema_sources,&lt;lt&gt;lt&lt;gt&gt;Unused&lt;lt&gt;gt&lt;gt&gt;,ftp_attribute_source,1,ftp_user_attributes,workspace_id&lt;comma&gt;xml_int32&lt;comma&gt;label_name&lt;comma&gt;xml_char&lt;lt&gt;openparen&lt;gt&gt;100&lt;lt&gt;closeparen&lt;gt&gt;&lt;comma&gt;description&lt;comma&gt;xml_buffer&lt;comma&gt;subscription&lt;comma&gt;xml_boolean&lt;comma&gt;fmw_file&lt;comma&gt;xml_char&lt;lt&gt;openparen&lt;gt&gt;150&lt;lt&gt;closeparen&lt;gt&gt;&lt;comma&gt;category_id&lt;comma&gt;xml_int16&lt;comma&gt;category_name&lt;comma&gt;xml_int32&lt;comma&gt;lb_method_id&lt;comma&gt;xml_int32&lt;comma&gt;success_action_id&lt;comma&gt;xml_int32&lt;comma&gt;failed_action_id&lt;comma&gt;xml_int32&lt;comma&gt;survey&lt;comma&gt;xml_boolean&lt;comma&gt;form_type&lt;comma&gt;xml_char&lt;lt&gt;openparen&lt;gt&gt;10&lt;lt&gt;closeparen&lt;gt&gt;&lt;comma&gt;legal_terms_conditions&lt;comma&gt;xml_buffer&lt;comma&gt;usage&lt;comma&gt;xml_buffer&lt;comma&gt;requirements&lt;comma&gt;xml_buffer&lt;comma&gt;history&lt;comma&gt;xml_buffer&lt;comma&gt;last_save_date&lt;comma&gt;xml_char&lt;lt&gt;openparen&lt;gt&gt;20&lt;lt&gt;closeparen&lt;gt&gt;&lt;comma&gt;last_save_build&lt;comma&gt;xml_char&lt;lt&gt;openparen&lt;gt&gt;80&lt;lt&gt;closeparen&lt;gt&gt;&lt;comma&gt;file_encoding&lt;comma&gt;xml_char&lt;lt&gt;openparen&lt;gt&gt;80&lt;lt&gt;closeparen&lt;gt&gt;&lt;comma&gt;title&lt;comma&gt;xml_char&lt;lt&gt;openparen&lt;gt&gt;80&lt;lt&gt;closeparen&lt;gt&gt;&lt;comma&gt;key&lt;comma&gt;xml_char&lt;lt&gt;openparen&lt;gt&gt;80&lt;lt&gt;closeparen&lt;gt&gt;&lt;comma&gt;email_template_id&lt;comma&gt;xml_int32&lt;comma&gt;owner&lt;comma&gt;xml_int32&lt;comma&gt;creation_date&lt;comma&gt;xml_char&lt;lt&gt;openparen&lt;gt&gt;8&lt;lt&gt;closeparen&lt;gt&gt;&lt;comma&gt;locked&lt;comma&gt;xml_boolean&lt;comma&gt;tag&lt;comma&gt;xml_char&lt;lt&gt;openparen&lt;gt&gt;100&lt;lt&gt;closeparen&lt;gt&gt;,ftp_format_attributes,gml_id&lt;comma&gt;gml_parent_id&lt;comma&gt;gml_parent_property"/>
-#!     <XFORM_PARM PARM_NAME="GML_PROFILE" PARM_VALUE="3.1.1"/>
-#!     <XFORM_PARM PARM_NAME="GML_TEXT_INDENT" PARM_VALUE="No"/>
-#!     <XFORM_PARM PARM_NAME="GML_FEATURE_PROPERTIES_ATTRIBUTE_HANDLING" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="FORMAT_DIRECTIVES" PARM_VALUE="RUNTIME_MACROS,PREFER_POLYGON_OVER_SURFACE&lt;comma&gt;no&lt;comma&gt;SRS_AXIS_ORDER&lt;comma&gt;&lt;comma&gt;WRITE_ALL_FEATURE_TYPE_DEFNS&lt;comma&gt;no&lt;comma&gt;TARGET_NS_PREFIX&lt;comma&gt;gex&lt;comma&gt;FEATURE_COLLECTION_NS_URI&lt;comma&gt;&lt;comma&gt;INDENT_SIZE&lt;comma&gt;1&lt;comma&gt;USE_STYLESHEET_RESULT_AS_DATASET&lt;comma&gt;no&lt;comma&gt;PRETTY_PRINT_SETTINGS&lt;comma&gt;FME_DISCLOSURE_OPEN&lt;comma&gt;FEATURE_COLLECTION_ID&lt;comma&gt;&lt;comma&gt;SRS_NAME&lt;comma&gt;&lt;comma&gt;PROFILE&lt;comma&gt;3.1.1&lt;comma&gt;FEATURE_COLLECTION_GROUP&lt;comma&gt;FME_DISCLOSURE_CLOSED&lt;comma&gt;TEXT_INDENT&lt;comma&gt;No&lt;comma&gt;GML_WRT_ADV_PARAMETERS&lt;comma&gt;FME_DISCLOSURE_OPEN&lt;comma&gt;MAXIMUM_FRACTION_DIGITS&lt;comma&gt;&lt;comma&gt;SUPPRESS_XSI_SCHEMALOCATION&lt;comma&gt;no&lt;comma&gt;COORDINATE_SYSTEM_GRANULARITY&lt;comma&gt;DATASET&lt;comma&gt;FEATURE_COLLECTION&lt;comma&gt;&lt;comma&gt;FEATURE_PROPERTIES&lt;comma&gt;&lt;comma&gt;FEATURE_PROPERTIES_ATTRIBUTE_HANDLING&lt;comma&gt;&lt;comma&gt;VALIDATE_OUTPUT_DATASET&lt;comma&gt;NO&lt;comma&gt;TARGET_NS_URI&lt;comma&gt;http:&lt;solidus&gt;&lt;solidus&gt;www.veremes.com&lt;solidus&gt;gtf&lt;solidus&gt;export&lt;comma&gt;APPLY_STYLESHEET&lt;comma&gt;&lt;comma&gt;DESTINATION_DATASETTYPE_VALIDATION&lt;comma&gt;Yes&lt;comma&gt;DOCUMENTS_TO_WRITE&lt;comma&gt;BOTH&lt;comma&gt;OVERRIDE_XSD_AND_USE_NAMESPACE_DECLARATIONS&lt;comma&gt;&lt;comma&gt;STYLESHEET_RESULT&lt;comma&gt;&lt;comma&gt;MINIMUM_FRACTION_DIGITS&lt;comma&gt;&lt;comma&gt;SYSTEM_ENCODING&lt;comma&gt;utf-8&lt;comma&gt;REPLACE_TABS_WITH_SPACES&lt;comma&gt;No&lt;comma&gt;PRETTY_PRINT&lt;comma&gt;No,METAFILE,GML"/>
-#!     <XFORM_PARM PARM_NAME="SUMMARY_ATTRS_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="GML_SRS_NAME" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="GML_PREFER_POLYGON_OVER_SURFACE" PARM_VALUE="no"/>
-#!     <XFORM_PARM PARM_NAME="FORMAT_PARAMS" PARM_VALUE="GML_PREFER_POLYGON_OVER_SURFACE,&quot;OPTIONAL CHOICE no%yes&quot;,GML&lt;space&gt;Prefer&lt;space&gt;Polygons&lt;space&gt;over&lt;space&gt;Surfaces:,GML_SRS_AXIS_ORDER,&quot;OPTIONAL CHOICE 1,2%2,1%1,2,3%2,1,3&quot;,GML&lt;space&gt;GML&lt;space&gt;SRS&lt;space&gt;Axis&lt;space&gt;Order:,GML_WRITE_ALL_FEATURE_TYPE_DEFNS,&quot;OPTIONAL CHOICE no%yes&quot;,GML&lt;space&gt;Write&lt;space&gt;All&lt;space&gt;Feature&lt;space&gt;Types:,GML_TARGET_NS_PREFIX,&quot;OPTIONAL TEXT&quot;,GML&lt;space&gt;Target&lt;space&gt;Namespace&lt;space&gt;Prefix:,GML_FEATURE_COLLECTION_NS_URI,&quot;OPTIONAL STRING_OR_CHOICE http://www.opengis.net/gml%http://www.opengis.net/gml/3.2%http://www.opengis.net/wfs%http://www.opengis.net/wfs/2.0&quot;,GML&lt;space&gt;Feature&lt;space&gt;Collection&lt;space&gt;NS&lt;space&gt;URI:,GML_INDENT_SIZE,&quot;OPTIONAL CHOICE 0%1%2%3%4%5%6%7%8%9&quot;,GML&lt;space&gt;Indent&lt;space&gt;Size:,GML_USE_STYLESHEET_RESULT_AS_DATASET,&quot;OPTIONAL CHOICE no%yes&quot;,GML&lt;space&gt;Dataset&lt;space&gt;as&lt;space&gt;Stylesheet&lt;space&gt;Result:,GML_PRETTY_PRINT_SETTINGS,&quot;OPTIONAL DISCLOSUREGROUP PRETTY_PRINT%INDENT_SIZE%REPLACE_TABS_WITH_SPACES%TEXT_INDENT&quot;,GML&lt;space&gt;Pretty&lt;space&gt;Printing,GML_FEATURE_COLLECTION_ID,&quot;OPTIONAL TEXT&quot;,GML&lt;space&gt;Feature&lt;space&gt;Collection&lt;space&gt;ID:,GML_SRS_NAME,&quot;OPTIONAL TEXT&quot;,GML&lt;space&gt;GML&lt;space&gt;srsName:,GML_PROFILE,&quot;OPTIONAL ACTIVECHOICE 3.1.1,XSD_DOC,FEATURE_PROPERTIES,FEATURE_PROPERTIES_ATTRIBUTE_HANDLING%3.2.1,XSD_DOC,FEATURE_PROPERTIES,FEATURE_PROPERTIES_ATTRIBUTE_HANDLING%&quot;&quot;GML Application Schema&quot;&quot;,TARGET_NS_PREFIX,TARGET_NS_URI,WRITE_ALL_FEATURE_TYPE_DEFNS,DOCUMENTS_TO_WRITE&quot;,GML&lt;space&gt;GML&lt;space&gt;Version:,GML_FEATURE_COLLECTION_GROUP,&quot;OPTIONAL DISCLOSUREGROUP FEATURE_COLLECTION%FEATURE_COLLECTION_ID%FEATURE_COLLECTION_NS_URI&quot;,GML&lt;space&gt;Feature&lt;space&gt;Collection,GML_TEXT_INDENT,&quot;OPTIONAL CHOICE Yes%No&quot;,GML&lt;space&gt;Indent&lt;space&gt;Text:,GML_GML_WRT_ADV_PARAMETERS,&quot;OPTIONAL DISCLOSUREGROUP WRITE_ALL_FEATURE_TYPE_DEFNS%MAXIMUM_FRACTION_DIGITS%MINIMUM_FRACTION_DIGITS%SYSTEM_ENCODING%DOCUMENTS_TO_WRITE%SUPPRESS_XSI_SCHEMALOCATION%APPLY_STYLESHEET%STYLESHEET_RESULT%USE_STYLESHEET_RESULT_AS_DATASET%OVERRIDE_XSD_AND_USE_NAMESPACE_DECLARATIONS%PREFER_POLYGON_OVER_SURFACE%VALIDATE_OUTPUT_DATASET&quot;,GML&lt;space&gt;Advanced,GML_MAXIMUM_FRACTION_DIGITS,&quot;OPTIONAL INTEGER&quot;,GML&lt;space&gt;Maximum&lt;space&gt;Decimal&lt;space&gt;Places:,GML_SUPPRESS_XSI_SCHEMALOCATION,&quot;OPTIONAL CHOICE no%yes&quot;,GML&lt;space&gt;Suppress&lt;space&gt;xsi:schemaLocation&lt;space&gt;Attribute:,GML_COORDINATE_SYSTEM_GRANULARITY,&quot;IGNORE TEXT&quot;,GML&lt;space&gt;,GML_FEATURE_COLLECTION,&quot;OPTIONAL STRING_OR_CHOICE FeatureCollection%target-namespace&quot;,GML&lt;space&gt;Feature&lt;space&gt;Collection:,GML_FEATURE_PROPERTIES,&quot;OPTIONAL DISCLOSUREGROUP MAP_EMBEDDED_OBJECTS_AS%MAP_PREDEFINED_GML_PROPERTIES%MAP_ALL_SUBSTITUTABLE_PROPERTIES%ADD_NAMESPACE_PREFIX_TO_NAMES&quot;,GML&lt;space&gt;Feature&lt;space&gt;Properties,GML_FEATURE_PROPERTIES_ATTRIBUTE_HANDLING,&quot;OPTIONAL DISCLOSUREGROUP MAP_COMPLEX_PROPERTIES_AS%MAX_MULTI_LIST_LEVEL%XML_FRAGMENTS_AS_DOCUMENTS%FLATTEN_XML_FRAGMENTS&quot;,GML&lt;space&gt;Feature&lt;space&gt;Properties&lt;space&gt;-&lt;space&gt;Attribute&lt;space&gt;Handling,GML_VALIDATE_OUTPUT_DATASET,&quot;OPTIONAL CHOICE YES%NO&quot;,GML&lt;space&gt;Validate&lt;space&gt;Output&lt;space&gt;File:,GML_TARGET_NS_URI,&quot;OPTIONAL TEXT&quot;,GML&lt;space&gt;Target&lt;space&gt;Namespace&lt;space&gt;URI:,GML_APPLY_STYLESHEET,&quot;OPTIONAL FILENAME_MUSTEXIST XSLT_Stylesheet_Files(*.xslt;*.xsl)|*.xslt;*.xsl|All_Files(*)|*&quot;,GML&lt;space&gt;XSLT&lt;space&gt;Stylesheet&lt;space&gt;to&lt;space&gt;Apply:,GML_DESTINATION_DATASETTYPE_VALIDATION,&quot;IGNORE TEXT&quot;,GML&lt;space&gt;,GML_DOCUMENTS_TO_WRITE,&quot;OPTIONAL LOOKUP_CHOICE &quot;&quot;Both&quot;&quot;,BOTH%&quot;&quot;GML Only&quot;&quot;,GML_ONLY%&quot;&quot;XSD Only&quot;&quot;,XSD_ONLY&quot;,GML&lt;space&gt;Documents&lt;space&gt;To&lt;space&gt;Write:,GML_OVERRIDE_XSD_AND_USE_NAMESPACE_DECLARATIONS,&quot;OPTIONAL TEXT_EDIT_XML_ENCODED&quot;,GML&lt;space&gt;Override&lt;space&gt;XSD&lt;space&gt;And&lt;space&gt;Use&lt;space&gt;Namespace&lt;space&gt;Declarations:,GML_STYLESHEET_RESULT,&quot;OPTIONAL FILENAME All_Files(*)|*&quot;,GML&lt;space&gt;Stylesheet&lt;space&gt;Result:,GML_MINIMUM_FRACTION_DIGITS,&quot;OPTIONAL INTEGER&quot;,GML&lt;space&gt;Minimum&lt;space&gt;Decimal&lt;space&gt;Places:,GML_SYSTEM_ENCODING,&quot;OPTIONAL TEXT&quot;,GML&lt;space&gt;System&lt;space&gt;Encoding:,GML_REPLACE_TABS_WITH_SPACES,&quot;OPTIONAL CHOICE Yes%No&quot;,GML&lt;space&gt;Replace&lt;space&gt;Tabs&lt;space&gt;with&lt;space&gt;Spaces:,GML_PRETTY_PRINT,&quot;OPTIONAL CHOICE Yes%No&quot;,GML&lt;space&gt;Pretty&lt;space&gt;Print:"/>
-#!     <XFORM_PARM PARM_NAME="WRITER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="FeatureWriter"/>
-#!     <XFORM_PARM PARM_NAME="TOTAL_FEATURES_WRITTEN_ATTR" PARM_VALUE="_total_features_written"/>
-#!     <XFORM_PARM PARM_NAME="GML_PRETTY_PRINT" PARM_VALUE="No"/>
-#!     <XFORM_PARM PARM_NAME="FEATURE_TYPES_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="GML_REPLACE_TABS_WITH_SPACES" PARM_VALUE="No"/>
-#!     <XFORM_PARM PARM_NAME="GML_COORDINATE_SYSTEM_GRANULARITY" PARM_VALUE="DATASET"/>
-#!     <XFORM_PARM PARM_NAME="GML_USE_STYLESHEET_RESULT_AS_DATASET" PARM_VALUE="no"/>
-#!     <XFORM_PARM PARM_NAME="GML_DOCUMENTS_TO_WRITE" PARM_VALUE="BOTH"/>
-#!     <XFORM_PARM PARM_NAME="GML_MAXIMUM_FRACTION_DIGITS" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="GML_OVERRIDE_XSD_AND_USE_NAMESPACE_DECLARATIONS" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="GML_MINIMUM_FRACTION_DIGITS" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="GML_FEATURE_PROPERTIES" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="DATASET" PARM_VALUE="&lt;at&gt;Value&lt;openparen&gt;_tempDir&lt;closeparen&gt;&lt;solidus&gt;export.xml"/>
-#!     <XFORM_PARM PARM_NAME="GML_GML_WRT_ADV_PARAMETERS" PARM_VALUE="FME_DISCLOSURE_OPEN"/>
-#!     <XFORM_PARM PARM_NAME="GML_INDENT_SIZE" PARM_VALUE="1"/>
-#!     <XFORM_PARM PARM_NAME="COORDSYS" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="GML_FEATURE_COLLECTION_GROUP" PARM_VALUE="FME_DISCLOSURE_CLOSED"/>
-#!     <XFORM_PARM PARM_NAME="GML_PRETTY_PRINT_SETTINGS" PARM_VALUE="FME_DISCLOSURE_OPEN"/>
-#!     <XFORM_PARM PARM_NAME="GML_VALIDATE_OUTPUT_DATASET" PARM_VALUE="NO"/>
-#!     <XFORM_PARM PARM_NAME="GML_FEATURE_COLLECTION_ID" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="GML_FEATURE_COLLECTION" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="GML_SUPPRESS_XSI_SCHEMALOCATION" PARM_VALUE="no"/>
-#!     <XFORM_PARM PARM_NAME="WRITER_METAFILE" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="DYNGROUP_0" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="GML_SRS_AXIS_ORDER" PARM_VALUE=""/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="37"
-#!   TYPE="PythonCaller"
-#!   VERSION="4"
-#!   POSITION="6896.08 -143.998"
-#!   BOUNDING_RECT="6896.08 -143.998 -1 -1"
-#!   ORDER="5e+14"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="17292"
-#! >
-#!     <OUTPUT_FEAT NAME="OUTPUT"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="_feature_type{}.count" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_feature_type{}.name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_dataset" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_total_features_written" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="label_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="owner" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_creation_instance" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_tempDir" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_PARM PARM_NAME="PYTHONSYMBOL" PARM_VALUE="FeatureProcessor"/>
-#!     <XFORM_PARM PARM_NAME="ADVANCED_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="NEW_ATTRIBUTES" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="LIST_ATTRS" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="PYTHONSOURCE" PARM_VALUE="#&lt;space&gt;-*-&lt;space&gt;coding:&lt;space&gt;utf-8&lt;space&gt;-*-&lt;lf&gt;import&lt;space&gt;fmeobjects&lt;lf&gt;import&lt;space&gt;zipfile&lt;lf&gt;import&lt;space&gt;sys&lt;lf&gt;import&lt;space&gt;os&lt;lf&gt;import&lt;space&gt;shutil&lt;lf&gt;&lt;lf&gt;def&lt;space&gt;zip_folder&lt;openparen&gt;folder_path&lt;comma&gt;&lt;space&gt;output_path&lt;closeparen&gt;:&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;parent_folder&lt;space&gt;=&lt;space&gt;os.path.dirname&lt;openparen&gt;folder_path&lt;closeparen&gt;&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;contents&lt;space&gt;=&lt;space&gt;os.walk&lt;openparen&gt;folder_path&lt;closeparen&gt;&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;try:&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;zip_file&lt;space&gt;=&lt;space&gt;zipfile.ZipFile&lt;openparen&gt;output_path&lt;comma&gt;&lt;space&gt;&lt;apos&gt;w&lt;apos&gt;&lt;comma&gt;&lt;space&gt;zipfile.ZIP_DEFLATED&lt;closeparen&gt;&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;for&lt;space&gt;root&lt;comma&gt;&lt;space&gt;folders&lt;comma&gt;&lt;space&gt;files&lt;space&gt;in&lt;space&gt;contents:&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;for&lt;space&gt;folder_name&lt;space&gt;in&lt;space&gt;folders:&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;absolute_path&lt;space&gt;=&lt;space&gt;os.path.join&lt;openparen&gt;root&lt;comma&gt;&lt;space&gt;folder_name&lt;closeparen&gt;&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;relative_path&lt;space&gt;=&lt;space&gt;absolute_path.replace&lt;openparen&gt;parent_folder&lt;space&gt;+&lt;space&gt;&lt;apos&gt;&lt;solidus&gt;&lt;solidus&gt;&lt;apos&gt;&lt;comma&gt;&lt;apos&gt;&lt;apos&gt;&lt;closeparen&gt;&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;zip_file.write&lt;openparen&gt;absolute_path&lt;comma&gt;&lt;space&gt;relative_path&lt;closeparen&gt;&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;for&lt;space&gt;file_name&lt;space&gt;in&lt;space&gt;files:&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;absolute_path&lt;space&gt;=&lt;space&gt;os.path.join&lt;openparen&gt;root&lt;comma&gt;&lt;space&gt;file_name&lt;closeparen&gt;&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;relative_path&lt;space&gt;=&lt;space&gt;absolute_path.replace&lt;openparen&gt;parent_folder&lt;space&gt;+&lt;space&gt;&lt;apos&gt;&lt;solidus&gt;&lt;solidus&gt;&lt;apos&gt;&lt;comma&gt;&lt;apos&gt;&lt;apos&gt;&lt;closeparen&gt;&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;zip_file.write&lt;openparen&gt;absolute_path&lt;comma&gt;&lt;space&gt;relative_path&lt;closeparen&gt;&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;except&lt;space&gt;IOError&lt;comma&gt;&lt;space&gt;message:&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;print&lt;space&gt;message&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;sys.exit&lt;openparen&gt;1&lt;closeparen&gt;&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;except&lt;space&gt;OSError&lt;comma&gt;&lt;space&gt;message:&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;print&lt;space&gt;message&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;sys.exit&lt;openparen&gt;1&lt;closeparen&gt;&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;except&lt;space&gt;zipfile.BadZipfile&lt;comma&gt;&lt;space&gt;message:&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;print&lt;space&gt;message&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;sys.exit&lt;openparen&gt;1&lt;closeparen&gt;&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;finally:&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;zip_file.close&lt;openparen&gt;&lt;closeparen&gt;&lt;lf&gt;&lt;lf&gt;def&lt;space&gt;FeatureProcessor&lt;openparen&gt;feature&lt;closeparen&gt;:&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;if&lt;space&gt;os.path.exists&lt;openparen&gt;feature.getAttribute&lt;openparen&gt;&lt;apos&gt;_tempDir&lt;apos&gt;&lt;closeparen&gt;&lt;closeparen&gt;:&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;zip_folder&lt;openparen&gt;feature.getAttribute&lt;openparen&gt;&lt;apos&gt;_tempDir&lt;apos&gt;&lt;closeparen&gt;&lt;space&gt;+&lt;space&gt;&lt;apos&gt;&lt;solidus&gt;&lt;solidus&gt;&lt;apos&gt;&lt;comma&gt;FME_MacroValues&lt;openbracket&gt;&lt;apos&gt;destGexFile&lt;apos&gt;&lt;closebracket&gt;&lt;closeparen&gt;"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="PythonCaller_2"/>
-#!     <XFORM_PARM PARM_NAME="PARAMETERS_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="HIDE_ATTRIBUTES" PARM_VALUE=""/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="48"
-#!   TYPE="FeatureMerger"
-#!   VERSION="17"
-#!   POSITION="5386.05 -6.00006"
-#!   BOUNDING_RECT="5386.05 -6.00006 -1 -1"
-#!   ORDER="5e+14"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="17292"
-#!   INPUT_FT_ORDER="SUPPLIER%REQUESTOR"
-#! >
-#!     <OUTPUT_FEAT NAME="MERGED"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="_feature_type{}.count" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_feature_type{}.name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_dataset" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_total_features_written" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="label_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="owner" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_creation_instance" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_tempDir" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <OUTPUT_FEAT NAME="UNMERGED_REQUESTOR"/>
-#!     <FEAT_COLLAPSED COLLAPSED="1"/>
-#!     <XFORM_ATTR ATTR_NAME="_feature_type{}.count" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_feature_type{}.name" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_dataset" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_total_features_written" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <OUTPUT_FEAT NAME="USED_SUPPLIER"/>
-#!     <FEAT_COLLAPSED COLLAPSED="2"/>
-#!     <XFORM_ATTR ATTR_NAME="workspace_id" IS_USER_CREATED="false" FEAT_INDEX="2" />
-#!     <XFORM_ATTR ATTR_NAME="label_name" IS_USER_CREATED="false" FEAT_INDEX="2" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="2" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="2" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="2" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="2" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="2" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="2" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="2" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="2" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="2" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="2" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="2" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="2" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="2" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="2" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="2" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="2" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="2" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="2" />
-#!     <XFORM_ATTR ATTR_NAME="owner" IS_USER_CREATED="false" FEAT_INDEX="2" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="2" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="2" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="2" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="2" />
-#!     <XFORM_ATTR ATTR_NAME="_creation_instance" IS_USER_CREATED="false" FEAT_INDEX="2" />
-#!     <XFORM_ATTR ATTR_NAME="_tempDir" IS_USER_CREATED="false" FEAT_INDEX="2" />
-#!     <XFORM_ATTR ATTR_NAME="numReferences" IS_USER_CREATED="false" FEAT_INDEX="2" />
-#!     <OUTPUT_FEAT NAME="UNUSED_SUPPLIER"/>
-#!     <FEAT_COLLAPSED COLLAPSED="3"/>
-#!     <XFORM_ATTR ATTR_NAME="workspace_id" IS_USER_CREATED="false" FEAT_INDEX="3" />
-#!     <XFORM_ATTR ATTR_NAME="label_name" IS_USER_CREATED="false" FEAT_INDEX="3" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="3" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="3" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="3" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="3" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="3" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="3" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="3" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="3" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="3" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="3" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="3" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="3" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="3" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="3" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="3" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="3" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="3" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="3" />
-#!     <XFORM_ATTR ATTR_NAME="owner" IS_USER_CREATED="false" FEAT_INDEX="3" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="3" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="3" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="3" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="3" />
-#!     <XFORM_ATTR ATTR_NAME="_creation_instance" IS_USER_CREATED="false" FEAT_INDEX="3" />
-#!     <XFORM_ATTR ATTR_NAME="_tempDir" IS_USER_CREATED="false" FEAT_INDEX="3" />
-#!     <OUTPUT_FEAT NAME="&lt;REJECTED&gt;"/>
-#!     <FEAT_COLLAPSED COLLAPSED="4"/>
-#!     <XFORM_ATTR ATTR_NAME="_feature_type{}.count" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="_feature_type{}.name" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="_dataset" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="_total_features_written" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="workspace_id" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="label_name" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="owner" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="_creation_instance" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="_tempDir" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="fme_rejection_code" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_PARM PARM_NAME="ATTR_ACCUM_MODE" PARM_VALUE="Merge Supplier"/>
-#!     <XFORM_PARM PARM_NAME="JOIN_KEYS" PARM_VALUE="1 1 AUTO"/>
-#!     <XFORM_PARM PARM_NAME="ATTR_ACCUM_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="GENERATE_LIST_GROUP" PARM_VALUE="NO"/>
-#!     <XFORM_PARM PARM_NAME="MERGE_TYPE" PARM_VALUE="Attributes Only"/>
-#!     <XFORM_PARM PARM_NAME="LIST_ATTRS_TO_INCLUDE" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="SUPPLIERS_FIRST" PARM_VALUE="No"/>
-#!     <XFORM_PARM PARM_NAME="REJECT_NULL_MISSING_KEYS" PARM_VALUE="No"/>
-#!     <XFORM_PARM PARM_NAME="LIST_ATTRS_TO_INCLUDE_MODE" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="JOIN_ATTRIBUTES_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="GEOM_TYPE" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="FeatureMerger"/>
-#!     <XFORM_PARM PARM_NAME="SUPPLIER_PREFIX" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="GROUP_BY" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="MERGE_COUNT_ATTR" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="IGNORE_NULLS" PARM_VALUE="No"/>
-#!     <XFORM_PARM PARM_NAME="LIST_NAME" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="CONNECT_Z_MODE" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="PARAMETERS" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="PROCESS_DUPS" PARM_VALUE="No"/>
-#!     <XFORM_PARM PARM_NAME="ATTR_CONFLICT_RES" PARM_VALUE="Use Requestor"/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="39"
-#!   TYPE="TempPathnameCreator"
-#!   VERSION="0"
-#!   POSITION="4027.35 377.503"
-#!   BOUNDING_RECT="4027.35 377.503 -1 -1"
-#!   ORDER="5e+14"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="17292"
-#! >
-#!     <OUTPUT_FEAT NAME="OUTPUT"/>
-#!     <XFORM_ATTR ATTR_NAME="_creation_instance" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_tempDir" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="TempPathnameCreator_2"/>
-#!     <XFORM_PARM PARM_NAME="EXTENSION" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="BASENAME" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="PARAMETER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="PATHNAME_ATTR" PARM_VALUE="_tempDir"/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="40"
-#!   TYPE="Creator"
-#!   VERSION="5"
-#!   POSITION="3290.03 263.503"
-#!   BOUNDING_RECT="3290.03 263.503 -1 -1"
-#!   ORDER="5e+14"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="17292"
-#! >
-#!     <OUTPUT_FEAT NAME="CREATED"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="_creation_instance" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_PARM PARM_NAME="GEOM" PARM_VALUE="&lt;lt&gt;?xml&lt;space&gt;version=&lt;quote&gt;1.0&lt;quote&gt;&lt;space&gt;encoding=&lt;quote&gt;US_ASCII&lt;quote&gt;&lt;space&gt;standalone=&lt;quote&gt;no&lt;quote&gt;&lt;space&gt;?&lt;gt&gt;&lt;lt&gt;geometry&lt;space&gt;dimension=&lt;quote&gt;2&lt;quote&gt;&lt;gt&gt;&lt;lt&gt;null&lt;solidus&gt;&lt;gt&gt;&lt;lt&gt;&lt;solidus&gt;geometry&lt;gt&gt;"/>
-#!     <XFORM_PARM PARM_NAME="ATEND" PARM_VALUE="no"/>
-#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="GEOMTYPE" PARM_VALUE="Geometry Object"/>
-#!     <XFORM_PARM PARM_NAME="COORDS" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="COORDSYS" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="CRE_ATTR" PARM_VALUE="_creation_instance"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="Creator"/>
-#!     <XFORM_PARM PARM_NAME="PARAMETERS_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="NUM" PARM_VALUE="1"/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="53"
-#!   TYPE="FeatureMerger"
-#!   VERSION="17"
-#!   POSITION="4584.05 166"
-#!   BOUNDING_RECT="4584.05 166 -1 -1"
-#!   ORDER="5e+14"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="17292"
-#!   INPUT_FT_ORDER="SUPPLIER%REQUESTOR"
-#! >
-#!     <OUTPUT_FEAT NAME="MERGED"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="label_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="owner" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_creation_instance" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_tempDir" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <OUTPUT_FEAT NAME="UNMERGED_REQUESTOR"/>
-#!     <FEAT_COLLAPSED COLLAPSED="1"/>
-#!     <XFORM_ATTR ATTR_NAME="workspace_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="label_name" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="owner" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <OUTPUT_FEAT NAME="USED_SUPPLIER"/>
-#!     <FEAT_COLLAPSED COLLAPSED="2"/>
-#!     <XFORM_ATTR ATTR_NAME="_creation_instance" IS_USER_CREATED="false" FEAT_INDEX="2" />
-#!     <XFORM_ATTR ATTR_NAME="_tempDir" IS_USER_CREATED="false" FEAT_INDEX="2" />
-#!     <XFORM_ATTR ATTR_NAME="numReferences" IS_USER_CREATED="false" FEAT_INDEX="2" />
-#!     <OUTPUT_FEAT NAME="UNUSED_SUPPLIER"/>
-#!     <FEAT_COLLAPSED COLLAPSED="3"/>
-#!     <XFORM_ATTR ATTR_NAME="_creation_instance" IS_USER_CREATED="false" FEAT_INDEX="3" />
-#!     <XFORM_ATTR ATTR_NAME="_tempDir" IS_USER_CREATED="false" FEAT_INDEX="3" />
-#!     <OUTPUT_FEAT NAME="&lt;REJECTED&gt;"/>
-#!     <FEAT_COLLAPSED COLLAPSED="4"/>
-#!     <XFORM_ATTR ATTR_NAME="workspace_id" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="label_name" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="owner" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="_creation_instance" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="_tempDir" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="fme_rejection_code" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_PARM PARM_NAME="ATTR_ACCUM_MODE" PARM_VALUE="Merge Supplier"/>
-#!     <XFORM_PARM PARM_NAME="JOIN_KEYS" PARM_VALUE="1 1 AUTO"/>
-#!     <XFORM_PARM PARM_NAME="ATTR_ACCUM_GROUP" PARM_VALUE="FME_DISCLOSURE_OPEN"/>
-#!     <XFORM_PARM PARM_NAME="GENERATE_LIST_GROUP" PARM_VALUE="NO"/>
-#!     <XFORM_PARM PARM_NAME="MERGE_TYPE" PARM_VALUE="Attributes Only"/>
-#!     <XFORM_PARM PARM_NAME="LIST_ATTRS_TO_INCLUDE" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="SUPPLIERS_FIRST" PARM_VALUE="No"/>
-#!     <XFORM_PARM PARM_NAME="REJECT_NULL_MISSING_KEYS" PARM_VALUE="No"/>
-#!     <XFORM_PARM PARM_NAME="LIST_ATTRS_TO_INCLUDE_MODE" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="JOIN_ATTRIBUTES_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="GEOM_TYPE" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="FeatureMerger_2"/>
-#!     <XFORM_PARM PARM_NAME="SUPPLIER_PREFIX" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="GROUP_BY" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="MERGE_COUNT_ATTR" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="IGNORE_NULLS" PARM_VALUE="No"/>
-#!     <XFORM_PARM PARM_NAME="LIST_NAME" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="CONNECT_Z_MODE" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="PARAMETERS" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="PROCESS_DUPS" PARM_VALUE="No"/>
-#!     <XFORM_PARM PARM_NAME="ATTR_CONFLICT_RES" PARM_VALUE="Use Requestor"/>
-#! </TRANSFORMER>
-#! </TRANSFORMERS>
-#! <FEAT_LINKS>
-#! <FEAT_LINK
-#!   IDENTIFIER="28"
-#!   SOURCE_NODE="35"
-#!   TARGET_NODE="26"
-#!   SOURCE_PORT_DESC="-1"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="52"
-#!   SOURCE_NODE="40"
-#!   TARGET_NODE="39"
-#!   SOURCE_PORT_DESC="fo 0 CREATED"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="51"
-#!   SOURCE_NODE="42"
-#!   TARGET_NODE="59"
-#!   SOURCE_PORT_DESC="-1"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="29"
-#!   SOURCE_NODE="26"
-#!   TARGET_NODE="56"
-#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="32"
-#!   SOURCE_NODE="30"
-#!   TARGET_NODE="57"
-#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="38"
-#!   SOURCE_NODE="34"
-#!   TARGET_NODE="48"
-#!   SOURCE_PORT_DESC="fo 0 SUMMARY"
-#!   TARGET_PORT_DESC="fi 1 REQUESTOR"
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="54"
-#!   SOURCE_NODE="39"
-#!   TARGET_NODE="53"
-#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
-#!   TARGET_PORT_DESC="fi 0 SUPPLIER"
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="50"
-#!   SOURCE_NODE="48"
-#!   TARGET_NODE="37"
-#!   SOURCE_PORT_DESC="fo 0 MERGED"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="47"
-#!   SOURCE_NODE="53"
-#!   TARGET_NODE="86"
-#!   SOURCE_PORT_DESC="fo 0 MERGED"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="49"
-#!   SOURCE_NODE="53"
-#!   TARGET_NODE="48"
-#!   SOURCE_PORT_DESC="fo 0 MERGED"
-#!   TARGET_PORT_DESC="fi 0 SUPPLIER"
-#!   ENABLED="true"
-#!   EXECUTION_IDX="1"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="85"
-#!   SOURCE_NODE="56"
-#!   TARGET_NODE="58"
-#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="60"
-#!   SOURCE_NODE="57"
-#!   TARGET_NODE="65"
-#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
-#!   TARGET_PORT_DESC="fi 0 REQUESTOR"
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="31"
-#!   SOURCE_NODE="58"
-#!   TARGET_NODE="30"
-#!   SOURCE_PORT_DESC="fo 0 PASSED"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="64"
-#!   SOURCE_NODE="59"
-#!   TARGET_NODE="63"
-#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="66"
-#!   SOURCE_NODE="63"
-#!   TARGET_NODE="65"
-#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
-#!   TARGET_PORT_DESC="fi 1 SUPPLIER"
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="45"
-#!   SOURCE_NODE="65"
-#!   TARGET_NODE="53"
-#!   SOURCE_PORT_DESC="fo 0 MERGED"
-#!   TARGET_PORT_DESC="fi 1 REQUESTOR"
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="36"
-#!   SOURCE_NODE="86"
-#!   TARGET_NODE="34"
-#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
-#!   TARGET_PORT_DESC="fi 0 gtf_pro_workspace"
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="44"
-#!   SOURCE_NODE="65"
-#!   TARGET_NODE="53"
-#!   SOURCE_PORT_DESC="fo 1 NOT_MERGED"
-#!   TARGET_PORT_DESC="fi 1 REQUESTOR"
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! </FEAT_LINKS>
-#! <BREAKPOINTS>
-#! </BREAKPOINTS>
-#! <ATTR_LINKS>
-#! </ATTR_LINKS>
-#! <SUBDOCUMENTS>
-#! </SUBDOCUMENTS>
-#! <LOOKUP_TABLES>
-#! </LOOKUP_TABLES>
-#! </WORKSPACE>
-FME_PYTHON_VERSION 27
-GUI IGNORE SourceDataset_POSTGRES_1,POSTGRES_IN_HOST_POSTGRES_1,POSTGRES_IN_PORT_POSTGRES_1,POSTGRES_IN_USER_NAME_POSTGRES_1,POSTGRES_IN_PASSWORD_POSTGRES_1,POSTGRES_IN_FEATURES_PER_FETCH_POSTGRES_1,DestDataset_GML_1,_PROFILE_GML_1,_WRITE_ALL_FEATURE_TYPE_DEFNS_GML_1,_TARGET_NS_PREFIX_GML_1,_TARGET_NS_URI_GML_1,_OUTPUT_ENCODING_GML_1,_OUT_XSD_DOC_GML_1,_TARGET_XSI_SCHEMALOCATION_URL_GML_1,_SRS_NAME_GML_1,_SRS_AXIS_ORDER_GML_1,_MAXIMUM_FRACTION_DIGITS_GML_1,_MINIMUM_FRACTION_DIGITS_GML_1,_SYSTEM_ENCODING_GML_1,_SUPPRESS_XSD_DOCUMENT_GML_1,_SUPPRESS_XSI_SCHEMALOCATION_GML_1,_FEATURE_COLLECTION_GML_1,_FEATURE_COLLECTION_ID_GML_1,_APPLY_STYLESHEET_GML_1,_STYLESHEET_RESULT_GML_1,_USE_STYLESHEET_RESULT_AS_DATASET_GML_1,_VALIDATE_OUTPUT_DATASET_GML_1
-DEFAULT_MACRO idWorkspaceList 35
-GUI TEXT idWorkspaceList id séparés par un espace :
-DEFAULT_MACRO destGexFile C:\antoine_non_sauv\2017_11_gtf_export\test.gex
-GUI FILENAME destGexFile Export_GTF|*.gex Fichier Gtf Export (.gex) :
-DEFAULT_MACRO GTF_CONNECTION_STRING 
-GUI OPTIONAL PASSWORD GTF_CONNECTION_STRING Chaîne de connexion à la base GTF :
-INCLUDE PYTHON
-def ParamFunc():
-  import fmeobjects
-  import string
-  connection_string = string.split(FME_MacroValues['GTF_CONNECTION_STRING'],',')
-  return connection_string[0]
-value = ParamFunc()
-macroName = 'dbServer'
-if value == None:
-  return { macroName : '' }
-else:
-  return { macroName : str(value) }
-END_INCLUDE
-INCLUDE PYTHON
-def ParamFunc():
-  import fmeobjects
-  import string
-  connection_string = string.split(FME_MacroValues['GTF_CONNECTION_STRING'],',')
-  return connection_string[1]
-value = ParamFunc()
-macroName = 'dbPort'
-if value == None:
-  return { macroName : '' }
-else:
-  return { macroName : str(value) }
-END_INCLUDE
-INCLUDE PYTHON
-def ParamFunc():
-  import fmeobjects
-  import string
-  connection_string = string.split(FME_MacroValues['GTF_CONNECTION_STRING'],',')
-  return connection_string[2]
-value = ParamFunc()
-macroName = 'dbDatabase'
-if value == None:
-  return { macroName : '' }
-else:
-  return { macroName : str(value) }
-END_INCLUDE
-INCLUDE PYTHON
-def ParamFunc():
-  import fmeobjects
-  import string
-  connection_string = string.split(FME_MacroValues['GTF_CONNECTION_STRING'],',')
-  return connection_string[3]
-value = ParamFunc()
-macroName = 'dbUser'
-if value == None:
-  return { macroName : '' }
-else:
-  return { macroName : str(value) }
-END_INCLUDE
-INCLUDE PYTHON
-def ParamFunc():
-  import fmeobjects
-  import string
-  connection_string = string.split(FME_MacroValues['GTF_CONNECTION_STRING'],',')
-  return connection_string[4]
-value = ParamFunc()
-macroName = 'dbPassword'
-if value == None:
-  return { macroName : '' }
-else:
-  return { macroName : str(value) }
-END_INCLUDE
-INCLUDE [ if {{$(idWorkspaceList)} == {}} { puts_real {Parameter 'idWorkspaceList' must be given a value.}; exit 1; }; ]
-INCLUDE [ if {{$(destGexFile)} == {}} { puts_real {Parameter 'destGexFile' must be given a value.}; exit 1; }; ]
-#! START_HEADER
-#! WORKSPACE_VERSION 1
-# ============================================================================ 
-# 
-# This mapping file was generated by FME Workbench
-# on 03/28/11 21:32:11 for translation between POSTGRES and GML
-# 
-# This workspace was generated with FME build 6508
-#
-# You may edit this mapping file to customize its operation.  Comments are 
-# placed throughout to assist you. 
-# 
-# Modification History:
-# 
-#     Name              Date     Description
-#     ================= ======== =============================================
-# 
-# 
-# ============================================================================ 
-# ============================================================================ 
-# The following line defines the title presented to the user when this
-# mapping file is run through the FME GUI.  You may modify this
-# if a more meaningful title would be appropriate.
-GUI TITLE POSTGRES to GML Translation 
-# ============================================================================ 
-# The following line names the log file to which useful statistics about
-# the translation will be written.  This line can be uncommented and
-# updated if you do wish to keep these statistics.
-# LOG_FILENAME translation.log
-# LOG_APPEND NO
-# ============================================================================ 
-# The following line instructs the FME to log any features that do not
-# match any of the source feature patterns listed further down in
-# this file.  If you are modifying this mapping file, this will be
-# useful to describe to you exactly which features you are losing
-# during translation, if the statistics indicate that features are
-# not being correlated or grouped.  Uncorrelated features do not
-# match any source specification, ungrouped features do not have
-# any corresponding _DEF line. 
-# FME_DEBUG UNGROUPED UNCORRELATED
-# ============================================================================ 
-# The following two lines define the type of reader and writer to be
-# used for this translation.  If you want to translate your data
-# back into its original format, you may make a copy of this file
-# and switch the reader and writer types.  If you rerun the FME, you
-# will get your original data back again (together with any modifications
-# you made in the meantime).  Note that several formats are NOT
-# bi-directional (for example, GIF can only be used as a WRITER)
-# so a reverse translation may not always be possible.
-#! START_WB_HEADER
-READER_TYPE POSTGRES
-READER_KEYWORD POSTGRES_1
-READER_GEN_DIRECTIVES PORT,5432,TABLELIST,s_gtf.category<space>s_gtf.workspace<space>s_gtf.workspace_group,USER_NAME,postgres,_MERGE_SCHEMAS,YES,POSTGRES_EXPOSE_FORMAT_ATTRS,,HOST,localhost,SCHEMALIST,s_gtf
-
-WRITER_TYPE MULTI_WRITER
-MULTI_WRITER_DATASET_ORDER BY_ID
-MULTI_WRITER_FIRST_WRITER_ID 0
-MULTI_WRITER_TYPE{0} GML
-MULTI_WRITER_KEYWORD{0} GML_1
-#! END_WB_HEADER
-
-#! START_WB_HEADER
-MACRO WB_KEYWORD "POSTGRES_1"
-#! END_WB_HEADER
-#! START_SOURCE_HEADER POSTGRES POSTGRES_1
-# The dataset this mapping file was generated from was:
-#! END_SOURCE_HEADER
-#! START_WB_HEADER
-DEFAULT_MACRO SourceDataset
-INCLUDE [ if {{$(SourceDataset)} != ""} {                        \
- puts {DEFAULT_MACRO SourceDataset_POSTGRES_1 $(SourceDataset)}     \
- } ]
-#! END_WB_HEADER
-#! START_SOURCE_HEADER POSTGRES POSTGRES_1
-DEFAULT_MACRO SourceDataset_POSTGRES_1 $(dbDatabase)
-GUI OPTIONAL TEXT SourceDataset_POSTGRES_1 Source PostgreSQL Dataset:
-DEFAULT_MACRO POSTGRES_IN_HOST_POSTGRES_1 $(dbServer)
-POSTGRES_1_HOST "$(POSTGRES_IN_HOST_POSTGRES_1)"
-GUI TEXT POSTGRES_IN_HOST_POSTGRES_1 Host:
-DEFAULT_MACRO POSTGRES_IN_PORT_POSTGRES_1 $(dbPort)
-POSTGRES_1_PORT "$(POSTGRES_IN_PORT_POSTGRES_1)"
-GUI INTEGER POSTGRES_IN_PORT_POSTGRES_1 Port:
-DEFAULT_MACRO POSTGRES_IN_USER_NAME_POSTGRES_1 $(dbUser)
-POSTGRES_1_USER_NAME "$(POSTGRES_IN_USER_NAME_POSTGRES_1)"
-GUI TEXT POSTGRES_IN_USER_NAME_POSTGRES_1 Username:
-DEFAULT_MACRO POSTGRES_IN_PASSWORD_POSTGRES_1 $(dbPassword)
-POSTGRES_1_PASSWORD "$(POSTGRES_IN_PASSWORD_POSTGRES_1)"
-GUI OPTIONAL PASSWORD POSTGRES_IN_PASSWORD_POSTGRES_1 Password:
-DEFAULT_MACRO POSTGRES_IN_FEATURES_PER_FETCH_POSTGRES_1 10000
-GUI FLOAT POSTGRES_IN_FEATURES_PER_FETCH_POSTGRES_1 Number Of Records To Fetch At A Time:
-POSTGRES_1_FEATURES_PER_FETCH $(POSTGRES_IN_FEATURES_PER_FETCH_POSTGRES_1)
-POSTGRES_1_DATASET "$(SourceDataset_POSTGRES_1)"
-#! END_SOURCE_HEADER
-#! START_WB_HEADER
-MACRO WB_KEYWORD "GML_1"
-#! END_WB_HEADER
-#! START_DEST_HEADER GML GML_1
-# ============================================================================
-# The following GUI lines prompt for a GML file to be used as the
-# the destination of the data.
-# The dataset this mapping file was generated for was:
-#! END_DEST_HEADER
-#! START_WB_HEADER
-DEFAULT_MACRO DestDataset
-INCLUDE [ if {"$(DestDataset)" != ""} {                          \
- puts {DEFAULT_MACRO DestDataset_GML_1 $(DestDataset)}         \
- } ]
-#! END_WB_HEADER
-#! START_DEST_HEADER GML GML_1
-DEFAULT_MACRO DestDataset_GML_1 test.gml
-GUI FILENAME DestDataset_GML_1 GML_Files(*.gml;*.gz;*.xml)|*.gml;*.gz;*.xml|GML_Files(*.gml)|*.gml|Compressed_GML_Files(*.gz)|*.gz|GML_Files(*.xml)|*.xml|All_Files|*.* Destination Geography Markup Language (GML) File:
-GML_1_COORDINATE_SYSTEM_GRANULARITY DATASET
-# ============================================================================
-DEFAULT_MACRO _PROFILE_GML_1 GENERIC_3.1.1
-GUI OPTIONAL LOOKUP_CHOICE _PROFILE_GML_1 3.1.1,GENERIC_3.1.1%3.2.1,GENERIC_3.2.1 GML Version:
-GML_1_PROFILE $(_PROFILE_GML_1)
-# ============================================================================
-# When set to YES then the GML application schema document will declare and
-# define all GML feature type definitions even if it had no corresponding
-# feature instances during translation.
-DEFAULT_MACRO _WRITE_ALL_FEATURE_TYPE_DEFNS_GML_1 no
-GUI OPTIONAL CHOICE _WRITE_ALL_FEATURE_TYPE_DEFNS_GML_1 no%yes Write All Feature Types:
-GML_1_WRITE_ALL_FEATURE_TYPE_DEFNS $(_WRITE_ALL_FEATURE_TYPE_DEFNS_GML_1)
-# ============================================================================
-# The TARGET_NS_PREFIX and TARGET_NS_URI keywords declare the target namespace
-# and corresponding prefix for the GML application schema.
-# If unspecified then TARGET_NS_URI defaults to http://www.safe.com/gml/fme and
-# TARGET_NS_PREFIX defaults to fme.
-DEFAULT_MACRO _TARGET_NS_PREFIX_GML_1 gex
-GUI OPTIONAL TEXT _TARGET_NS_PREFIX_GML_1 Target Namespace Prefix:
-GML_1_TARGET_NS_PREFIX $(_TARGET_NS_PREFIX_GML_1)
-DEFAULT_MACRO _TARGET_NS_URI_GML_1 http://www.veremes.com/gtf/export
-GUI OPTIONAL TEXT _TARGET_NS_URI_GML_1 Target Namespace URI:
-GML_1_TARGET_NS_URI $(_TARGET_NS_URI_GML_1)
-# ============================================================================
-# This keyword specifies the encoding to use for the output XML documents.
-# If no value is specified then the encoding defaults to UTF-8.
-DEFAULT_MACRO _OUTPUT_ENCODING_GML_1 utf-8
-GUI OPTIONAL TEXT _OUTPUT_ENCODING_GML_1 Output Encoding:
-GML_1_OUTPUT_ENCODING $(_OUTPUT_ENCODING_GML_1)
-# ============================================================================
-# The XSD_DOC keyword is optional, when it is not specified the .xsd file will
-# be written in the same directory as the output dataset and its basename will
-# be the same as the base name of the GML output dataset. e.g., if the DATASET
-# is data.xml, then the GML schema file that is produced will be named data.xsd.
-DEFAULT_MACRO _OUT_XSD_DOC_GML_1 
-GUI OPTIONAL FILENAME _OUT_XSD_DOC_GML_1 GML_Schema_File(*.xsd)|*.xsd|All_Files(*.*)|*.* GML Schema Document:
-GML_1_XSD_DOC "$(_OUT_XSD_DOC_GML_1)"
-# ============================================================================
-# The keyword is optional. The xsi:schemaLocation attribute in an XML instance
-# is made up of a sequence of namespace uri and xsd document url pairs. This
-# keyword allows the user to specify explicitly the url for the xsd document
-# whose target namespace is settable with the TARGET_NS_URI keyword.
-DEFAULT_MACRO _TARGET_XSI_SCHEMALOCATION_URL_GML_1 
-GUI OPTIONAL TEXT _TARGET_XSI_SCHEMALOCATION_URL_GML_1 Target xsi:schemaLocation URL:
-GML_1_TARGET_XSI_SCHEMALOCATION_URL $(_TARGET_XSI_SCHEMALOCATION_URL_GML_1)
-# ============================================================================
-# Overwrites the GML srsName with the specified value. When left unspecified
-# the FME coordinate system name for the input features will be used as the
-# value for the srsName in the GML document.
-DEFAULT_MACRO _SRS_NAME_GML_1 
-GUI OPTIONAL TEXT _SRS_NAME_GML_1 GML srsName:
-GML_1_SRS_NAME $(_SRS_NAME_GML_1)
-# ============================================================================
-# This keyword specifies the axis order for a coordinate tuple for the specified
-# SRS_NAME in the GML document. This keyword only applies when used conjunction
-# with the SRS_NAME keyword. The valid values for this keyword are 1,2, 2,1,
-# 1,2,3 and 2,1,3.
-DEFAULT_MACRO _SRS_AXIS_ORDER_GML_1 
-GUI OPTIONAL CHOICE _SRS_AXIS_ORDER_GML_1 1,2%2,1%1,2,3%2,1,3 GML SRS Axis Order:
-GML_1_SRS_AXIS_ORDER $(_SRS_AXIS_ORDER_GML_1)
-# ============================================================================
-# This keyword specifies the maximum number of decimal places to output
-DEFAULT_MACRO _MAXIMUM_FRACTION_DIGITS_GML_1 
-GUI OPTIONAL INTEGER _MAXIMUM_FRACTION_DIGITS_GML_1 Maximum Decimal Places:
-GML_1_MAXIMUM_FRACTION_DIGITS $(_MAXIMUM_FRACTION_DIGITS_GML_1)
-# ============================================================================
-# This keyword specifies the minimum number of decimal places to output
-DEFAULT_MACRO _MINIMUM_FRACTION_DIGITS_GML_1 
-GUI OPTIONAL INTEGER _MINIMUM_FRACTION_DIGITS_GML_1 Minimum Decimal Places:
-GML_1_MINIMUM_FRACTION_DIGITS $(_MINIMUM_FRACTION_DIGITS_GML_1)
-# ============================================================================
-# This keyword specifies what encoding the incoming schema and data
-# features are in. The default value for this keyword is the system's encoding.
-DEFAULT_MACRO _SYSTEM_ENCODING_GML_1 utf-8
-GUI OPTIONAL TEXT _SYSTEM_ENCODING_GML_1 System Encoding:
-GML_1_SYSTEM_ENCODING $(_SYSTEM_ENCODING_GML_1)
-# ============================================================================
-# The GML application schema document will not be written when this keyword
-# is set to yes.
-DEFAULT_MACRO _SUPPRESS_XSD_DOCUMENT_GML_1 no
-GUI OPTIONAL CHOICE _SUPPRESS_XSD_DOCUMENT_GML_1 no%yes Suppress GML Schema Document:
-GML_1_SUPPRESS_XSD_DOCUMENT $(_SUPPRESS_XSD_DOCUMENT_GML_1)
-# ============================================================================
-# The xsi:schemaLocation is merely a hint to an XML processor for a set of
-# schema namespace/location pairs whose grammar would validate the XML instance
-# document, this keyword allows the suppression of the xsi:schemaLocation in
-# the output GML instance document.
-DEFAULT_MACRO _SUPPRESS_XSI_SCHEMALOCATION_GML_1 no
-GUI OPTIONAL CHOICE _SUPPRESS_XSI_SCHEMALOCATION_GML_1 no%yes Suppress xsi:schemaLocation Attribute:
-GML_1_SUPPRESS_XSI_SCHEMALOCATION $(_SUPPRESS_XSI_SCHEMALOCATION_GML_1)
-# ============================================================================
-# Specifies if the FeatureCollection object should be custom defined in the
-# in the target namespace schema, be the predefined wfs:FeatureCollection or the
-# predefined gml:FeatureCollection in GML 3.1.1.
-DEFAULT_MACRO _FEATURE_COLLECTION_GML_1 gml
-GUI OPTIONAL CHOICE _FEATURE_COLLECTION_GML_1 gml%wfs%target-namespace Feature Collection:
-GML_1_FEATURE_COLLECTION $(_FEATURE_COLLECTION_GML_1)
-# ============================================================================
-# This optional keyword specifies value for the gml:id in the featureCollection
-# container element.
-DEFAULT_MACRO _FEATURE_COLLECTION_ID_GML_1 
-GUI OPTIONAL TEXT _FEATURE_COLLECTION_ID_GML_1 Feature Collection ID:
-GML_1_FEATURE_COLLECTION_ID $(_FEATURE_COLLECTION_ID_GML_1)
-# ============================================================================
-# Specifies the XSLT stylesheet to be applied to the output document.
-DEFAULT_MACRO _APPLY_STYLESHEET_GML_1 
-GUI OPTIONAL FILENAME_MUSTEXIST _APPLY_STYLESHEET_GML_1 XSLT_Stylesheet_Files(*.xslt;*.xsl)|*.xslt;*.xsl|All_Files(*.*)|*.* XSLT Style Sheet to Apply:
-GML_1_APPLY_STYLESHEET "$(_APPLY_STYLESHEET_GML_1)"
-# ============================================================================
-# The location and name of the resulting document after XSLT stylesheet
-# transformation. This is an optional keyword.
-DEFAULT_MACRO _STYLESHEET_RESULT_GML_1 
-GUI OPTIONAL FILENAME _STYLESHEET_RESULT_GML_1 All_Files(*.*)|*.* Style Sheet Result:
-GML_1_STYLESHEET_RESULT "$(_STYLESHEET_RESULT_GML_1)"
-# ============================================================================
-# Uses the DATASET value as the resulting document of the stylesheet transformation.
-# STYLESHEET_RESULT is ignored when this value is set to yes, and a temporary file
-# is generated and then deleted as the source for the stylesheet transform.
-DEFAULT_MACRO _USE_STYLESHEET_RESULT_AS_DATASET_GML_1 no
-GUI OPTIONAL CHOICE _USE_STYLESHEET_RESULT_AS_DATASET_GML_1 no%yes Dataset as Stylesheet Result:
-GML_1_USE_STYLESHEET_RESULT_AS_DATASET $(_USE_STYLESHEET_RESULT_AS_DATASET_GML_1)
-# ============================================================================
-# Validates either the output DATASET if no stylesheet is applied or the
-# STYLESHEET_RESULT if a stylesheet is used against the schemas specified in the file.
-DEFAULT_MACRO _VALIDATE_OUTPUT_DATASET_GML_1 no
-GUI CHOICE _VALIDATE_OUTPUT_DATASET_GML_1 no%yes Validate Output File:
-GML_1_VALIDATE_OUTPUT_DATASET $(_VALIDATE_OUTPUT_DATASET_GML_1)
-GML_1_DATASET "$(DestDataset_GML_1)"
-#! END_DEST_HEADER
-#! START_WB_HEADER
-#! END_WB_HEADER
-
-#! END_HEADER
-
-LOG_FILENAME "$(FME_MF_DIR)exportv3.log"
-LOG_APPEND NO
-LOG_MAX_FEATURES 200
-LOG_MAX_RECORDED_FEATURES 200
-FME_REPROJECTION_ENGINE FME
-FME_IMPLICIT_CSMAP_REPROJECTION_MODE Datum
-FME_GEOMETRY_HANDLING Enhanced
-FME_STROKE_MAX_DEVIATION 0
-MAPPING_FILE_ID Export<space>GTF
-LOG_FILTER_MASK -1
-DEFAULT_MACRO DATASET_KEYWORD_POSTGRES_1 POSTGRES_1
-DEFAULT_MACRO DATASET_KEYWORD_GML_1 GML_1
-FME_PASSWORD_PARAMETER_LIST GTF_CONNECTION_STRING
-# -------------------------------------------------------------------------
-
-POSTGRES_1_READER_META_ATTRIBUTES fme_feature_type
-
-# -------------------------------------------------------------------------
-
-MULTI_READER_CONTINUE_ON_READER_FAILURE No
-
-# -------------------------------------------------------------------------
-
-MACRO WORKSPACE_NAME exportv3
-MACRO FME_VIEWER_APP fmedatainspector
-# -------------------------------------------------------------------------
-POSTGRES_1_DEF s_gtf.workspace   postgres_type                postgres_none   postgres_sql_where_clause    ""   postgres_sql_statement       ""   workspace_id                 int4,PRIKEY   name                         varchar(100),BTREE   description                  text   subscription                 bool   fmw_file                     varchar(150)   category_id                  int4,BTREE   success_action_id            int4   failed_action_id             int4   survey                       bool   form_type                    varchar(10)   legal_terms_conditions       text   usage                        text   requirements                 text   history                      text   last_save_date               timestamp   last_save_build              varchar(255)   file_encoding                varchar(50)   title                        varchar(255)   key                          varchar(40)   email_template_id            int4   owner                        int4   creation_date                date   locked                       bool   tag                          varchar(100)
-# -------------------------------------------------------------------------
-POSTGRES_1_DEF s_gtf.category   postgres_type                postgres_none   postgres_sql_where_clause    ""   postgres_sql_statement       ""   category_id                  int4,PRIKEY   name                         varchar(50)   description                  varchar(200)
-# -------------------------------------------------------------------------
-
-FACTORY_DEF * RoutingFactory   FACTORY_NAME "Router and Unexpected Input Remover"   COMMAND_PARM_EVALUATION SINGLE_PASS   MULTI_READER_KEYWORD POSTGRES_1   INPUT FEATURE_TYPE *    ROUTE POSTGRES POSTGRES_1::s_gtf.workspace TO FME_GENERIC ::s_gtf.workspace ALIAS_GEOMETRY    ROUTE POSTGRES POSTGRES_1::s_gtf.category TO FME_GENERIC ::s_gtf.category ALIAS_GEOMETRY    MERGE_INPUT Yes   OUTPUT ROUTED FEATURE_TYPE *
-POSTGRES_1_MERGE_DEF POSTGRES_1::s_gtf.workspace EXACT s_gtf.workspace
-POSTGRES_1_MERGE_DEF POSTGRES_1::s_gtf.category EXACT s_gtf.category
-# -------------------------------------------------------------------------
-
-FACTORY_DEF * TeeFactory    FACTORY_NAME "s_gtf.workspace (POSTGRES_1) Splitter"    INPUT FEATURE_TYPE s_gtf.workspace    OUTPUT FEATURE_TYPE s_gtf.workspace_POSTGRES_1
-# -------------------------------------------------------------------------
-
-FACTORY_DEF * TeeFactory    FACTORY_NAME "s_gtf.category (POSTGRES_1) Splitter"    INPUT FEATURE_TYPE s_gtf.category    OUTPUT FEATURE_TYPE s_gtf.category_POSTGRES_1
-DEFAULT_MACRO WB_CURRENT_CONTEXT
-# -------------------------------------------------------------------------
-
-Tcl2 proc Creator_CoordSysRemover {} {   global FME_CoordSys;   set FME_CoordSys {}; }
-MACRO Creator_XML     NOT_ACTIVATED
-MACRO Creator_CLASSIC NOT_ACTIVATED
-MACRO Creator_2D3D    2D_GEOMETRY
-MACRO Creator_COORDS  <Unused>
-INCLUDE [ if { {Geometry Object} == {Geometry Object} } {            puts {MACRO Creator_XML *} } ]
-INCLUDE [ if { {Geometry Object} == {2D Coordinate List} } {            puts {MACRO Creator_2D3D 2D_GEOMETRY};            puts {MACRO Creator_CLASSIC *} } ]
-INCLUDE [ if { {Geometry Object} == {3D Coordinate List} } {            puts {MACRO Creator_2D3D 3D_GEOMETRY};            puts {MACRO Creator_CLASSIC *} } ]
-INCLUDE [ if { {Geometry Object} == {2D Min/Max Box} } {            set comment {                We need to turn the COORDS which are                    minX minY maxX maxY                into a full polygon list of coordinates            };            set splitCoords [split [string trim {<Unused>}]];            if { [llength $splitCoords] > 4} {               set trimmedCoords {};               foreach item $splitCoords { if { $item != {} } {lappend trimmedCoords $item} };               set splitCoords $trimmedCoords;            };            if { [llength $splitCoords] != 4 } {                error {Creator: Coordinate list is expected to be a space delimited list of four numbers as 'minx miny maxx maxy' - `<Unused>' is invalid};            };            set minX [lindex $splitCoords 0];            set minY [lindex $splitCoords 1];            set maxX [lindex $splitCoords 2];            set maxY [lindex $splitCoords 3];            puts "MACRO Creator_COORDS $minX $minY $minX $maxY $maxX $maxY $maxX $minY $minX $minY";            puts {MACRO Creator_2D3D 2D_GEOMETRY};            puts {MACRO Creator_CLASSIC *} } ]
-FACTORY_DEF $(Creator_XML) CreationFactory    FACTORY_NAME Creator_XML_Creator    CREATE_AT_END no    OUTPUT FEATURE_TYPE _____CREATED______        @Geometry(FROM_ENCODED_STRING,<lt>?xml<space>version=<quote>1.0<quote><space>encoding=<quote>US_ASCII<quote><space>standalone=<quote>no<quote><space>?<gt><lt>geometry<space>dimension=<quote>2<quote><gt><lt>null<solidus><gt><lt><solidus>geometry<gt>)
-FACTORY_DEF $(Creator_CLASSIC) CreationFactory    FACTORY_NAME Creator_CLASSIC_Creator    $(Creator_2D3D) $(Creator_COORDS)    CREATE_AT_END no    OUTPUT FEATURE_TYPE _____CREATED______
-FACTORY_DEF * TeeFactory    FACTORY_NAME Creator_Cloner    INPUT FEATURE_TYPE _____CREATED______    NUMBER_OF_COPIES 1    COPY_NUMBER_ATTRIBUTE "_creation_instance"    OUTPUT FEATURE_TYPE Creator_CREATED        @Tcl2(Creator_CoordSysRemover)        @CoordSys()        fme_feature_type Creator
-
-FACTORY_DEF * BranchingFactory   FACTORY_NAME "Creator_CREATED Brancher -1 52"   INPUT FEATURE_TYPE Creator_CREATED   TARGET_FACTORY "$(WB_CURRENT_CONTEXT)_CREATOR_BRANCH_TARGET"   OUTPUT PASSED FEATURE_TYPE *     @RemoveAttributes("Creator_CREATED Brancher -1 52".BranchingFactory.Count)
-# -------------------------------------------------------------------------
-FACTORY_DEF * TeeFactory   FACTORY_NAME "$(WB_CURRENT_CONTEXT)_CREATOR_BRANCH_TARGET"   INPUT FEATURE_TYPE *  OUTPUT FEATURE_TYPE *
-# -------------------------------------------------------------------------
-
-# On translation startup, prep the temporary directory that this instance of the
-# xformer will populate with its temporary files.  We'll do this by asking for a
-# temporary filename, and then instead of using it as a file, we'll add our UUID to
-# it to make a super unique name, which will become the directory we'll use for all
-# the temp files we hand out.
-# And we'll set up to have the END_TCL delete that entire directory when we shut down.
-# To do that, we'll use the "environment" to hold our master subidirectory, keyed by
-# our UUID as the environment variable name.  That is the only way to pass information
-# from @Tcl2 to FME_END_TCL (via the "env" variable, because they use different Tcl
-# interpretters)
-
-Tcl2 set sampleTempFile [FME_TempFilename];      set ourTempDir {};      append ourTempDir $sampleTempFile {TempPathnameCreator_2_9a9d34c9_d5e1_42c6_9948_967773672dc30};      file mkdir $ourTempDir;      set env(TempPathnameCreator_2_9a9d34c9_d5e1_42c6_9948_967773672dc30_dir) $ourTempDir;      set env(TempPathnameCreator_2_9a9d34c9_d5e1_42c6_9948_967773672dc30_file) $sampleTempFile;      set gNumTempFilesHandedOut 0;
-
-# Cleanup time. Remove the directory this transformer was using for its temp files, as well as the
-# original temp file that was created as our "seed" to get us a unique starting point.
-
-FME_END_TCL file delete -force $env(TempPathnameCreator_2_9a9d34c9_d5e1_42c6_9948_967773672dc30_dir) $env(TempPathnameCreator_2_9a9d34c9_d5e1_42c6_9948_967773672dc30_file) ;      unset env(TempPathnameCreator_2_9a9d34c9_d5e1_42c6_9948_967773672dc30_dir);      unset env(TempPathnameCreator_2_9a9d34c9_d5e1_42c6_9948_967773672dc30_file);
-# Actually create and return a well formed filename that is guaranteed not to be there.
-# We know we're working inside a directory unique to our instance of the transformer.
-# So we can just increment serially within there to be sure we're not making a previously existing file
-# We need to also provide a default for the filename base if they didn't give us one (we'll
-# use the XFORMER_NAME), and take care to handle a no-extension-desired situation as well as
-# a situation where the extension started with a .
-
-Tcl2 proc TempPathnameCreator_2_makeTemp {baseName extension} {      global env;      global gNumTempFilesHandedOut;      if { [string length $extension ] == 0 } {          set extensionSep {};      } elseif { [string index $extension 0] == {.} } {          set extensionSep {};      } else {          set extensionSep {.};      };      if { $baseName == {} } {          set baseName {TempPathnameCreator_2};      };      set curClock [clock clicks];      set last7ClockDigits [string range $curClock end-6 end];      append aGoodTempFile $env(TempPathnameCreator_2_9a9d34c9_d5e1_42c6_9948_967773672dc30_dir) [file separator] [FME_DecodeText $baseName] {_}                           $last7ClockDigits {_} $gNumTempFilesHandedOut                           $extensionSep [FME_DecodeText $extension];      incr gNumTempFilesHandedOut;      FME_SetAttribute [FME_DecodeText _tempDir] $aGoodTempFile; }
-FACTORY_DEF * TeeFactory    FACTORY_NAME TempPathnameCreator_2    INPUT  FEATURE_TYPE Creator_CREATED    OUTPUT FEATURE_TYPE TempPathnameCreator_2_OUTPUT         @Tcl2("TempPathnameCreator_2_makeTemp {} {}")
-
-# -------------------------------------------------------------------------
-
-INCLUDE [    set macroLine "MACRO AttributeRemover_2_LIST_EXP ";    foreach attr [split ""] {       set attr [FME_DecodeText $attr];       set attr [regsub "{}$" $attr "{}.*"];       set attr [regsub -all "{}" $attr "{\[0-9\]+}"];       append macroLine ",^$attr$";    };    puts $macroLine; ]
-FACTORY_DEF * TeeFactory    FACTORY_NAME AttributeRemover_2    INPUT  FEATURE_TYPE s_gtf.category_POSTGRES_1    OUTPUT FEATURE_TYPE AttributeRemover_2_OUTPUT        @RemoveAttributes(description)        @RemoveAttributes(fme_regexp_match"$(AttributeRemover_2_LIST_EXP)")
-
-# -------------------------------------------------------------------------
-
-FACTORY_DEF * TeeFactory    FACTORY_NAME AttributeRenamer_2    INPUT  FEATURE_TYPE AttributeRemover_2_OUTPUT    OUTPUT FEATURE_TYPE AttributeRenamer_2_OUTPUT         @RenameAttributes(ATTR_LIST_DEF_VAL, name,category_name,)
-
-
-# -------------------------------------------------------------------------
-
-Tcl2 proc ParameterFetcher_doFetch {} {    foreach {name val} {"_idWorkspaceList {$(idWorkspaceList$encode)}"} {         if { [string match {*<at>*} $val] == 1 } {             set val [FME_Execute EvaluateExpression {STRING} $val {ParameterFetcher}];         } elseif {[string match {*FME_CONDITIONAL*} $val] == 1} {             set val [FME_Execute EvaluateExpression {STRING} $val {ParameterFetcher}];         } else {             set val [FME_DecodeTextOrAttr $val];         };       FME_SetAttribute [FME_DecodeText $name] $val    } }
-FACTORY_DEF * TeeFactory    FACTORY_NAME ParameterFetcher    INPUT  FEATURE_TYPE s_gtf.workspace_POSTGRES_1    OUTPUT FEATURE_TYPE ParameterFetcher_OUTPUT         @Tcl2(ParameterFetcher_doFetch)
-
-# -------------------------------------------------------------------------
-
-MACRO casemac
-INCLUDE [ if { {NO} == {NO} } { puts {MACRO casemac -nocase}} ]
-Tcl2 proc StringReplacer_de32f3fa_4b24_46c3_a7e2_13ecd34ccd7c0_replacer { findText replaceText invalidValue} {     set attrs [split \"_idWorkspaceList\" {,}];     set findValue [FME_DecodeText $findText];     set replaceValue [FME_DecodeText $replaceText];     foreach attr $attrs {       set attrVal [FME_GetAttribute $attr];       set noMatch true;       if {{NO} == {YES}} {         set newAttrVal [regsub $(casemac) -all -- $findValue $attrVal $replaceValue];       } else {         set newAttrVal [string map $(casemac) [list $findValue $replaceValue] $attrVal];       };       if { $newAttrVal ne $attrVal } {         set noMatch false;         FME_SetAttribute $attr $newAttrVal;       };       if {$noMatch} {          if { $invalidValue == {FME_NULL_VALUE} } {             FME_SetAttributeNull $attr;          } elseif { $invalidValue != {_FME_NO_OP_} }  {             FME_SetAttribute $attr [FME_DecodeText $invalidValue];          };       };     }; }
-FACTORY_DEF * TeeFactory    FACTORY_NAME StringReplacer    INPUT  FEATURE_TYPE ParameterFetcher_OUTPUT    OUTPUT FEATURE_TYPE StringReplacer_OUTPUT         @Tcl2("StringReplacer_de32f3fa_4b24_46c3_a7e2_13ecd34ccd7c0_replacer {<space>} {<comma>} {_FME_NO_OP_}")
-
-# -------------------------------------------------------------------------
-
-FACTORY_DEF * TestFactory    FACTORY_NAME Tester    INPUT  FEATURE_TYPE StringReplacer_OUTPUT    TEST @EvaluateExpression(STRING_ENCODED,<at>Value<openparen>workspace_id<closeparen>,Tester) IN @EvaluateExpression(STRING_ENCODED,<at>Value<openparen>_idWorkspaceList<closeparen>,Tester) ENCODED    BOOLEAN_OPERATOR OR    OUTPUT PASSED FEATURE_TYPE Tester_PASSED
-# -------------------------------------------------------------------------
-
-INCLUDE [    set macroLine "MACRO AttributeRemover_LIST_EXP ";    foreach attr [split ""] {       set attr [FME_DecodeText $attr];       set attr [regsub "{}$" $attr "{}.*"];       set attr [regsub -all "{}" $attr "{\[0-9\]+}"];       append macroLine ",^$attr$";    };    puts $macroLine; ]
-FACTORY_DEF * TeeFactory    FACTORY_NAME AttributeRemover    INPUT  FEATURE_TYPE Tester_PASSED    OUTPUT FEATURE_TYPE AttributeRemover_OUTPUT        @RemoveAttributes(_idWorkspaceList)        @RemoveAttributes(fme_regexp_match"$(AttributeRemover_LIST_EXP)")
-
-# -------------------------------------------------------------------------
-
-FACTORY_DEF * TeeFactory    FACTORY_NAME AttributeRenamer    INPUT  FEATURE_TYPE AttributeRemover_OUTPUT    OUTPUT FEATURE_TYPE AttributeRenamer_OUTPUT         @RenameAttributes(ATTR_LIST_DEF_VAL, name,label_name,)
-
-
-# -------------------------------------------------------------------------
-
-INCLUDE [if { {ATTRIBUTES} == {ATTRIBUTES} } {                puts "MACRO FeatureMerger_3_REFERENCE_INFO ATTRIBUTES";             }          elseif { {ATTRIBUTES} == {GEOM_BUILD} && {<Unused>} == {POLYGONS}} {                puts "MACRO FeatureMerger_3_REFERENCE_INFO GEOM_BUILD_POLYS";             }          elseif { {ATTRIBUTES} == {GEOM_BUILD} && {<Unused>} == {AGGREGATES}} {                puts "MACRO FeatureMerger_3_REFERENCE_INFO GEOM_BUILD_AGGREGATES";             }          elseif { {ATTRIBUTES} == {GEOM_BUILD} && {<Unused>} == {LINESFROMPOINTS}} {                puts "MACRO FeatureMerger_3_REFERENCE_INFO GEOM_BUILD_LINES_FROM_POINTS";             }          elseif { {ATTRIBUTES} == {GEOM_AND_ATTRS} && {<Unused>} == {POLYGONS}} {                puts "MACRO FeatureMerger_3_REFERENCE_INFO GEOM_AND_ATTR_BUILD_POLYS";             }          elseif { {ATTRIBUTES} == {GEOM_AND_ATTRS} && {<Unused>} == {AGGREGATES}} {                puts "MACRO FeatureMerger_3_REFERENCE_INFO GEOM_AND_ATTR_BUILD_AGGREGATES";             }          elseif { {ATTRIBUTES} == {GEOM_AND_ATTRS} && {<Unused>} == {LINESFROMPOINTS}} {                puts "MACRO FeatureMerger_3_REFERENCE_INFO GEOM_AND_ATTR_BUILD_LINES_FROM_POINTS";             }          elseif { {ATTRIBUTES} == {GEOM_BUILD} } {                puts "MACRO FeatureMerger_3_REFERENCE_INFO GEOM_BUILD_AGGREGATES";             }          elseif { {ATTRIBUTES} == {GEOM_AND_ATTRS} } {                puts "MACRO FeatureMerger_3_REFERENCE_INFO GEOM_AND_ATTR_BUILD_AGGREGATES";             }          else {}; ]
-
-FACTORY_DEF * ReferenceFactory    FACTORY_NAME FeatureMerger_3    INPUT REFERENCER FEATURE_TYPE AttributeRenamer_OUTPUT    INPUT REFERENCEE FEATURE_TYPE AttributeRenamer_2_OUTPUT    REFERENCE_INFO $(FeatureMerger_3_REFERENCE_INFO)    REFERENCE_TABLE @EvaluateExpression(STRING_ENCODED,<at>Value<openparen>category_id<closeparen>,FeatureMerger_3) @EvaluateExpression(STRING_ENCODED,<at>Value<openparen>category_id<closeparen>,FeatureMerger_3)    IGNORE_NULLS "Yes"    MERGE_ATTRIBUTES Yes    MANAGE_FME_TYPE Yes    MODE COMPLETE    PROCESS_DUPLICATE_REFERENCEES No    REFERENCEES_FIRST No    OUTPUT COMPLETE FEATURE_TYPE FeatureMerger_3_MERGED    OUTPUT INCOMPLETE FEATURE_TYPE FeatureMerger_3_NOT_MERGED
-
-# -------------------------------------------------------------------------
-
-INCLUDE [if { {ATTRIBUTES} == {ATTRIBUTES} } {                puts "MACRO FeatureMerger_2_REFERENCE_INFO ATTRIBUTES";             }          elseif { {ATTRIBUTES} == {GEOM_BUILD} && {<Unused>} == {POLYGONS}} {                puts "MACRO FeatureMerger_2_REFERENCE_INFO GEOM_BUILD_POLYS";             }          elseif { {ATTRIBUTES} == {GEOM_BUILD} && {<Unused>} == {AGGREGATES}} {                puts "MACRO FeatureMerger_2_REFERENCE_INFO GEOM_BUILD_AGGREGATES";             }          elseif { {ATTRIBUTES} == {GEOM_BUILD} && {<Unused>} == {LINESFROMPOINTS}} {                puts "MACRO FeatureMerger_2_REFERENCE_INFO GEOM_BUILD_LINES_FROM_POINTS";             }          elseif { {ATTRIBUTES} == {GEOM_AND_ATTRS} && {<Unused>} == {POLYGONS}} {                puts "MACRO FeatureMerger_2_REFERENCE_INFO GEOM_AND_ATTR_BUILD_POLYS";             }          elseif { {ATTRIBUTES} == {GEOM_AND_ATTRS} && {<Unused>} == {AGGREGATES}} {                puts "MACRO FeatureMerger_2_REFERENCE_INFO GEOM_AND_ATTR_BUILD_AGGREGATES";             }          elseif { {ATTRIBUTES} == {GEOM_AND_ATTRS} && {<Unused>} == {LINESFROMPOINTS}} {                puts "MACRO FeatureMerger_2_REFERENCE_INFO GEOM_AND_ATTR_BUILD_LINES_FROM_POINTS";             }          elseif { {ATTRIBUTES} == {GEOM_BUILD} } {                puts "MACRO FeatureMerger_2_REFERENCE_INFO GEOM_BUILD_AGGREGATES";             }          elseif { {ATTRIBUTES} == {GEOM_AND_ATTRS} } {                puts "MACRO FeatureMerger_2_REFERENCE_INFO GEOM_AND_ATTR_BUILD_AGGREGATES";             }          else {}; ]
-
-FACTORY_DEF {*} ReferenceFactory    FACTORY_NAME FeatureMerger_2    INPUT REFERENCER FEATURE_TYPE FeatureMerger_3_MERGED    INPUT REFERENCER FEATURE_TYPE FeatureMerger_3_NOT_MERGED    INPUT REFERENCEE FEATURE_TYPE TempPathnameCreator_2_OUTPUT    REFERENCE_INFO $(FeatureMerger_2_REFERENCE_INFO)    REFERENCE_TABLE 1 1 AUTO    ATTR_ACCUM_MODE "HANDLE_CONFLICT"    ATTR_CONFLICT_RES "REQUESTOR_IF_CONFLICT"    IGNORE_NULLS "No"    HANDLE_NULL_MISSING_KEYS_LIKE_FME2013 No    LIST_ATTRS_TO_INCLUDE { <Unused> }    LIST_ATTRS_TO_INCLUDE_MODE <Unused>    MERGE_ATTRIBUTES Yes    MANAGE_FME_TYPE Yes    MODE COMPLETE    PROCESS_DUPLICATE_REFERENCEES No    REFERENCEES_FIRST No    REJECT_INVALID_GEOM YES    OUTPUT COMPLETE FEATURE_TYPE FeatureMerger_2_MERGED
-
-FACTORY_DEF * TeeFactory   FACTORY_NAME "FeatureMerger_2 MERGED Splitter"   INPUT FEATURE_TYPE FeatureMerger_2_MERGED   OUTPUT FEATURE_TYPE FeatureMerger_2_MERGED_0_knF9TdE9dMM=   OUTPUT FEATURE_TYPE FeatureMerger_2_MERGED_1_vTDIdYgpypM=
-# -------------------------------------------------------------------------
-
-
-FME_PYTHON_PATH "$(FME_MF_DIR)"
-
-FACTORY_DEF * PythonFactory    FACTORY_NAME PythonCaller    INPUT  FEATURE_TYPE FeatureMerger_2_MERGED_0_knF9TdE9dMM=    SYMBOL_NAME FeatureProcessor    PYTHON_NAMESPACE FMEOBJECTS    SOURCE_CODE import<space>fmeobjects<lf>import<space>os<lf>import<space>shutil<lf><lf>def<space>FeatureProcessor<openparen>feature<closeparen>:<lf><space><space><space><space>fme_mf_dir<space>=<space>os.path.normpath<openparen>FME_MacroValues<openbracket><apos>FME_MF_DIR<apos><closebracket><closeparen><lf><space><space><space><space>workspace_id<space>=<space>feature.getAttribute<openparen><apos>workspace_id<apos><closeparen><lf><space><space><space><space>projectsourcedir<space>=<space>fme_mf_dir<space>+<space><apos><solidus><solidus>..<solidus><solidus>..<solidus><solidus><apos><space>+<space>workspace_id<lf><space><space><space><space>if<space>os.path.exists<openparen>projectsourcedir<closeparen>:<lf><space><space><space><space><space><space><space><space>try:<lf><space><space><space><space><space><space><space><space><space><space><space><space>shutil.copytree<openparen>projectsourcedir<comma><space>feature.getAttribute<openparen><apos>_tempDir<apos><closeparen><space>+<space><apos><solidus><solidus><apos><space>+<space>workspace_id<comma><space>symlinks=False<comma><space>ignore=None<closeparen><lf><space><space><space><space><space><space><space><space>except:<lf><space><space><space><space><space><space><space><space><space><space><space><space>print<space><quote>Une<space>erreur<space>PYTHON<space>est<space>survenue<space>!<quote><lf><space><space><space><space><space><space><space><space><space><space><space><space>raise    OUTPUT PYOUTPUT FEATURE_TYPE PythonCaller_OUTPUT
-
-# -------------------------------------------------------------------------
-
-FACTORY_DEF * WriterFactory    FACTORY_NAME FeatureWriter    WRITER_TYPE GML    WRITER_DATASET @EvaluateExpression(FDIV,STRING_ENCODED,<at>Value<openparen>_tempDir<closeparen><solidus>export.xml,FeatureWriter)    WRITER_SETTINGS RUNTIME_MACROS,PREFER_POLYGON_OVER_SURFACE<comma>no<comma>SRS_AXIS_ORDER<comma><comma>WRITE_ALL_FEATURE_TYPE_DEFNS<comma>no<comma>TARGET_NS_PREFIX<comma>gex<comma>FEATURE_COLLECTION_NS_URI<comma><comma>INDENT_SIZE<comma>1<comma>USE_STYLESHEET_RESULT_AS_DATASET<comma>no<comma>PRETTY_PRINT_SETTINGS<comma>FME_DISCLOSURE_OPEN<comma>FEATURE_COLLECTION_ID<comma><comma>SRS_NAME<comma><comma>PROFILE<comma>3.1.1<comma>FEATURE_COLLECTION_GROUP<comma>FME_DISCLOSURE_CLOSED<comma>TEXT_INDENT<comma>No<comma>GML_WRT_ADV_PARAMETERS<comma>FME_DISCLOSURE_OPEN<comma>MAXIMUM_FRACTION_DIGITS<comma><comma>SUPPRESS_XSI_SCHEMALOCATION<comma>no<comma>COORDINATE_SYSTEM_GRANULARITY<comma>DATASET<comma>FEATURE_COLLECTION<comma><comma>FEATURE_PROPERTIES<comma><comma>FEATURE_PROPERTIES_ATTRIBUTE_HANDLING<comma><comma>VALIDATE_OUTPUT_DATASET<comma>NO<comma>TARGET_NS_URI<comma>http:<solidus><solidus>www.veremes.com<solidus>gtf<solidus>export<comma>APPLY_STYLESHEET<comma><comma>DESTINATION_DATASETTYPE_VALIDATION<comma>Yes<comma>DOCUMENTS_TO_WRITE<comma>BOTH<comma>OVERRIDE_XSD_AND_USE_NAMESPACE_DECLARATIONS<comma><comma>STYLESHEET_RESULT<comma><comma>MINIMUM_FRACTION_DIGITS<comma><comma>SYSTEM_ENCODING<comma>utf-8<comma>REPLACE_TABS_WITH_SPACES<comma>No<comma>PRETTY_PRINT<comma>No,METAFILE,GML    WRITER_METAFILE    WRITER_FEATURE_TYPES WRITER_METAFILE_INFO,ATTRIBUTE_CASE,ANY,ATTRIBUTE_INVALID_CHARS,<openbracket><closebracket>=<space>%~!<at><dollar><amp>#<openbracket><openparen><closeparen>^?*<apos>+<backslash><backslash><solidus><quote>:,ATTRIBUTE_LENGTH,254,ATTR_TYPE_MAP,xml_char<openparen>width<closeparen><comma>fme_varchar<openparen>width<closeparen><comma>xml_char<openparen>width<closeparen><comma>fme_varbinary<openparen>width<closeparen><comma>xml_char<openparen>width<closeparen><comma>fme_char<openparen>width<closeparen><comma>xml_char<openparen>width<closeparen><comma>fme_binary<openparen>width<closeparen><comma>xml_buffer<comma>fme_buffer<comma>xml_buffer<comma>fme_binarybuffer<comma>xml_buffer<comma>fme_json<comma>xml_xml<comma>fme_xml<comma>xml_datetime<comma>fme_buffer<comma>xml_date<comma>fme_buffer<comma>xml_time<comma>fme_buffer<comma>xml_int64<comma>fme_int64<comma>xml_uint64<comma>fme_uint64<comma>xml_int32<comma>fme_int32<comma>xml_uint32<comma>fme_uint32<comma>xml_int16<comma>fme_int16<comma>xml_uint16<comma>fme_uint16<comma>xml_byte<comma>fme_int8<comma>xml_ubyte<comma>fme_uint8<comma>xml_real32<comma>fme_real32<comma>xml_real64<comma>fme_real64<comma><quote>xml_decimal<openparen>width<comma>decimal<closeparen><quote><comma><quote>fme_decimal<openparen>width<comma>decimal<closeparen><quote><comma>xml_boolean<comma>fme_boolean<comma>xml_char<openparen>20<closeparen><comma>fme_datetime<comma>xml_char<openparen>8<closeparen><comma>fme_date<comma>xml_char<openparen>12<closeparen><comma>fme_time<comma>xml_geometry<comma>fme_buffer,DEST_ILLEGAL_ATTR_LIST,,FEATURE_TYPE_CASE,ANY,FEATURE_TYPE_INVALID_CHARS,<backslash><backslash><solidus><quote>:?*<lt><gt>|<openbracket><closebracket>=<space>%~!<at><dollar><amp>#<openparen><closeparen>^<apos>+,FEATURE_TYPE_LENGTH,254,FEATURE_TYPE_LENGTH_INCLUDES_PREFIX,false,FEATURE_TYPE_RESERVED_WORDS,,FORMAT_NAME,GML,GEOM_MAP,xml_no_geom<comma>fme_no_geom<comma>xml_point<comma>fme_point<comma>xml_line<comma>fme_line<comma>xml_area<comma>fme_polygon<comma>xml_aggregate<comma>fme_collection<comma>xml_text<comma>fme_text<comma>xml_area<comma>fme_ellipse<comma>xml_area<comma>fme_rectangle<comma>xml_area<comma>fme_rounded_rectangle<comma>xml_arc<comma>fme_arc<comma>xml_surface<comma>fme_surface<comma>xml_solid<comma>fme_solid<comma>xml_mesh<comma>fme_surface<comma>xml_area<comma>fme_raster<comma>xml_area<comma>fme_point_cloud<comma>xml_no_geom<comma>fme_feature_table,READER_ATTR_INDEX_TYPES,,SOURCE,no,SUPPORTS_FEAT_TYPE_FANOUT,yes,SUPPORTS_MULTI_GEOM,yes,WORKBENCH_CANNED_SCHEMA,,WRITER,GML,WRITER_ATTR_INDEX_TYPES,,WRITER_DEFLINE_PARMS,,WRITER_DEF_LINE_TEMPLATE,<opencurly>FME_GEN_GROUP_NAME<closecurly>,WRITER_FORMAT_PARAMETER,ADVANCED_PARMS<comma><quote>GML_OUT_SYSTEM_ENCODING<space>GML_OUT_WRITE_ALL_FEATURE_TYPE_DEFNS<space>GML_OUT_DOCUMENTS_TO_WRITE<space>GML_OUT_SUPPRESS_XSI_SCHEMALOCATION<space>GML_OUT_MAXIMUM_FRACTION_DIGITS<space>GML_OUT_MINIMUM_FRACTION_DIGITS<space>GML_OUT_APPLY_STYLESHEET<space>GML_OUT_STYLESHEET_RESULT<space>GML_OUT_USE_STYLESHEET_RESULT_AS_DATASET<space>GML_OUT_OVERRIDE_XSD_AND_USE_NAMESPACE_DECLARATIONS<space>GML_OUT_TARGET_NS_PREFIX<space>GML_OUT_TARGET_NS_URI<space>GML_OUT_MAP_ALL_SUBSTITUTABLE_PROPERTIES<space>GML_OUT_ADD_NAMESPACE_PREFIX_TO_NAMES<space>GML_OUT_MAX_MULTI_LIST_LEVEL<space>GML_OUT_FEATURE_COLLECTION<space>GML_OUT_FEATURE_COLLECTION_ID<space>GML_OUT_FEATURE_COLLECTION_NS_URI<space>GML_OUT_MAP_EMBEDDED_OBJECTS_AS<space>GML_OUT_MAP_PREDEFINED_GML_PROPERTIES<space>GML_OUT_MAP_COMPLEX_PROPERTIES_AS<space>GML_OUT_INDENT_SIZE<space>GML_OUT_REPLACE_TABS_WITH_SPACES<space>GML_OUT_TEXT_INDENT<quote><comma>MIME_TYPE<comma>application<solidus>xml<comma>NETWORK_AUTHENTICATION<comma>ALWAYS<comma>NETWORK_PROXY<comma>NO<comma>DATASET_NAME<comma><quote>gml<space>file<quote><comma>READER_DATASET_HINT<comma><quote>Select<space>the<space>GML<space>file<openparen>s<closeparen><quote><comma>WRITER_DATASET_HINT<comma><quote>Specify<space>a<space>name<space>for<space>the<space>GML<space>file<quote>,WRITER_HAS_DEFLINE_ATTRS,yes;gtf_pro_workspace:gtf_pro_workspace,ftp_feature_type_name,gtf_pro_workspace,ftp_writer,GML,ftp_dynamic_schema,no,ftp_dynamic_feature_type_name_type,DYN_SCHEMA_PROP_AUTO,ftp_dynamic_geometry_type,DYN_SCHEMA_PROP_AUTO,ftp_dynamic_schema_def_name_type,DYN_SCHEMA_PROP_AUTO,ftp_dynamic_schema_sources,<lt>lt<gt>Unused<lt>gt<gt>,ftp_attribute_source,1,ftp_user_attributes,workspace_id<comma>xml_int32<comma>label_name<comma>xml_char<lt>openparen<gt>100<lt>closeparen<gt><comma>description<comma>xml_buffer<comma>subscription<comma>xml_boolean<comma>fmw_file<comma>xml_char<lt>openparen<gt>150<lt>closeparen<gt><comma>category_id<comma>xml_int16<comma>category_name<comma>xml_int32<comma>lb_method_id<comma>xml_int32<comma>success_action_id<comma>xml_int32<comma>failed_action_id<comma>xml_int32<comma>survey<comma>xml_boolean<comma>form_type<comma>xml_char<lt>openparen<gt>10<lt>closeparen<gt><comma>legal_terms_conditions<comma>xml_buffer<comma>usage<comma>xml_buffer<comma>requirements<comma>xml_buffer<comma>history<comma>xml_buffer<comma>last_save_date<comma>xml_char<lt>openparen<gt>20<lt>closeparen<gt><comma>last_save_build<comma>xml_char<lt>openparen<gt>80<lt>closeparen<gt><comma>file_encoding<comma>xml_char<lt>openparen<gt>80<lt>closeparen<gt><comma>title<comma>xml_char<lt>openparen<gt>80<lt>closeparen<gt><comma>key<comma>xml_char<lt>openparen<gt>80<lt>closeparen<gt><comma>email_template_id<comma>xml_int32<comma>owner<comma>xml_int32<comma>creation_date<comma>xml_char<lt>openparen<gt>8<lt>closeparen<gt><comma>locked<comma>xml_boolean<comma>tag<comma>xml_char<lt>openparen<gt>100<lt>closeparen<gt>,ftp_format_attributes,gml_id<comma>gml_parent_id<comma>gml_parent_property    WRITER_PARAMS PREFER_POLYGON_OVER_SURFACE,no,WRITE_ALL_FEATURE_TYPE_DEFNS,no,TARGET_NS_PREFIX,gex,INDENT_SIZE,1,USE_STYLESHEET_RESULT_AS_DATASET,no,PRETTY_PRINT_SETTINGS,FME_DISCLOSURE_OPEN,PROFILE,3.1.1,FEATURE_COLLECTION_GROUP,FME_DISCLOSURE_CLOSED,TEXT_INDENT,No,GML_WRT_ADV_PARAMETERS,FME_DISCLOSURE_OPEN,SUPPRESS_XSI_SCHEMALOCATION,no,COORDINATE_SYSTEM_GRANULARITY,DATASET,VALIDATE_OUTPUT_DATASET,NO,TARGET_NS_URI,http:<solidus><solidus>www.veremes.com<solidus>gtf<solidus>export,DESTINATION_DATASETTYPE_VALIDATION,Yes,DOCUMENTS_TO_WRITE,BOTH,SYSTEM_ENCODING,utf-8,REPLACE_TABS_WITH_SPACES,No,PRETTY_PRINT,No    DATASET_ATTR _dataset    FEATURE_TYPE_LIST_ATTR _feature_type    TOTAL_FEATURES_WRITTEN_ATTR _total_features_written INPUT gtf_pro_workspace FEATURE_TYPE PythonCaller_OUTPUT  @FeatureType(ENCODED,gtf_pro_workspace)    OUTPUT SUMMARY FEATURE_TYPE FeatureWriter_SUMMARY
-
-# -------------------------------------------------------------------------
-
-INCLUDE [if { {ATTRIBUTES} == {ATTRIBUTES} } {                puts "MACRO FeatureMerger_REFERENCE_INFO ATTRIBUTES";             }          elseif { {ATTRIBUTES} == {GEOM_BUILD} && {<Unused>} == {POLYGONS}} {                puts "MACRO FeatureMerger_REFERENCE_INFO GEOM_BUILD_POLYS";             }          elseif { {ATTRIBUTES} == {GEOM_BUILD} && {<Unused>} == {AGGREGATES}} {                puts "MACRO FeatureMerger_REFERENCE_INFO GEOM_BUILD_AGGREGATES";             }          elseif { {ATTRIBUTES} == {GEOM_BUILD} && {<Unused>} == {LINESFROMPOINTS}} {                puts "MACRO FeatureMerger_REFERENCE_INFO GEOM_BUILD_LINES_FROM_POINTS";             }          elseif { {ATTRIBUTES} == {GEOM_AND_ATTRS} && {<Unused>} == {POLYGONS}} {                puts "MACRO FeatureMerger_REFERENCE_INFO GEOM_AND_ATTR_BUILD_POLYS";             }          elseif { {ATTRIBUTES} == {GEOM_AND_ATTRS} && {<Unused>} == {AGGREGATES}} {                puts "MACRO FeatureMerger_REFERENCE_INFO GEOM_AND_ATTR_BUILD_AGGREGATES";             }          elseif { {ATTRIBUTES} == {GEOM_AND_ATTRS} && {<Unused>} == {LINESFROMPOINTS}} {                puts "MACRO FeatureMerger_REFERENCE_INFO GEOM_AND_ATTR_BUILD_LINES_FROM_POINTS";             }          elseif { {ATTRIBUTES} == {GEOM_BUILD} } {                puts "MACRO FeatureMerger_REFERENCE_INFO GEOM_BUILD_AGGREGATES";             }          elseif { {ATTRIBUTES} == {GEOM_AND_ATTRS} } {                puts "MACRO FeatureMerger_REFERENCE_INFO GEOM_AND_ATTR_BUILD_AGGREGATES";             }          else {}; ]
-
-FACTORY_DEF {*} ReferenceFactory    FACTORY_NAME FeatureMerger    INPUT REFERENCER FEATURE_TYPE FeatureWriter_SUMMARY    INPUT REFERENCEE FEATURE_TYPE FeatureMerger_2_MERGED_1_vTDIdYgpypM=    REFERENCE_INFO $(FeatureMerger_REFERENCE_INFO)    REFERENCE_TABLE 1 1 AUTO    ATTR_ACCUM_MODE "HANDLE_CONFLICT"    ATTR_CONFLICT_RES "REQUESTOR_IF_CONFLICT"    IGNORE_NULLS "No"    HANDLE_NULL_MISSING_KEYS_LIKE_FME2013 No    LIST_ATTRS_TO_INCLUDE { <Unused> }    LIST_ATTRS_TO_INCLUDE_MODE <Unused>    MERGE_ATTRIBUTES Yes    MANAGE_FME_TYPE Yes    MODE COMPLETE    PROCESS_DUPLICATE_REFERENCEES No    REFERENCEES_FIRST No    REJECT_INVALID_GEOM YES    OUTPUT COMPLETE FEATURE_TYPE FeatureMerger_MERGED
-
-# -------------------------------------------------------------------------
-
-
-FME_PYTHON_PATH "$(FME_MF_DIR)"
-
-FACTORY_DEF * PythonFactory    FACTORY_NAME PythonCaller_2    INPUT  FEATURE_TYPE FeatureMerger_MERGED    SYMBOL_NAME FeatureProcessor    PYTHON_NAMESPACE FMEOBJECTS    SOURCE_CODE #<space>-*-<space>coding:<space>utf-8<space>-*-<lf>import<space>fmeobjects<lf>import<space>zipfile<lf>import<space>sys<lf>import<space>os<lf>import<space>shutil<lf><lf>def<space>zip_folder<openparen>folder_path<comma><space>output_path<closeparen>:<lf><space><space><space><space>parent_folder<space>=<space>os.path.dirname<openparen>folder_path<closeparen><lf><space><space><space><space>contents<space>=<space>os.walk<openparen>folder_path<closeparen><lf><space><space><space><space>try:<lf><space><space><space><space><space><space><space><space>zip_file<space>=<space>zipfile.ZipFile<openparen>output_path<comma><space><apos>w<apos><comma><space>zipfile.ZIP_DEFLATED<closeparen><lf><space><space><space><space><space><space><space><space>for<space>root<comma><space>folders<comma><space>files<space>in<space>contents:<lf><space><space><space><space><space><space><space><space><space><space><space><space>for<space>folder_name<space>in<space>folders:<lf><space><space><space><space><space><space><space><space><space><space><space><space><space><space><space><space>absolute_path<space>=<space>os.path.join<openparen>root<comma><space>folder_name<closeparen><lf><space><space><space><space><space><space><space><space><space><space><space><space><space><space><space><space>relative_path<space>=<space>absolute_path.replace<openparen>parent_folder<space>+<space><apos><solidus><solidus><apos><comma><apos><apos><closeparen><lf><space><space><space><space><space><space><space><space><space><space><space><space><space><space><space><space>zip_file.write<openparen>absolute_path<comma><space>relative_path<closeparen><lf><space><space><space><space><space><space><space><space><space><space><space><space>for<space>file_name<space>in<space>files:<lf><space><space><space><space><space><space><space><space><space><space><space><space><space><space><space><space>absolute_path<space>=<space>os.path.join<openparen>root<comma><space>file_name<closeparen><lf><space><space><space><space><space><space><space><space><space><space><space><space><space><space><space><space>relative_path<space>=<space>absolute_path.replace<openparen>parent_folder<space>+<space><apos><solidus><solidus><apos><comma><apos><apos><closeparen><lf><space><space><space><space><space><space><space><space><space><space><space><space><space><space><space><space>zip_file.write<openparen>absolute_path<comma><space>relative_path<closeparen><lf><space><space><space><space>except<space>IOError<comma><space>message:<lf><space><space><space><space><space><space><space><space>print<space>message<lf><space><space><space><space><space><space><space><space>sys.exit<openparen>1<closeparen><lf><space><space><space><space>except<space>OSError<comma><space>message:<lf><space><space><space><space><space><space><space><space>print<space>message<lf><space><space><space><space><space><space><space><space>sys.exit<openparen>1<closeparen><lf><space><space><space><space>except<space>zipfile.BadZipfile<comma><space>message:<lf><space><space><space><space><space><space><space><space>print<space>message<lf><space><space><space><space><space><space><space><space>sys.exit<openparen>1<closeparen><lf><space><space><space><space>finally:<lf><space><space><space><space><space><space><space><space>zip_file.close<openparen><closeparen><lf><lf>def<space>FeatureProcessor<openparen>feature<closeparen>:<lf><space><space><space><space>if<space>os.path.exists<openparen>feature.getAttribute<openparen><apos>_tempDir<apos><closeparen><closeparen>:<lf><space><space><space><space><space><space><space><space>zip_folder<openparen>feature.getAttribute<openparen><apos>_tempDir<apos><closeparen><space>+<space><apos><solidus><solidus><apos><comma>FME_MacroValues<openbracket><apos>destGexFile<apos><closebracket><closeparen>    OUTPUT PYOUTPUT FEATURE_TYPE PythonCaller_2_OUTPUT
-
-FACTORY_DEF * TeeFactory   FACTORY_NAME "PythonCaller_2 OUTPUT Output Nuker"   INPUT FEATURE_TYPE PythonCaller_2_OUTPUT
-# -------------------------------------------------------------------------
-
-FACTORY_DEF * RoutingFactory FACTORY_NAME "Destination Feature Type Routing Correlator"   COMMAND_PARM_EVALUATION SINGLE_PASS   INPUT FEATURE_TYPE *   FEATURE_TYPE_ATTRIBUTE __wb_out_feat_type__   OUTPUT ROUTED FEATURE_TYPE *    OUTPUT NOT_ROUTED FEATURE_TYPE __nuke_me__ @Tcl2("FME_StatMessage 818059 [FME_GetAttribute fme_template_feature_type] 818060 818061 fme_warn")
-# -------------------------------------------------------------------------
-
-FACTORY_DEF * TeeFactory   FACTORY_NAME "Final Output Nuker"   INPUT FEATURE_TYPE __nuke_me__
-
-# -------------------------------------------------------------------------
-GML_1_DEF gtf_pro_workspace   workspace_id                 xml_int32   label_name                   xml_char(100)   description                  xml_buffer   subscription                 xml_boolean   fmw_file                     xml_char(150)   category_id                  xml_int16   category_name                xml_int32   lb_method_id                 xml_int32   success_action_id            xml_int32   failed_action_id             xml_int32   survey                       xml_boolean   form_type                    xml_char(10)   legal_terms_conditions       xml_buffer   usage                        xml_buffer   requirements                 xml_buffer   history                      xml_buffer   last_save_date               xml_char(20)   last_save_build              xml_char(80)   file_encoding                xml_char(80)   title                        xml_char(80)   key                          xml_char(80)   email_template_id            xml_int32   owner                        xml_int32   creation_date                xml_char(8)   locked                       xml_boolean   tag                          xml_char(100)
diff --git a/src/module_gtf/web_service/ws_data/gtf/workspace/-2/fme/importv3.fmw b/src/module_gtf/web_service/ws_data/gtf/workspace/-2/fme/importv3.fmw
index 66c2cff23d9f2bf44bb3e1c8ad5848515ee7a537..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100755
--- a/src/module_gtf/web_service/ws_data/gtf/workspace/-2/fme/importv3.fmw
+++ b/src/module_gtf/web_service/ws_data/gtf/workspace/-2/fme/importv3.fmw
@@ -1,7437 +0,0 @@
-#! <?xml version="1.0" encoding="UTF-8" ?>
-#! <WORKSPACE
-#    
-#    
-#    Ligne de commande pour exécuter le projet :
-#    
-#    
-#    C:\Apps\FME_2017.0.1.1x64\fme.exe C:\vm02.veremes.net\produit_vitis\web_services\gtf\trunk\ws_data\gtf\workspace\-2\fme\importv3.fmw
-#          --sourceGexFile "C:\vm02.veremes.net\produit_vitis\web_services\gtf\trunk\ws_data\gtf\workspace\-2\fme\test_import.gex"
-#          --idWorkspaceList "*"
-#          --duplicateKey "0"
-#          --HTML ""
-#          --GTF_CONNECTION_STRING "********"
-#          --GTF_ORDER_ID "1"
-#    
-#    
-#!   FME_IMPLICIT_CSMAP_REPROJECTION_MODE="Datum"
-#!   SOURCE="NONE"
-#!   DESTINATION_ROUTING_FILE=""
-#!   LAST_SAVE_BUILD="FME(R) 2017.0.1.1 (20170512 - Build 17291 - WIN64)"
-#!   DOC_EXTENTS="27202.4 4082.85"
-#!   SHOW_INFO_NODES="true"
-#!   FME_DOCUMENT_GUID="222d17d9-a22e-42ea-9f73-3976f23b0fd7"
-#!   FME_SERVER_SERVICES=""
-#!   DESTINATION="NONE"
-#!   DOC_TOP_LEFT="-5073.43 -3131.7"
-#!   MARKDOWN_USAGE=""
-#!   MULTI_WRITER_DATASET_ORDER="BY_ID"
-#!   EXPLICIT_BOOKMARK_ORDER="false"
-#!   FME_BUILD_NUM="17291"
-#!   FME_DOCUMENT_PRIORGUID="51a69217-d5bb-4f97-b5df-bdd82d58fd4f,d02acc1e-b648-4b31-bc60-5b5dab7e3aeb,9f1d7ba1-17b6-40c3-ae6b-5496f26c91aa,2a84baf2-e9bc-427a-90bc-51d0f473b038,85e5b06e-d91e-4e9c-b67f-1bf004d6d77a,1a568fb1-6a05-4b56-9c27-70fdf05dd007,51a082cd-5ef9-46f3-9df3-9c6c525affaa,5ec2cf0e-845b-410c-b27a-4618f692c1e9,4bfc6e94-1e45-48d7-bf53-95df5ca3adea,b47258a2-a882-4965-852a-f2759ea8b5c4,0d56aac6-8a6f-41dc-a958-e7e51bc82cfe,fc00ae7e-7457-474f-b0e6-c4bad42e73cc,84c1d454-b6aa-4ee6-8e36-bb5eb8707f4c,d8014eb1-9345-440d-9320-23e05280fd4d,6a0abf0c-acd8-4a2a-b888-4dc1b7f58702,f1930941-08ac-44a8-9c3a-aa322ebc7978,7b40dd72-31b9-4b13-89cf-3b2c131d8cf8,66a326ab-e95d-46c9-b9b0-e2a71e413392,7162a10e-7c0b-4cca-bef2-e565857546e3,93d168f0-20e1-4504-a4fa-6b01365bad2d,f3a2392d-9489-4054-85c3-d4f4b71b3bad,2264ca3f-6c55-4585-9521-e70a2a86195e,7f07fa75-5cd3-455d-99b3-8c7e04e47d99,d69b22df-d451-4cfd-9d5e-631d63f5065e,d5052dc5-2cc1-4614-9d72-f55004a5aeac,31015792-c56c-4ba3-9c35-f2874a80049b,ae160608-af1b-4096-914b-df3b5e1ffdf0,269aa94c-c559-11e7-9193-020000e1df2f,17a0f34c-2ee2-4a5c-820b-9b2e66e15e86"
-#!   TERMINATE_REJECTED="NO"
-#!   FME_GEOMETRY_HANDLING="Enhanced"
-#!   PASSWORD=""
-#!   DESCRIPTION="&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Import de traitements GEX dans GTF &lt;/p&gt;&#10;"
-#!   VIEW_POSITION="18343.9 950.01"
-#!   USAGE="&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;    &lt;br/&gt;&lt;/p&gt;"
-#!   MAX_LOG_FEATURES="200"
-#!   ATTR_TYPE_ENCODING="SDF"
-#!   END_PYTHON=""
-#!   WORKSPACE_VERSION="1"
-#!   TITLE="Import GTF"
-#!   IGNORE_READER_FAILURE="No"
-#!   LAST_SAVE_DATE="2018-02-04T21:33:37"
-#!   BEGIN_TCL=""
-#!   HISTORY="20140306,M.&lt;space&gt;Ambrosy,Refonte&lt;space&gt;et&lt;space&gt;gestion&lt;space&gt;des&lt;space&gt;m&lt;u00e9&gt;tadonn&lt;u00e9&gt;es,20140307,M.&lt;space&gt;Ambrosy,D&lt;u00e9&gt;sactivation&lt;space&gt;des&lt;space&gt;groupes,20150109,M.&lt;space&gt;Ambrosy,Mises&lt;space&gt;&lt;u00e0&gt;&lt;space&gt;jour&lt;space&gt;majeures,20161205,M.&lt;space&gt;Ambrosy,"
-#!   SHOW_ANNOTATIONS="true"
-#!   ZOOM_SCALE="100"
-#!   MARKDOWN_DESCRIPTION=""
-#!   END_TCL=""
-#!   LOG_MAX_RECORDED_FEATURES="200"
-#!   PYTHON_COMPATIBILITY="27"
-#!   CATEGORY="GTF"
-#!   FME_STROKE_MAX_DEVIATION="0"
-#!   SOURCE_ROUTING_FILE=""
-#!   FME_REPROJECTION_ENGINE="FME"
-#!   LOG_FILE=""
-#!   BEGIN_PYTHON=""
-#!   USE_MARKDOWN=""
-#!   REDIRECT_TERMINATORS="NONE"
-#!   WARN_INVALID_XFORM_PARAM="Yes"
-#! >
-#! <DATASETS>
-#! <DATASET
-#!   IS_SOURCE="true"
-#!   ROLE="READER"
-#!   FORMAT="POSTGRES"
-#!   DATASET="$(dbDatabase)"
-#!   KEYWORD="POSTGRES_1"
-#!   MULTI_GEOM_ALLOWED="false"
-#!   ATTR_MAX_LENGTH="60"
-#!   ATTR_CASE="ANY"
-#!   ALLOWED_FEAT_TYPES=""
-#!   WRITE_DEFS="true"
-#!   DEFLINE_TEMPLATE="postgres_type {FME_GEN_GEOMETRY} postgres_sql_where_clause &quot;&quot; postgres_sql_statement &quot;&quot;"
-#!   DEFLINE_ATTRS="true"
-#!   EXPOSABLE_ATTRS="multi_reader_full_id int4 fme_text_size float8 fme_text_string char(50) multi_reader_keyword char(50) fme_fill_color char(50) postgres_oid int4 fme_geometry fme_char(50) multi_reader_id int4 fme_basename char(50) fme_secondary_axis float8 fme_start_angle float8 fme_sweep_angle float8 fme_type char(50) fme_dataset char(50) multi_reader_type char(50) fme_color char(50) fme_feature_type char(50) postgres_type char(50) fme_rotation float8 fme_primary_axis float8"
-#!   DEFLINE_PARMS="&quot;GUI OPTIONAL TEXT postgres_sql_where_clause WHERE Clause&quot; &quot;&quot; &quot;GUI OPTIONAL TEXT postgres_sql_statement SELECT Statement&quot; &quot;&quot; "
-#!   ATTR_INDEX_TYPES="BTREE HASH PRIKEY RTREE"
-#!   ATTR_NAME_INVALID_CHARS=""
-#!   SUPPORTS_FEATURE_TYPE_FANOUT="true"
-#!   ENABLED="true"
-#!   DYNAMIC_FEATURE_TYPES_LIST_ON_MERGE="true"
-#!   DATASET_TYPE="DATABASE"
-#!   GENERATE_FME_BUILD_NUM="13547"
-#!   MAX_FEATURES=""
-#!   COORDSYS=""
-#!   MIN_FEATURES=""
-#!   MAX_FEATURES_PER_FEATURE_TYPE=""
-#!   FEATURE_TYPES=""
-#!   START_FEATURE=""
-#! />
-#! <DATASET
-#!   IS_SOURCE="false"
-#!   ROLE="WRITER"
-#!   FORMAT="POSTGRES"
-#!   DATASET="$(dbDatabase)"
-#!   KEYWORD="POSTGRES_2"
-#!   MULTI_GEOM_ALLOWED="true"
-#!   ATTR_MAX_LENGTH="63"
-#!   ATTR_CASE="LOWER"
-#!   ALLOWED_FEAT_TYPES=""
-#!   WRITE_DEFS="true"
-#!   DEFLINE_TEMPLATE="postgres_type {FME_GEN_GEOMETRY} postgres_mode INHERIT_FROM_WRITER postgres_sql_key_columns &quot;&quot; postgres_drop_table NO postgres_truncate_table NO postgres_create_with_oids NO postgres_vacuum_analyze NO postgres_allow_serial_writing NO"
-#!   DEFLINE_ATTRS="true"
-#!   EXPOSABLE_ATTRS="fme_rotation float8 fme_text_size float8 fme_geometry fme_char(50) fme_type char(50) fme_color char(50) fme_fill_color char(50) fme_feature_type char(50) fme_basename char(50) fme_secondary_axis float8 fme_dataset char(50) fme_db_operation char(8) fme_start_angle float8 postgres_type char(50) fme_sweep_angle float8 fme_where char(254) fme_text_string char(50) fme_primary_axis float8"
-#!   DEFLINE_PARMS="&quot;GUI CHOICE postgres_drop_table YES%NO Drop Table First&quot; NO &quot;GUI CHOICE postgres_truncate_table YES%NO Truncate Table First&quot; NO &quot;GUI CHOICE postgres_mode INHERIT_FROM_WRITER%INSERT%UPDATE%DELETE Writer Mode&quot; INHERIT_FROM_WRITER &quot;GUI OPTIONAL ATTRLIST_COMMAS postgres_sql_key_columns \&quot; \&quot; SQL Key Columns&quot; &quot;&quot; &quot;GUI CHOICE postgres_create_with_oids YES%NO Create With OIDs&quot; NO &quot;GUI CHOICE postgres_vacuum_analyze YES%NO Vacuum Analyze Table&quot; NO &quot;GUI CHOICE postgres_allow_serial_writing YES%NO Allow Serial Column Writing&quot; NO "
-#!   ATTR_INDEX_TYPES="BTREE HASH PRIKEY RTREE"
-#!   ATTR_NAME_INVALID_CHARS=". %-#[]&quot;()!?*&apos;&amp;+\/"
-#!   SUPPORTS_FEATURE_TYPE_FANOUT="true"
-#!   ENABLED="true"
-#!   DYNAMIC_FEATURE_TYPES_LIST_ON_MERGE="true"
-#!   DATASET_TYPE="DATABASE"
-#!   GENERATE_FME_BUILD_NUM="15477"
-#!   FANOUT_EXPRESSION=""
-#!   FANOUT_GROUP="NO"
-#!   COORDSYS=""
-#! >
-#! <METAFILE_PARAMETER
-#!   NAME="NETWORK_PROXY"
-#!   VALUE="NO"
-#! />
-#! <METAFILE_PARAMETER
-#!   NAME="FEATURE_TYPE_DEFAULT_NAME"
-#!   VALUE="Table1"
-#! />
-#! <METAFILE_PARAMETER
-#!   NAME="NETWORK_AUTHENTICATION"
-#!   VALUE="NO"
-#! />
-#! <METAFILE_PARAMETER
-#!   NAME="DATASET_NAME"
-#!   VALUE="Database"
-#! />
-#! <METAFILE_PARAMETER
-#!   NAME="FEATURE_TYPE_NAME"
-#!   VALUE="Table"
-#! />
-#! </DATASET>
-#! <DATASET
-#!   IS_SOURCE="false"
-#!   ROLE="WRITER"
-#!   FORMAT="POSTGRES"
-#!   DATASET="$(dbDatabase)"
-#!   KEYWORD="POSTGRES_3"
-#!   MULTI_GEOM_ALLOWED="true"
-#!   ATTR_MAX_LENGTH="63"
-#!   ATTR_CASE="LOWER"
-#!   ALLOWED_FEAT_TYPES=""
-#!   WRITE_DEFS="true"
-#!   DEFLINE_TEMPLATE="postgres_type {FME_GEN_GEOMETRY} postgres_mode INHERIT_FROM_WRITER postgres_drop_table NO postgres_truncate_table NO postgres_create_with_oids YES postgres_vacuum_analyze YES postgres_allow_serial_writing NO"
-#!   DEFLINE_ATTRS="true"
-#!   EXPOSABLE_ATTRS="fme_rotation float8 fme_text_size float8 fme_geometry fme_char(50) fme_type char(50) fme_color char(50) fme_fill_color char(50) fme_feature_type char(50) fme_basename char(50) fme_secondary_axis float8 fme_dataset char(50) fme_db_operation char(8) fme_start_angle float8 postgres_type char(50) fme_sweep_angle float8 fme_where char(254) fme_text_string char(50) fme_primary_axis float8"
-#!   DEFLINE_PARMS="&quot;GUI CHOICE postgres_mode INHERIT_FROM_WRITER%INSERT%UPDATE%DELETE Writer Mode&quot; INHERIT_FROM_WRITER &quot;GUI CHOICE postgres_drop_table YES%NO Drop Table First&quot; NO &quot;GUI CHOICE postgres_truncate_table YES%NO Truncate Table First&quot; NO &quot;GUI CHOICE postgres_create_with_oids YES%NO Create With OIDs&quot; YES &quot;GUI CHOICE postgres_vacuum_analyze YES%NO Vacuum Analyze Table&quot; YES &quot;GUI CHOICE postgres_allow_serial_writing YES%NO Allow serial Column Writing&quot; NO "
-#!   ATTR_INDEX_TYPES="BTREE HASH PRIKEY RTREE"
-#!   ATTR_NAME_INVALID_CHARS=". %-#[]&quot;()!?*&apos;&amp;+\/"
-#!   SUPPORTS_FEATURE_TYPE_FANOUT="true"
-#!   ENABLED="true"
-#!   DYNAMIC_FEATURE_TYPES_LIST_ON_MERGE="true"
-#!   DATASET_TYPE="DATABASE"
-#!   GENERATE_FME_BUILD_NUM="6538"
-#!   FANOUT_EXPRESSION=""
-#!   FANOUT_GROUP="NO"
-#!   COORDSYS=""
-#! />
-#! <DATASET
-#!   IS_SOURCE="false"
-#!   ROLE="WRITER"
-#!   FORMAT="XML"
-#!   DATASET="$(xml)"
-#!   KEYWORD="XML_1"
-#!   MULTI_GEOM_ALLOWED="true"
-#!   ATTR_MAX_LENGTH="254"
-#!   ATTR_CASE="ANY"
-#!   ALLOWED_FEAT_TYPES=""
-#!   WRITE_DEFS="true"
-#!   DEFLINE_TEMPLATE=""
-#!   DEFLINE_ATTRS="true"
-#!   EXPOSABLE_ATTRS="fme_rotation xml_real64 fme_text_size xml_real64 fme_geometry fme_char(50) fme_type xml_char(50) fme_color xml_char(50) fme_fill_color xml_char(50) fme_feature_type xml_char(50) fme_basename xml_char(50) fme_secondary_axis xml_real64 xml_type xml_char(50) fme_dataset xml_char(50) fme_start_angle xml_real64 fme_sweep_angle xml_real64 fme_text_string xml_char(50) fme_primary_axis xml_real64"
-#!   DEFLINE_PARMS=""
-#!   ATTR_INDEX_TYPES=""
-#!   ATTR_NAME_INVALID_CHARS="[]= %~!@$&amp;#[()^?*&apos;+\\/&quot;:{}"
-#!   SUPPORTS_FEATURE_TYPE_FANOUT="true"
-#!   ENABLED="true"
-#!   DYNAMIC_FEATURE_TYPES_LIST_ON_MERGE="true"
-#!   DATASET_TYPE="FILE_OR_URL"
-#!   GENERATE_FME_BUILD_NUM="15477"
-#!   FANOUT_EXPRESSION=""
-#!   FANOUT_GROUP="NO"
-#!   COORDSYS=""
-#! >
-#! <METAFILE_PARAMETER
-#!   NAME="NETWORK_PROXY"
-#!   VALUE="NO"
-#! />
-#! <METAFILE_PARAMETER
-#!   NAME="READER_DATASET_HINT"
-#!   VALUE="Select the XML file(s)"
-#! />
-#! <METAFILE_PARAMETER
-#!   NAME="NETWORK_AUTHENTICATION"
-#!   VALUE="NO"
-#! />
-#! <METAFILE_PARAMETER
-#!   NAME="MIME_TYPE"
-#!   VALUE="application/XML"
-#! />
-#! <METAFILE_PARAMETER
-#!   NAME="DATASET_NAME"
-#!   VALUE="xml file"
-#! />
-#! <METAFILE_PARAMETER
-#!   NAME="ADVANCED_PARMS"
-#!   VALUE="XML_OUT_XSD_DOC XML_OUT_SUPPRESS_TARGET_NS XML_OUT_TABLE_WRAPPER_PREFIX XML_OUT_TABLE_WRAPPER_SUFFIX XML_OUT_ROW_ID_ATTR_NAME XML_OUT_ROW_ID_PREFIX XML_OUT_APPLY_STYLESHEET XML_OUT_STYLESHEET_RESULT XML_OUT_APPEND_XML_FRAGMENTS_AS XML_OUT_XML_ROOT_ELEMENT_APPEND_PATH XML_OUT_XML_VALIDATION XML_OUT_XSD_VALIDATION_DOCS"
-#! />
-#! <METAFILE_PARAMETER
-#!   NAME="WRITER_DATASET_HINT"
-#!   VALUE="Specify a name for the XML file"
-#! />
-#! </DATASET>
-#! </DATASETS>
-#! <DATA_TYPES>
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="bool"
-#!   FME_TYPE="fme_boolean"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="char(width)"
-#!   FME_TYPE="fme_char(width)"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="varchar(width)"
-#!   FME_TYPE="fme_varchar(width)"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="text"
-#!   FME_TYPE="fme_buffer"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="xml"
-#!   FME_TYPE="fme_xml"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="json"
-#!   FME_TYPE="fme_json"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="jsonb"
-#!   FME_TYPE="fme_json"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="bytea"
-#!   FME_TYPE="fme_binarybuffer"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="bytea"
-#!   FME_TYPE="fme_varbinary(width)"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="bytea"
-#!   FME_TYPE="fme_binary(width)"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="int2"
-#!   FME_TYPE="fme_int16"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="int2"
-#!   FME_TYPE="fme_int8"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="int2"
-#!   FME_TYPE="fme_uint8"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="int4"
-#!   FME_TYPE="fme_int32"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="int4"
-#!   FME_TYPE="fme_uint16"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="int8"
-#!   FME_TYPE="fme_int64"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="int8"
-#!   FME_TYPE="fme_uint32"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="numeric(width,decimal)"
-#!   FME_TYPE="fme_decimal(width,decimal)"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="numeric(20,0)"
-#!   FME_TYPE="fme_uint64"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="oid"
-#!   FME_TYPE="fme_uint32"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="serial"
-#!   FME_TYPE="fme_int32"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="float4"
-#!   FME_TYPE="fme_real32"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="money"
-#!   FME_TYPE="fme_real32"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="float8"
-#!   FME_TYPE="fme_real64"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="date"
-#!   FME_TYPE="fme_date"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="time"
-#!   FME_TYPE="fme_time"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="timetz"
-#!   FME_TYPE="fme_time"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="timestamp"
-#!   FME_TYPE="fme_datetime"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="timestamptz"
-#!   FME_TYPE="fme_datetime"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="uuid"
-#!   FME_TYPE="fme_buffer"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="bit(width)"
-#!   FME_TYPE="fme_char(width)"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="varbit"
-#!   FME_TYPE="fme_buffer"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="varbit(width)"
-#!   FME_TYPE="fme_varchar(width)"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="text"
-#!   FME_TYPE="fme_xml"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="text"
-#!   FME_TYPE="fme_json"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="bytea"
-#!   FME_TYPE="fme_buffer"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="varchar(20)"
-#!   FME_TYPE="fme_uint64"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="float8"
-#!   FME_TYPE="fme_decimal(width,decimal)"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="char(1)"
-#!   FME_TYPE="fme_char(width)"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="bool"
-#!   FME_TYPE="fme_boolean"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="char(width)"
-#!   FME_TYPE="fme_char(width)"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="varchar(width)"
-#!   FME_TYPE="fme_varchar(width)"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="text"
-#!   FME_TYPE="fme_buffer"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml"
-#!   FME_TYPE="fme_xml"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="json"
-#!   FME_TYPE="fme_json"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="jsonb"
-#!   FME_TYPE="fme_json"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="bytea"
-#!   FME_TYPE="fme_binarybuffer"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="bytea"
-#!   FME_TYPE="fme_varbinary(width)"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="bytea"
-#!   FME_TYPE="fme_binary(width)"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="int2"
-#!   FME_TYPE="fme_int16"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="int2"
-#!   FME_TYPE="fme_int8"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="int2"
-#!   FME_TYPE="fme_uint8"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="int4"
-#!   FME_TYPE="fme_int32"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="int4"
-#!   FME_TYPE="fme_uint16"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="int8"
-#!   FME_TYPE="fme_int64"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="int8"
-#!   FME_TYPE="fme_uint32"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="numeric(width,decimal)"
-#!   FME_TYPE="fme_decimal(width,decimal)"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="numeric(20,0)"
-#!   FME_TYPE="fme_uint64"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="oid"
-#!   FME_TYPE="fme_uint32"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="serial"
-#!   FME_TYPE="fme_int32"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="float4"
-#!   FME_TYPE="fme_real32"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="money"
-#!   FME_TYPE="fme_real32"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="float8"
-#!   FME_TYPE="fme_real64"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="date"
-#!   FME_TYPE="fme_date"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="time"
-#!   FME_TYPE="fme_time"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="timetz"
-#!   FME_TYPE="fme_time"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="timestamp"
-#!   FME_TYPE="fme_datetime"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="timestamptz"
-#!   FME_TYPE="fme_datetime"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="uuid"
-#!   FME_TYPE="fme_buffer"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="bit(width)"
-#!   FME_TYPE="fme_char(width)"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="varbit"
-#!   FME_TYPE="fme_buffer"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="varbit(width)"
-#!   FME_TYPE="fme_varchar(width)"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="text"
-#!   FME_TYPE="fme_xml"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="text"
-#!   FME_TYPE="fme_json"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="bytea"
-#!   FME_TYPE="fme_buffer"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="int8"
-#!   FME_TYPE="fme_int32"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="oid"
-#!   FME_TYPE="fme_int32"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="float8"
-#!   FME_TYPE="fme_decimal(width,decimal)"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="varchar(20)"
-#!   FME_TYPE="fme_uint64"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="char(1)"
-#!   FME_TYPE="fme_char(width)"
-#!   FORMAT="POSTGRES"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_char(width)"
-#!   FME_TYPE="fme_varchar(width)"
-#!   FORMAT="XML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_char(width)"
-#!   FME_TYPE="fme_varbinary(width)"
-#!   FORMAT="XML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_char(width)"
-#!   FME_TYPE="fme_char(width)"
-#!   FORMAT="XML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_char(width)"
-#!   FME_TYPE="fme_binary(width)"
-#!   FORMAT="XML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_buffer"
-#!   FME_TYPE="fme_buffer"
-#!   FORMAT="XML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_buffer"
-#!   FME_TYPE="fme_binarybuffer"
-#!   FORMAT="XML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_buffer"
-#!   FME_TYPE="fme_json"
-#!   FORMAT="XML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_xml"
-#!   FME_TYPE="fme_xml"
-#!   FORMAT="XML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_datetime"
-#!   FME_TYPE="fme_buffer"
-#!   FORMAT="XML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_date"
-#!   FME_TYPE="fme_buffer"
-#!   FORMAT="XML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_time"
-#!   FME_TYPE="fme_buffer"
-#!   FORMAT="XML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_int64"
-#!   FME_TYPE="fme_int64"
-#!   FORMAT="XML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_uint64"
-#!   FME_TYPE="fme_uint64"
-#!   FORMAT="XML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_int32"
-#!   FME_TYPE="fme_int32"
-#!   FORMAT="XML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_uint32"
-#!   FME_TYPE="fme_uint32"
-#!   FORMAT="XML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_int16"
-#!   FME_TYPE="fme_int16"
-#!   FORMAT="XML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_uint16"
-#!   FME_TYPE="fme_uint16"
-#!   FORMAT="XML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_byte"
-#!   FME_TYPE="fme_int8"
-#!   FORMAT="XML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_ubyte"
-#!   FME_TYPE="fme_uint8"
-#!   FORMAT="XML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_real32"
-#!   FME_TYPE="fme_real32"
-#!   FORMAT="XML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_real64"
-#!   FME_TYPE="fme_real64"
-#!   FORMAT="XML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_decimal(width,decimal)"
-#!   FME_TYPE="fme_decimal(width,decimal)"
-#!   FORMAT="XML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_boolean"
-#!   FME_TYPE="fme_boolean"
-#!   FORMAT="XML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_char(20)"
-#!   FME_TYPE="fme_datetime"
-#!   FORMAT="XML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_char(8)"
-#!   FME_TYPE="fme_date"
-#!   FORMAT="XML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_char(12)"
-#!   FME_TYPE="fme_time"
-#!   FORMAT="XML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_geometry"
-#!   FME_TYPE="fme_buffer"
-#!   FORMAT="XML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_xml"
-#!   FME_TYPE="fme_buffer"
-#!   FORMAT="XML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_char(1)"
-#!   FME_TYPE="fme_char(width)"
-#!   FORMAT="XML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_byte"
-#!   FME_TYPE="fme_int16"
-#!   FORMAT="XML"
-#! />
-#! </DATA_TYPES>
-#! <GEOM_TYPES>
-#! <GEOM_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="postgres_none"
-#!   FME_TYPE="fme_no_geom"
-#!   FORMAT="POSTGRES"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="postgres_none"
-#!   FME_TYPE="fme_point"
-#!   FORMAT="POSTGRES"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="postgres_none"
-#!   FME_TYPE="fme_line"
-#!   FORMAT="POSTGRES"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="postgres_none"
-#!   FME_TYPE="fme_area"
-#!   FORMAT="POSTGRES"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="postgres_none"
-#!   FME_TYPE="fme_rectangle"
-#!   FORMAT="POSTGRES"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="postgres_none"
-#!   FME_TYPE="fme_rounded_rectangle"
-#!   FORMAT="POSTGRES"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="postgres_none"
-#!   FME_TYPE="fme_text"
-#!   FORMAT="POSTGRES"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="postgres_none"
-#!   FME_TYPE="fme_ellipse"
-#!   FORMAT="POSTGRES"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="postgres_none"
-#!   FME_TYPE="fme_arc"
-#!   FORMAT="POSTGRES"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="postrgres_none"
-#!   FME_TYPE="fme_collection"
-#!   FORMAT="POSTGRES"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="postgres_none"
-#!   FME_TYPE="fme_raster"
-#!   FORMAT="POSTGRES"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="postgres_none"
-#!   FME_TYPE="fme_surface"
-#!   FORMAT="POSTGRES"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="postgres_none"
-#!   FME_TYPE="fme_solid"
-#!   FORMAT="POSTGRES"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="postgres_none"
-#!   FME_TYPE="fme_point_cloud"
-#!   FORMAT="POSTGRES"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="postgres_none"
-#!   FME_TYPE="fme_no_geom"
-#!   FORMAT="POSTGRES"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="postgres_none"
-#!   FME_TYPE="fme_point"
-#!   FORMAT="POSTGRES"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="postgres_none"
-#!   FME_TYPE="fme_line"
-#!   FORMAT="POSTGRES"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="postgres_none"
-#!   FME_TYPE="fme_area"
-#!   FORMAT="POSTGRES"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="postgres_none"
-#!   FME_TYPE="fme_rectangle"
-#!   FORMAT="POSTGRES"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="postgres_none"
-#!   FME_TYPE="fme_rounded_rectangle"
-#!   FORMAT="POSTGRES"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="postgres_none"
-#!   FME_TYPE="fme_text"
-#!   FORMAT="POSTGRES"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="postgres_none"
-#!   FME_TYPE="fme_ellipse"
-#!   FORMAT="POSTGRES"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="postgres_none"
-#!   FME_TYPE="fme_arc"
-#!   FORMAT="POSTGRES"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="postrgres_none"
-#!   FME_TYPE="fme_collection"
-#!   FORMAT="POSTGRES"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="postgres_none"
-#!   FME_TYPE="fme_raster"
-#!   FORMAT="POSTGRES"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="postgres_none"
-#!   FME_TYPE="fme_surface"
-#!   FORMAT="POSTGRES"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="postgres_none"
-#!   FME_TYPE="fme_solid"
-#!   FORMAT="POSTGRES"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="postgres_none"
-#!   FME_TYPE="fme_point_cloud"
-#!   FORMAT="POSTGRES"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="postgres_none"
-#!   FME_TYPE="fme_collection"
-#!   FORMAT="POSTGRES"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_no_geom"
-#!   FME_TYPE="fme_no_geom"
-#!   FORMAT="XML"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_point"
-#!   FME_TYPE="fme_point"
-#!   FORMAT="XML"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_line"
-#!   FME_TYPE="fme_line"
-#!   FORMAT="XML"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_area"
-#!   FME_TYPE="fme_area"
-#!   FORMAT="XML"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_aggregate"
-#!   FME_TYPE="fme_collection"
-#!   FORMAT="XML"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_text"
-#!   FME_TYPE="fme_text"
-#!   FORMAT="XML"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_area"
-#!   FME_TYPE="fme_ellipse"
-#!   FORMAT="XML"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_area"
-#!   FME_TYPE="fme_rectangle"
-#!   FORMAT="XML"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_area"
-#!   FME_TYPE="fme_rounded_rectangle"
-#!   FORMAT="XML"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_arc"
-#!   FME_TYPE="fme_arc"
-#!   FORMAT="XML"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_surface"
-#!   FME_TYPE="fme_surface"
-#!   FORMAT="XML"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_solid"
-#!   FME_TYPE="fme_solid"
-#!   FORMAT="XML"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_mesh"
-#!   FME_TYPE="fme_surface"
-#!   FORMAT="XML"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_area"
-#!   FME_TYPE="fme_raster"
-#!   FORMAT="XML"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_area"
-#!   FME_TYPE="fme_point_cloud"
-#!   FORMAT="XML"
-#! />
-#! </GEOM_TYPES>
-#! <FEATURE_TYPES>
-#! <FEATURE_TYPE
-#!   IS_SOURCE="false"
-#!   NODE_NAME="workspace"
-#!   FEATURE_TYPE_NAME=""
-#!   FEATURE_TYPE_NAME_QUALIFIER="s_gtf"
-#!   IS_EDITABLE="true"
-#!   IDENTIFIER="1"
-#!   FEAT_GEOMTYPE="All"
-#!   POSITION="22050 0"
-#!   BOUNDING_RECT="22050 0 0 0"
-#!   ORDER="5e+14"
-#!   COLLAPSED="false"
-#!   KEYWORD="POSTGRES_3"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   SCHEMA_ATTRIBUTE_SOURCE="1"
-#! >
-#!     <FEAT_ATTRIBUTE ATTR_NAME="workspace_id" ATTR_TYPE="int4,PRIKEY" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="name" ATTR_TYPE="varchar(100),BTREE" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="description" ATTR_TYPE="text" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="subscription" ATTR_TYPE="bool" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="fmw_file" ATTR_TYPE="varchar(150)" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="category_id" ATTR_TYPE="int4,BTREE" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="success_action_id" ATTR_TYPE="int4" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="failed_action_id" ATTR_TYPE="int4" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="lb_method_id" ATTR_TYPE="int4" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="survey" ATTR_TYPE="bool" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="form_type" ATTR_TYPE="varchar(10)" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="legal_terms_conditions" ATTR_TYPE="text" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="usage" ATTR_TYPE="text" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="requirements" ATTR_TYPE="text" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="history" ATTR_TYPE="text" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="last_save_date" ATTR_TYPE="timestamp" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="last_save_build" ATTR_TYPE="varchar(80)" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="file_encoding" ATTR_TYPE="varchar(80)" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="title" ATTR_TYPE="varchar(80)" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="key" ATTR_TYPE="varchar(80)" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="email_template_id" ATTR_TYPE="int4" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="owner" ATTR_TYPE="int4" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="creation_date" ATTR_TYPE="date" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="locked" ATTR_TYPE="bool" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="tag" ATTR_TYPE="varchar(100)" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="fme_db_operation" ATTR_TYPE="char(8)"  EXPOSABLE_ATTR="true" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="fme_where" ATTR_TYPE="char(254)"  EXPOSABLE_ATTR="true" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <DEFLINE_PARM PARM_NAME="postgres_mode" PARM_VALUE="UPDATE"/>
-#!     <DEFLINE_PARM PARM_NAME="postgres_allow_serial_writing" PARM_VALUE="NO"/>
-#!     <DEFLINE_PARM PARM_NAME="postgres_create_with_oids" PARM_VALUE="YES"/>
-#!     <DEFLINE_PARM PARM_NAME="postgres_truncate_table" PARM_VALUE="NO"/>
-#!     <DEFLINE_PARM PARM_NAME="postgres_vacuum_analyze" PARM_VALUE="YES"/>
-#!     <DEFLINE_PARM PARM_NAME="postgres_drop_table" PARM_VALUE="NO"/>
-#! </FEATURE_TYPE>
-#! <FEATURE_TYPE
-#!   IS_SOURCE="true"
-#!   NODE_NAME="workspace"
-#!   FEATURE_TYPE_NAME=""
-#!   FEATURE_TYPE_NAME_QUALIFIER="s_gtf"
-#!   IS_EDITABLE="false"
-#!   IDENTIFIER="130"
-#!   FEAT_GEOMTYPE="postgres_none"
-#!   POSITION="4002.94 -1226.37"
-#!   BOUNDING_RECT="4002.94 -1226.37 0 0"
-#!   ORDER="5e+14"
-#!   COLLAPSED="true"
-#!   KEYWORD="POSTGRES_1"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   HIDDEN_USER_ATTRS=""
-#!   MERGE_FILTER=""
-#!   MERGE_FILTER_TYPE="FILTER_TYPE_GLOB"
-#!   MERGE_FILTER_CASE_SENSITIVE="false"
-#!   DYNAMIC_SCHEMA="false"
-#! >
-#!     <FEAT_ATTRIBUTE ATTR_NAME="workspace_id" ATTR_TYPE="int4,PRIKEY" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="name" ATTR_TYPE="varchar(100),BTREE" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="description" ATTR_TYPE="text" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="subscription" ATTR_TYPE="bool" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="fmw_file" ATTR_TYPE="varchar(150)" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="category_id" ATTR_TYPE="int4,BTREE" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="lb_method_id" ATTR_TYPE="int4" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="success_action_id" ATTR_TYPE="int4" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="failed_action_id" ATTR_TYPE="int4" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="survey" ATTR_TYPE="bool" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="form_type" ATTR_TYPE="varchar(10)" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="legal_terms_conditions" ATTR_TYPE="text" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="usage" ATTR_TYPE="text" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="requirements" ATTR_TYPE="text" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="history" ATTR_TYPE="text" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="last_save_date" ATTR_TYPE="timestamp" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="last_save_build" ATTR_TYPE="varchar(80)" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="file_encoding" ATTR_TYPE="varchar(80)" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="title" ATTR_TYPE="varchar(80)" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="key" ATTR_TYPE="varchar(80)" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="email_template_id" ATTR_TYPE="int4" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="owner" ATTR_TYPE="int4" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="creation_date" ATTR_TYPE="date" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="locked" ATTR_TYPE="bool" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="tag" ATTR_TYPE="varchar(100)" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <DEFLINE_PARM PARM_NAME="postgres_sql_statement" PARM_VALUE=""/>
-#!     <DEFLINE_PARM PARM_NAME="postgres_sql_where_clause" PARM_VALUE=""/>
-#! </FEATURE_TYPE>
-#! <FEATURE_TYPE
-#!   IS_SOURCE="false"
-#!   NODE_NAME="rapport"
-#!   FEATURE_TYPE_NAME=""
-#!   FEATURE_TYPE_NAME_QUALIFIER=""
-#!   IS_EDITABLE="true"
-#!   IDENTIFIER="258"
-#!   FEAT_GEOMTYPE="All"
-#!   POSITION="21093.4 -814.24"
-#!   BOUNDING_RECT="21093.4 -814.24 -1 -1"
-#!   ORDER="5e+14"
-#!   COLLAPSED="false"
-#!   KEYWORD="XML_1"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   SCHEMA_ATTRIBUTE_SOURCE="1"
-#! >
-#!     <FEAT_ATTRIBUTE ATTR_NAME="name" ATTR_TYPE="xml_char(100)" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="key" ATTR_TYPE="xml_char(80)" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="workspace_id" ATTR_TYPE="xml_int32" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="statut" ATTR_TYPE="xml_char(200)" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#! </FEATURE_TYPE>
-#! <FEATURE_TYPE
-#!   IS_SOURCE="false"
-#!   NODE_NAME="category"
-#!   FEATURE_TYPE_NAME=""
-#!   FEATURE_TYPE_NAME_QUALIFIER="s_gtf"
-#!   IS_EDITABLE="true"
-#!   IDENTIFIER="290"
-#!   FEAT_GEOMTYPE="All"
-#!   POSITION="5673.16 -554.588"
-#!   BOUNDING_RECT="5673.16 -554.588 -1 -1"
-#!   ORDER="5e+14"
-#!   COLLAPSED="false"
-#!   KEYWORD="POSTGRES_2"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   SCHEMA_ATTRIBUTE_SOURCE="1"
-#! >
-#!     <FEAT_ATTRIBUTE ATTR_NAME="category_id" ATTR_TYPE="int4,PRIKEY" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="name" ATTR_TYPE="varchar(50)" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="description" ATTR_TYPE="varchar(200)" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <DEFLINE_PARM PARM_NAME="postgres_mode" PARM_VALUE="INHERIT_FROM_WRITER"/>
-#!     <DEFLINE_PARM PARM_NAME="postgres_allow_serial_writing" PARM_VALUE="NO"/>
-#!     <DEFLINE_PARM PARM_NAME="postgres_sql_key_columns" PARM_VALUE=""/>
-#!     <DEFLINE_PARM PARM_NAME="postgres_create_with_oids" PARM_VALUE="NO"/>
-#!     <DEFLINE_PARM PARM_NAME="postgres_truncate_table" PARM_VALUE="NO"/>
-#!     <DEFLINE_PARM PARM_NAME="postgres_vacuum_analyze" PARM_VALUE="NO"/>
-#!     <DEFLINE_PARM PARM_NAME="postgres_drop_table" PARM_VALUE="NO"/>
-#! </FEATURE_TYPE>
-#! </FEATURE_TYPES>
-#! <FMESERVER>
-#! </FMESERVER>
-#! <GLOBAL_PARAMETERS>
-#! <GLOBAL_PARAMETER
-#!   GUI_LINE="GUI FILENAME_MUSTEXIST_OR_ATTR sourceGexFile fichier_Export_GTF_(.gex)|*.gex Fichier d&apos;export GTF à importer (.gex) :"
-#!   DEFAULT_VALUE="$(FME_MF_DIR)test_import.gex"
-#!   IS_STAND_ALONE="true"
-#! />
-#! <GLOBAL_PARAMETER
-#!   GUI_LINE="GUI OPTIONAL TEXT_OR_ATTR idWorkspaceList Liste des idWorkspace à importer (* pour tous) :"
-#!   DEFAULT_VALUE="*"
-#!   IS_STAND_ALONE="true"
-#! />
-#! <GLOBAL_PARAMETER
-#!   GUI_LINE="GUI LOOKUP_CHOICE_OR_ATTR duplicateKey Importer&lt;space&gt;les&lt;space&gt;projets&lt;space&gt;avec&lt;space&gt;une&lt;space&gt;nouvelle&lt;space&gt;KEY&lt;space&gt;et&lt;space&gt;un&lt;space&gt;nouveau&lt;space&gt;nom,0%Ne&lt;space&gt;pas&lt;space&gt;mettre&lt;space&gt;&lt;u00e0&gt;&lt;space&gt;jour&lt;space&gt;les&lt;space&gt;projets&lt;space&gt;de&lt;space&gt;m&lt;u00ea&gt;me&lt;space&gt;KEY,1%Mettre&lt;space&gt;&lt;u00e0&gt;&lt;space&gt;jour&lt;space&gt;les&lt;space&gt;projets&lt;space&gt;de&lt;space&gt;m&lt;u00ea&gt;me&lt;space&gt;KEY,2 Mettre à jour les workspaces de KEY identique ?:"
-#!   DEFAULT_VALUE="0"
-#!   IS_STAND_ALONE="true"
-#! />
-#! <GLOBAL_PARAMETER
-#!   GUI_LINE="GUI OPTIONAL FILENAME HTML All_Files(*.*)|*.* Rapport HTML :"
-#!   DEFAULT_VALUE=""
-#!   IS_STAND_ALONE="false"
-#! />
-#! <GLOBAL_PARAMETER
-#!   GUI_LINE="GUI OPTIONAL PASSWORD_OR_ATTR GTF_CONNECTION_STRING Chaîne de connexion à la base GTF :"
-#!   DEFAULT_VALUE=""
-#!   IS_STAND_ALONE="true"
-#! />
-#! <GLOBAL_PARAMETER
-#!   GUI_LINE="GUI OPTIONAL INTEGER_OR_ATTR GTF_ORDER_ID ID de la demande envoyée par le moteur :"
-#!   DEFAULT_VALUE="1"
-#!   IS_STAND_ALONE="true"
-#! />
-#! <GLOBAL_PARAMETER
-#!   GUI_LINE="GUI IGNORE OPTIONAL TEXT_EDIT_PYTHON_PARM dbServer Python Script:"
-#!   DEFAULT_VALUE="import&lt;space&gt;fmeobjects&lt;lf&gt;import&lt;space&gt;string&lt;lf&gt;connection_string&lt;space&gt;=&lt;space&gt;string.split&lt;openparen&gt;FME_MacroValues&lt;openbracket&gt;&lt;apos&gt;GTF_CONNECTION_STRING&lt;apos&gt;&lt;closebracket&gt;&lt;comma&gt;&lt;apos&gt;&lt;comma&gt;&lt;apos&gt;&lt;closeparen&gt;&lt;lf&gt;return&lt;space&gt;connection_string&lt;openbracket&gt;0&lt;closebracket&gt;"
-#!   IS_STAND_ALONE="true"
-#! />
-#! <GLOBAL_PARAMETER
-#!   GUI_LINE="GUI IGNORE OPTIONAL TEXT_EDIT_PYTHON_PARM dbPort Python Script:"
-#!   DEFAULT_VALUE="import&lt;space&gt;fmeobjects&lt;lf&gt;import&lt;space&gt;string&lt;lf&gt;connection_string&lt;space&gt;=&lt;space&gt;string.split&lt;openparen&gt;FME_MacroValues&lt;openbracket&gt;&lt;apos&gt;GTF_CONNECTION_STRING&lt;apos&gt;&lt;closebracket&gt;&lt;comma&gt;&lt;apos&gt;&lt;comma&gt;&lt;apos&gt;&lt;closeparen&gt;&lt;lf&gt;return&lt;space&gt;connection_string&lt;openbracket&gt;1&lt;closebracket&gt;"
-#!   IS_STAND_ALONE="true"
-#! />
-#! <GLOBAL_PARAMETER
-#!   GUI_LINE="GUI IGNORE OPTIONAL TEXT_EDIT_PYTHON_PARM dbDatabase Python Script:"
-#!   DEFAULT_VALUE="import&lt;space&gt;fmeobjects&lt;lf&gt;import&lt;space&gt;string&lt;lf&gt;connection_string&lt;space&gt;=&lt;space&gt;string.split&lt;openparen&gt;FME_MacroValues&lt;openbracket&gt;&lt;apos&gt;GTF_CONNECTION_STRING&lt;apos&gt;&lt;closebracket&gt;&lt;comma&gt;&lt;apos&gt;&lt;comma&gt;&lt;apos&gt;&lt;closeparen&gt;&lt;lf&gt;return&lt;space&gt;connection_string&lt;openbracket&gt;2&lt;closebracket&gt;"
-#!   IS_STAND_ALONE="true"
-#! />
-#! <GLOBAL_PARAMETER
-#!   GUI_LINE="GUI IGNORE OPTIONAL TEXT_EDIT_PYTHON_PARM dbUser Script Python:"
-#!   DEFAULT_VALUE="import&lt;space&gt;fmeobjects&lt;lf&gt;import&lt;space&gt;string&lt;lf&gt;connection_string&lt;space&gt;=&lt;space&gt;string.split&lt;openparen&gt;FME_MacroValues&lt;openbracket&gt;&lt;apos&gt;GTF_CONNECTION_STRING&lt;apos&gt;&lt;closebracket&gt;&lt;comma&gt;&lt;apos&gt;&lt;comma&gt;&lt;apos&gt;&lt;closeparen&gt;&lt;lf&gt;return&lt;space&gt;connection_string&lt;openbracket&gt;3&lt;closebracket&gt;"
-#!   IS_STAND_ALONE="true"
-#! />
-#! <GLOBAL_PARAMETER
-#!   GUI_LINE="GUI IGNORE OPTIONAL TEXT_EDIT_PYTHON_PARM dbPassword Script Python:"
-#!   DEFAULT_VALUE="import&lt;space&gt;fmeobjects&lt;lf&gt;import&lt;space&gt;string&lt;lf&gt;connection_string&lt;space&gt;=&lt;space&gt;string.split&lt;openparen&gt;FME_MacroValues&lt;openbracket&gt;&lt;apos&gt;GTF_CONNECTION_STRING&lt;apos&gt;&lt;closebracket&gt;&lt;comma&gt;&lt;apos&gt;&lt;comma&gt;&lt;apos&gt;&lt;closeparen&gt;&lt;lf&gt;return&lt;space&gt;connection_string&lt;openbracket&gt;4&lt;closebracket&gt;"
-#!   IS_STAND_ALONE="true"
-#! />
-#! <GLOBAL_PARAMETER
-#!   GUI_LINE="GUI IGNORE OPTIONAL TEXT_EDIT_PYTHON_PARM xml Python Script:"
-#!   DEFAULT_VALUE="#&lt;space&gt;G&lt;u00e9&gt;n&lt;u00e8&gt;re&lt;space&gt;un&lt;space&gt;nom&lt;space&gt;de&lt;space&gt;r&lt;u00e9&gt;pertoire&lt;space&gt;temporaire&lt;space&gt;unique&lt;lf&gt;import&lt;space&gt;uuid&lt;lf&gt;import&lt;space&gt;os&lt;lf&gt;&lt;lf&gt;temp&lt;space&gt;=&lt;space&gt;os.environ.get&lt;openparen&gt;&lt;quote&gt;TEMP&lt;quote&gt;&lt;closeparen&gt;&lt;lf&gt;if&lt;space&gt;temp&lt;space&gt;is&lt;space&gt;not&lt;space&gt;None:&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;temp_dir&lt;space&gt;=&lt;space&gt;temp&lt;space&gt;+&lt;space&gt;&lt;quote&gt;&lt;backslash&gt;&lt;backslash&gt;&lt;quote&gt;&lt;space&gt;+&lt;space&gt;str&lt;openparen&gt;uuid.uuid1&lt;openparen&gt;&lt;closeparen&gt;&lt;closeparen&gt;&lt;lf&gt;else:&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;temp_dir&lt;space&gt;=&lt;space&gt;&lt;quote&gt;c:&lt;backslash&gt;&lt;backslash&gt;temp&lt;backslash&gt;&lt;backslash&gt;&lt;quote&gt;&lt;space&gt;+&lt;space&gt;str&lt;openparen&gt;uuid.uuid1&lt;openparen&gt;&lt;closeparen&gt;&lt;closeparen&gt;&lt;lf&gt;return&lt;space&gt;temp_dir&lt;space&gt;+&lt;space&gt;&lt;apos&gt;&lt;backslash&gt;&lt;backslash&gt;rapport.xml&lt;apos&gt;"
-#!   IS_STAND_ALONE="true"
-#! />
-#! <GLOBAL_PARAMETER
-#!   GUI_LINE="GUI IGNORE OPTIONAL TEXT_EDIT_PYTHON_PARM xslt Python Script:"
-#!   DEFAULT_VALUE="return&lt;space&gt;FME_MacroValues&lt;openbracket&gt;&lt;apos&gt;FME_MF_DIR&lt;apos&gt;&lt;closebracket&gt;&lt;space&gt;+&lt;space&gt;&lt;apos&gt;rapport.xslt&lt;apos&gt;"
-#!   IS_STAND_ALONE="true"
-#! />
-#! </GLOBAL_PARAMETERS>
-#! <COMMENTS>
-#! <COMMENT
-#!   IDENTIFIER="53"
-#!   COMMENT_VALUE="&lt;html&gt;&lt;body&gt;Dézippe le fichier gex&#13;&lt;br&gt;dans un répertoire temporaire unique&#13;&lt;br&gt;(utilise la variable d&apos;environnement TEMP,&#13;&lt;br&gt;si la variable n&apos;existe pas, utilise c:\temp)&#13;&lt;br&gt;Cf. paramètre privé Python&lt;/body&gt;&lt;/html&gt;"
-#!   POSITION="-3920.97 261.622"
-#!   TOP_LEFT="-3920.97 261.622"
-#!   BOTTOM_RIGHT="-3920.97 261.622"
-#!   BOUNDING_RECT="-3920.97 261.622 0 0"
-#!   ORDER="87"
-#!   FOLLOW_ANCHOR="true"
-#!   INFO_NODE="false"
-#!   COLOUR="1,1,0.784314,0.192157"
-#!   SIZE_POLICY="8"
-#!   COMMENT_TYPE="REGULAR"
-#!   ANCHORED_NODE="95"
-#! />
-#! <COMMENT
-#!   IDENTIFIER="250"
-#!   COMMENT_VALUE="&lt;html&gt;&lt;body&gt;s_gtf.workspace&lt;/body&gt;&lt;/html&gt;"
-#!   POSITION="22129 168"
-#!   TOP_LEFT="22129 168"
-#!   BOTTOM_RIGHT="22129 168"
-#!   BOUNDING_RECT="22129 168 0 0"
-#!   ORDER="151"
-#!   FOLLOW_ANCHOR="true"
-#!   INFO_NODE="false"
-#!   COLOUR="1,1,0.784314,0.192157"
-#!   SIZE_POLICY="8"
-#!   COMMENT_TYPE="REGULAR"
-#!   ANCHORED_NODE="1"
-#! />
-#! <COMMENT
-#!   IDENTIFIER="51"
-#!   COMMENT_VALUE="&lt;html&gt;&lt;body&gt;Initialise le projet&lt;/body&gt;&lt;/html&gt;"
-#!   POSITION="-5063.43 -325.626"
-#!   TOP_LEFT="-5063.43 -325.626"
-#!   BOTTOM_RIGHT="-5063.43 -325.626"
-#!   BOUNDING_RECT="-5063.43 -325.626 0 0"
-#!   ORDER="187"
-#!   FOLLOW_ANCHOR="true"
-#!   INFO_NODE="false"
-#!   COLOUR="1,1,0.784314,0.192157"
-#!   SIZE_POLICY="8"
-#!   COMMENT_TYPE="REGULAR"
-#!   ANCHORED_NODE="2"
-#! />
-#! <COMMENT
-#!   IDENTIFIER="48"
-#!   COMMENT_VALUE="&lt;html&gt;&lt;body&gt;workspace_id issu du XML&#13;&lt;br&gt;doit être dans la liste des traitements à importer&#13;&lt;br&gt;ou alors la liste des traitements à importer = *&lt;/body&gt;&lt;/html&gt;"
-#!   POSITION="5.27641 -102.007"
-#!   TOP_LEFT="5.27641 -102.007"
-#!   BOTTOM_RIGHT="5.27641 -102.007"
-#!   BOUNDING_RECT="5.27641 -102.007 0 0"
-#!   ORDER="188"
-#!   FOLLOW_ANCHOR="true"
-#!   INFO_NODE="false"
-#!   COLOUR="1,1,0.784314,0.192157"
-#!   SIZE_POLICY="8"
-#!   COMMENT_TYPE="REGULAR"
-#!   ANCHORED_NODE="11"
-#! />
-#! <COMMENT
-#!   IDENTIFIER="134"
-#!   COMMENT_VALUE="&lt;html&gt;&lt;body&gt;s_gtf.workspace&lt;/body&gt;&lt;/html&gt;"
-#!   POSITION="4038.94 -1030.37"
-#!   TOP_LEFT="4038.94 -1030.37"
-#!   BOTTOM_RIGHT="4038.94 -1030.37"
-#!   BOUNDING_RECT="4038.94 -1030.37 0 0"
-#!   ORDER="190"
-#!   FOLLOW_ANCHOR="true"
-#!   INFO_NODE="false"
-#!   COLOUR="1,1,0.784314,0.192157"
-#!   SIZE_POLICY="8"
-#!   COMMENT_TYPE="REGULAR"
-#!   ANCHORED_NODE="130"
-#! />
-#! <COMMENT
-#!   IDENTIFIER="114"
-#!   COMMENT_VALUE="&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;&#10;&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;&#10;p, li { white-space: pre-wrap; }&#10;&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;MS Shell Dlg 2&apos;; font-size:8.25pt; font-weight:400; font-style:normal;&quot;&gt;&#10;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11px;&quot;&gt;Vérifie si un traitement de même KEY existe déjà&lt;/span&gt;&lt;/p&gt;&#10;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11px;&quot;&gt;Si oui la suite dépend du paramètre duplicateKey&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;"
-#!   POSITION="6181.41 222.859"
-#!   TOP_LEFT="6181.41 222.859"
-#!   BOTTOM_RIGHT="6181.41 222.859"
-#!   BOUNDING_RECT="6181.41 222.859 0 0"
-#!   ORDER="5e+14"
-#!   FOLLOW_ANCHOR="true"
-#!   INFO_NODE="false"
-#!   COLOUR="1,1,0.784314,0.192157"
-#!   SIZE_POLICY="8"
-#!   COMMENT_TYPE="REGULAR"
-#!   ANCHORED_NODE="227"
-#! />
-#! <COMMENT
-#!   IDENTIFIER="119"
-#!   COMMENT_VALUE="&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;&#10;&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;&#10;p, li { white-space: pre-wrap; }&#10;&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;MS Shell Dlg 2&apos;; font-size:11px; font-weight:400; font-style:normal;&quot;&gt;&#10;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Le owner est celui qui&lt;/p&gt;&#10;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;fait l&apos;import&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;"
-#!   POSITION="21237.6 349.68"
-#!   TOP_LEFT="21237.6 349.68"
-#!   BOTTOM_RIGHT="21237.6 349.68"
-#!   BOUNDING_RECT="21237.6 349.68 0 0"
-#!   ORDER="150"
-#!   FOLLOW_ANCHOR="true"
-#!   INFO_NODE="false"
-#!   COLOUR="1,1,0.784314,0.192157"
-#!   SIZE_POLICY="8"
-#!   COMMENT_TYPE="REGULAR"
-#!   ANCHORED_NODE="118"
-#! />
-#! <COMMENT
-#!   IDENTIFIER="182"
-#!   COMMENT_VALUE="&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;&#10;&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;&#10;p, li { white-space: pre-wrap; }&#10;&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;MS Shell Dlg 2&apos;; font-size:8.25pt; font-weight:400; font-style:normal;&quot;&gt;&#10;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;3 cas selon &amp;quot;duplicateKey&amp;quot;&lt;/p&gt;&#10;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&#10;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Cas 0 : on ajoute avec un nouvel ID et un nouveau nom&lt;/p&gt;&#10;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Cas 1 : on n&apos;importe pas&lt;/p&gt;&#10;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Cas 2 : on met à jour en gardant mêmes KEY, ID et NAME&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;"
-#!   POSITION="7460.78 371.381"
-#!   TOP_LEFT="7460.78 371.381"
-#!   BOTTOM_RIGHT="7459.78 372.381"
-#!   BOUNDING_RECT="7460.78 371.381 -1 -1"
-#!   ORDER="5e+14"
-#!   FOLLOW_ANCHOR="true"
-#!   INFO_NODE="false"
-#!   COLOUR="1,1,0.784314,0.192157"
-#!   SIZE_POLICY="8"
-#!   COMMENT_TYPE="REGULAR"
-#!   ANCHORED_NODE="176"
-#! />
-#! <COMMENT
-#!   IDENTIFIER="187"
-#!   COMMENT_VALUE="&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;&#10;&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;&#10;p, li { white-space: pre-wrap; }&#10;&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;MS Shell Dlg 2&apos;; font-size:8.25pt; font-weight:400; font-style:normal;&quot;&gt;&#10;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11px;&quot;&gt;Le nom  est tronqué à &lt;br /&gt;75 pour pouvoir ajouter &lt;br /&gt;la date&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;"
-#!   POSITION="14867 361.607"
-#!   TOP_LEFT="14867 361.607"
-#!   BOTTOM_RIGHT="14866 362.607"
-#!   BOUNDING_RECT="14867 361.607 -1 -1"
-#!   ORDER="5e+14"
-#!   FOLLOW_ANCHOR="true"
-#!   INFO_NODE="false"
-#!   COLOUR="1,1,0.784314,0.192157"
-#!   SIZE_POLICY="8"
-#!   COMMENT_TYPE="REGULAR"
-#!   ANCHORED_NODE="202"
-#! />
-#! <COMMENT
-#!   IDENTIFIER="113"
-#!   COMMENT_VALUE="&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;&#10;&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;&#10;p, li { white-space: pre-wrap; }&#10;&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;MS Shell Dlg 2&apos;; font-size:8.25pt; font-weight:400; font-style:normal;&quot;&gt;&#10;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Mode INSERTION&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;"
-#!   POSITION="18372.6 306.181"
-#!   TOP_LEFT="18372.6 306.181"
-#!   BOTTOM_RIGHT="18371.6 307.181"
-#!   BOUNDING_RECT="18372.6 306.181 -1 -1"
-#!   ORDER="5e+14"
-#!   FOLLOW_ANCHOR="true"
-#!   INFO_NODE="false"
-#!   COLOUR="1,1,0.784314,0.192157"
-#!   SIZE_POLICY="8"
-#!   COMMENT_TYPE="REGULAR"
-#!   ANCHORED_NODE="112"
-#! />
-#! <COMMENT
-#!   IDENTIFIER="206"
-#!   COMMENT_VALUE="&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;&#10;&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;&#10;p, li { white-space: pre-wrap; }&#10;&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;MS Shell Dlg 2&apos;; font-size:8.25pt; font-weight:400; font-style:normal;&quot;&gt;&#10;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Mode UPDATE&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;"
-#!   POSITION="18472.9 -861.318"
-#!   TOP_LEFT="18472.9 -861.318"
-#!   BOTTOM_RIGHT="18471.9 -860.318"
-#!   BOUNDING_RECT="18472.9 -861.318 -1 -1"
-#!   ORDER="5e+14"
-#!   FOLLOW_ANCHOR="true"
-#!   INFO_NODE="false"
-#!   COLOUR="1,1,0.784314,0.192157"
-#!   SIZE_POLICY="8"
-#!   COMMENT_TYPE="REGULAR"
-#!   ANCHORED_NODE="284"
-#! />
-#! <COMMENT
-#!   IDENTIFIER="205"
-#!   COMMENT_VALUE="&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;&#10;&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;&#10;p, li { white-space: pre-wrap; }&#10;&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;MS Shell Dlg 2&apos;; font-size:8.25pt; font-weight:400; font-style:normal;&quot;&gt;&#10;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Prend le workspace_id du traitement&lt;/p&gt;&#10;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;déjà existant en base&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;"
-#!   POSITION="16523.7 -858.963"
-#!   TOP_LEFT="16523.7 -858.963"
-#!   BOTTOM_RIGHT="16522.7 -857.963"
-#!   BOUNDING_RECT="16523.7 -858.963 -1 -1"
-#!   ORDER="5e+14"
-#!   FOLLOW_ANCHOR="true"
-#!   INFO_NODE="false"
-#!   COLOUR="1,1,0.784314,0.192157"
-#!   SIZE_POLICY="8"
-#!   COMMENT_TYPE="REGULAR"
-#!   ANCHORED_NODE="208"
-#! />
-#! <COMMENT
-#!   IDENTIFIER="191"
-#!   COMMENT_VALUE="&lt;html&gt;&lt;body&gt;On modifie le nom du traitement&#13;&lt;br&gt;en y a joutant la date&lt;/body&gt;&lt;/html&gt;"
-#!   POSITION="16192.7 -2079.57"
-#!   TOP_LEFT="16192.7 -2079.57"
-#!   BOTTOM_RIGHT="16192.7 -2079.57"
-#!   BOUNDING_RECT="16192.7 -2079.57 0 0"
-#!   ORDER="158"
-#!   FOLLOW_ANCHOR="true"
-#!   INFO_NODE="false"
-#!   COLOUR="1,1,0.784314,0.192157"
-#!   SIZE_POLICY="8"
-#!   COMMENT_TYPE="REGULAR"
-#!   ANCHORED_NODE="170"
-#! />
-#! <COMMENT
-#!   IDENTIFIER="192"
-#!   COMMENT_VALUE="&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;&#10;&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;&#10;p, li { white-space: pre-wrap; }&#10;&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;MS Shell Dlg 2&apos;; font-size:8.25pt; font-weight:400; font-style:normal;&quot;&gt;&#10;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11px;&quot;&gt;Le nom  est tronqué à &lt;br /&gt;75 pour pouvoir ajouter &lt;br /&gt;la date&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;"
-#!   POSITION="15641.4 -2040.57"
-#!   TOP_LEFT="15641.4 -2040.57"
-#!   BOTTOM_RIGHT="15640.4 -2039.57"
-#!   BOUNDING_RECT="15641.4 -2040.57 -1 -1"
-#!   ORDER="5e+14"
-#!   FOLLOW_ANCHOR="true"
-#!   INFO_NODE="false"
-#!   COLOUR="1,1,0.784314,0.192157"
-#!   SIZE_POLICY="8"
-#!   COMMENT_TYPE="REGULAR"
-#!   ANCHORED_NODE="177"
-#! />
-#! <COMMENT
-#!   IDENTIFIER="247"
-#!   COMMENT_VALUE="&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;&#10;&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;&#10;p, li { white-space: pre-wrap; }&#10;&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;MS Shell Dlg 2&apos;; font-size:8.25pt; font-weight:400; font-style:normal;&quot;&gt;&#10;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Mode INSERTION&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;"
-#!   POSITION="18394 -2488.72"
-#!   TOP_LEFT="18394 -2488.72"
-#!   BOTTOM_RIGHT="18393 -2487.72"
-#!   BOUNDING_RECT="18394 -2488.72 -1 -1"
-#!   ORDER="5e+14"
-#!   FOLLOW_ANCHOR="true"
-#!   INFO_NODE="false"
-#!   COLOUR="1,1,0.784314,0.192157"
-#!   SIZE_POLICY="8"
-#!   COMMENT_TYPE="REGULAR"
-#!   ANCHORED_NODE="245"
-#! />
-#! <COMMENT
-#!   IDENTIFIER="275"
-#!   COMMENT_VALUE="&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;&#10;&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;&#10;p, li { white-space: pre-wrap; }&#10;&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;MS Shell Dlg 2&apos;; font-size:8.25pt; font-weight:400; font-style:normal;&quot;&gt;&#10;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Modif 26/10/16 OG :&lt;/p&gt;&#10;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Augmentation de la valeur de _random_number et construction de key &lt;/p&gt;&#10;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;en mettant _random_number avant _timestamp&lt;/p&gt;&#10;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Conversion en base 36&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;"
-#!   POSITION="9525.09 1.74458"
-#!   TOP_LEFT="9525.09 1.74458"
-#!   BOTTOM_RIGHT="10275.1 -48.2554"
-#!   BOUNDING_RECT="9525.09 1.74458 750 50"
-#!   ORDER="5e+14"
-#!   FOLLOW_ANCHOR="true"
-#!   INFO_NODE="false"
-#!   COLOUR="1,1,0.784314,0.192157"
-#!   SIZE_POLICY="10"
-#!   COMMENT_TYPE="REGULAR"
-#!   ANCHORED_NODE="0"
-#! />
-#! <COMMENT
-#!   IDENTIFIER="279"
-#!   COMMENT_VALUE="&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;&#10;&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;&#10;p, li { white-space: pre-wrap; }&#10;&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;MS Shell Dlg 2&apos;; font-size:8.25pt; font-weight:400; font-style:normal;&quot;&gt;&#10;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Cherche si la catégorie existe déjà et récupère son id&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;"
-#!   POSITION="1983.97 429.473"
-#!   TOP_LEFT="1983.97 429.473"
-#!   BOTTOM_RIGHT="1982.97 430.473"
-#!   BOUNDING_RECT="1983.97 429.473 -1 -1"
-#!   ORDER="5e+14"
-#!   FOLLOW_ANCHOR="true"
-#!   INFO_NODE="false"
-#!   COLOUR="1,1,0.784314,0.192157"
-#!   SIZE_POLICY="8"
-#!   COMMENT_TYPE="REGULAR"
-#!   ANCHORED_NODE="276"
-#! />
-#! <COMMENT
-#!   IDENTIFIER="285"
-#!   COMMENT_VALUE="&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;&#10;&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;&#10;p, li { white-space: pre-wrap; }&#10;&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;MS Shell Dlg 2&apos;; font-size:8.25pt; font-weight:400; font-style:normal;&quot;&gt;&#10;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;La catégorie existe&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;"
-#!   POSITION="4085.94 179.881"
-#!   TOP_LEFT="4085.94 179.881"
-#!   BOTTOM_RIGHT="4084.94 180.881"
-#!   BOUNDING_RECT="4085.94 179.881 -1 -1"
-#!   ORDER="5e+14"
-#!   FOLLOW_ANCHOR="true"
-#!   INFO_NODE="false"
-#!   COLOUR="1,1,0.784314,0.192157"
-#!   SIZE_POLICY="8"
-#!   COMMENT_TYPE="REGULAR"
-#!   ANCHORED_NODE="278"
-#! />
-#! <COMMENT
-#!   IDENTIFIER="289"
-#!   COMMENT_VALUE="&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;&#10;&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;&#10;p, li { white-space: pre-wrap; }&#10;&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;MS Shell Dlg 2&apos;; font-size:8.25pt; font-weight:400; font-style:normal;&quot;&gt;&#10;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;nouveau category_id&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;"
-#!   POSITION="3525.38 -33.7146"
-#!   TOP_LEFT="3525.38 -33.7146"
-#!   BOTTOM_RIGHT="3524.38 -32.7146"
-#!   BOUNDING_RECT="3525.38 -33.7146 -1 -1"
-#!   ORDER="5e+14"
-#!   FOLLOW_ANCHOR="true"
-#!   INFO_NODE="false"
-#!   COLOUR="1,1,0.784314,0.192157"
-#!   SIZE_POLICY="8"
-#!   COMMENT_TYPE="REGULAR"
-#!   ANCHORED_NODE="287"
-#! />
-#! <COMMENT
-#!   IDENTIFIER="283"
-#!   COMMENT_VALUE="&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;&#10;&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;&#10;p, li { white-space: pre-wrap; }&#10;&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;MS Shell Dlg 2&apos;; font-size:8.25pt; font-weight:400; font-style:normal;&quot;&gt;&#10;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;La catégorie a été créée&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;"
-#!   POSITION="4608.07 -117.822"
-#!   TOP_LEFT="4608.07 -117.822"
-#!   BOTTOM_RIGHT="4607.07 -116.822"
-#!   BOUNDING_RECT="4608.07 -117.822 -1 -1"
-#!   ORDER="5e+14"
-#!   FOLLOW_ANCHOR="true"
-#!   INFO_NODE="false"
-#!   COLOUR="1,1,0.784314,0.192157"
-#!   SIZE_POLICY="8"
-#!   COMMENT_TYPE="REGULAR"
-#!   ANCHORED_NODE="293"
-#! />
-#! <COMMENT
-#!   IDENTIFIER="297"
-#!   COMMENT_VALUE="&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;&#10;&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;&#10;p, li { white-space: pre-wrap; }&#10;&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;MS Shell Dlg 2&apos;; font-size:8.25pt; font-weight:400; font-style:normal;&quot;&gt;&#10;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;On utilise un 2eme dataset pg pour&lt;/p&gt;&#10;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;écricre en premier dans cette table&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;"
-#!   POSITION="5525.15 -326.747"
-#!   TOP_LEFT="5525.15 -326.747"
-#!   BOTTOM_RIGHT="5524.15 -325.747"
-#!   BOUNDING_RECT="5525.15 -326.747 -1 -1"
-#!   ORDER="5e+14"
-#!   FOLLOW_ANCHOR="true"
-#!   INFO_NODE="false"
-#!   COLOUR="1,1,0.784314,0.192157"
-#!   SIZE_POLICY="8"
-#!   COMMENT_TYPE="REGULAR"
-#!   ANCHORED_NODE="290"
-#! />
-#! <COMMENT
-#!   IDENTIFIER="282"
-#!   COMMENT_VALUE="&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;&#10;&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;&#10;p, li { white-space: pre-wrap; }&#10;&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;MS Shell Dlg 2&apos;; font-size:8.25pt; font-weight:400; font-style:normal;&quot;&gt;&#10;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;La catégorie est nulle&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;"
-#!   POSITION="4497.84 451.141"
-#!   TOP_LEFT="4497.84 451.141"
-#!   BOTTOM_RIGHT="4496.84 452.141"
-#!   BOUNDING_RECT="4497.84 451.141 -1 -1"
-#!   ORDER="5e+14"
-#!   FOLLOW_ANCHOR="true"
-#!   INFO_NODE="false"
-#!   COLOUR="1,1,0.784314,0.192157"
-#!   SIZE_POLICY="8"
-#!   COMMENT_TYPE="REGULAR"
-#!   ANCHORED_NODE="305"
-#! />
-#! </COMMENTS>
-#! <CONSTANTS>
-#! </CONSTANTS>
-#! <BOOKMARKS>
-#! <BOOKMARK
-#!   IDENTIFIER="149"
-#!   NAME="Génère un nouveau KEY"
-#!   DESCRIPTION="&lt;html&gt;&lt;body&gt;&lt;/body&gt;&lt;/html&gt;"
-#!   TOP_LEFT="9107.24 477.313"
-#!   BOTTOM_RIGHT="11853.1 -286.258"
-#!   BOUNDING_RECT="9107.24 477.313 2745.87 763.571"
-#!   STICKY="true"
-#!   COLOUR="0.0431373,0.203922,0.556863"
-#!   CONTENTS="257 142 137 139 140 275 145 141 146 144 "
-#! />
-#! <BOOKMARK
-#!   IDENTIFIER="110"
-#!   NAME="Valeurs par défaut si nulles dans l&apos;export"
-#!   DESCRIPTION="&lt;html&gt;&lt;body&gt;&lt;/body&gt;&lt;/html&gt;"
-#!   TOP_LEFT="-2756.43 -331.626"
-#!   BOTTOM_RIGHT="-1475.43 -639.626"
-#!   BOUNDING_RECT="-2756.43 -331.626 1281 308"
-#!   STICKY="true"
-#!   COLOUR="0.709804,0.764706,0.686275"
-#!   CONTENTS="210 152 150 "
-#! />
-#! <BOOKMARK
-#!   IDENTIFIER="117"
-#!   NAME="Valeurs forcées"
-#!   DESCRIPTION="&lt;html&gt;&lt;body&gt;&lt;/body&gt;&lt;/html&gt;"
-#!   TOP_LEFT="-1355.49 -284.619"
-#!   BOTTOM_RIGHT="-801.49 -639.626"
-#!   BOUNDING_RECT="-1355.49 -284.619 554 355.007"
-#!   STICKY="true"
-#!   COLOUR="0.854902,0.164706,0.466667"
-#!   CONTENTS="105 "
-#! />
-#! <BOOKMARK
-#!   IDENTIFIER="199"
-#!   NAME="Ajoute la date au nom du traitement"
-#!   DESCRIPTION="&lt;html&gt;&lt;body&gt;&lt;/body&gt;&lt;/html&gt;"
-#!   TOP_LEFT="14744 520.406"
-#!   BOTTOM_RIGHT="16191.5 -237.027"
-#!   BOUNDING_RECT="14744 520.406 1447.52 757.433"
-#!   STICKY="true"
-#!   COLOUR="0.901961,0.101961,0.466667"
-#!   CONTENTS="202 313 314 315 317 187 "
-#! />
-#! <BOOKMARK
-#!   IDENTIFIER="151"
-#!   NAME="Crée un nouveau workspace_id (séquence GTF)"
-#!   DESCRIPTION="&lt;html&gt;&lt;body&gt;&lt;/body&gt;&lt;/html&gt;"
-#!   TOP_LEFT="16272.1 520.406"
-#!   BOTTOM_RIGHT="17284.3 -216.985"
-#!   BOUNDING_RECT="16272.1 520.406 1012.16 737.391"
-#!   STICKY="true"
-#!   COLOUR="0.054902,0.439216,0.321569"
-#!   CONTENTS="109 "
-#! />
-#! <BOOKMARK
-#!   IDENTIFIER="147"
-#!   NAME="Copie des fichiers dans GTF"
-#!   DESCRIPTION="&lt;html&gt;&lt;body&gt;&lt;/body&gt;&lt;/html&gt;"
-#!   TOP_LEFT="19089.2 305.644"
-#!   BOTTOM_RIGHT="20884.3 -97.752"
-#!   BOUNDING_RECT="19089.2 305.644 1795.06 403.396"
-#!   STICKY="true"
-#!   COLOUR="0.756863,0.811765,0.67451"
-#!   CONTENTS="256 108 168 226 230 "
-#! />
-#! <BOOKMARK
-#!   IDENTIFIER="214"
-#!   NAME="On conserve le nom du traitement déjà existant en base"
-#!   DESCRIPTION="&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;&#10;&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;&#10;p, li { white-space: pre-wrap; }&#10;&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;MS Shell Dlg 2&apos;; font-size:8.25pt; font-weight:400; font-style:normal;&quot;&gt;&#10;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Ainsi on s&apos;assure de ne pas envoyer un nom déjà existant dans un autre traitement&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;"
-#!   TOP_LEFT="12926.9 -688.374"
-#!   BOTTOM_RIGHT="14314.9 -1202.21"
-#!   BOUNDING_RECT="12926.9 -688.374 1387.98 513.835"
-#!   STICKY="true"
-#!   COLOUR="0.121569,0.619608,0.94902"
-#!   CONTENTS="209 212 217 "
-#! />
-#! <BOOKMARK
-#!   IDENTIFIER="231"
-#!   NAME="Génère un KEY si celui-ci est vide"
-#!   DESCRIPTION="&lt;html&gt;&lt;body&gt;&lt;/body&gt;&lt;/html&gt;"
-#!   TOP_LEFT="9108.68 -1768.24"
-#!   BOTTOM_RIGHT="12677.1 -2531.81"
-#!   BOUNDING_RECT="9108.68 -1768.24 3568.41 763.571"
-#!   STICKY="true"
-#!   COLOUR="0.0431373,0.203922,0.556863"
-#!   CONTENTS="222 219 220 224 225 233 228 221 229 223 236 "
-#! />
-#! <BOOKMARK
-#!   IDENTIFIER="164"
-#!   NAME="Si un traitement de même nom existe déjà, il faut renommer"
-#!   DESCRIPTION="&lt;html&gt;&lt;body&gt;&lt;/body&gt;&lt;/html&gt;"
-#!   TOP_LEFT="12775.2 -1775.6"
-#!   BOTTOM_RIGHT="14648.1 -3080.26"
-#!   BOUNDING_RECT="12775.2 -1775.6 1872.93 1304.66"
-#!   STICKY="true"
-#!   COLOUR="0.976471,0.603922,0.486275"
-#!   CONTENTS="153 154 184 155 241 "
-#! />
-#! <BOOKMARK
-#!   IDENTIFIER="215"
-#!   NAME="Ajoute la date au nom du traitement"
-#!   DESCRIPTION="&lt;html&gt;&lt;body&gt;&lt;/body&gt;&lt;/html&gt;"
-#!   TOP_LEFT="14803.2 -1881.77"
-#!   BOTTOM_RIGHT="16883.9 -2639.2"
-#!   BOUNDING_RECT="14803.2 -1881.77 2080.65 757.433"
-#!   STICKY="true"
-#!   COLOUR="0.901961,0.101961,0.466667"
-#!   CONTENTS="170 192 242 177 244 189 191 "
-#! />
-#! <BOOKMARK
-#!   IDENTIFIER="248"
-#!   NAME="Crée un nouveau workspace_id (séquence GTF)"
-#!   DESCRIPTION="&lt;html&gt;&lt;body&gt;&lt;/body&gt;&lt;/html&gt;"
-#!   TOP_LEFT="17123.8 -2394.31"
-#!   BOTTOM_RIGHT="18136 -3131.7"
-#!   BOUNDING_RECT="17123.8 -2394.31 1012.16 737.391"
-#!   STICKY="true"
-#!   COLOUR="0.054902,0.439216,0.321569"
-#!   CONTENTS="216 "
-#! />
-#! <BOOKMARK
-#!   IDENTIFIER="298"
-#!   NAME="Gère la catégorie (récupère son ID ou la crée si nécessaire)"
-#!   DESCRIPTION="&lt;html&gt;&lt;body&gt;&lt;/body&gt;&lt;/html&gt;"
-#!   TOP_LEFT="821.599 951.146"
-#!   BOTTOM_RIGHT="5614.56 -900.004"
-#!   BOUNDING_RECT="821.599 951.146 4792.96 1851.15"
-#!   STICKY="true"
-#!   COLOUR="0.109804,0.0509804,0.384314"
-#!   CONTENTS="276 285 289 291 292 286 307 279 283 300 294 304 277 287 302 303 282 295 301 299 280 297 306 "
-#! />
-#! </BOOKMARKS>
-#! <TRANSFORMERS>
-#! <TRANSFORMER
-#!   IDENTIFIER="2"
-#!   TYPE="Creator"
-#!   VERSION="5"
-#!   POSITION="-5073.43 -508.626"
-#!   BOUNDING_RECT="-5073.43 -508.626 0 0"
-#!   ORDER="88"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="14235"
-#! >
-#!     <OUTPUT_FEAT NAME="CREATED"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_PARM PARM_NAME="GEOM" PARM_VALUE="&lt;lt&gt;?xml&lt;space&gt;version=&lt;quote&gt;1.0&lt;quote&gt;&lt;space&gt;encoding=&lt;quote&gt;US_ASCII&lt;quote&gt;&lt;space&gt;standalone=&lt;quote&gt;no&lt;quote&gt;&lt;space&gt;?&lt;gt&gt;&lt;lt&gt;geometry&lt;space&gt;dimension=&lt;quote&gt;2&lt;quote&gt;&lt;gt&gt;&lt;lt&gt;null&lt;solidus&gt;&lt;gt&gt;&lt;lt&gt;&lt;solidus&gt;geometry&lt;gt&gt;"/>
-#!     <XFORM_PARM PARM_NAME="ATEND" PARM_VALUE="no"/>
-#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="GEOMTYPE" PARM_VALUE="Geometry Object"/>
-#!     <XFORM_PARM PARM_NAME="COORDS" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="COORDSYS" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="CRE_ATTR" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="Creator_3"/>
-#!     <XFORM_PARM PARM_NAME="PARAMETERS_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="NUM" PARM_VALUE="1"/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="11"
-#!   TYPE="Tester"
-#!   VERSION="1"
-#!   POSITION="193.58 -416.619"
-#!   BOUNDING_RECT="193.58 -416.619 0 0"
-#!   ORDER="101"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="15479"
-#! >
-#!     <OUTPUT_FEAT NAME="PASSED"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="_tmpDir" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tmpDIR" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gex_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="lb_method_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="owner" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <OUTPUT_FEAT NAME="FAILED"/>
-#!     <FEAT_COLLAPSED COLLAPSED="1"/>
-#!     <XFORM_ATTR ATTR_NAME="_tmpDir" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="tmpDIR" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="gex_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="lb_method_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="owner" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_PARM PARM_NAME="BOOL_OP" PARM_VALUE="OR"/>
-#!     <XFORM_PARM PARM_NAME="TEST_LIST" PARM_VALUE="&amp;workspace_id,IN,&amp;_idTraitementList,&amp;_idTraitementList,=,*"/>
-#!     <XFORM_PARM PARM_NAME="TEST_DESCRIPTION" PARM_VALUE="&quot;&quot;"/>
-#!     <XFORM_PARM PARM_NAME="COMPOSITE_TEST" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="Tester"/>
-#!     <XFORM_PARM PARM_NAME="TEST_CLAUSE" PARM_VALUE="TEST &quot;@Value(gex_workspace_id)&quot; IN &quot;$(idWorkspaceList)&quot;&#10;TEST &quot;$(idWorkspaceList)&quot; = &quot;*&quot;"/>
-#!     <XFORM_PARM PARM_NAME="TEST_MODE" PARM_VALUE="Automatic"/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="95"
-#!   TYPE="PythonCaller"
-#!   VERSION="4"
-#!   POSITION="-3809.16 -115.081"
-#!   BOUNDING_RECT="-3809.16 -115.081 0 0"
-#!   ORDER="89"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="17292"
-#! >
-#!     <OUTPUT_FEAT NAME="OUTPUT"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="_tmpDir" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tmpDIR" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gexFile" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_PARM PARM_NAME="PYTHONSYMBOL" PARM_VALUE="myFunction"/>
-#!     <XFORM_PARM PARM_NAME="ADVANCED_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="NEW_ATTRIBUTES" PARM_VALUE="tmpDIR gexFile"/>
-#!     <XFORM_PARM PARM_NAME="LIST_ATTRS" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="PYTHONSOURCE" PARM_VALUE="#&lt;space&gt;-*-&lt;space&gt;coding:&lt;space&gt;utf-8&lt;space&gt;-*-&lt;lf&gt;import&lt;space&gt;fmeobjects&lt;lf&gt;import&lt;space&gt;os&lt;lf&gt;import&lt;space&gt;zipfile&lt;lf&gt;import&lt;space&gt;glob&lt;lf&gt;import&lt;space&gt;string&lt;lf&gt;&lt;lf&gt;def&lt;space&gt;myFunction&lt;openparen&gt;object&lt;closeparen&gt;:&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;print&lt;space&gt;&lt;space&gt;object.getAttribute&lt;openparen&gt;&lt;apos&gt;_tmpDir&lt;apos&gt;&lt;closeparen&gt;&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;temp_dir&lt;space&gt;=&lt;space&gt;object.getAttribute&lt;openparen&gt;&lt;apos&gt;_tmpDir&lt;apos&gt;&lt;closeparen&gt;&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;#&lt;space&gt;Cr&lt;u00e9&gt;e&lt;space&gt;le&lt;space&gt;r&lt;u00e9&gt;pertoire&lt;space&gt;temporaire&lt;space&gt;s&lt;apos&gt;il&lt;space&gt;n&lt;apos&gt;existe&lt;space&gt;pas&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;#&lt;space&gt;Fichier&lt;space&gt;gex&lt;space&gt;&lt;u00e0&gt;&lt;space&gt;traiter&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;gexFile&lt;space&gt;=&lt;space&gt;FME_MacroValues&lt;openbracket&gt;&lt;apos&gt;sourceGexFile&lt;apos&gt;&lt;closebracket&gt;&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;if&lt;space&gt;gexFile&lt;space&gt;!=&lt;space&gt;&lt;apos&gt;&lt;apos&gt;:&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;try:&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;gexFile&lt;space&gt;=&lt;space&gt;string.replace&lt;openparen&gt;gexFile&lt;comma&gt;&lt;apos&gt;**&lt;apos&gt;&lt;comma&gt;&lt;space&gt;&lt;apos&gt;&lt;apos&gt;&lt;closeparen&gt;&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;gexFile&lt;space&gt;=&lt;space&gt;string.replace&lt;openparen&gt;gexFile&lt;comma&gt;&lt;apos&gt;&lt;quote&gt;&lt;apos&gt;&lt;comma&gt;&lt;space&gt;&lt;apos&gt;&lt;apos&gt;&lt;closeparen&gt;&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;#&lt;space&gt;GTF&lt;space&gt;renvoie&lt;space&gt;*.gex&lt;comma&gt;&lt;space&gt;on&lt;space&gt;remplace&lt;space&gt;par&lt;space&gt;le&lt;space&gt;nom&lt;space&gt;complet&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;gexFile2&lt;space&gt;=&lt;space&gt;glob.glob&lt;openparen&gt;gexFile&lt;closeparen&gt;&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;if&lt;space&gt;gexFile2:&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;gexFile3&lt;space&gt;=&lt;space&gt;gexFile2&lt;openbracket&gt;0&lt;closebracket&gt;&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;#&lt;space&gt;D&lt;u00e9&gt;zippe&lt;space&gt;le&lt;space&gt;gex&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;print&lt;space&gt;&lt;quote&gt;*PYTHON*&lt;space&gt;D&lt;u00e9&gt;zippe&lt;space&gt;le&lt;space&gt;gex&lt;quote&gt;&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;sourceZip&lt;space&gt;=&lt;space&gt;zipfile.ZipFile&lt;openparen&gt;gexFile3&lt;comma&gt;&lt;space&gt;&lt;apos&gt;r&lt;apos&gt;&lt;closeparen&gt;&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;sourceZip.extractall&lt;openparen&gt;temp_dir&lt;closeparen&gt;&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;sourceZip.close&lt;openparen&gt;&lt;closeparen&gt;&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;#&lt;space&gt;Stocke&lt;space&gt;le&lt;space&gt;chemin&lt;space&gt;du&lt;space&gt;r&lt;u00e9&gt;pertoire&lt;space&gt;temp&lt;space&gt;dans&lt;space&gt;un&lt;space&gt;attribut&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;object.setAttribute&lt;openparen&gt;&lt;apos&gt;tmpDIR&lt;apos&gt;&lt;comma&gt;temp_dir&lt;closeparen&gt;&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;#&lt;space&gt;Stocke&lt;space&gt;le&lt;space&gt;chemin&lt;space&gt;du&lt;space&gt;fichier&lt;space&gt;GEX&lt;space&gt;dans&lt;space&gt;un&lt;space&gt;attribut&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;object.setAttribute&lt;openparen&gt;&lt;apos&gt;gexFile&lt;apos&gt;&lt;comma&gt;temp_dir&lt;space&gt;+&lt;space&gt;&lt;apos&gt;&lt;backslash&gt;export.xml&lt;apos&gt;&lt;closeparen&gt;&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;except:&lt;space&gt;&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;print&lt;space&gt;&lt;apos&gt;PYTHON&lt;space&gt;Une&lt;space&gt;erreur&lt;space&gt;est&lt;space&gt;survenue&lt;space&gt;!&lt;apos&gt;&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;raise"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="PythonCaller_3"/>
-#!     <XFORM_PARM PARM_NAME="PARAMETERS_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="HIDE_ATTRIBUTES" PARM_VALUE=""/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="137"
-#!   TYPE="TimeStamper"
-#!   VERSION="0"
-#!   POSITION="9178.07 169.797"
-#!   BOUNDING_RECT="9178.07 169.797 0 0"
-#!   ORDER="103"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="14235"
-#! >
-#!     <OUTPUT_FEAT NAME="OUTPUT"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="_tmpDir" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tmpDIR" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gex_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="lb_method_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_matched_records" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gtf_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_timeStamp" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="FMT" PARM_VALUE="^s"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="TimeStamper"/>
-#!     <XFORM_PARM PARM_NAME="TIME_ATTR" PARM_VALUE="_timeStamp"/>
-#!     <XFORM_PARM PARM_NAME="PARAMETERS_GROUP" PARM_VALUE=""/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="140"
-#!   TYPE="StringConcatenator"
-#!   VERSION="6"
-#!   POSITION="10274.1 164.19"
-#!   BOUNDING_RECT="10274.1 164.19 0 0"
-#!   ORDER="105"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="15515"
-#! >
-#!     <OUTPUT_FEAT NAME="OUTPUT"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="_tmpDir" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tmpDIR" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gex_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="lb_method_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_matched_records" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gtf_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_timeStamp" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_random_number" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="VAL_ATTR" PARM_VALUE="key"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="StringConcatenator"/>
-#!     <XFORM_PARM PARM_NAME="PARM_LINE" PARM_VALUE="&lt;at&gt;Value&lt;openparen&gt;_random_number&lt;closeparen&gt;&lt;at&gt;Value&lt;openparen&gt;_timeStamp&lt;closeparen&gt;"/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="142"
-#!   TYPE="BaseConverter"
-#!   VERSION="1"
-#!   POSITION="11324 164.19"
-#!   BOUNDING_RECT="11324 164.19 0 0"
-#!   ORDER="107"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="15515"
-#! >
-#!     <OUTPUT_FEAT NAME="OUTPUT"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="_tmpDir" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tmpDIR" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gex_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="lb_method_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_matched_records" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gtf_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_PARM PARM_NAME="OBASE" PARM_VALUE="10"/>
-#!     <XFORM_PARM PARM_NAME="WIDTH" PARM_VALUE="0"/>
-#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="VAL_ATTR" PARM_VALUE="key"/>
-#!     <XFORM_PARM PARM_NAME="DBASE" PARM_VALUE="36"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="BaseConverter"/>
-#!     <XFORM_PARM PARM_NAME="SRC" PARM_VALUE="key"/>
-#!     <XFORM_PARM PARM_NAME="PARAMETERS_GROUP" PARM_VALUE=""/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="144"
-#!   TYPE="AttributeRemover"
-#!   VERSION="0"
-#!   POSITION="10780 164.19"
-#!   BOUNDING_RECT="10780 164.19 0 0"
-#!   ORDER="106"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="15479"
-#! >
-#!     <OUTPUT_FEAT NAME="OUTPUT"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="_tmpDir" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tmpDIR" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gex_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="lb_method_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_matched_records" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gtf_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_PARM PARM_NAME="REMOVE_ATTRS" PARM_VALUE="_random_number,_timeStamp"/>
-#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="LIST_ATTRS" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="AttributeRemover_3"/>
-#!     <XFORM_PARM PARM_NAME="PARAMETERS_GROUP" PARM_VALUE=""/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="148"
-#!   TYPE="StringCaseChanger"
-#!   VERSION="4"
-#!   POSITION="7058.92 -2584.44"
-#!   BOUNDING_RECT="7058.92 -2584.44 0 0"
-#!   ORDER="111"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="15479"
-#! >
-#!     <OUTPUT_FEAT NAME="OUTPUT"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="gtf_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="CHANGE_TYPE" PARM_VALUE="lowercase"/>
-#!     <XFORM_PARM PARM_NAME="ATTRLIST" PARM_VALUE="gtf_name"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="StringCaseChanger"/>
-#!     <XFORM_PARM PARM_NAME="PARAMETERS_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="ATTRS_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="ATTRCHOICE" PARM_VALUE="Selected Attributes"/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="153"
-#!   TYPE="StringCaseChanger"
-#!   VERSION="4"
-#!   POSITION="13443.3 -2268.23"
-#!   BOUNDING_RECT="13443.3 -2268.23 0 0"
-#!   ORDER="109"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="15479"
-#! >
-#!     <OUTPUT_FEAT NAME="OUTPUT"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="_tmpDir" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tmpDIR" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gex_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gex_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="lb_method_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_matched_records" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="CHANGE_TYPE" PARM_VALUE="lowercase"/>
-#!     <XFORM_PARM PARM_NAME="ATTRLIST" PARM_VALUE="gex_name"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="StringCaseChanger_2"/>
-#!     <XFORM_PARM PARM_NAME="PARAMETERS_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="ATTRS_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="ATTRCHOICE" PARM_VALUE="Selected Attributes"/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="165"
-#!   TYPE="AttributeRenamer"
-#!   VERSION="2"
-#!   POSITION="6449.19 -2584.44"
-#!   BOUNDING_RECT="6449.19 -2584.44 0 0"
-#!   ORDER="110"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="15479"
-#! >
-#!     <OUTPUT_FEAT NAME="OUTPUT"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="gtf_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="AttributeRenamer_3"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="ATTR_LIST" PARM_VALUE="name,gtf_name,&quot;&quot;"/>
-#!     <XFORM_PARM PARM_NAME="ATTR_LIST_GROUP" PARM_VALUE=""/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="235"
-#!   TYPE="AttributeKeeper"
-#!   VERSION="2"
-#!   POSITION="5271.98 -1166.37"
-#!   BOUNDING_RECT="5271.98 -1166.37 0 0"
-#!   ORDER="166"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="15479"
-#! >
-#!     <OUTPUT_FEAT NAME="OUTPUT"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="KEEP_ATTRS" PARM_VALUE="key,name,workspace_id"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="AttributeKeeper_7"/>
-#!     <XFORM_PARM PARM_NAME="KEEP_LIST" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="PARAMETERS_GROUP" PARM_VALUE=""/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="226"
-#!   TYPE="TCLCaller"
-#!   VERSION="3"
-#!   POSITION="19806.6 120.68"
-#!   BOUNDING_RECT="19806.6 120.68 0 0"
-#!   ORDER="178"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="15573"
-#! >
-#!     <OUTPUT_FEAT NAME="OUTPUT"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="_tmpDir" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tmpDIR" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gex_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gex_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="lb_method_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_matched_records" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="fme_db_operation" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gtf_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="fme_where" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gtf_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_timestamp" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_fme_mf_dir_unix" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="DSubform" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="Subform" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="WSubform" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="xy" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="TCLPROG" PARM_VALUE="mdir2"/>
-#!     <XFORM_PARM PARM_NAME="VAL_ATTR" PARM_VALUE="xy"/>
-#!     <XFORM_PARM PARM_NAME="NEW_ATTRIBUTES" PARM_VALUE="DSubform Subform WSubform"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="TCLCaller_2"/>
-#!     <XFORM_PARM PARM_NAME="SRC" PARM_VALUE="proc&lt;space&gt;mdir2&lt;space&gt;&lt;opencurly&gt;&lt;closecurly&gt;&lt;space&gt;&lt;opencurly&gt;&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;#&lt;space&gt;Variables&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;set&lt;space&gt;fme_mf_dir_unix&lt;space&gt;&lt;openbracket&gt;FME_GetAttribute&lt;space&gt;_fme_mf_dir_unix&lt;closebracket&gt;&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;set&lt;space&gt;tmpdir&lt;space&gt;&lt;openbracket&gt;FME_GetAttribute&lt;space&gt;tmpDIR&lt;closebracket&gt;&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;regsub&lt;space&gt;-all&lt;space&gt;&lt;opencurly&gt;&lt;backslash&gt;&lt;backslash&gt;&lt;closecurly&gt;&lt;space&gt;&lt;dollar&gt;tmpdir&lt;space&gt;&lt;solidus&gt;&lt;space&gt;tmpdir&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;set&lt;space&gt;gex_workspace_id&lt;space&gt;&lt;openbracket&gt;FME_GetAttribute&lt;space&gt;gex_workspace_id&lt;closebracket&gt;&lt;lf&gt;&lt;tab&gt;set&lt;space&gt;workspace_id&lt;space&gt;&lt;openbracket&gt;FME_GetAttribute&lt;space&gt;workspace_id&lt;closebracket&gt;&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;set&lt;space&gt;projectdir&lt;space&gt;&lt;quote&gt;&lt;dollar&gt;fme_mf_dir_unix&lt;solidus&gt;..&lt;solidus&gt;..&lt;solidus&gt;&lt;dollar&gt;workspace_id&lt;solidus&gt;&lt;quote&gt;&lt;lf&gt;&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;#&lt;space&gt;Cr&lt;u00e9&gt;ation&lt;space&gt;du&lt;space&gt;r&lt;u00e9&gt;pertoire&lt;space&gt;de&lt;space&gt;destination&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;if&lt;space&gt;&lt;opencurly&gt;&lt;openbracket&gt;file&lt;space&gt;exists&lt;space&gt;&lt;dollar&gt;projectdir&lt;closebracket&gt;==0&lt;space&gt;&lt;closecurly&gt;&lt;space&gt;&lt;opencurly&gt;&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;puts&lt;space&gt;&lt;quote&gt;*TCL*&lt;space&gt;Cr&lt;u00e9&gt;ation&lt;space&gt;du&lt;space&gt;r&lt;u00e9&gt;pertoire&lt;space&gt;&lt;dollar&gt;projectdir&lt;quote&gt;&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;file&lt;space&gt;mkdir&lt;space&gt;&lt;dollar&gt;projectdir&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;closecurly&gt;&lt;space&gt;else&lt;space&gt;&lt;opencurly&gt;&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;puts&lt;space&gt;&lt;quote&gt;*TCL*&lt;space&gt;Suppression&lt;space&gt;du&lt;space&gt;r&lt;u00e9&gt;pertoire&lt;space&gt;&lt;dollar&gt;projectdir&lt;quote&gt;&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;file&lt;space&gt;delete&lt;space&gt;-force&lt;space&gt;&lt;dollar&gt;projectdir&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;puts&lt;space&gt;&lt;quote&gt;*TCL*&lt;space&gt;Cr&lt;u00e9&gt;ation&lt;space&gt;du&lt;space&gt;r&lt;u00e9&gt;pertoire&lt;space&gt;&lt;dollar&gt;projectdir&lt;quote&gt;&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;file&lt;space&gt;mkdir&lt;space&gt;&lt;dollar&gt;projectdir&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;closecurly&gt;&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;#&lt;space&gt;Copie&lt;space&gt;des&lt;space&gt;fichiers&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;#&lt;space&gt;21&lt;solidus&gt;02&lt;solidus&gt;2014&lt;space&gt;v&lt;u00e9&gt;rifie&lt;space&gt;que&lt;space&gt;le&lt;space&gt;dossier&lt;space&gt;existe&lt;space&gt;sinon&lt;space&gt;TCL&lt;space&gt;plante&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;if&lt;space&gt;&lt;opencurly&gt;&lt;openbracket&gt;file&lt;space&gt;isdirectory&lt;space&gt;&lt;quote&gt;&lt;dollar&gt;tmpdir&lt;solidus&gt;&lt;dollar&gt;gex_workspace_id&lt;quote&gt;&lt;closebracket&gt;&lt;closecurly&gt;&lt;space&gt;&lt;opencurly&gt;&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;set&lt;space&gt;projectsourcedir&lt;space&gt;&lt;openbracket&gt;glob&lt;space&gt;-nocomplain&lt;space&gt;&lt;quote&gt;&lt;dollar&gt;tmpdir&lt;solidus&gt;&lt;dollar&gt;gex_workspace_id&lt;solidus&gt;*&lt;quote&gt;&lt;closebracket&gt;&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;foreach&lt;space&gt;file&lt;space&gt;&lt;dollar&gt;projectsourcedir&lt;space&gt;&lt;opencurly&gt;&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;puts&lt;space&gt;&lt;quote&gt;*TCL*&lt;space&gt;Copie&lt;space&gt;du&lt;space&gt;r&lt;u00e9&gt;pertoire&lt;space&gt;&lt;dollar&gt;file&lt;quote&gt;&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;file&lt;space&gt;copy&lt;space&gt;-force&lt;space&gt;&lt;dollar&gt;file&lt;space&gt;&lt;dollar&gt;projectdir&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;#set&lt;space&gt;test&lt;space&gt;&lt;quote&gt;&lt;dollar&gt;tmpdir&lt;solidus&gt;&lt;dollar&gt;gex_workspace_id&lt;solidus&gt;form&lt;quote&gt;&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;closecurly&gt;&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;closecurly&gt;&lt;lf&gt;&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;#&lt;space&gt;Y&lt;space&gt;a&lt;space&gt;t-il&lt;space&gt;les&lt;space&gt;formulaires&lt;space&gt;JSON&lt;space&gt;?&lt;space&gt;&lt;openparen&gt;GTF&lt;space&gt;2016&lt;closeparen&gt;&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;if&lt;space&gt;&lt;opencurly&gt;&lt;openbracket&gt;file&lt;space&gt;isfile&lt;space&gt;&lt;quote&gt;&lt;dollar&gt;projectdir&lt;solidus&gt;form&lt;solidus&gt;DSubform.json&lt;quote&gt;&lt;closebracket&gt;&lt;closecurly&gt;&lt;space&gt;&lt;opencurly&gt;&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;FME_SetAttribute&lt;space&gt;DSubform&lt;space&gt;1&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;closecurly&gt;&lt;space&gt;else&lt;space&gt;&lt;opencurly&gt;&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;FME_SetAttribute&lt;space&gt;DSubform&lt;space&gt;0&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;closecurly&gt;&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;if&lt;space&gt;&lt;opencurly&gt;&lt;openbracket&gt;file&lt;space&gt;isfile&lt;space&gt;&lt;quote&gt;&lt;dollar&gt;projectdir&lt;solidus&gt;form&lt;solidus&gt;Subform.json&lt;quote&gt;&lt;closebracket&gt;&lt;closecurly&gt;&lt;space&gt;&lt;opencurly&gt;&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;FME_SetAttribute&lt;space&gt;Subform&lt;space&gt;1&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;closecurly&gt;&lt;space&gt;else&lt;space&gt;&lt;opencurly&gt;&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;FME_SetAttribute&lt;space&gt;Subform&lt;space&gt;0&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;closecurly&gt;&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;if&lt;space&gt;&lt;opencurly&gt;&lt;openbracket&gt;file&lt;space&gt;isfile&lt;space&gt;&lt;quote&gt;&lt;dollar&gt;projectdir&lt;solidus&gt;form&lt;solidus&gt;WSubform.json&lt;quote&gt;&lt;closebracket&gt;&lt;closecurly&gt;&lt;space&gt;&lt;opencurly&gt;&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;FME_SetAttribute&lt;space&gt;WSubform&lt;space&gt;1&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;closecurly&gt;&lt;space&gt;else&lt;space&gt;&lt;opencurly&gt;&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;FME_SetAttribute&lt;space&gt;WSubform&lt;space&gt;0&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;closecurly&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;lf&gt;&lt;closecurly&gt;"/>
-#!     <XFORM_PARM PARM_NAME="PARAMETERS_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="SRCFILE" PARM_VALUE=""/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="230"
-#!   TYPE="AttributeRemover"
-#!   VERSION="0"
-#!   POSITION="20404.2 120.68"
-#!   BOUNDING_RECT="20404.2 120.68 0 0"
-#!   ORDER="167"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="14235"
-#! >
-#!     <OUTPUT_FEAT NAME="OUTPUT"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="_tmpDir" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tmpDIR" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gex_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gex_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="lb_method_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_matched_records" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="fme_db_operation" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gtf_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="fme_where" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gtf_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_timestamp" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_fme_mf_dir_unix" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="DSubform" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="Subform" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="WSubform" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_PARM PARM_NAME="REMOVE_ATTRS" PARM_VALUE="xy"/>
-#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="LIST_ATTRS" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="AttributeRemover_8"/>
-#!     <XFORM_PARM PARM_NAME="PARAMETERS_GROUP" PARM_VALUE=""/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="284"
-#!   TYPE="AttributeCreator"
-#!   VERSION="3"
-#!   POSITION="18424.3 -1057.72"
-#!   BOUNDING_RECT="18424.3 -1057.72 0 0"
-#!   ORDER="180"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="15479"
-#! >
-#!     <OUTPUT_FEAT NAME="OUTPUT"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="_tmpDir" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tmpDIR" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gex_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="lb_method_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_matched_records" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gtf_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="fme_db_operation" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="fme_where" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_PARM PARM_NAME="NULL_ATTR_VALUE" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="NUM_PRIOR_FEATURES" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="AttributeCreator_2"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="MULTI_FEATURE_MODE" PARM_VALUE="NO"/>
-#!     <XFORM_PARM PARM_NAME="NUM_SUBSEQUENT_FEATURES" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="ATTR_LIST" PARM_VALUE="fme_db_operation,UPDATE,fme_where,workspace_id&lt;space&gt;=&lt;space&gt;&lt;apos&gt;&lt;at&gt;Value&lt;openparen&gt;gtf_workspace_id&lt;closeparen&gt;&lt;apos&gt;"/>
-#!     <XFORM_PARM PARM_NAME="ATTR_LIST_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="NULL_ATTR_MODE_DISPLAY" PARM_VALUE="&lt;Unused&gt;"/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="184"
-#!   TYPE="FeatureMerger"
-#!   VERSION="9"
-#!   POSITION="14168.2 -2473.05"
-#!   BOUNDING_RECT="14168.2 -2473.05 0 0"
-#!   ORDER="183"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="15479"
-#! >
-#!     <OUTPUT_FEAT NAME="MERGED"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="_tmpDir" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tmpDIR" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gex_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gex_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="lb_method_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_matched_records" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gtf_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <OUTPUT_FEAT NAME="NOT_MERGED"/>
-#!     <FEAT_COLLAPSED COLLAPSED="1"/>
-#!     <XFORM_ATTR ATTR_NAME="_tmpDir" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="tmpDIR" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="gex_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="gex_name" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="lb_method_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_matched_records" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <OUTPUT_FEAT NAME="REFERENCED"/>
-#!     <FEAT_COLLAPSED COLLAPSED="2"/>
-#!     <XFORM_ATTR ATTR_NAME="gtf_name" IS_USER_CREATED="false" FEAT_INDEX="2" />
-#!     <XFORM_ATTR ATTR_NAME="numReferences" IS_USER_CREATED="false" FEAT_INDEX="2" />
-#!     <OUTPUT_FEAT NAME="UNREFERENCED"/>
-#!     <FEAT_COLLAPSED COLLAPSED="3"/>
-#!     <XFORM_ATTR ATTR_NAME="gtf_name" IS_USER_CREATED="false" FEAT_INDEX="3" />
-#!     <OUTPUT_FEAT NAME="DUPLICATE_SUPPLIER"/>
-#!     <FEAT_COLLAPSED COLLAPSED="4"/>
-#!     <XFORM_ATTR ATTR_NAME="gtf_name" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_PARM PARM_NAME="JOIN_KEYS" PARM_VALUE="&lt;at&gt;Value&lt;openparen&gt;gex_name&lt;closeparen&gt; &lt;at&gt;Value&lt;openparen&gt;gtf_name&lt;closeparen&gt;"/>
-#!     <XFORM_PARM PARM_NAME="JOIN_ATTRIBUTES_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="PARAMETERS" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="LIST_NAME" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="IGNORE_NULLS" PARM_VALUE="Yes"/>
-#!     <XFORM_PARM PARM_NAME="GROUP_BY" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="GEOM_TYPE" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="FeatureMerger"/>
-#!     <XFORM_PARM PARM_NAME="SUPPLIERS_FIRST" PARM_VALUE="No"/>
-#!     <XFORM_PARM PARM_NAME="PROCESS_DUPS" PARM_VALUE="No"/>
-#!     <XFORM_PARM PARM_NAME="MERGE_TYPE" PARM_VALUE="Attributes Only"/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="227"
-#!   TYPE="FeatureMerger"
-#!   VERSION="9"
-#!   POSITION="6350.96 -26.8808"
-#!   BOUNDING_RECT="6350.96 -26.8808 0 0"
-#!   ORDER="185"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="14235"
-#! >
-#!     <OUTPUT_FEAT NAME="MERGED"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="_tmpDir" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tmpDIR" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gex_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="lb_method_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="owner" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_matched_records" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gtf_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gtf_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <OUTPUT_FEAT NAME="NOT_MERGED"/>
-#!     <FEAT_COLLAPSED COLLAPSED="1"/>
-#!     <XFORM_ATTR ATTR_NAME="_tmpDir" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="tmpDIR" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="gex_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="lb_method_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="owner" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_matched_records" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <OUTPUT_FEAT NAME="REFERENCED"/>
-#!     <FEAT_COLLAPSED COLLAPSED="2"/>
-#!     <XFORM_ATTR ATTR_NAME="gtf_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="2" />
-#!     <XFORM_ATTR ATTR_NAME="gtf_name" IS_USER_CREATED="false" FEAT_INDEX="2" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="2" />
-#!     <XFORM_ATTR ATTR_NAME="numReferences" IS_USER_CREATED="false" FEAT_INDEX="2" />
-#!     <OUTPUT_FEAT NAME="UNREFERENCED"/>
-#!     <FEAT_COLLAPSED COLLAPSED="3"/>
-#!     <XFORM_ATTR ATTR_NAME="gtf_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="3" />
-#!     <XFORM_ATTR ATTR_NAME="gtf_name" IS_USER_CREATED="false" FEAT_INDEX="3" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="3" />
-#!     <OUTPUT_FEAT NAME="DUPLICATE_SUPPLIER"/>
-#!     <FEAT_COLLAPSED COLLAPSED="4"/>
-#!     <XFORM_ATTR ATTR_NAME="gtf_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="gtf_name" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_PARM PARM_NAME="JOIN_KEYS" PARM_VALUE="&lt;at&gt;Value&lt;openparen&gt;key&lt;closeparen&gt; &lt;at&gt;Value&lt;openparen&gt;key&lt;closeparen&gt;"/>
-#!     <XFORM_PARM PARM_NAME="JOIN_ATTRIBUTES_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="PARAMETERS" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="LIST_NAME" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="IGNORE_NULLS" PARM_VALUE="Yes"/>
-#!     <XFORM_PARM PARM_NAME="GROUP_BY" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="GEOM_TYPE" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="FeatureMerger_3"/>
-#!     <XFORM_PARM PARM_NAME="SUPPLIERS_FIRST" PARM_VALUE="No"/>
-#!     <XFORM_PARM PARM_NAME="PROCESS_DUPS" PARM_VALUE="No"/>
-#!     <XFORM_PARM PARM_NAME="MERGE_TYPE" PARM_VALUE="Attributes Only"/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="173"
-#!   TYPE="XMLFragmenter"
-#!   VERSION="3"
-#!   POSITION="-3845.43 -508.626"
-#!   BOUNDING_RECT="-3845.43 -508.626 0 0"
-#!   ORDER="5e+14"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="15477"
-#! >
-#!     <OUTPUT_FEAT NAME="FRAGMENTS"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="_tmpDir" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tmpDIR" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gexFile" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="label_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="lb_method_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="owner" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="xml_fragment" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="xml_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="xml_matched_element" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="xml_parent_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="xml_parent_child_pos" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_PARM PARM_NAME="EMBEDDED_EXPRESSIONS" PARM_VALUE="gex:gtf_pro_workspace"/>
-#!     <XFORM_PARM PARM_NAME="MERGE_ATTRS" PARM_VALUE="Yes"/>
-#!     <XFORM_PARM PARM_NAME="ATTRIBUTE_XML" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="EMBEDDED_EXPRESSIONS_EXCEPT" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="FLATTEN_OPTIONS" PARM_VALUE="&lt;lf&gt;&lt;lt&gt;structure&lt;space&gt;separator=&lt;quote&gt;.&lt;quote&gt;&lt;space&gt;map-empty-elements=&lt;quote&gt;yes&lt;quote&gt;&lt;space&gt;matched-prefix=&lt;quote&gt;attributes&lt;quote&gt;&lt;space&gt;matched-attributes=&lt;quote&gt;yes&lt;quote&gt;&lt;space&gt;cardinality=&lt;quote&gt;+&lt;opencurly&gt;?&lt;closecurly&gt;&lt;quote&gt;&lt;space&gt;structure-prefix=&lt;quote&gt;&lt;quote&gt;&lt;space&gt;child-position-attribute=&lt;quote&gt;&lt;quote&gt;&lt;space&gt;except-expression=&lt;quote&gt;&lt;quote&gt;&lt;space&gt;ui-mode=&lt;quote&gt;basic&lt;quote&gt;&lt;space&gt;matched-ancestor-attributes=&lt;quote&gt;&lt;quote&gt;&lt;solidus&gt;&lt;gt&gt;&lt;lf&gt;"/>
-#!     <XFORM_PARM PARM_NAME="NEW_ATTRIBUTES" PARM_VALUE="workspace_id label_name description subscription fmw_file category_id category_name lb_method_id success_action_id failed_action_id survey form_type legal_terms_conditions usage requirements history last_save_date last_save_build file_encoding title key email_template_id owner creation_date locked tag"/>
-#!     <XFORM_PARM PARM_NAME="FILE_XML" PARM_VALUE="@Value(gexFile)"/>
-#!     <XFORM_PARM PARM_NAME="FEATURE_PATHS_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="XMLFragmenter"/>
-#!     <XFORM_PARM PARM_NAME="XML_SOURCE_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="SUB_FRAGMENT_OPTIONS" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="FEATURE_TYPES_FORMAT_NAME" PARM_VALUE="XML"/>
-#!     <XFORM_PARM PARM_NAME="FEATURE_PATHS_STRUCTURE_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="XML_SOURCE_TYPE" PARM_VALUE="XML file"/>
-#!     <XFORM_PARM PARM_NAME="ATTR_EXPOSE" PARM_VALUE="FME_DISCLOSURE_OPEN"/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="160"
-#!   TYPE="AttributeRemover"
-#!   VERSION="0"
-#!   POSITION="-3306.43 -479.625"
-#!   BOUNDING_RECT="-3306.43 -479.625 0 0"
-#!   ORDER="5e+14"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="14235"
-#! >
-#!     <OUTPUT_FEAT NAME="OUTPUT"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="_tmpDir" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tmpDIR" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="label_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="lb_method_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="owner" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_PARM PARM_NAME="REMOVE_ATTRS" PARM_VALUE="gexFile,xml_fragment,xml_id,xml_matched_element,xml_parent_id,xml_parent_child_pos"/>
-#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="LIST_ATTRS" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="AttributeRemover"/>
-#!     <XFORM_PARM PARM_NAME="PARAMETERS_GROUP" PARM_VALUE=""/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="210"
-#!   TYPE="NullAttributeMapper"
-#!   VERSION="1"
-#!   POSITION="-2600.43 -432.626"
-#!   BOUNDING_RECT="-2600.43 -432.626 0 0"
-#!   ORDER="5e+14"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="15575"
-#! >
-#!     <OUTPUT_FEAT NAME="OUTPUT"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="_tmpDir" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tmpDIR" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="label_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="lb_method_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="owner" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="OTHER_VALUE" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="ATTRLIST" PARM_VALUE="form_type"/>
-#!     <XFORM_PARM PARM_NAME="SOURCE_ATTR_VAL" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="NullAttributeMapper_3"/>
-#!     <XFORM_PARM PARM_NAME="PARAMETERS_GROUP2" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="REG_EXP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="NULL_TREATMENT" PARM_VALUE="New Value"/>
-#!     <XFORM_PARM PARM_NAME="PARAMETERS_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="NEW_VALUE" PARM_VALUE="default"/>
-#!     <XFORM_PARM PARM_NAME="ATTRCHOICE" PARM_VALUE="Selected Attributes"/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="150"
-#!   TYPE="NullAttributeMapper"
-#!   VERSION="1"
-#!   POSITION="-2028.43 -436.626"
-#!   BOUNDING_RECT="-2028.43 -436.626 0 0"
-#!   ORDER="5e+14"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="15575"
-#! >
-#!     <OUTPUT_FEAT NAME="OUTPUT"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="_tmpDir" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tmpDIR" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="label_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="lb_method_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="owner" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="OTHER_VALUE" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="ATTRLIST" PARM_VALUE="survey"/>
-#!     <XFORM_PARM PARM_NAME="SOURCE_ATTR_VAL" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="NullAttributeMapper_4"/>
-#!     <XFORM_PARM PARM_NAME="PARAMETERS_GROUP2" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="REG_EXP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="NULL_TREATMENT" PARM_VALUE="New Value"/>
-#!     <XFORM_PARM PARM_NAME="PARAMETERS_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="NEW_VALUE" PARM_VALUE="FALSE"/>
-#!     <XFORM_PARM PARM_NAME="ATTRCHOICE" PARM_VALUE="Selected Attributes"/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="109"
-#!   TYPE="SQLExecutor"
-#!   VERSION="6"
-#!   POSITION="16587.2 268.372"
-#!   BOUNDING_RECT="16587.2 268.372 0 0"
-#!   ORDER="5e+14"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="17291"
-#! >
-#!     <OUTPUT_FEAT NAME="RESULT"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_tmpDir" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tmpDIR" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gex_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="lb_method_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_matched_records" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gtf_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_timestamp" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <OUTPUT_FEAT NAME="INITIATOR"/>
-#!     <FEAT_COLLAPSED COLLAPSED="1"/>
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_tmpDir" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="tmpDIR" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="gex_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="lb_method_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_matched_records" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="gtf_name" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_timestamp" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_PARM PARM_NAME="DB_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="DYNGROUP_0" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="POSTGRES_USER_NAME" PARM_VALUE="$(dbUser)"/>
-#!     <XFORM_PARM PARM_NAME="POSTGRES_HOST" PARM_VALUE="$(dbServer)"/>
-#!     <XFORM_PARM PARM_NAME="POSTGRES_PORT" PARM_VALUE="$(dbPort)"/>
-#!     <XFORM_PARM PARM_NAME="COMBINE_GEOM" PARM_VALUE="Initiator Geometry Only"/>
-#!     <XFORM_PARM PARM_NAME="PARAMETERS_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="POSTGRES_SCHEMAS_FOR_TABLE_LISTING" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="SQL_STATEMENT" PARM_VALUE="select&lt;space&gt;nextval&lt;openparen&gt;&lt;apos&gt;s_gtf.seq_common&lt;apos&gt;&lt;closeparen&gt;&lt;space&gt;as&lt;space&gt;workspace_id"/>
-#!     <XFORM_PARM PARM_NAME="POSTGRES_PASSWORD" PARM_VALUE="$(dbPassword)"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="SQLExecutor"/>
-#!     <XFORM_PARM PARM_NAME="FORMAT" PARM_VALUE="POSTGRES"/>
-#!     <XFORM_PARM PARM_NAME="POSTGRES_QUERY_FEATURE_TYPES_FOR_MERGE_FILTERS" PARM_VALUE="Yes"/>
-#!     <XFORM_PARM PARM_NAME="EXPOSED_ATTRIBUTE_LIST" PARM_VALUE="workspace_id"/>
-#!     <XFORM_PARM PARM_NAME="DATASET" PARM_VALUE="$(dbDatabase)"/>
-#!     <XFORM_PARM PARM_NAME="COORDSYS" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="FORMAT_PARAMS" PARM_VALUE="POSTGRES_QUERY_FEATURE_TYPES_FOR_MERGE_FILTERS,&quot;IGNORE TEXT&quot;,POSTGRES&lt;space&gt;,POSTGRES_HOST,&quot;OPTIONAL TEXT&quot;,POSTGRES&lt;space&gt;H&lt;u00f4&gt;te&lt;space&gt;:,POSTGRES_PASSWORD,&quot;OPTIONAL PASSWORD_ENCODED&quot;,POSTGRES&lt;space&gt;Mot&lt;space&gt;de&lt;space&gt;passe&lt;space&gt;:,POSTGRES_SCHEMAS_FOR_TABLE_LISTING,&quot;IGNORE TEXT&quot;,POSTGRES&lt;space&gt;sch&lt;u00e9&gt;mas&lt;space&gt;pour&lt;space&gt;liste&lt;space&gt;tables&lt;space&gt;:,POSTGRES_PORT,&quot;OPTIONAL INTEGER&quot;,POSTGRES&lt;space&gt;Port&lt;space&gt;:,POSTGRES_USER_NAME,&quot;OPTIONAL TEXT&quot;,POSTGRES&lt;space&gt;Nom&lt;space&gt;d&lt;apos&gt;utilisateur&lt;space&gt;:"/>
-#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="COMBINE_ATTRS" PARM_VALUE="Keep Result Attributes if Conflict"/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="108"
-#!   TYPE="ParameterFetcher"
-#!   VERSION="4"
-#!   POSITION="19224.1 120.68"
-#!   BOUNDING_RECT="19224.1 120.68 0 0"
-#!   ORDER="5e+14"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="14235"
-#! >
-#!     <OUTPUT_FEAT NAME="OUTPUT"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="_tmpDir" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tmpDIR" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gex_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gex_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="lb_method_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_matched_records" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="fme_db_operation" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gtf_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="fme_where" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gtf_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_timestamp" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_fme_mf_dir_unix" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="ParameterFetcher_2"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="PARAMETERS_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="ATTR_LIST" PARM_VALUE="_fme_mf_dir_unix {$(FME_MF_DIR_USERTYPED)}"/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="105"
-#!   TYPE="AttributeCreator"
-#!   VERSION="4"
-#!   POSITION="-1281.49 -416.619"
-#!   BOUNDING_RECT="-1281.49 -416.619 0 0"
-#!   ORDER="5e+14"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="15477"
-#! >
-#!     <OUTPUT_FEAT NAME="OUTPUT"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="_tmpDir" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tmpDIR" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="label_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="lb_method_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="owner" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_PARM PARM_NAME="NULL_ATTR_VALUE" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="NUM_PRIOR_FEATURES" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="AttributeCreator"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="MULTI_FEATURE_MODE" PARM_VALUE="NO"/>
-#!     <XFORM_PARM PARM_NAME="NUM_SUBSEQUENT_FEATURES" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="ATTR_LIST" PARM_VALUE="email_template_id,&quot;&quot;,tag,default,lb_method_id,&quot;&quot;,success_action_id,0,failed_action_id,0"/>
-#!     <XFORM_PARM PARM_NAME="ATTR_LIST_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="NULL_ATTR_MODE_DISPLAY" PARM_VALUE="&lt;Unused&gt;"/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="118"
-#!   TYPE="SQLExecutor"
-#!   VERSION="6"
-#!   POSITION="21252.6 120.68"
-#!   BOUNDING_RECT="21252.6 120.68 0 0"
-#!   ORDER="5e+14"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="17291"
-#! >
-#!     <OUTPUT_FEAT NAME="RESULT"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="_tmpDir" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tmpDIR" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gex_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gex_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="lb_method_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_matched_records" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="fme_db_operation" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gtf_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="fme_where" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gtf_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_timestamp" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_fme_mf_dir_unix" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="DSubform" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="Subform" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="WSubform" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="owner" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <OUTPUT_FEAT NAME="INITIATOR"/>
-#!     <FEAT_COLLAPSED COLLAPSED="1"/>
-#!     <XFORM_ATTR ATTR_NAME="_tmpDir" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="tmpDIR" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="gex_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="gex_name" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="lb_method_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_matched_records" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="workspace_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="fme_db_operation" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="gtf_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="fme_where" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="gtf_name" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_timestamp" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_fme_mf_dir_unix" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="DSubform" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="Subform" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="WSubform" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_PARM PARM_NAME="DB_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="DYNGROUP_0" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="POSTGRES_USER_NAME" PARM_VALUE="$(dbUser)"/>
-#!     <XFORM_PARM PARM_NAME="POSTGRES_HOST" PARM_VALUE="$(dbServer)"/>
-#!     <XFORM_PARM PARM_NAME="POSTGRES_PORT" PARM_VALUE="$(dbPort)"/>
-#!     <XFORM_PARM PARM_NAME="COMBINE_GEOM" PARM_VALUE="Initiator Geometry Only"/>
-#!     <XFORM_PARM PARM_NAME="PARAMETERS_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="POSTGRES_SCHEMAS_FOR_TABLE_LISTING" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="SQL_STATEMENT" PARM_VALUE="select&lt;space&gt;user_id&lt;space&gt;as&lt;space&gt;owner&lt;space&gt;from&lt;space&gt;s_gtf.order&lt;space&gt;where&lt;space&gt;order_id&lt;space&gt;=&lt;space&gt;$(GTF_ORDER_ID)"/>
-#!     <XFORM_PARM PARM_NAME="POSTGRES_PASSWORD" PARM_VALUE="$(dbPassword)"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="SQLExecutor_2"/>
-#!     <XFORM_PARM PARM_NAME="FORMAT" PARM_VALUE="POSTGRES"/>
-#!     <XFORM_PARM PARM_NAME="POSTGRES_QUERY_FEATURE_TYPES_FOR_MERGE_FILTERS" PARM_VALUE="Yes"/>
-#!     <XFORM_PARM PARM_NAME="EXPOSED_ATTRIBUTE_LIST" PARM_VALUE="owner"/>
-#!     <XFORM_PARM PARM_NAME="DATASET" PARM_VALUE="$(dbDatabase)"/>
-#!     <XFORM_PARM PARM_NAME="COORDSYS" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="FORMAT_PARAMS" PARM_VALUE="POSTGRES_QUERY_FEATURE_TYPES_FOR_MERGE_FILTERS,&quot;IGNORE TEXT&quot;,POSTGRES&lt;space&gt;,POSTGRES_HOST,&quot;OPTIONAL TEXT&quot;,POSTGRES&lt;space&gt;H&lt;u00f4&gt;te&lt;space&gt;:,POSTGRES_PASSWORD,&quot;OPTIONAL PASSWORD_ENCODED&quot;,POSTGRES&lt;space&gt;Mot&lt;space&gt;de&lt;space&gt;passe&lt;space&gt;:,POSTGRES_SCHEMAS_FOR_TABLE_LISTING,&quot;IGNORE TEXT&quot;,POSTGRES&lt;space&gt;sch&lt;u00e9&gt;mas&lt;space&gt;pour&lt;space&gt;liste&lt;space&gt;tables&lt;space&gt;:,POSTGRES_PORT,&quot;OPTIONAL INTEGER&quot;,POSTGRES&lt;space&gt;Port&lt;space&gt;:,POSTGRES_USER_NAME,&quot;OPTIONAL TEXT&quot;,POSTGRES&lt;space&gt;Nom&lt;space&gt;d&lt;apos&gt;utilisateur&lt;space&gt;:"/>
-#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="COMBINE_ATTRS" PARM_VALUE="Keep Result Attributes if Conflict"/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="176"
-#!   TYPE="AttributeFilter"
-#!   VERSION="4"
-#!   POSITION="7718.56 -89.2206"
-#!   BOUNDING_RECT="7718.56 -89.2206 -1 -1"
-#!   ORDER="5e+14"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="15479"
-#! >
-#!     <OUTPUT_FEAT NAME="&lt;EMPTY&gt;"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="_tmpDir" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tmpDIR" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gex_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="lb_method_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="owner" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_matched_records" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gtf_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gtf_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_duplicateKey" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <OUTPUT_FEAT NAME="&lt;MISSING&gt;"/>
-#!     <FEAT_COLLAPSED COLLAPSED="1"/>
-#!     <XFORM_ATTR ATTR_NAME="_tmpDir" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="tmpDIR" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="gex_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="lb_method_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="owner" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_matched_records" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="gtf_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="gtf_name" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_duplicateKey" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <OUTPUT_FEAT NAME="&lt;NULL&gt;"/>
-#!     <FEAT_COLLAPSED COLLAPSED="2"/>
-#!     <XFORM_ATTR ATTR_NAME="_tmpDir" IS_USER_CREATED="false" FEAT_INDEX="2" />
-#!     <XFORM_ATTR ATTR_NAME="tmpDIR" IS_USER_CREATED="false" FEAT_INDEX="2" />
-#!     <XFORM_ATTR ATTR_NAME="gex_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="2" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="2" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="2" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="2" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="2" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="2" />
-#!     <XFORM_ATTR ATTR_NAME="lb_method_id" IS_USER_CREATED="false" FEAT_INDEX="2" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="2" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="2" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="2" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="2" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="2" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="2" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="2" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="2" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="2" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="2" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="2" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="2" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="2" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="2" />
-#!     <XFORM_ATTR ATTR_NAME="owner" IS_USER_CREATED="false" FEAT_INDEX="2" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="2" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="2" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="2" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="2" />
-#!     <XFORM_ATTR ATTR_NAME="_matched_records" IS_USER_CREATED="false" FEAT_INDEX="2" />
-#!     <XFORM_ATTR ATTR_NAME="gtf_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="2" />
-#!     <XFORM_ATTR ATTR_NAME="gtf_name" IS_USER_CREATED="false" FEAT_INDEX="2" />
-#!     <XFORM_ATTR ATTR_NAME="_duplicateKey" IS_USER_CREATED="false" FEAT_INDEX="2" />
-#!     <OUTPUT_FEAT NAME="&lt;UNFILTERED&gt;"/>
-#!     <FEAT_COLLAPSED COLLAPSED="3"/>
-#!     <XFORM_ATTR ATTR_NAME="_tmpDir" IS_USER_CREATED="false" FEAT_INDEX="3" />
-#!     <XFORM_ATTR ATTR_NAME="tmpDIR" IS_USER_CREATED="false" FEAT_INDEX="3" />
-#!     <XFORM_ATTR ATTR_NAME="gex_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="3" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="3" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="3" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="3" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="3" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="3" />
-#!     <XFORM_ATTR ATTR_NAME="lb_method_id" IS_USER_CREATED="false" FEAT_INDEX="3" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="3" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="3" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="3" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="3" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="3" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="3" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="3" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="3" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="3" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="3" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="3" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="3" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="3" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="3" />
-#!     <XFORM_ATTR ATTR_NAME="owner" IS_USER_CREATED="false" FEAT_INDEX="3" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="3" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="3" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="3" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="3" />
-#!     <XFORM_ATTR ATTR_NAME="_matched_records" IS_USER_CREATED="false" FEAT_INDEX="3" />
-#!     <XFORM_ATTR ATTR_NAME="gtf_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="3" />
-#!     <XFORM_ATTR ATTR_NAME="gtf_name" IS_USER_CREATED="false" FEAT_INDEX="3" />
-#!     <XFORM_ATTR ATTR_NAME="_duplicateKey" IS_USER_CREATED="false" FEAT_INDEX="3" />
-#!     <OUTPUT_FEAT NAME="0"/>
-#!     <FEAT_COLLAPSED COLLAPSED="4"/>
-#!     <XFORM_ATTR ATTR_NAME="_tmpDir" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="tmpDIR" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="gex_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="lb_method_id" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="owner" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="_matched_records" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="gtf_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="gtf_name" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="_duplicateKey" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <OUTPUT_FEAT NAME="1"/>
-#!     <FEAT_COLLAPSED COLLAPSED="5"/>
-#!     <XFORM_ATTR ATTR_NAME="_tmpDir" IS_USER_CREATED="false" FEAT_INDEX="5" />
-#!     <XFORM_ATTR ATTR_NAME="tmpDIR" IS_USER_CREATED="false" FEAT_INDEX="5" />
-#!     <XFORM_ATTR ATTR_NAME="gex_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="5" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="5" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="5" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="5" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="5" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="5" />
-#!     <XFORM_ATTR ATTR_NAME="lb_method_id" IS_USER_CREATED="false" FEAT_INDEX="5" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="5" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="5" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="5" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="5" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="5" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="5" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="5" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="5" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="5" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="5" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="5" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="5" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="5" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="5" />
-#!     <XFORM_ATTR ATTR_NAME="owner" IS_USER_CREATED="false" FEAT_INDEX="5" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="5" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="5" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="5" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="5" />
-#!     <XFORM_ATTR ATTR_NAME="_matched_records" IS_USER_CREATED="false" FEAT_INDEX="5" />
-#!     <XFORM_ATTR ATTR_NAME="gtf_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="5" />
-#!     <XFORM_ATTR ATTR_NAME="gtf_name" IS_USER_CREATED="false" FEAT_INDEX="5" />
-#!     <XFORM_ATTR ATTR_NAME="_duplicateKey" IS_USER_CREATED="false" FEAT_INDEX="5" />
-#!     <OUTPUT_FEAT NAME="2"/>
-#!     <FEAT_COLLAPSED COLLAPSED="6"/>
-#!     <XFORM_ATTR ATTR_NAME="_tmpDir" IS_USER_CREATED="false" FEAT_INDEX="6" />
-#!     <XFORM_ATTR ATTR_NAME="tmpDIR" IS_USER_CREATED="false" FEAT_INDEX="6" />
-#!     <XFORM_ATTR ATTR_NAME="gex_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="6" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="6" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="6" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="6" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="6" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="6" />
-#!     <XFORM_ATTR ATTR_NAME="lb_method_id" IS_USER_CREATED="false" FEAT_INDEX="6" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="6" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="6" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="6" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="6" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="6" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="6" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="6" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="6" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="6" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="6" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="6" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="6" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="6" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="6" />
-#!     <XFORM_ATTR ATTR_NAME="owner" IS_USER_CREATED="false" FEAT_INDEX="6" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="6" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="6" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="6" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="6" />
-#!     <XFORM_ATTR ATTR_NAME="_matched_records" IS_USER_CREATED="false" FEAT_INDEX="6" />
-#!     <XFORM_ATTR ATTR_NAME="gtf_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="6" />
-#!     <XFORM_ATTR ATTR_NAME="gtf_name" IS_USER_CREATED="false" FEAT_INDEX="6" />
-#!     <XFORM_ATTR ATTR_NAME="_duplicateKey" IS_USER_CREATED="false" FEAT_INDEX="6" />
-#!     <XFORM_PARM PARM_NAME="ATTR_VALUES_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="ATTR_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="ATTR_NAME" PARM_VALUE="_duplicateKey"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="AttributeFilter_2"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="ATTR_VALUES" PARM_VALUE="&lt;lt&gt;EMPTY&lt;gt&gt;,&lt;lt&gt;MISSING&lt;gt&gt;,&lt;lt&gt;NULL&lt;gt&gt;,&lt;lt&gt;UNFILTERED&lt;gt&gt;,0,1,2"/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="138"
-#!   TYPE="AttributeRemover"
-#!   VERSION="1"
-#!   POSITION="8553.09 169.797"
-#!   BOUNDING_RECT="8553.09 169.797 -1 -1"
-#!   ORDER="5e+14"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="15479"
-#! >
-#!     <OUTPUT_FEAT NAME="OUTPUT"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="_tmpDir" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tmpDIR" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gex_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="lb_method_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_matched_records" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gtf_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_PARM PARM_NAME="REMOVE_ATTRS" PARM_VALUE="_duplicateKey,gtf_workspace_id,key,owner"/>
-#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="LIST_ATTRS" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="AttributeRemover_2"/>
-#!     <XFORM_PARM PARM_NAME="PARAMETERS_GROUP" PARM_VALUE=""/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="181"
-#!   TYPE="ParameterFetcher"
-#!   VERSION="4"
-#!   POSITION="7097.96 -151.843"
-#!   BOUNDING_RECT="7097.96 -151.843 -1 -1"
-#!   ORDER="5e+14"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="15479"
-#! >
-#!     <OUTPUT_FEAT NAME="OUTPUT"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="_tmpDir" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tmpDIR" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gex_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="lb_method_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="owner" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_matched_records" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gtf_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gtf_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_duplicateKey" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="ParameterFetcher_3"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="PARAMETERS_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="ATTR_LIST" PARM_VALUE="_duplicateKey {$(duplicateKey)}"/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="202"
-#!   TYPE="SubstringExtractor"
-#!   VERSION="2"
-#!   POSITION="14867 129.607"
-#!   BOUNDING_RECT="14867 129.607 -1 -1"
-#!   ORDER="5e+14"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="15479"
-#! >
-#!     <OUTPUT_FEAT NAME="OUTPUT"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="_tmpDir" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tmpDIR" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gex_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="lb_method_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_matched_records" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gtf_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_PARM PARM_NAME="END" PARM_VALUE="74"/>
-#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="START" PARM_VALUE="0"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="SubstringExtractor"/>
-#!     <XFORM_PARM PARM_NAME="SRC_STRING" PARM_VALUE="&lt;at&gt;Value&lt;openparen&gt;name&lt;closeparen&gt;"/>
-#!     <XFORM_PARM PARM_NAME="PARAMETERS_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="RESULT_ATTR" PARM_VALUE="name"/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="178"
-#!   TYPE="AttributeRenamer"
-#!   VERSION="3"
-#!   POSITION="5834.57 -1166.37"
-#!   BOUNDING_RECT="5834.57 -1166.37 -1 -1"
-#!   ORDER="5e+14"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="15479"
-#! >
-#!     <OUTPUT_FEAT NAME="OUTPUT"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="gtf_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gtf_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="AttributeRenamer"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="ATTR_LIST" PARM_VALUE="workspace_id,gtf_workspace_id,,name,gtf_name,"/>
-#!     <XFORM_PARM PARM_NAME="ATTR_LIST_GROUP" PARM_VALUE=""/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="198"
-#!   TYPE="AttributeRenamer"
-#!   VERSION="3"
-#!   POSITION="-500.467 -436.626"
-#!   BOUNDING_RECT="-500.467 -436.626 -1 -1"
-#!   ORDER="5e+14"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="15479"
-#! >
-#!     <OUTPUT_FEAT NAME="OUTPUT"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="_tmpDir" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tmpDIR" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gex_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="lb_method_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="owner" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="AttributeRenamer_2"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="ATTR_LIST" PARM_VALUE="workspace_id,gex_workspace_id,,label_name,name,"/>
-#!     <XFORM_PARM PARM_NAME="ATTR_LIST_GROUP" PARM_VALUE=""/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="112"
-#!   TYPE="AttributeCreator"
-#!   VERSION="3"
-#!   POSITION="18372.6 120.68"
-#!   BOUNDING_RECT="18372.6 120.68 0 0"
-#!   ORDER="179"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="14235"
-#! >
-#!     <OUTPUT_FEAT NAME="OUTPUT"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_tmpDir" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tmpDIR" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gex_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="lb_method_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_matched_records" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gtf_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_timestamp" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="fme_db_operation" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_PARM PARM_NAME="NULL_ATTR_VALUE" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="NUM_PRIOR_FEATURES" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="AttributeCreator_3"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="MULTI_FEATURE_MODE" PARM_VALUE="NO"/>
-#!     <XFORM_PARM PARM_NAME="NUM_SUBSEQUENT_FEATURES" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="ATTR_LIST" PARM_VALUE="fme_db_operation,INSERT"/>
-#!     <XFORM_PARM PARM_NAME="ATTR_LIST_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="NULL_ATTR_MODE_DISPLAY" PARM_VALUE="&lt;Unused&gt;"/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="115"
-#!   TYPE="AttributeRemover"
-#!   VERSION="1"
-#!   POSITION="8553.09 -878.666"
-#!   BOUNDING_RECT="8553.09 -878.666 -1 -1"
-#!   ORDER="5e+14"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="15479"
-#! >
-#!     <OUTPUT_FEAT NAME="OUTPUT"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="_tmpDir" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tmpDIR" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gex_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="lb_method_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_matched_records" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gtf_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gtf_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_PARM PARM_NAME="REMOVE_ATTRS" PARM_VALUE="_duplicateKey,owner"/>
-#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="LIST_ATTRS" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="AttributeRemover_5"/>
-#!     <XFORM_PARM PARM_NAME="PARAMETERS_GROUP" PARM_VALUE=""/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="208"
-#!   TYPE="AttributeCopier"
-#!   VERSION="4"
-#!   POSITION="16624.4 -1105.02"
-#!   BOUNDING_RECT="16624.4 -1105.02 -1 -1"
-#!   ORDER="5e+14"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="15479"
-#! >
-#!     <OUTPUT_FEAT NAME="OUTPUT"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="_tmpDir" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tmpDIR" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gex_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="lb_method_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_matched_records" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gtf_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="AttributeCopier_2"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="ATTR_LIST" PARM_VALUE="gtf_workspace_id,workspace_id,"/>
-#!     <XFORM_PARM PARM_NAME="ATTR_LIST_GROUP" PARM_VALUE=""/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="212"
-#!   TYPE="AttributeRemover"
-#!   VERSION="1"
-#!   POSITION="13170.5 -919.105"
-#!   BOUNDING_RECT="13170.5 -919.105 -1 -1"
-#!   ORDER="5e+14"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="15479"
-#! >
-#!     <OUTPUT_FEAT NAME="OUTPUT"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="_tmpDir" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tmpDIR" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gex_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="lb_method_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_matched_records" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gtf_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gtf_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_PARM PARM_NAME="REMOVE_ATTRS" PARM_VALUE="name"/>
-#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="LIST_ATTRS" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="AttributeRemover_6"/>
-#!     <XFORM_PARM PARM_NAME="PARAMETERS_GROUP" PARM_VALUE=""/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="209"
-#!   TYPE="AttributeRenamer"
-#!   VERSION="3"
-#!   POSITION="13834.9 -919.105"
-#!   BOUNDING_RECT="13834.9 -919.105 -1 -1"
-#!   ORDER="5e+14"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="15479"
-#! >
-#!     <OUTPUT_FEAT NAME="OUTPUT"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="_tmpDir" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tmpDIR" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gex_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="lb_method_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_matched_records" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gtf_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="AttributeRenamer_4"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="ATTR_LIST" PARM_VALUE="gtf_name,name,"/>
-#!     <XFORM_PARM PARM_NAME="ATTR_LIST_GROUP" PARM_VALUE=""/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="219"
-#!   TYPE="TimeStamper"
-#!   VERSION="0"
-#!   POSITION="10002.1 -2075.75"
-#!   BOUNDING_RECT="10002.1 -2075.75 0 0"
-#!   ORDER="103"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="14235"
-#! >
-#!     <OUTPUT_FEAT NAME="OUTPUT"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="_tmpDir" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tmpDIR" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gex_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="lb_method_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_matched_records" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_timeStamp" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="FMT" PARM_VALUE="^s"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="TimeStamper_2"/>
-#!     <XFORM_PARM PARM_NAME="TIME_ATTR" PARM_VALUE="_timeStamp"/>
-#!     <XFORM_PARM PARM_NAME="PARAMETERS_GROUP" PARM_VALUE=""/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="220"
-#!   TYPE="RandomNumberGenerator"
-#!   VERSION="2"
-#!   POSITION="10598.2 -2081.36"
-#!   BOUNDING_RECT="10598.2 -2081.36 0 0"
-#!   ORDER="104"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="14235"
-#! >
-#!     <OUTPUT_FEAT NAME="OUTPUT"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="_tmpDir" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tmpDIR" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gex_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="lb_method_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_matched_records" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_timeStamp" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_random_number" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <OUTPUT_FEAT NAME="&lt;REJECTED&gt;"/>
-#!     <FEAT_COLLAPSED COLLAPSED="1"/>
-#!     <XFORM_ATTR ATTR_NAME="_tmpDir" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="tmpDIR" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="gex_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="lb_method_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_matched_records" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_timeStamp" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="fme_rejection_code" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_PARM PARM_NAME="PLACES" PARM_VALUE="0"/>
-#!     <XFORM_PARM PARM_NAME="MIN" PARM_VALUE="1000"/>
-#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="RandomNumberGenerator_2"/>
-#!     <XFORM_PARM PARM_NAME="PARAMETERS_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="MAX" PARM_VALUE="9999"/>
-#!     <XFORM_PARM PARM_NAME="RESULT_ATTR" PARM_VALUE="_random_number"/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="221"
-#!   TYPE="StringConcatenator"
-#!   VERSION="6"
-#!   POSITION="11098.1 -2081.36"
-#!   BOUNDING_RECT="11098.1 -2081.36 0 0"
-#!   ORDER="105"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="14235"
-#! >
-#!     <OUTPUT_FEAT NAME="OUTPUT"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="_tmpDir" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tmpDIR" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gex_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="lb_method_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_matched_records" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_timeStamp" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_random_number" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="VAL_ATTR" PARM_VALUE="key"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="StringConcatenator_2"/>
-#!     <XFORM_PARM PARM_NAME="PARM_LINE" PARM_VALUE="&lt;at&gt;Value&lt;openparen&gt;_timeStamp&lt;closeparen&gt;&lt;at&gt;Value&lt;openparen&gt;_random_number&lt;closeparen&gt;"/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="222"
-#!   TYPE="BaseConverter"
-#!   VERSION="1"
-#!   POSITION="12148 -2081.36"
-#!   BOUNDING_RECT="12148 -2081.36 0 0"
-#!   ORDER="107"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="14235"
-#! >
-#!     <OUTPUT_FEAT NAME="OUTPUT"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="_tmpDir" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tmpDIR" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gex_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="lb_method_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_matched_records" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_PARM PARM_NAME="OBASE" PARM_VALUE="10"/>
-#!     <XFORM_PARM PARM_NAME="WIDTH" PARM_VALUE="0"/>
-#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="VAL_ATTR" PARM_VALUE="key"/>
-#!     <XFORM_PARM PARM_NAME="DBASE" PARM_VALUE="32"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="BaseConverter_2"/>
-#!     <XFORM_PARM PARM_NAME="SRC" PARM_VALUE="key"/>
-#!     <XFORM_PARM PARM_NAME="PARAMETERS_GROUP" PARM_VALUE=""/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="223"
-#!   TYPE="AttributeRemover"
-#!   VERSION="0"
-#!   POSITION="11604 -2081.36"
-#!   BOUNDING_RECT="11604 -2081.36 0 0"
-#!   ORDER="106"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="15479"
-#! >
-#!     <OUTPUT_FEAT NAME="OUTPUT"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="_tmpDir" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tmpDIR" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gex_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="lb_method_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_matched_records" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_PARM PARM_NAME="REMOVE_ATTRS" PARM_VALUE="_random_number,_timeStamp"/>
-#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="LIST_ATTRS" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="AttributeRemover_7"/>
-#!     <XFORM_PARM PARM_NAME="PARAMETERS_GROUP" PARM_VALUE=""/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="233"
-#!   TYPE="Tester"
-#!   VERSION="2"
-#!   POSITION="9349.35 -2162.12"
-#!   BOUNDING_RECT="9349.35 -2162.12 -1 -1"
-#!   ORDER="5e+14"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="15479"
-#! >
-#!     <OUTPUT_FEAT NAME="PASSED"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="_tmpDir" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tmpDIR" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gex_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="lb_method_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_matched_records" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <OUTPUT_FEAT NAME="FAILED"/>
-#!     <FEAT_COLLAPSED COLLAPSED="1"/>
-#!     <XFORM_ATTR ATTR_NAME="_tmpDir" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="tmpDIR" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="gex_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="lb_method_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_matched_records" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_PARM PARM_NAME="BOOL_OP" PARM_VALUE="OR"/>
-#!     <XFORM_PARM PARM_NAME="TEST_LIST" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="TEST_DESCRIPTION" PARM_VALUE="&quot;&quot;"/>
-#!     <XFORM_PARM PARM_NAME="COMPOSITE_TEST" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="Tester_4"/>
-#!     <XFORM_PARM PARM_NAME="TEST_CLAUSE" PARM_VALUE="TEST &lt;at&gt;Value&lt;openparen&gt;key&lt;closeparen&gt; = &quot;&quot;"/>
-#!     <XFORM_PARM PARM_NAME="TEST_MODE" PARM_VALUE="Automatic"/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="232"
-#!   TYPE="AttributeRemover"
-#!   VERSION="1"
-#!   POSITION="8501.68 -2071.21"
-#!   BOUNDING_RECT="8501.68 -2071.21 -1 -1"
-#!   ORDER="5e+14"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="15479"
-#! >
-#!     <OUTPUT_FEAT NAME="OUTPUT"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="_tmpDir" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tmpDIR" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gex_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="lb_method_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_matched_records" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_PARM PARM_NAME="REMOVE_ATTRS" PARM_VALUE="owner"/>
-#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="LIST_ATTRS" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="AttributeRemover_9"/>
-#!     <XFORM_PARM PARM_NAME="PARAMETERS_GROUP" PARM_VALUE=""/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="155"
-#!   TYPE="AttributeCopier"
-#!   VERSION="2"
-#!   POSITION="12849.2 -2268.23"
-#!   BOUNDING_RECT="12849.2 -2268.23 0 0"
-#!   ORDER="108"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="15479"
-#! >
-#!     <OUTPUT_FEAT NAME="OUTPUT"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="_tmpDir" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tmpDIR" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gex_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gex_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="lb_method_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_matched_records" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="AttributeCopier"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="ATTR_LIST" PARM_VALUE="gex_name,name"/>
-#!     <XFORM_PARM PARM_NAME="ATTR_LIST_GROUP" PARM_VALUE=""/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="234"
-#!   TYPE="AttributeKeeper"
-#!   VERSION="2"
-#!   POSITION="5809.8 -2584.44"
-#!   BOUNDING_RECT="5809.8 -2584.44 0 0"
-#!   ORDER="166"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="15479"
-#! >
-#!     <OUTPUT_FEAT NAME="OUTPUT"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="KEEP_ATTRS" PARM_VALUE="name"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="AttributeKeeper_3"/>
-#!     <XFORM_PARM PARM_NAME="KEEP_LIST" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="PARAMETERS_GROUP" PARM_VALUE=""/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="170"
-#!   TYPE="PythonCaller"
-#!   VERSION="1"
-#!   POSITION="16240.7 -2272.57"
-#!   BOUNDING_RECT="16240.7 -2272.57 0 0"
-#!   ORDER="156"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="15479"
-#! >
-#!     <OUTPUT_FEAT NAME="OUTPUT"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="_tmpDir" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tmpDIR" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gex_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="lb_method_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_matched_records" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_PARM PARM_NAME="PYTHONSYMBOL" PARM_VALUE="myFunction2"/>
-#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="PYTHONSOURCE" PARM_VALUE="#&lt;space&gt;-*-&lt;space&gt;coding:&lt;space&gt;utf-8&lt;space&gt;-*-&lt;lf&gt;import&lt;space&gt;time&lt;lf&gt;import&lt;space&gt;fmeobjects&lt;lf&gt;&lt;lf&gt;def&lt;space&gt;myFunction2&lt;openparen&gt;object&lt;closeparen&gt;:&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;#&lt;space&gt;Extrait&lt;space&gt;la&lt;space&gt;date&lt;space&gt;et&lt;space&gt;l&lt;apos&gt;heure&lt;space&gt;du&lt;space&gt;jour&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;temps&lt;space&gt;=&lt;space&gt;time.strftime&lt;openparen&gt;&lt;apos&gt;%Y%m%d-%H%M%S&lt;apos&gt;&lt;comma&gt;time.localtime&lt;openparen&gt;&lt;closeparen&gt;&lt;closeparen&gt;&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;#&lt;space&gt;Modifie&lt;space&gt;la&lt;space&gt;valeur&lt;space&gt;de&lt;space&gt;name&lt;space&gt;en&lt;space&gt;suffixant&lt;space&gt;par&lt;space&gt;la&lt;space&gt;date&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;name&lt;space&gt;=&lt;space&gt;object.getAttribute&lt;openparen&gt;&lt;apos&gt;name&lt;apos&gt;&lt;closeparen&gt;&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;object.setAttribute&lt;openparen&gt;&lt;apos&gt;name&lt;apos&gt;&lt;comma&gt;name&lt;space&gt;+&lt;space&gt;&lt;quote&gt;&lt;space&gt;&lt;openparen&gt;import&lt;space&gt;&lt;quote&gt;&lt;space&gt;+&lt;space&gt;temps&lt;space&gt;+&lt;space&gt;&lt;quote&gt;&lt;closeparen&gt;&lt;quote&gt;&lt;closeparen&gt;"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="PythonCaller_2"/>
-#!     <XFORM_PARM PARM_NAME="PARAMETERS_GROUP" PARM_VALUE=""/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="177"
-#!   TYPE="SubstringExtractor"
-#!   VERSION="2"
-#!   POSITION="15641.4 -2272.57"
-#!   BOUNDING_RECT="15641.4 -2272.57 -1 -1"
-#!   ORDER="5e+14"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="15479"
-#! >
-#!     <OUTPUT_FEAT NAME="OUTPUT"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="_tmpDir" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tmpDIR" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gex_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="lb_method_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_matched_records" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_PARM PARM_NAME="END" PARM_VALUE="74"/>
-#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="START" PARM_VALUE="0"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="SubstringExtractor_2"/>
-#!     <XFORM_PARM PARM_NAME="SRC_STRING" PARM_VALUE="&lt;at&gt;Value&lt;openparen&gt;name&lt;closeparen&gt;"/>
-#!     <XFORM_PARM PARM_NAME="PARAMETERS_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="RESULT_ATTR" PARM_VALUE="name"/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="242"
-#!   TYPE="AttributeRemover"
-#!   VERSION="1"
-#!   POSITION="15033.4 -2268.23"
-#!   BOUNDING_RECT="15033.4 -2268.23 -1 -1"
-#!   ORDER="5e+14"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="15479"
-#! >
-#!     <OUTPUT_FEAT NAME="OUTPUT"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="_tmpDir" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tmpDIR" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gex_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="lb_method_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_matched_records" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_PARM PARM_NAME="REMOVE_ATTRS" PARM_VALUE="gex_name,gtf_name"/>
-#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="LIST_ATTRS" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="AttributeRemover_4"/>
-#!     <XFORM_PARM PARM_NAME="PARAMETERS_GROUP" PARM_VALUE=""/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="216"
-#!   TYPE="SQLExecutor"
-#!   VERSION="6"
-#!   POSITION="17438.9 -2646.35"
-#!   BOUNDING_RECT="17438.9 -2646.35 0 0"
-#!   ORDER="5e+14"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="15479"
-#! >
-#!     <OUTPUT_FEAT NAME="RESULT"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="_tmpDir" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tmpDIR" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gex_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gex_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="lb_method_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_matched_records" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <OUTPUT_FEAT NAME="INITIATOR"/>
-#!     <FEAT_COLLAPSED COLLAPSED="1"/>
-#!     <XFORM_ATTR ATTR_NAME="_tmpDir" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="tmpDIR" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="gex_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="gex_name" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="lb_method_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_matched_records" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_PARM PARM_NAME="DB_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="DYNGROUP_0" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="POSTGRES_USER_NAME" PARM_VALUE="$(dbUser)"/>
-#!     <XFORM_PARM PARM_NAME="POSTGRES_HOST" PARM_VALUE="$(dbServer)"/>
-#!     <XFORM_PARM PARM_NAME="POSTGRES_PORT" PARM_VALUE="$(dbPort)"/>
-#!     <XFORM_PARM PARM_NAME="COMBINE_GEOM" PARM_VALUE="Initiator Geometry Only"/>
-#!     <XFORM_PARM PARM_NAME="PARAMETERS_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="SQL_STATEMENT" PARM_VALUE="select&lt;space&gt;nextval&lt;openparen&gt;&lt;apos&gt;s_gtf.seq_common&lt;apos&gt;&lt;closeparen&gt;&lt;space&gt;as&lt;space&gt;workspace_id"/>
-#!     <XFORM_PARM PARM_NAME="POSTGRES_PASSWORD" PARM_VALUE="$(dbPassword)"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="SQLExecutor_3"/>
-#!     <XFORM_PARM PARM_NAME="FORMAT" PARM_VALUE="POSTGRES"/>
-#!     <XFORM_PARM PARM_NAME="POSTGRES_QUERY_FEATURE_TYPES_FOR_MERGE_FILTERS" PARM_VALUE="Yes"/>
-#!     <XFORM_PARM PARM_NAME="EXPOSED_ATTRIBUTE_LIST" PARM_VALUE="workspace_id"/>
-#!     <XFORM_PARM PARM_NAME="DATASET" PARM_VALUE="$(dbDatabase)"/>
-#!     <XFORM_PARM PARM_NAME="COORDSYS" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="FORMAT_PARAMS" PARM_VALUE="POSTGRES_PORT,&quot;OPTIONAL INTEGER&quot;,POSTGRES&lt;space&gt;Port:,POSTGRES_USER_NAME,&quot;OPTIONAL TEXT&quot;,POSTGRES&lt;space&gt;Username:,POSTGRES_HOST,&quot;OPTIONAL TEXT&quot;,POSTGRES&lt;space&gt;Host:,POSTGRES_PASSWORD,&quot;OPTIONAL PASSWORD&quot;,POSTGRES&lt;space&gt;Password:,POSTGRES_QUERY_FEATURE_TYPES_FOR_MERGE_FILTERS,&quot;IGNORE TEXT&quot;,POSTGRES&lt;space&gt;"/>
-#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="COMBINE_ATTRS" PARM_VALUE="Keep Result Attributes if Conflict"/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="245"
-#!   TYPE="AttributeCreator"
-#!   VERSION="3"
-#!   POSITION="18394 -2674.22"
-#!   BOUNDING_RECT="18394 -2674.22 0 0"
-#!   ORDER="179"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="14235"
-#! >
-#!     <OUTPUT_FEAT NAME="OUTPUT"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="_tmpDir" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tmpDIR" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gex_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gex_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="lb_method_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_matched_records" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="fme_db_operation" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_PARM PARM_NAME="NULL_ATTR_VALUE" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="NUM_PRIOR_FEATURES" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="AttributeCreator_4"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="MULTI_FEATURE_MODE" PARM_VALUE="NO"/>
-#!     <XFORM_PARM PARM_NAME="NUM_SUBSEQUENT_FEATURES" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="ATTR_LIST" PARM_VALUE="fme_db_operation,INSERT"/>
-#!     <XFORM_PARM PARM_NAME="ATTR_LIST_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="NULL_ATTR_MODE_DISPLAY" PARM_VALUE="&lt;Unused&gt;"/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="253"
-#!   TYPE="Tester"
-#!   VERSION="2"
-#!   POSITION="4733.96 -1166.37"
-#!   BOUNDING_RECT="4733.96 -1166.37 -1 -1"
-#!   ORDER="5e+14"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="15479"
-#! >
-#!     <OUTPUT_FEAT NAME="PASSED"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="lb_method_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="owner" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <OUTPUT_FEAT NAME="FAILED"/>
-#!     <FEAT_COLLAPSED COLLAPSED="1"/>
-#!     <XFORM_ATTR ATTR_NAME="workspace_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="lb_method_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="owner" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_PARM PARM_NAME="BOOL_OP" PARM_VALUE="OR"/>
-#!     <XFORM_PARM PARM_NAME="TEST_LIST" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="TEST_DESCRIPTION" PARM_VALUE="&quot;&quot;"/>
-#!     <XFORM_PARM PARM_NAME="COMPOSITE_TEST" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="Tester_2"/>
-#!     <XFORM_PARM PARM_NAME="TEST_CLAUSE" PARM_VALUE="TEST &lt;at&gt;Value&lt;openparen&gt;key&lt;closeparen&gt; != &quot;&quot;"/>
-#!     <XFORM_PARM PARM_NAME="TEST_MODE" PARM_VALUE="Automatic"/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="259"
-#!   TYPE="AttributeKeeper"
-#!   VERSION="3"
-#!   POSITION="8553.09 -449.221"
-#!   BOUNDING_RECT="8553.09 -449.221 -1 -1"
-#!   ORDER="5e+14"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="15477"
-#! >
-#!     <OUTPUT_FEAT NAME="OUTPUT"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="KEEP_ATTRS" PARM_VALUE="key,name"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="AttributeKeeper"/>
-#!     <XFORM_PARM PARM_NAME="KEEP_LIST" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="PARAMETERS_GROUP" PARM_VALUE=""/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="261"
-#!   TYPE="AttributeCreator"
-#!   VERSION="7"
-#!   POSITION="9268.54 -449.221"
-#!   BOUNDING_RECT="9268.54 -449.221 -1 -1"
-#!   ORDER="5e+14"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="15477"
-#! >
-#!     <OUTPUT_FEAT NAME="OUTPUT"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="statut" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_PARM PARM_NAME="ATTRIBUTE_HANDLING" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="NULL_ATTR_VALUE" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="NUM_PRIOR_FEATURES" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="AttributeCreator_5"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="MULTI_FEATURE_MODE" PARM_VALUE="NO"/>
-#!     <XFORM_PARM PARM_NAME="NUM_SUBSEQUENT_FEATURES" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="ATTR_LIST" PARM_VALUE="statut,Non&lt;space&gt;mis&lt;space&gt;&lt;u00e0&gt;&lt;space&gt;jour&lt;space&gt;dans&lt;space&gt;GTF"/>
-#!     <XFORM_PARM PARM_NAME="ATTR_LIST_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="NULL_ATTR_MODE_DISPLAY" PARM_VALUE="No Substitution"/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="264"
-#!   TYPE="AttributeKeeper"
-#!   VERSION="3"
-#!   POSITION="19405 -504.172"
-#!   BOUNDING_RECT="19405 -504.172 -1 -1"
-#!   ORDER="5e+14"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="15477"
-#! >
-#!     <OUTPUT_FEAT NAME="OUTPUT"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="KEEP_ATTRS" PARM_VALUE="key,name,workspace_id"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="AttributeKeeper_2"/>
-#!     <XFORM_PARM PARM_NAME="KEEP_LIST" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="PARAMETERS_GROUP" PARM_VALUE=""/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="265"
-#!   TYPE="AttributeCreator"
-#!   VERSION="7"
-#!   POSITION="19987.1 -504.172"
-#!   BOUNDING_RECT="19987.1 -504.172 -1 -1"
-#!   ORDER="5e+14"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="15477"
-#! >
-#!     <OUTPUT_FEAT NAME="OUTPUT"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="statut" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_PARM PARM_NAME="ATTRIBUTE_HANDLING" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="NULL_ATTR_VALUE" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="NUM_PRIOR_FEATURES" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="AttributeCreator_6"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="MULTI_FEATURE_MODE" PARM_VALUE="NO"/>
-#!     <XFORM_PARM PARM_NAME="NUM_SUBSEQUENT_FEATURES" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="ATTR_LIST" PARM_VALUE="statut,Ins&lt;u00e9&gt;r&lt;u00e9&gt;&lt;space&gt;dans&lt;space&gt;GTF"/>
-#!     <XFORM_PARM PARM_NAME="ATTR_LIST_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="NULL_ATTR_MODE_DISPLAY" PARM_VALUE="No Substitution"/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="269"
-#!   TYPE="AttributeKeeper"
-#!   VERSION="3"
-#!   POSITION="19459.1 -1057.72"
-#!   BOUNDING_RECT="19459.1 -1057.72 -1 -1"
-#!   ORDER="5e+14"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="15477"
-#! >
-#!     <OUTPUT_FEAT NAME="OUTPUT"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="KEEP_ATTRS" PARM_VALUE="key,name,workspace_id"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="AttributeKeeper_4"/>
-#!     <XFORM_PARM PARM_NAME="KEEP_LIST" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="PARAMETERS_GROUP" PARM_VALUE=""/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="270"
-#!   TYPE="AttributeCreator"
-#!   VERSION="7"
-#!   POSITION="20041.2 -1057.72"
-#!   BOUNDING_RECT="20041.2 -1057.72 -1 -1"
-#!   ORDER="5e+14"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="15477"
-#! >
-#!     <OUTPUT_FEAT NAME="OUTPUT"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="statut" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_PARM PARM_NAME="ATTRIBUTE_HANDLING" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="NULL_ATTR_VALUE" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="NUM_PRIOR_FEATURES" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="AttributeCreator_7"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="MULTI_FEATURE_MODE" PARM_VALUE="NO"/>
-#!     <XFORM_PARM PARM_NAME="NUM_SUBSEQUENT_FEATURES" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="ATTR_LIST" PARM_VALUE="statut,Mis&lt;space&gt;&lt;u00e0&gt;&lt;space&gt;jour&lt;space&gt;dans&lt;space&gt;GTF"/>
-#!     <XFORM_PARM PARM_NAME="ATTR_LIST_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="NULL_ATTR_MODE_DISPLAY" PARM_VALUE="No Substitution"/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="257"
-#!   TYPE="RandomNumberGenerator"
-#!   VERSION="2"
-#!   POSITION="9705.17 164.19"
-#!   BOUNDING_RECT="9705.17 164.19 0 0"
-#!   ORDER="104"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="15515"
-#! >
-#!     <OUTPUT_FEAT NAME="OUTPUT"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="_tmpDir" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tmpDIR" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gex_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="lb_method_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_matched_records" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gtf_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_timeStamp" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_random_number" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <OUTPUT_FEAT NAME="&lt;REJECTED&gt;"/>
-#!     <FEAT_COLLAPSED COLLAPSED="1"/>
-#!     <XFORM_ATTR ATTR_NAME="_tmpDir" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="tmpDIR" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="gex_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="lb_method_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_matched_records" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="gtf_name" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_timeStamp" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="fme_rejection_code" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_PARM PARM_NAME="PLACES" PARM_VALUE="0"/>
-#!     <XFORM_PARM PARM_NAME="MIN" PARM_VALUE="1000000000"/>
-#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="RandomNumberGenerator_3"/>
-#!     <XFORM_PARM PARM_NAME="PARAMETERS_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="MAX" PARM_VALUE="9999999999"/>
-#!     <XFORM_PARM PARM_NAME="RESULT_ATTR" PARM_VALUE="_random_number"/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="276"
-#!   TYPE="SQLExecutor"
-#!   VERSION="6"
-#!   POSITION="1757.42 277.61"
-#!   BOUNDING_RECT="1757.42 277.61 0 0"
-#!   ORDER="5e+14"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="15477"
-#! >
-#!     <OUTPUT_FEAT NAME="RESULT"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="_tmpDir" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tmpDIR" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gex_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="lb_method_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="owner" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <OUTPUT_FEAT NAME="INITIATOR"/>
-#!     <FEAT_COLLAPSED COLLAPSED="1"/>
-#!     <XFORM_ATTR ATTR_NAME="_tmpDir" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="tmpDIR" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="gex_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="lb_method_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="owner" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_matched_records" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_PARM PARM_NAME="DB_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="DYNGROUP_0" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="POSTGRES_USER_NAME" PARM_VALUE="$(dbUser)"/>
-#!     <XFORM_PARM PARM_NAME="POSTGRES_HOST" PARM_VALUE="$(dbServer)"/>
-#!     <XFORM_PARM PARM_NAME="POSTGRES_PORT" PARM_VALUE="$(dbPort)"/>
-#!     <XFORM_PARM PARM_NAME="COMBINE_GEOM" PARM_VALUE="Initiator Geometry Only"/>
-#!     <XFORM_PARM PARM_NAME="PARAMETERS_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="SQL_STATEMENT" PARM_VALUE="select&lt;space&gt;category_id&lt;space&gt;as&lt;space&gt;category_id&lt;space&gt;from&lt;space&gt;s_gtf.category&lt;space&gt;where&lt;space&gt;name&lt;space&gt;=&lt;space&gt;&lt;apos&gt;&lt;at&gt;Value&lt;openparen&gt;category_name&lt;closeparen&gt;&lt;apos&gt;"/>
-#!     <XFORM_PARM PARM_NAME="POSTGRES_PASSWORD" PARM_VALUE="$(dbPassword)"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="SQLExecutor_4"/>
-#!     <XFORM_PARM PARM_NAME="FORMAT" PARM_VALUE="POSTGRES"/>
-#!     <XFORM_PARM PARM_NAME="POSTGRES_QUERY_FEATURE_TYPES_FOR_MERGE_FILTERS" PARM_VALUE="Yes"/>
-#!     <XFORM_PARM PARM_NAME="EXPOSED_ATTRIBUTE_LIST" PARM_VALUE="category_id"/>
-#!     <XFORM_PARM PARM_NAME="DATASET" PARM_VALUE="$(dbDatabase)"/>
-#!     <XFORM_PARM PARM_NAME="COORDSYS" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="FORMAT_PARAMS" PARM_VALUE="POSTGRES_PASSWORD,&quot;OPTIONAL PASSWORD&quot;,POSTGRES&lt;space&gt;Password:,POSTGRES_HOST,&quot;OPTIONAL TEXT&quot;,POSTGRES&lt;space&gt;Host:,POSTGRES_USER_NAME,&quot;OPTIONAL TEXT&quot;,POSTGRES&lt;space&gt;Username:,POSTGRES_PORT,&quot;OPTIONAL INTEGER&quot;,POSTGRES&lt;space&gt;Port:,POSTGRES_QUERY_FEATURE_TYPES_FOR_MERGE_FILTERS,&quot;IGNORE TEXT&quot;,POSTGRES&lt;space&gt;"/>
-#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="COMBINE_ATTRS" PARM_VALUE="Keep Result Attributes if Conflict"/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="280"
-#!   TYPE="AttributeRemover"
-#!   VERSION="1"
-#!   POSITION="948.26 -236.53"
-#!   BOUNDING_RECT="948.26 -236.53 -1 -1"
-#!   ORDER="5e+14"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="15477"
-#! >
-#!     <OUTPUT_FEAT NAME="OUTPUT"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="_tmpDir" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tmpDIR" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gex_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="lb_method_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="owner" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_PARM PARM_NAME="REMOVE_ATTRS" PARM_VALUE="category_id"/>
-#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="LIST_ATTRS" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="AttributeRemover_10"/>
-#!     <XFORM_PARM PARM_NAME="PARAMETERS_GROUP" PARM_VALUE=""/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="286"
-#!   TYPE="Tester"
-#!   VERSION="2"
-#!   POSITION="2539 -236.53"
-#!   BOUNDING_RECT="2539 -236.53 -1 -1"
-#!   ORDER="5e+14"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="15477"
-#! >
-#!     <OUTPUT_FEAT NAME="PASSED"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="_tmpDir" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tmpDIR" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gex_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="lb_method_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="owner" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_matched_records" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <OUTPUT_FEAT NAME="FAILED"/>
-#!     <FEAT_COLLAPSED COLLAPSED="1"/>
-#!     <XFORM_ATTR ATTR_NAME="_tmpDir" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="tmpDIR" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="gex_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="lb_method_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="owner" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_matched_records" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_PARM PARM_NAME="BOOL_OP" PARM_VALUE="OR"/>
-#!     <XFORM_PARM PARM_NAME="TEST_LIST" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="TEST_DESCRIPTION" PARM_VALUE="&quot;&quot;"/>
-#!     <XFORM_PARM PARM_NAME="COMPOSITE_TEST" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="Tester_7"/>
-#!     <XFORM_PARM PARM_NAME="TEST_CLAUSE" PARM_VALUE="TEST &lt;at&gt;Value&lt;openparen&gt;_matched_records&lt;closeparen&gt; = 0"/>
-#!     <XFORM_PARM PARM_NAME="TEST_MODE" PARM_VALUE="Automatic"/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="287"
-#!   TYPE="SQLExecutor"
-#!   VERSION="6"
-#!   POSITION="3525.38 -208.623"
-#!   BOUNDING_RECT="3525.38 -208.623 0 0"
-#!   ORDER="5e+14"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="15477"
-#! >
-#!     <OUTPUT_FEAT NAME="RESULT"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="_tmpDir" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tmpDIR" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gex_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="lb_method_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="owner" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_matched_records" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <OUTPUT_FEAT NAME="INITIATOR"/>
-#!     <FEAT_COLLAPSED COLLAPSED="1"/>
-#!     <XFORM_ATTR ATTR_NAME="_tmpDir" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="tmpDIR" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="gex_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="lb_method_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="owner" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_matched_records" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_PARM PARM_NAME="DB_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="DYNGROUP_0" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="POSTGRES_USER_NAME" PARM_VALUE="$(dbUser)"/>
-#!     <XFORM_PARM PARM_NAME="POSTGRES_HOST" PARM_VALUE="$(dbServer)"/>
-#!     <XFORM_PARM PARM_NAME="POSTGRES_PORT" PARM_VALUE="$(dbPort)"/>
-#!     <XFORM_PARM PARM_NAME="COMBINE_GEOM" PARM_VALUE="Initiator Geometry Only"/>
-#!     <XFORM_PARM PARM_NAME="PARAMETERS_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="SQL_STATEMENT" PARM_VALUE="select&lt;space&gt;nextval&lt;openparen&gt;&lt;apos&gt;s_gtf.seq_common&lt;apos&gt;&lt;closeparen&gt;&lt;space&gt;as&lt;space&gt;category_id"/>
-#!     <XFORM_PARM PARM_NAME="POSTGRES_PASSWORD" PARM_VALUE="$(dbPassword)"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="SQLExecutor_5"/>
-#!     <XFORM_PARM PARM_NAME="FORMAT" PARM_VALUE="POSTGRES"/>
-#!     <XFORM_PARM PARM_NAME="POSTGRES_QUERY_FEATURE_TYPES_FOR_MERGE_FILTERS" PARM_VALUE="Yes"/>
-#!     <XFORM_PARM PARM_NAME="EXPOSED_ATTRIBUTE_LIST" PARM_VALUE="category_id"/>
-#!     <XFORM_PARM PARM_NAME="DATASET" PARM_VALUE="$(dbDatabase)"/>
-#!     <XFORM_PARM PARM_NAME="COORDSYS" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="FORMAT_PARAMS" PARM_VALUE="POSTGRES_PASSWORD,&quot;OPTIONAL PASSWORD&quot;,POSTGRES&lt;space&gt;Password:,POSTGRES_HOST,&quot;OPTIONAL TEXT&quot;,POSTGRES&lt;space&gt;Host:,POSTGRES_USER_NAME,&quot;OPTIONAL TEXT&quot;,POSTGRES&lt;space&gt;Username:,POSTGRES_PORT,&quot;OPTIONAL INTEGER&quot;,POSTGRES&lt;space&gt;Port:,POSTGRES_QUERY_FEATURE_TYPES_FOR_MERGE_FILTERS,&quot;IGNORE TEXT&quot;,POSTGRES&lt;space&gt;"/>
-#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="COMBINE_ATTRS" PARM_VALUE="Keep Result Attributes if Conflict"/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="291"
-#!   TYPE="AttributeKeeper"
-#!   VERSION="3"
-#!   POSITION="3855.79 -580.552"
-#!   BOUNDING_RECT="3855.79 -580.552 -1 -1"
-#!   ORDER="5e+14"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="15477"
-#! >
-#!     <OUTPUT_FEAT NAME="OUTPUT"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="KEEP_ATTRS" PARM_VALUE="category_id,category_name"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="AttributeKeeper_5"/>
-#!     <XFORM_PARM PARM_NAME="KEEP_LIST" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="PARAMETERS_GROUP" PARM_VALUE=""/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="294"
-#!   TYPE="AttributeRenamer"
-#!   VERSION="3"
-#!   POSITION="4447.84 -580.552"
-#!   BOUNDING_RECT="4447.84 -580.552 -1 -1"
-#!   ORDER="5e+14"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="15477"
-#! >
-#!     <OUTPUT_FEAT NAME="OUTPUT"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="AttributeRenamer_5"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="ATTR_LIST" PARM_VALUE="category_name,name,"/>
-#!     <XFORM_PARM PARM_NAME="ATTR_LIST_GROUP" PARM_VALUE=""/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="299"
-#!   TYPE="Tester"
-#!   VERSION="2"
-#!   POSITION="1590.49 727.28"
-#!   BOUNDING_RECT="1590.49 727.28 -1 -1"
-#!   ORDER="5e+14"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="15477"
-#! >
-#!     <OUTPUT_FEAT NAME="PASSED"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="_tmpDir" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tmpDIR" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gex_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="lb_method_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="owner" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <OUTPUT_FEAT NAME="FAILED"/>
-#!     <FEAT_COLLAPSED COLLAPSED="1"/>
-#!     <XFORM_ATTR ATTR_NAME="_tmpDir" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="tmpDIR" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="gex_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="lb_method_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="owner" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_PARM PARM_NAME="BOOL_OP" PARM_VALUE="OR"/>
-#!     <XFORM_PARM PARM_NAME="TEST_LIST" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="TEST_DESCRIPTION" PARM_VALUE="&quot;&quot;"/>
-#!     <XFORM_PARM PARM_NAME="COMPOSITE_TEST" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="Tester_8"/>
-#!     <XFORM_PARM PARM_NAME="TEST_CLAUSE" PARM_VALUE="TEST &lt;at&gt;Value&lt;openparen&gt;category_name&lt;closeparen&gt; = &quot;&quot;&#10;TEST category_name ATTRIBUTE_VALUE_NULL &quot;&quot;&#10;TEST category_name ATTRIBUTE_IS_EMPTY &quot;&quot;&#10;TEST category_name ATTRIBUTE_IS_MISSING &quot;&quot;"/>
-#!     <XFORM_PARM PARM_NAME="TEST_MODE" PARM_VALUE="Automatic"/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="303"
-#!   TYPE="AttributeCreator"
-#!   VERSION="7"
-#!   POSITION="2643.91 667.28"
-#!   BOUNDING_RECT="2643.91 667.28 -1 -1"
-#!   ORDER="5e+14"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="15477"
-#! >
-#!     <OUTPUT_FEAT NAME="OUTPUT"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="_tmpDir" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tmpDIR" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gex_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="lb_method_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="owner" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_PARM PARM_NAME="ATTRIBUTE_HANDLING" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="NULL_ATTR_VALUE" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="NUM_PRIOR_FEATURES" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="AttributeCreator_8"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="MULTI_FEATURE_MODE" PARM_VALUE="NO"/>
-#!     <XFORM_PARM PARM_NAME="NUM_SUBSEQUENT_FEATURES" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="ATTR_LIST" PARM_VALUE="category_id,&quot;&quot;,category_name,&quot;&quot;"/>
-#!     <XFORM_PARM PARM_NAME="ATTR_LIST_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="NULL_ATTR_MODE_DISPLAY" PARM_VALUE="No Substitution"/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="302"
-#!   TYPE="DuplicateRemover"
-#!   VERSION="3"
-#!   POSITION="2972.12 -362.794"
-#!   BOUNDING_RECT="2972.12 -362.794 -1 -1"
-#!   ORDER="5e+14"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="15515"
-#! >
-#!     <OUTPUT_FEAT NAME="UNIQUE"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="_tmpDir" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tmpDIR" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gex_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="lb_method_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="owner" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_matched_records" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <OUTPUT_FEAT NAME="DUPLICATE"/>
-#!     <FEAT_COLLAPSED COLLAPSED="1"/>
-#!     <XFORM_ATTR ATTR_NAME="_tmpDir" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="tmpDIR" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="gex_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="lb_method_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="owner" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_matched_records" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="KEYATTR" PARM_VALUE="category_name"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="DuplicateRemover"/>
-#!     <XFORM_PARM PARM_NAME="PARAMETERS_GROUP" PARM_VALUE=""/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="288"
-#!   TYPE="TempPathnameCreator"
-#!   VERSION="0"
-#!   POSITION="-4518.2 -72.6751"
-#!   BOUNDING_RECT="-4518.2 -72.6751 -1 -1"
-#!   ORDER="5e+14"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="17292"
-#! >
-#!     <OUTPUT_FEAT NAME="OUTPUT"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="_tmpDir" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="TempPathnameCreator"/>
-#!     <XFORM_PARM PARM_NAME="EXTENSION" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="BASENAME" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="PARAMETER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="PATHNAME_ATTR" PARM_VALUE="_tmpDir"/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="310"
-#!   TYPE="AttributeEncoder"
-#!   VERSION="0"
-#!   POSITION="21321.5 -210.758"
-#!   BOUNDING_RECT="21321.5 -210.758 -1 -1"
-#!   ORDER="5e+14"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="16492"
-#! >
-#!     <OUTPUT_FEAT NAME="OUTPUT"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="_tmpDir" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tmpDIR" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gex_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gex_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="lb_method_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_matched_records" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="fme_db_operation" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gtf_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="fme_where" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gtf_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_timestamp" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_fme_mf_dir_unix" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="DSubform" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="Subform" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="WSubform" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="owner" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="DEST_ENCODING" PARM_VALUE="utf-8"/>
-#!     <XFORM_PARM PARM_NAME="TREAT_AS_BYTES" PARM_VALUE="Honor Encoding"/>
-#!     <XFORM_PARM PARM_NAME="ATTRLIST" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="AttributeEncoder"/>
-#!     <XFORM_PARM PARM_NAME="PARAMETERS_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="ATTRS_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="ATTRCHOICE" PARM_VALUE="All Attributes"/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="313"
-#!   TYPE="TimeStamper"
-#!   VERSION="1"
-#!   POSITION="14913 -57.0006"
-#!   BOUNDING_RECT="14913 -57.0006 -1 -1"
-#!   ORDER="5e+14"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="17292"
-#! >
-#!     <OUTPUT_FEAT NAME="OUTPUT"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="_tmpDir" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tmpDIR" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gex_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="lb_method_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_matched_records" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gtf_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_timestamp" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="FMT" PARM_VALUE="FME Date/Time (^Y^m^d^H^M^S)"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="TimeStamper_3"/>
-#!     <XFORM_PARM PARM_NAME="TIME_ATTR" PARM_VALUE="_timestamp"/>
-#!     <XFORM_PARM PARM_NAME="PARAMETERS_GROUP" PARM_VALUE=""/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="314"
-#!   TYPE="AttributeCreator"
-#!   VERSION="8"
-#!   POSITION="15477.6 -57.0006"
-#!   BOUNDING_RECT="15477.6 -57.0006 -1 -1"
-#!   ORDER="5e+14"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="17292"
-#! >
-#!     <OUTPUT_FEAT NAME="OUTPUT"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_tmpDir" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tmpDIR" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gex_workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="description" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="subscription" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="fmw_file" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="lb_method_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="success_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="failed_action_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="survey" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="legal_terms_conditions" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="usage" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="requirements" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="history" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="last_save_build" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="file_encoding" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="email_template_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="creation_date" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="locked" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="tag" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="category_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_matched_records" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="gtf_name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_timestamp" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="ATTR_TABLE" PARM_VALUE="&quot;&quot; name SET_TO &lt;at&gt;Value&lt;openparen&gt;name&lt;closeparen&gt;&lt;space&gt;&lt;at&gt;Value&lt;openparen&gt;_timestamp&lt;closeparen&gt;"/>
-#!     <XFORM_PARM PARM_NAME="ATTRIBUTE_HANDLING" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="NULL_ATTR_VALUE" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="NUM_PRIOR_FEATURES" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="ATTRIBUTE_GRP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="AttributeCreator_9"/>
-#!     <XFORM_PARM PARM_NAME="MULTI_FEATURE_MODE" PARM_VALUE="NO"/>
-#!     <XFORM_PARM PARM_NAME="NUM_SUBSEQUENT_FEATURES" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="NULL_ATTR_MODE_DISPLAY" PARM_VALUE="No Substitution"/>
-#! </TRANSFORMER>
-#! </TRANSFORMERS>
-#! <FEAT_LINKS>
-#! <FEAT_LINK
-#!   IDENTIFIER="308"
-#!   SOURCE_NODE="2"
-#!   TARGET_NODE="288"
-#!   SOURCE_PORT_DESC="fo 0 CREATED"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="239"
-#!   SOURCE_NODE="130"
-#!   TARGET_NODE="234"
-#!   SOURCE_PORT_DESC="-1"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="254"
-#!   SOURCE_NODE="130"
-#!   TARGET_NODE="253"
-#!   SOURCE_PORT_DESC="-1"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="1"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="281"
-#!   SOURCE_NODE="11"
-#!   TARGET_NODE="280"
-#!   SOURCE_PORT_DESC="fo 0 PASSED"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="159"
-#!   SOURCE_NODE="95"
-#!   TARGET_NODE="173"
-#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="200"
-#!   SOURCE_NODE="105"
-#!   TARGET_NODE="198"
-#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="168"
-#!   SOURCE_NODE="108"
-#!   TARGET_NODE="226"
-#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="116"
-#!   SOURCE_NODE="109"
-#!   TARGET_NODE="112"
-#!   SOURCE_PORT_DESC="fo 0 RESULT"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="120"
-#!   SOURCE_NODE="112"
-#!   TARGET_NODE="108"
-#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="267"
-#!   SOURCE_NODE="112"
-#!   TARGET_NODE="264"
-#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="1"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="213"
-#!   SOURCE_NODE="115"
-#!   TARGET_NODE="212"
-#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="311"
-#!   SOURCE_NODE="118"
-#!   TARGET_NODE="310"
-#!   SOURCE_PORT_DESC="fo 0 RESULT"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="139"
-#!   SOURCE_NODE="137"
-#!   TARGET_NODE="257"
-#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="183"
-#!   SOURCE_NODE="138"
-#!   TARGET_NODE="137"
-#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="145"
-#!   SOURCE_NODE="140"
-#!   TARGET_NODE="144"
-#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="190"
-#!   SOURCE_NODE="142"
-#!   TARGET_NODE="202"
-#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="146"
-#!   SOURCE_NODE="144"
-#!   TARGET_NODE="142"
-#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="197"
-#!   SOURCE_NODE="148"
-#!   TARGET_NODE="184"
-#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
-#!   TARGET_PORT_DESC="fi 1 SUPPLIER"
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="107"
-#!   SOURCE_NODE="150"
-#!   TARGET_NODE="105"
-#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="241"
-#!   SOURCE_NODE="153"
-#!   TARGET_NODE="184"
-#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
-#!   TARGET_PORT_DESC="fi 0 REQUESTOR"
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="154"
-#!   SOURCE_NODE="155"
-#!   TARGET_NODE="153"
-#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="123"
-#!   SOURCE_NODE="160"
-#!   TARGET_NODE="210"
-#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="167"
-#!   SOURCE_NODE="165"
-#!   TARGET_NODE="148"
-#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="249"
-#!   SOURCE_NODE="170"
-#!   TARGET_NODE="216"
-#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
-#!   TARGET_PORT_DESC="fi 0 INITIATOR"
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="161"
-#!   SOURCE_NODE="173"
-#!   TARGET_NODE="160"
-#!   SOURCE_PORT_DESC="fo 0 FRAGMENTS"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="189"
-#!   SOURCE_NODE="177"
-#!   TARGET_NODE="170"
-#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="196"
-#!   SOURCE_NODE="178"
-#!   TARGET_NODE="227"
-#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
-#!   TARGET_PORT_DESC="fi 1 SUPPLIER"
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="186"
-#!   SOURCE_NODE="181"
-#!   TARGET_NODE="176"
-#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="243"
-#!   SOURCE_NODE="184"
-#!   TARGET_NODE="242"
-#!   SOURCE_PORT_DESC="fo 0 MERGED"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="201"
-#!   SOURCE_NODE="198"
-#!   TARGET_NODE="11"
-#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="317"
-#!   SOURCE_NODE="202"
-#!   TARGET_NODE="313"
-#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="211"
-#!   SOURCE_NODE="208"
-#!   TARGET_NODE="284"
-#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="218"
-#!   SOURCE_NODE="209"
-#!   TARGET_NODE="208"
-#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="152"
-#!   SOURCE_NODE="210"
-#!   TARGET_NODE="150"
-#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="217"
-#!   SOURCE_NODE="212"
-#!   TARGET_NODE="209"
-#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="246"
-#!   SOURCE_NODE="216"
-#!   TARGET_NODE="245"
-#!   SOURCE_PORT_DESC="fo 0 RESULT"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="224"
-#!   SOURCE_NODE="219"
-#!   TARGET_NODE="220"
-#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="225"
-#!   SOURCE_NODE="220"
-#!   TARGET_NODE="221"
-#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="228"
-#!   SOURCE_NODE="221"
-#!   TARGET_NODE="223"
-#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="166"
-#!   SOURCE_NODE="222"
-#!   TARGET_NODE="155"
-#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="229"
-#!   SOURCE_NODE="223"
-#!   TARGET_NODE="222"
-#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="256"
-#!   SOURCE_NODE="226"
-#!   TARGET_NODE="230"
-#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="185"
-#!   SOURCE_NODE="227"
-#!   TARGET_NODE="181"
-#!   SOURCE_PORT_DESC="fo 0 MERGED"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="203"
-#!   SOURCE_NODE="230"
-#!   TARGET_NODE="118"
-#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
-#!   TARGET_PORT_DESC="fi 0 INITIATOR"
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="238"
-#!   SOURCE_NODE="232"
-#!   TARGET_NODE="233"
-#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="236"
-#!   SOURCE_NODE="233"
-#!   TARGET_NODE="219"
-#!   SOURCE_PORT_DESC="fo 0 PASSED"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="143"
-#!   SOURCE_NODE="234"
-#!   TARGET_NODE="165"
-#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="195"
-#!   SOURCE_NODE="235"
-#!   TARGET_NODE="178"
-#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="244"
-#!   SOURCE_NODE="242"
-#!   TARGET_NODE="177"
-#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="252"
-#!   SOURCE_NODE="245"
-#!   TARGET_NODE="108"
-#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="274"
-#!   SOURCE_NODE="245"
-#!   TARGET_NODE="264"
-#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="1"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="255"
-#!   SOURCE_NODE="253"
-#!   TARGET_NODE="235"
-#!   SOURCE_PORT_DESC="fo 0 PASSED"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="141"
-#!   SOURCE_NODE="257"
-#!   TARGET_NODE="140"
-#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="262"
-#!   SOURCE_NODE="259"
-#!   TARGET_NODE="261"
-#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="263"
-#!   SOURCE_NODE="261"
-#!   TARGET_NODE="258"
-#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
-#!   TARGET_PORT_DESC="-1"
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="266"
-#!   SOURCE_NODE="264"
-#!   TARGET_NODE="265"
-#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="268"
-#!   SOURCE_NODE="265"
-#!   TARGET_NODE="258"
-#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
-#!   TARGET_PORT_DESC="-1"
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="271"
-#!   SOURCE_NODE="269"
-#!   TARGET_NODE="270"
-#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="273"
-#!   SOURCE_NODE="270"
-#!   TARGET_NODE="258"
-#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
-#!   TARGET_PORT_DESC="-1"
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="278"
-#!   SOURCE_NODE="276"
-#!   TARGET_NODE="227"
-#!   SOURCE_PORT_DESC="fo 0 RESULT"
-#!   TARGET_PORT_DESC="fi 0 REQUESTOR"
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="300"
-#!   SOURCE_NODE="280"
-#!   TARGET_NODE="299"
-#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="207"
-#!   SOURCE_NODE="284"
-#!   TARGET_NODE="108"
-#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="272"
-#!   SOURCE_NODE="284"
-#!   TARGET_NODE="269"
-#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="1"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="306"
-#!   SOURCE_NODE="286"
-#!   TARGET_NODE="302"
-#!   SOURCE_PORT_DESC="fo 0 PASSED"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="292"
-#!   SOURCE_NODE="287"
-#!   TARGET_NODE="291"
-#!   SOURCE_PORT_DESC="fo 0 RESULT"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="293"
-#!   SOURCE_NODE="287"
-#!   TARGET_NODE="227"
-#!   SOURCE_PORT_DESC="fo 0 RESULT"
-#!   TARGET_PORT_DESC="fi 0 REQUESTOR"
-#!   ENABLED="true"
-#!   EXECUTION_IDX="1"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="309"
-#!   SOURCE_NODE="288"
-#!   TARGET_NODE="95"
-#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="295"
-#!   SOURCE_NODE="291"
-#!   TARGET_NODE="294"
-#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="296"
-#!   SOURCE_NODE="294"
-#!   TARGET_NODE="290"
-#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
-#!   TARGET_PORT_DESC="-1"
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="304"
-#!   SOURCE_NODE="299"
-#!   TARGET_NODE="303"
-#!   SOURCE_PORT_DESC="fo 0 PASSED"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="307"
-#!   SOURCE_NODE="302"
-#!   TARGET_NODE="287"
-#!   SOURCE_PORT_DESC="fo 0 UNIQUE"
-#!   TARGET_PORT_DESC="fi 0 INITIATOR"
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="305"
-#!   SOURCE_NODE="303"
-#!   TARGET_NODE="227"
-#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
-#!   TARGET_PORT_DESC="fi 0 REQUESTOR"
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="312"
-#!   SOURCE_NODE="310"
-#!   TARGET_NODE="1"
-#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
-#!   TARGET_PORT_DESC="-1"
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="315"
-#!   SOURCE_NODE="313"
-#!   TARGET_NODE="314"
-#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="316"
-#!   SOURCE_NODE="314"
-#!   TARGET_NODE="109"
-#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
-#!   TARGET_PORT_DESC="fi 0 INITIATOR"
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="251"
-#!   SOURCE_NODE="184"
-#!   TARGET_NODE="216"
-#!   SOURCE_PORT_DESC="fo 1 NOT_MERGED"
-#!   TARGET_PORT_DESC="fi 0 INITIATOR"
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="237"
-#!   SOURCE_NODE="227"
-#!   TARGET_NODE="232"
-#!   SOURCE_PORT_DESC="fo 1 NOT_MERGED"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="240"
-#!   SOURCE_NODE="233"
-#!   TARGET_NODE="155"
-#!   SOURCE_PORT_DESC="fo 1 FAILED"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="277"
-#!   SOURCE_NODE="276"
-#!   TARGET_NODE="286"
-#!   SOURCE_PORT_DESC="fo 1 INITIATOR"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="301"
-#!   SOURCE_NODE="299"
-#!   TARGET_NODE="276"
-#!   SOURCE_PORT_DESC="fo 1 FAILED"
-#!   TARGET_PORT_DESC="fi 0 INITIATOR"
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="158"
-#!   SOURCE_NODE="176"
-#!   TARGET_NODE="138"
-#!   SOURCE_PORT_DESC="fo 4 0"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="260"
-#!   SOURCE_NODE="176"
-#!   TARGET_NODE="259"
-#!   SOURCE_PORT_DESC="fo 5 1"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="204"
-#!   SOURCE_NODE="176"
-#!   TARGET_NODE="115"
-#!   SOURCE_PORT_DESC="fo 6 2"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! </FEAT_LINKS>
-#! <BREAKPOINTS>
-#! </BREAKPOINTS>
-#! <ATTR_LINKS>
-#! </ATTR_LINKS>
-#! <SUBDOCUMENTS>
-#! </SUBDOCUMENTS>
-#! <LOOKUP_TABLES>
-#! </LOOKUP_TABLES>
-#! </WORKSPACE>
-FME_PYTHON_VERSION 27
-GUI IGNORE SourceDataset_POSTGRES_1,POSTGRES_IN_HOST_POSTGRES_1,POSTGRES_IN_PORT_POSTGRES_1,POSTGRES_IN_USER_NAME_POSTGRES_1,POSTGRES_IN_PASSWORD_POSTGRES_1,POSTGRES_IN_FEATURES_PER_FETCH_POSTGRES_1,DestDataset_POSTGRES_2,POSTGRES_OUT_HOST_POSTGRES_2,POSTGRES_OUT_PORT_POSTGRES_2,POSTGRES_OUT_USER_NAME_POSTGRES_2,POSTGRES_OUT_PASSWORD_POSTGRES_2,POSTGRES_OUT_WRITER_MODE_POSTGRES_2,POSTGRES_OUT_START_TRANSACTION_POSTGRES_2,POSTGRES_OUT_TRANSACTION_INTERVAL_POSTGRES_2,POSTGRES_OUT_BULK_COPY_POSTGRES_2,POSTGRES_OUT_BEGIN_SQL_POSTGRES_2,POSTGRES_OUT_END_SQL_POSTGRES_2,DestDataset_POSTGRES_3,POSTGRES_OUT_HOST_POSTGRES_3,POSTGRES_OUT_PORT_POSTGRES_3,POSTGRES_OUT_USER_NAME_POSTGRES_3,POSTGRES_OUT_PASSWORD_POSTGRES_3,POSTGRES_OUT_WRITER_MODE_POSTGRES_3,POSTGRES_OUT_START_TRANSACTION_POSTGRES_3,POSTGRES_OUT_TRANSACTION_INTERVAL_POSTGRES_3,POSTGRES_OUT_BULK_COPY_POSTGRES_3,DestDataset_XML_1,XML_OUT_PRETTY_PRINT_SETTINGS_XML_1,XML_OUT_PRETTY_PRINT_XML_1,XML_OUT_INDENT_SIZE_XML_1,XML_OUT_REPLACE_TABS_WITH_SPACES_XML_1,XML_OUT_XML_WRT_ADV_PARM_XML_1,XML_OUT_XSD_DOC_XML_1,XML_OUT_SUPPRESS_TARGET_NS_XML_1,XML_OUT_TABLE_WRAPPER_PREFIX_XML_1,XML_OUT_TABLE_WRAPPER_SUFFIX_XML_1,XML_OUT_ROW_ID_ATTR_NAME_XML_1,XML_OUT_ROW_ID_PREFIX_XML_1,XML_OUT_APPLY_STYLESHEET_XML_1,XML_OUT_STYLESHEET_RESULT_XML_1,XML_OUT_XML_ROOT_ELEMENT_APPEND_PATH_XML_1,XML_OUT_APPEND_XML_FRAGMENTS_AS_XML_1,XML_OUT_XML_VALIDATION_XML_1,XML_OUT_XSD_VALIDATION_DOCS_XML_1,_TARGET_NS_URI_XML_1,_TARGET_NS_PREFIX_XML_1,_TABLES_ROOT_ELEMENT_XML_1,_XML_NAMESPACE_DECLARATIONS_XML_1,_WRAP_TABLES_XML_1,_SUPPRESS_XML_DOCUMENT_XML_1,_SUPPRESS_XSD_DOCUMENT_XML_1,_GENERATE_ROW_ID_XML_1,_OUTPUT_ENCODING_XML_1
-DEFAULT_MACRO sourceGexFile $(FME_MF_DIR)test_import.gex
-GUI FILENAME_EXISTING sourceGexFile fichier_Export_GTF_(.gex)|*.gex Fichier d'export GTF à importer (.gex) :
-DEFAULT_MACRO idWorkspaceList *
-GUI OPTIONAL TEXT idWorkspaceList Liste des idWorkspace à importer (* pour tous) :
-DEFAULT_MACRO duplicateKey 0
-GUI LOOKUP_CHOICE duplicateKey Importer<space>les<space>projets<space>avec<space>une<space>nouvelle<space>KEY<space>et<space>un<space>nouveau<space>nom,0%Ne<space>pas<space>mettre<space><u00e0><space>jour<space>les<space>projets<space>de<space>m<u00ea>me<space>KEY,1%Mettre<space><u00e0><space>jour<space>les<space>projets<space>de<space>m<u00ea>me<space>KEY,2 Mettre à jour les workspaces de KEY identique ?:
-DEFAULT_MACRO HTML 
-GUI OPTIONAL FILENAME HTML All_Files(*.*)|*.* Rapport HTML :
-DEFAULT_MACRO GTF_CONNECTION_STRING 
-GUI OPTIONAL PASSWORD GTF_CONNECTION_STRING Chaîne de connexion à la base GTF :
-DEFAULT_MACRO GTF_ORDER_ID 1
-GUI OPTIONAL INTEGER GTF_ORDER_ID ID de la demande envoyée par le moteur :
-INCLUDE PYTHON
-def ParamFunc():
-  import fmeobjects
-  import string
-  connection_string = string.split(FME_MacroValues['GTF_CONNECTION_STRING'],',')
-  return connection_string[0]
-value = ParamFunc()
-macroName = 'dbServer'
-if value == None:
-  return { macroName : '' }
-else:
-  return { macroName : str(value) }
-END_INCLUDE
-INCLUDE PYTHON
-def ParamFunc():
-  import fmeobjects
-  import string
-  connection_string = string.split(FME_MacroValues['GTF_CONNECTION_STRING'],',')
-  return connection_string[1]
-value = ParamFunc()
-macroName = 'dbPort'
-if value == None:
-  return { macroName : '' }
-else:
-  return { macroName : str(value) }
-END_INCLUDE
-INCLUDE PYTHON
-def ParamFunc():
-  import fmeobjects
-  import string
-  connection_string = string.split(FME_MacroValues['GTF_CONNECTION_STRING'],',')
-  return connection_string[2]
-value = ParamFunc()
-macroName = 'dbDatabase'
-if value == None:
-  return { macroName : '' }
-else:
-  return { macroName : str(value) }
-END_INCLUDE
-INCLUDE PYTHON
-def ParamFunc():
-  import fmeobjects
-  import string
-  connection_string = string.split(FME_MacroValues['GTF_CONNECTION_STRING'],',')
-  return connection_string[3]
-value = ParamFunc()
-macroName = 'dbUser'
-if value == None:
-  return { macroName : '' }
-else:
-  return { macroName : str(value) }
-END_INCLUDE
-INCLUDE PYTHON
-def ParamFunc():
-  import fmeobjects
-  import string
-  connection_string = string.split(FME_MacroValues['GTF_CONNECTION_STRING'],',')
-  return connection_string[4]
-value = ParamFunc()
-macroName = 'dbPassword'
-if value == None:
-  return { macroName : '' }
-else:
-  return { macroName : str(value) }
-END_INCLUDE
-INCLUDE PYTHON
-def ParamFunc():
-  # Génère un nom de répertoire temporaire unique
-  import uuid
-  import os
-
-  temp = os.environ.get("TEMP")
-  if temp is not None:
-      temp_dir = temp + "\\" + str(uuid.uuid1())
-  else:
-      temp_dir = "c:\\temp\\" + str(uuid.uuid1())
-  return temp_dir + '\\rapport.xml'
-value = ParamFunc()
-macroName = 'xml'
-if value == None:
-  return { macroName : '' }
-else:
-  return { macroName : str(value) }
-END_INCLUDE
-INCLUDE PYTHON
-def ParamFunc():
-  return FME_MacroValues['FME_MF_DIR'] + 'rapport.xslt'
-value = ParamFunc()
-macroName = 'xslt'
-if value == None:
-  return { macroName : '' }
-else:
-  return { macroName : str(value) }
-END_INCLUDE
-INCLUDE [ if {{$(sourceGexFile)} == {}} { puts_real {Parameter 'sourceGexFile' must be given a value.}; exit 1; }; ]
-INCLUDE [ if {{$(duplicateKey)} == {}} { puts_real {Parameter 'duplicateKey' must be given a value.}; exit 1; }; ]
-#! START_HEADER
-#! START_WB_HEADER
-READER_TYPE POSTGRES
-READER_KEYWORD POSTGRES_1
-
-WRITER_TYPE MULTI_WRITER
-MULTI_WRITER_DATASET_ORDER BY_ID
-MULTI_WRITER_FIRST_WRITER_ID 0
-MULTI_WRITER_TYPE{0} POSTGRES
-MULTI_WRITER_KEYWORD{0} POSTGRES_2
-MULTI_WRITER_TYPE{1} POSTGRES
-MULTI_WRITER_KEYWORD{1} POSTGRES_3
-MULTI_WRITER_TYPE{2} XML
-MULTI_WRITER_KEYWORD{2} XML_1
-#! END_WB_HEADER
-
-#! START_WB_HEADER
-MACRO WB_KEYWORD "POSTGRES_1"
-#! END_WB_HEADER
-#! START_SOURCE_HEADER POSTGRES POSTGRES_1
-# The dataset this mapping file was generated from was:
-#! END_SOURCE_HEADER
-#! START_WB_HEADER
-DEFAULT_MACRO SourceDataset
-INCLUDE [ if {{$(SourceDataset)} != ""} {                        \
- puts {DEFAULT_MACRO SourceDataset_POSTGRES_1 $(SourceDataset)}     \
- } ]
-#! END_WB_HEADER
-#! START_SOURCE_HEADER POSTGRES POSTGRES_1
-DEFAULT_MACRO SourceDataset_POSTGRES_1 $(dbDatabase)
-GUI OPTIONAL TEXT SourceDataset_POSTGRES_1 Source PostgreSQL Dataset:
-DEFAULT_MACRO POSTGRES_IN_HOST_POSTGRES_1 $(dbServer)
-POSTGRES_1_HOST "$(POSTGRES_IN_HOST_POSTGRES_1)"
-GUI TEXT POSTGRES_IN_HOST_POSTGRES_1 Host:
-DEFAULT_MACRO POSTGRES_IN_PORT_POSTGRES_1 $(dbPort)
-POSTGRES_1_PORT "$(POSTGRES_IN_PORT_POSTGRES_1)"
-GUI INTEGER POSTGRES_IN_PORT_POSTGRES_1 Port:
-DEFAULT_MACRO POSTGRES_IN_USER_NAME_POSTGRES_1 $(dbUser)
-POSTGRES_1_USER_NAME "$(POSTGRES_IN_USER_NAME_POSTGRES_1)"
-GUI TEXT POSTGRES_IN_USER_NAME_POSTGRES_1 Username:
-DEFAULT_MACRO POSTGRES_IN_PASSWORD_POSTGRES_1 $(dbPassword)
-POSTGRES_1_PASSWORD "$(POSTGRES_IN_PASSWORD_POSTGRES_1)"
-GUI OPTIONAL PASSWORD POSTGRES_IN_PASSWORD_POSTGRES_1 Password:
-DEFAULT_MACRO POSTGRES_IN_FEATURES_PER_FETCH_POSTGRES_1 10000
-GUI FLOAT POSTGRES_IN_FEATURES_PER_FETCH_POSTGRES_1 Number Of Records To Fetch At A Time:
-POSTGRES_1_FEATURES_PER_FETCH $(POSTGRES_IN_FEATURES_PER_FETCH_POSTGRES_1)
-POSTGRES_1_DATASET "$(SourceDataset_POSTGRES_1)"
-#! END_SOURCE_HEADER
-#! START_WB_HEADER
-MACRO WB_KEYWORD "POSTGRES_2"
-#! END_WB_HEADER
-#! START_DEST_HEADER POSTGRES POSTGRES_2
-#! END_DEST_HEADER
-#! START_WB_HEADER
-DEFAULT_MACRO DestDataset
-INCLUDE [ if {"$(DestDataset)" != ""} {                          \
- puts {DEFAULT_MACRO DestDataset_POSTGRES_2 $(DestDataset)}         \
- } ]
-#! END_WB_HEADER
-#! START_DEST_HEADER POSTGRES POSTGRES_2
-DEFAULT_MACRO DestDataset_POSTGRES_2 $(dbDatabase)
-GUI TEXT DestDataset_POSTGRES_2 Database:
-DEFAULT_MACRO POSTGRES_OUT_HOST_POSTGRES_2 $(dbServer)
-POSTGRES_2_HOST "$(POSTGRES_OUT_HOST_POSTGRES_2)"
-GUI TEXT POSTGRES_OUT_HOST_POSTGRES_2 Host:
-DEFAULT_MACRO POSTGRES_OUT_PORT_POSTGRES_2 $(dbPort)
-POSTGRES_2_PORT "$(POSTGRES_OUT_PORT_POSTGRES_2)"
-GUI INTEGER POSTGRES_OUT_PORT_POSTGRES_2 Port:
-DEFAULT_MACRO POSTGRES_OUT_USER_NAME_POSTGRES_2 $(dbUser)
-POSTGRES_2_USER_NAME "$(POSTGRES_OUT_USER_NAME_POSTGRES_2)"
-GUI TEXT POSTGRES_OUT_USER_NAME_POSTGRES_2 Username:
-DEFAULT_MACRO POSTGRES_OUT_PASSWORD_POSTGRES_2 $(dbPassword)
-POSTGRES_2_PASSWORD "$(POSTGRES_OUT_PASSWORD_POSTGRES_2)"
-GUI OPTIONAL PASSWORD POSTGRES_OUT_PASSWORD_POSTGRES_2 Password:
-# ============================================================================
-# Opt in for destination dataset type vs format type validation
-DEFAULT_MACRO POSTGRES_OUT_DESTINATION_DATASETTYPE_VALIDATION_POSTGRES_2 Yes
-POSTGRES_2_DESTINATION_DATASETTYPE_VALIDATION "$(POSTGRES_OUT_DESTINATION_DATASETTYPE_VALIDATION_POSTGRES_2)"
-DEFAULT_MACRO POSTGRES_OUT_WRITER_MODE_POSTGRES_2 INSERT
-GUI CHOICE POSTGRES_OUT_WRITER_MODE_POSTGRES_2 INSERT%UPDATE%DELETE Writer Mode:
-POSTGRES_2_WRITER_MODE $(POSTGRES_OUT_WRITER_MODE_POSTGRES_2)
-DEFAULT_MACRO POSTGRES_OUT_START_TRANSACTION_POSTGRES_2 0
-GUI TEXT POSTGRES_OUT_START_TRANSACTION_POSTGRES_2 Starting Feature:
-POSTGRES_2_START_TRANSACTION $(POSTGRES_OUT_START_TRANSACTION_POSTGRES_2)
-DEFAULT_MACRO POSTGRES_OUT_TRANSACTION_INTERVAL_POSTGRES_2 1000
-GUI TEXT POSTGRES_OUT_TRANSACTION_INTERVAL_POSTGRES_2 Features Per Transaction:
-POSTGRES_2_TRANSACTION_INTERVAL $(POSTGRES_OUT_TRANSACTION_INTERVAL_POSTGRES_2)
-DEFAULT_MACRO POSTGRES_OUT_BULK_COPY_POSTGRES_2 YES
-GUI CHOICE POSTGRES_OUT_BULK_COPY_POSTGRES_2 YES%NO Bulk Copy Insert:
-POSTGRES_2_BULK_COPY $(POSTGRES_OUT_BULK_COPY_POSTGRES_2)
-DEFAULT_MACRO POSTGRES_OUT_BEGIN_SQL_POSTGRES_2 
-GUI OPTIONAL TEXT_EDIT_SQL POSTGRES_OUT_BEGIN_SQL_POSTGRES_2 SQL Statement to Execute Before Translation:
-POSTGRES_2_BEGIN_SQL "$(POSTGRES_OUT_BEGIN_SQL_POSTGRES_2)"
-DEFAULT_MACRO POSTGRES_OUT_END_SQL_POSTGRES_2 
-GUI OPTIONAL TEXT_EDIT_SQL POSTGRES_OUT_END_SQL_POSTGRES_2 SQL Statement to Execute After Translation:
-POSTGRES_2_END_SQL "$(POSTGRES_OUT_END_SQL_POSTGRES_2)"
-POSTGRES_2_DATASET "$(DestDataset_POSTGRES_2)"
-#! END_DEST_HEADER
-#! START_WB_HEADER
-MACRO WB_KEYWORD "POSTGRES_3"
-#! END_WB_HEADER
-#! START_DEST_HEADER POSTGRES POSTGRES_3
-# ============================================================================
-# The following GUI line prompts for a file to be used as the
-# the destination FM0 file.
-# The user input is stored in a macro, which is then used to define
-# the dataset to be written.
-# 20050928: Added default macro for the dest dataset
-#! END_DEST_HEADER
-#! START_WB_HEADER
-DEFAULT_MACRO DestDataset
-INCLUDE [ if {"$(DestDataset)" != ""} {                          \
- puts {DEFAULT_MACRO DestDataset_POSTGRES_3 $(DestDataset)}         \
- } ]
-#! END_WB_HEADER
-#! START_DEST_HEADER POSTGRES POSTGRES_3
-DEFAULT_MACRO DestDataset_POSTGRES_3 $(dbDatabase)
-GUI TEXT DestDataset_POSTGRES_3 Destination PostgreSQL Dataset:
-DEFAULT_MACRO POSTGRES_OUT_HOST_POSTGRES_3 $(dbServer)
-POSTGRES_3_HOST "$(POSTGRES_OUT_HOST_POSTGRES_3)"
-GUI TEXT POSTGRES_OUT_HOST_POSTGRES_3 Host:
-DEFAULT_MACRO POSTGRES_OUT_PORT_POSTGRES_3 $(dbPort)
-POSTGRES_3_PORT "$(POSTGRES_OUT_PORT_POSTGRES_3)"
-GUI OPTIONAL INTEGER POSTGRES_OUT_PORT_POSTGRES_3 Port:
-DEFAULT_MACRO POSTGRES_OUT_USER_NAME_POSTGRES_3 $(dbUser)
-POSTGRES_3_USER_NAME "$(POSTGRES_OUT_USER_NAME_POSTGRES_3)"
-GUI TEXT POSTGRES_OUT_USER_NAME_POSTGRES_3 Username:
-DEFAULT_MACRO POSTGRES_OUT_PASSWORD_POSTGRES_3 $(dbPassword)
-POSTGRES_3_PASSWORD "$(POSTGRES_OUT_PASSWORD_POSTGRES_3)"
-GUI OPTIONAL PASSWORD POSTGRES_OUT_PASSWORD_POSTGRES_3 Password:
-DEFAULT_MACRO POSTGRES_OUT_WRITER_MODE_POSTGRES_3 INSERT
-GUI CHOICE POSTGRES_OUT_WRITER_MODE_POSTGRES_3 INSERT%UPDATE%DELETE Writer Mode:
-POSTGRES_3_WRITER_MODE $(POSTGRES_OUT_WRITER_MODE_POSTGRES_3)
-DEFAULT_MACRO POSTGRES_OUT_START_TRANSACTION_POSTGRES_3 0
-GUI TEXT POSTGRES_OUT_START_TRANSACTION_POSTGRES_3 Starting Feature:
-POSTGRES_3_START_TRANSACTION $(POSTGRES_OUT_START_TRANSACTION_POSTGRES_3)
-DEFAULT_MACRO POSTGRES_OUT_TRANSACTION_INTERVAL_POSTGRES_3 1000
-GUI TEXT POSTGRES_OUT_TRANSACTION_INTERVAL_POSTGRES_3 Features Per Transaction:
-POSTGRES_3_TRANSACTION_INTERVAL $(POSTGRES_OUT_TRANSACTION_INTERVAL_POSTGRES_3)
-DEFAULT_MACRO POSTGRES_OUT_BULK_COPY_POSTGRES_3 YES
-GUI CHOICE POSTGRES_OUT_BULK_COPY_POSTGRES_3 YES%NO Bulk COPY Insert:
-POSTGRES_3_BULK_COPY $(POSTGRES_OUT_BULK_COPY_POSTGRES_3)
-POSTGRES_3_DATASET "$(DestDataset_POSTGRES_3)"
-#! END_DEST_HEADER
-#! START_WB_HEADER
-MACRO WB_KEYWORD "XML_1"
-#! END_WB_HEADER
-#! START_DEST_HEADER XML XML_1
-#! END_DEST_HEADER
-#! START_WB_HEADER
-DEFAULT_MACRO DestDataset
-INCLUDE [ if {"$(DestDataset)" != ""} {                          \
- puts {DEFAULT_MACRO DestDataset_XML_1 $(DestDataset)}         \
- } ]
-#! END_WB_HEADER
-#! START_DEST_HEADER XML XML_1
-DEFAULT_MACRO DestDataset_XML_1 $(xml)
-GUI FILENAME DestDataset_XML_1 XML_Files(*)|* Destination XML (Extensible Markup Language) File:
-# ============================================================================
-# The WRITER_MODE keyword sets the XML Writer's mode. Valid values are
-# 'TABLES_ATTRIBUTES_ONLY', 'TABLES', and 'XFMAP'
-#
-# TABLES_ATTRIBUTES_ONLY: This writes out the non-geometrical
-# attributes of features into an XML dataset.
-#
-# TABLES and XFMAP: Are not implemented yet.
-DEFAULT_MACRO _WRITER_MODE_XML_1 TABLES_ATTRIBUTES_ONLY
-XML_1_WRITER_MODE $(_WRITER_MODE_XML_1)
-# ============================================================================
-GUI DISCLOSUREGROUP XML_OUT_PRETTY_PRINT_SETTINGS_XML_1 PRETTY_PRINT%INDENT_SIZE%REPLACE_TABS_WITH_SPACES Pretty Printing
-DEFAULT_MACRO XML_OUT_PRETTY_PRINT_XML_1 No
-XML_1_PRETTY_PRINT "$(XML_OUT_PRETTY_PRINT_XML_1)"
-GUI OPTIONAL CHOICE XML_OUT_PRETTY_PRINT_XML_1 Yes%No Pretty Print:
-DEFAULT_MACRO XML_OUT_INDENT_SIZE_XML_1 0
-XML_1_INDENT_SIZE "$(XML_OUT_INDENT_SIZE_XML_1)"
-GUI OPTIONAL CHOICE XML_OUT_INDENT_SIZE_XML_1 0%1%2%3%4%5%6%7%8%9 Indent Size:
-DEFAULT_MACRO XML_OUT_REPLACE_TABS_WITH_SPACES_XML_1 No
-XML_1_REPLACE_TABS_WITH_SPACES "$(XML_OUT_REPLACE_TABS_WITH_SPACES_XML_1)"
-GUI OPTIONAL CHOICE XML_OUT_REPLACE_TABS_WITH_SPACES_XML_1 Yes%No Replace Tabs with Spaces:
-GUI DISCLOSUREGROUP XML_OUT_XML_WRT_ADV_PARM_XML_1 XSD_DOC%SUPPRESS_TARGET_NS%TABLE_WRAPPER_PREFIX%TABLE_WRAPPER_SUFFIX%ROW_ID_ATTR_NAME%ROW_ID_PREFIX%APPLY_STYLESHEET%STYLESHEET_RESULT%XML_ROOT_ELEMENT_APPEND_PATH%APPEND_XML_FRAGMENTS_AS%XML_VALIDATION%XSD_VALIDATION_DOCS Advanced
-DEFAULT_MACRO XML_OUT_XSD_DOC_XML_1 
-XML_1_XSD_DOC "$(XML_OUT_XSD_DOC_XML_1)"
-GUI OPTIONAL FILENAME XML_OUT_XSD_DOC_XML_1 XML_Schema_File(*.xsd)|*.xsd|All_Files(*.*)|*.* XML Schema Document:
-DEFAULT_MACRO XML_OUT_SUPPRESS_TARGET_NS_XML_1 yes
-XML_1_SUPPRESS_TARGET_NS "$(XML_OUT_SUPPRESS_TARGET_NS_XML_1)"
-GUI CHOICE XML_OUT_SUPPRESS_TARGET_NS_XML_1 yes%no Suppress Target Namespace:
-DEFAULT_MACRO XML_OUT_TABLE_WRAPPER_PREFIX_XML_1 
-XML_1_TABLE_WRAPPER_PREFIX "$(XML_OUT_TABLE_WRAPPER_PREFIX_XML_1)"
-GUI OPTIONAL TEXT XML_OUT_TABLE_WRAPPER_PREFIX_XML_1 Table Wrap Prefix:
-DEFAULT_MACRO XML_OUT_TABLE_WRAPPER_SUFFIX_XML_1 
-XML_1_TABLE_WRAPPER_SUFFIX "$(XML_OUT_TABLE_WRAPPER_SUFFIX_XML_1)"
-GUI OPTIONAL TEXT XML_OUT_TABLE_WRAPPER_SUFFIX_XML_1 Table Wrap Suffix:
-DEFAULT_MACRO XML_OUT_ROW_ID_ATTR_NAME_XML_1 
-XML_1_ROW_ID_ATTR_NAME "$(XML_OUT_ROW_ID_ATTR_NAME_XML_1)"
-GUI OPTIONAL TEXT XML_OUT_ROW_ID_ATTR_NAME_XML_1 Row ID Attribute Name:
-DEFAULT_MACRO XML_OUT_ROW_ID_PREFIX_XML_1 
-XML_1_ROW_ID_PREFIX "$(XML_OUT_ROW_ID_PREFIX_XML_1)"
-GUI OPTIONAL TEXT XML_OUT_ROW_ID_PREFIX_XML_1 Row ID Prefix:
-DEFAULT_MACRO XML_OUT_APPLY_STYLESHEET_XML_1 $(xslt)
-XML_1_APPLY_STYLESHEET "$(XML_OUT_APPLY_STYLESHEET_XML_1)"
-GUI OPTIONAL FILENAME_MUSTEXIST XML_OUT_APPLY_STYLESHEET_XML_1 XSLT_Stylesheet_Files(*.xslt)|*.xslt|All_Files(*.*)|*.* XSLT Style Sheet to Apply:
-DEFAULT_MACRO XML_OUT_STYLESHEET_RESULT_XML_1 $(HTML)
-XML_1_STYLESHEET_RESULT "$(XML_OUT_STYLESHEET_RESULT_XML_1)"
-GUI OPTIONAL FILENAME XML_OUT_STYLESHEET_RESULT_XML_1 All_Files(*.*)|*.* Style Sheet File to Write:
-DEFAULT_MACRO XML_OUT_XML_ROOT_ELEMENT_APPEND_PATH_XML_1 
-XML_1_XML_ROOT_ELEMENT_APPEND_PATH "$(XML_OUT_XML_ROOT_ELEMENT_APPEND_PATH_XML_1)"
-GUI OPTIONAL TEXT_EDIT XML_OUT_XML_ROOT_ELEMENT_APPEND_PATH_XML_1 XML_ROOT_ELEMENT Append Path:
-DEFAULT_MACRO XML_OUT_APPEND_XML_FRAGMENTS_AS_XML_1 SUCCEEDING_CHILDREN
-XML_1_APPEND_XML_FRAGMENTS_AS "$(XML_OUT_APPEND_XML_FRAGMENTS_AS_XML_1)"
-GUI LOOKUP_CHOICE XML_OUT_APPEND_XML_FRAGMENTS_AS_XML_1 "Preceding Children",PRECEDING_CHILDREN%"Succeeding Children",SUCCEEDING_CHILDREN%"Preceding Siblings",PRECEDING_SIBLINGS%"Succeeding Siblings",SUCCEEDING_SIBLINGS Append XML_FRAGMENTs As:
-DEFAULT_MACRO XML_OUT_XML_VALIDATION_XML_1 No
-XML_1_XML_VALIDATION "$(XML_OUT_XML_VALIDATION_XML_1)"
-GUI ACTIVECHOICE XML_OUT_XML_VALIDATION_XML_1 Yes%No,XML_OUT_XSD_VALIDATION_DOCS XML Schema Validation:
-DEFAULT_MACRO XML_OUT_XSD_VALIDATION_DOCS_XML_1 <Unused>
-XML_1_XSD_VALIDATION_DOCS "$(XML_OUT_XSD_VALIDATION_DOCS_XML_1)"
-GUI OPTIONAL MULTIFILE XML_OUT_XSD_VALIDATION_DOCS_XML_1 XML_Schema_File(*.xsd)|*.xsd|All_Files(*.*)|*.* XML Schema Validation Document:
-# ============================================================================
-# Opt in for destination dataset type vs format type validation
-DEFAULT_MACRO XML_OUT_DESTINATION_DATASETTYPE_VALIDATION_XML_1 Yes
-XML_1_DESTINATION_DATASETTYPE_VALIDATION "$(XML_OUT_DESTINATION_DATASETTYPE_VALIDATION_XML_1)"
-DEFAULT_MACRO XML_OUT_COORDINATE_SYSTEM_GRANULARITY_XML_1 C:\TEMP\rapport_import.xml
-XML_1_COORDINATE_SYSTEM_GRANULARITY "$(XML_OUT_COORDINATE_SYSTEM_GRANULARITY_XML_1)"
-DEFAULT_MACRO _TARGET_NS_URI_XML_1 
-GUI OPTIONAL TEXT _TARGET_NS_URI_XML_1 Target Namespace URI:
-XML_1_TARGET_NS_URI $(_TARGET_NS_URI_XML_1)
-DEFAULT_MACRO _TARGET_NS_PREFIX_XML_1 
-GUI OPTIONAL TEXT _TARGET_NS_PREFIX_XML_1 Target Namespace Prefix:
-XML_1_TARGET_NS_PREFIX $(_TARGET_NS_PREFIX_XML_1)
-DEFAULT_MACRO _TABLES_ROOT_ELEMENT_XML_1 
-GUI OPTIONAL TEXT _TABLES_ROOT_ELEMENT_XML_1 Tables Root Element Name:
-XML_1_TABLES_ROOT_ELEMENT $(_TABLES_ROOT_ELEMENT_XML_1)
-DEFAULT_MACRO _XML_NAMESPACE_DECLARATIONS_XML_1 
-GUI OPTIONAL STRING_ENCODED _XML_NAMESPACE_DECLARATIONS_XML_1 XML Namespace Declarations:
-XML_1_XML_NAMESPACE_DECLARATIONS $(_XML_NAMESPACE_DECLARATIONS_XML_1)
-DEFAULT_MACRO _WRAP_TABLES_XML_1 yes
-GUI OPTIONAL CHOICE _WRAP_TABLES_XML_1 yes%no Wrap Table Elements:
-XML_1_WRAP_TABLES $(_WRAP_TABLES_XML_1)
-DEFAULT_MACRO _SUPPRESS_XML_DOCUMENT_XML_1 no
-GUI CHOICE _SUPPRESS_XML_DOCUMENT_XML_1 yes%no Suppress XML output:
-XML_1_SUPPRESS_XML_DOCUMENT $(_SUPPRESS_XML_DOCUMENT_XML_1)
-DEFAULT_MACRO _SUPPRESS_XSD_DOCUMENT_XML_1 no
-GUI CHOICE _SUPPRESS_XSD_DOCUMENT_XML_1 yes%no Suppress XSD output:
-XML_1_SUPPRESS_XSD_DOCUMENT $(_SUPPRESS_XSD_DOCUMENT_XML_1)
-DEFAULT_MACRO _GENERATE_ROW_ID_XML_1 no
-GUI CHOICE _GENERATE_ROW_ID_XML_1 yes%no Generate Row ID Attributes:
-XML_1_GENERATE_ROW_ID $(_GENERATE_ROW_ID_XML_1)
-DEFAULT_MACRO _OUTPUT_ENCODING_XML_1 utf-8
-GUI OPTIONAL STRING_OR_ENCODING _OUTPUT_ENCODING_XML_1 UTF-8%UTF-16LE%UTF-16BE%SYSTEM%BIG5%SJIS%CP437%CP708%CP720%CP737%CP775%CP850%CP852%CP855%CP857%CP860%CP861%CP862%CP863%CP864%CP865%CP866%CP869%CP932%CP936%CP950%CP1250%CP1251%CP1252%CP1253%CP1254%CP1255%CP1256%CP1257%CP1258%ISO8859-1%ISO8859-2%ISO8859-3%ISO8859-4%ISO8859-5%ISO8859-6%ISO8859-7%ISO8859-8%ISO8859-9%ISO8859-13%ISO8859-15 Output Dataset Encoding:
-XML_1_OUTPUT_ENCODING $(_OUTPUT_ENCODING_XML_1)
-XML_1_DATASET "$(DestDataset_XML_1)"
-#! END_DEST_HEADER
-#! START_WB_HEADER
-#! END_WB_HEADER
-
-#! END_HEADER
-
-LOG_FILENAME "$(FME_MF_DIR)importv3.log"
-LOG_APPEND NO
-LOG_MAX_FEATURES 200
-LOG_MAX_RECORDED_FEATURES 200
-FME_REPROJECTION_ENGINE FME
-FME_IMPLICIT_CSMAP_REPROJECTION_MODE Datum
-FME_GEOMETRY_HANDLING Enhanced
-FME_STROKE_MAX_DEVIATION 0
-MAPPING_FILE_ID Import<space>GTF
-LOG_FILTER_MASK -1
-DEFAULT_MACRO DATASET_KEYWORD_POSTGRES_1 POSTGRES_1
-DEFAULT_MACRO DATASET_KEYWORD_POSTGRES_2 POSTGRES_2
-DEFAULT_MACRO DATASET_KEYWORD_POSTGRES_3 POSTGRES_3
-DEFAULT_MACRO DATASET_KEYWORD_XML_1 XML_1
-FME_PASSWORD_PARAMETER_LIST GTF_CONNECTION_STRING
-# -------------------------------------------------------------------------
-
-POSTGRES_1_READER_META_ATTRIBUTES fme_feature_type
-
-# -------------------------------------------------------------------------
-
-MULTI_READER_CONTINUE_ON_READER_FAILURE No
-
-# -------------------------------------------------------------------------
-
-MACRO WORKSPACE_NAME importv3
-MACRO FME_VIEWER_APP fmedatainspector
-# -------------------------------------------------------------------------
-POSTGRES_1_DEF s_gtf.workspace   postgres_type                postgres_none   postgres_sql_where_clause    ""   postgres_sql_statement       ""   workspace_id                 int4,PRIKEY   name                         varchar(100),BTREE   description                  text   subscription                 bool   fmw_file                     varchar(150)   category_id                  int4,BTREE   lb_method_id                 int4   success_action_id            int4   failed_action_id             int4   survey                       bool   form_type                    varchar(10)   legal_terms_conditions       text   usage                        text   requirements                 text   history                      text   last_save_date               timestamp   last_save_build              varchar(80)   file_encoding                varchar(80)   title                        varchar(80)   key                          varchar(80)   email_template_id            int4   owner                        int4   creation_date                date   locked                       bool   tag                          varchar(100)
-# -------------------------------------------------------------------------
-
-FACTORY_DEF * RoutingFactory   FACTORY_NAME "Router and Unexpected Input Remover"   COMMAND_PARM_EVALUATION SINGLE_PASS   MULTI_READER_KEYWORD POSTGRES_1   INPUT FEATURE_TYPE *    ROUTE POSTGRES POSTGRES_1::s_gtf.workspace TO FME_GENERIC ::s_gtf.workspace ALIAS_GEOMETRY    MERGE_INPUT Yes   OUTPUT ROUTED FEATURE_TYPE *
-POSTGRES_1_MERGE_DEF POSTGRES_1::s_gtf.workspace EXACT s_gtf.workspace
-# -------------------------------------------------------------------------
-
-FACTORY_DEF * TeeFactory    FACTORY_NAME "s_gtf.workspace (POSTGRES_1) Splitter"    INPUT FEATURE_TYPE s_gtf.workspace    OUTPUT FEATURE_TYPE s_gtf.workspace_POSTGRES_1_0_yiNk/2jyS1o=    OUTPUT FEATURE_TYPE s_gtf.workspace_POSTGRES_1_1_kQA9HcoEkYM=
-DEFAULT_MACRO WB_CURRENT_CONTEXT
-# -------------------------------------------------------------------------
-
-Tcl2 proc Creator_3_CoordSysRemover {} {   global FME_CoordSys;   set FME_CoordSys {}; }
-MACRO Creator_3_XML     NOT_ACTIVATED
-MACRO Creator_3_CLASSIC NOT_ACTIVATED
-MACRO Creator_3_2D3D    2D_GEOMETRY
-MACRO Creator_3_COORDS  <Unused>
-INCLUDE [ if { {Geometry Object} == {Geometry Object} } {            puts {MACRO Creator_3_XML *} } ]
-INCLUDE [ if { {Geometry Object} == {2D Coordinate List} } {            puts {MACRO Creator_3_2D3D 2D_GEOMETRY};            puts {MACRO Creator_3_CLASSIC *} } ]
-INCLUDE [ if { {Geometry Object} == {3D Coordinate List} } {            puts {MACRO Creator_3_2D3D 3D_GEOMETRY};            puts {MACRO Creator_3_CLASSIC *} } ]
-INCLUDE [ if { {Geometry Object} == {2D Min/Max Box} } {            set comment {                We need to turn the COORDS which are                    minX minY maxX maxY                into a full polygon list of coordinates            };            set splitCoords [split [string trim {<Unused>}]];            if { [llength $splitCoords] > 4} {               set trimmedCoords {};               foreach item $splitCoords { if { $item != {} } {lappend trimmedCoords $item} };               set splitCoords $trimmedCoords;            };            if { [llength $splitCoords] != 4 } {                error {Creator_3: Coordinate list is expected to be a space delimited list of four numbers as 'minx miny maxx maxy' - `<Unused>' is invalid};            };            set minX [lindex $splitCoords 0];            set minY [lindex $splitCoords 1];            set maxX [lindex $splitCoords 2];            set maxY [lindex $splitCoords 3];            puts "MACRO Creator_3_COORDS $minX $minY $minX $maxY $maxX $maxY $maxX $minY $minX $minY";            puts {MACRO Creator_3_2D3D 2D_GEOMETRY};            puts {MACRO Creator_3_CLASSIC *} } ]
-FACTORY_DEF $(Creator_3_XML) CreationFactory    FACTORY_NAME Creator_3_XML_Creator    CREATE_AT_END no    OUTPUT FEATURE_TYPE _____CREATED______        @Geometry(FROM_ENCODED_STRING,<lt>?xml<space>version=<quote>1.0<quote><space>encoding=<quote>US_ASCII<quote><space>standalone=<quote>no<quote><space>?<gt><lt>geometry<space>dimension=<quote>2<quote><gt><lt>null<solidus><gt><lt><solidus>geometry<gt>)
-FACTORY_DEF $(Creator_3_CLASSIC) CreationFactory    FACTORY_NAME Creator_3_CLASSIC_Creator    $(Creator_3_2D3D) $(Creator_3_COORDS)    CREATE_AT_END no    OUTPUT FEATURE_TYPE _____CREATED______
-FACTORY_DEF * TeeFactory    FACTORY_NAME Creator_3_Cloner    INPUT FEATURE_TYPE _____CREATED______    NUMBER_OF_COPIES 1    OUTPUT FEATURE_TYPE Creator_3_CREATED        @Tcl2(Creator_3_CoordSysRemover)        @CoordSys()        fme_feature_type Creator_3
-
-FACTORY_DEF * BranchingFactory   FACTORY_NAME "Creator_3_CREATED Brancher -1 308"   INPUT FEATURE_TYPE Creator_3_CREATED   TARGET_FACTORY "$(WB_CURRENT_CONTEXT)_CREATOR_BRANCH_TARGET"   OUTPUT PASSED FEATURE_TYPE *     @RemoveAttributes("Creator_3_CREATED Brancher -1 308".BranchingFactory.Count)
-# -------------------------------------------------------------------------
-FACTORY_DEF * TeeFactory   FACTORY_NAME "$(WB_CURRENT_CONTEXT)_CREATOR_BRANCH_TARGET"   INPUT FEATURE_TYPE *  OUTPUT FEATURE_TYPE *
-# -------------------------------------------------------------------------
-
-# On translation startup, prep the temporary directory that this instance of the
-# xformer will populate with its temporary files.  We'll do this by asking for a
-# temporary filename, and then instead of using it as a file, we'll add our UUID to
-# it to make a super unique name, which will become the directory we'll use for all
-# the temp files we hand out.
-# And we'll set up to have the END_TCL delete that entire directory when we shut down.
-# To do that, we'll use the "environment" to hold our master subidirectory, keyed by
-# our UUID as the environment variable name.  That is the only way to pass information
-# from @Tcl2 to FME_END_TCL (via the "env" variable, because they use different Tcl
-# interpretters)
-
-Tcl2 set sampleTempFile [FME_TempFilename];      set ourTempDir {};      append ourTempDir $sampleTempFile {TempPathnameCreator_85b6110c_3873_4f51_be19_38fbb3961de00};      file mkdir $ourTempDir;      set env(TempPathnameCreator_85b6110c_3873_4f51_be19_38fbb3961de00_dir) $ourTempDir;      set env(TempPathnameCreator_85b6110c_3873_4f51_be19_38fbb3961de00_file) $sampleTempFile;      set gNumTempFilesHandedOut 0;
-
-# Cleanup time. Remove the directory this transformer was using for its temp files, as well as the
-# original temp file that was created as our "seed" to get us a unique starting point.
-
-FME_END_TCL file delete -force $env(TempPathnameCreator_85b6110c_3873_4f51_be19_38fbb3961de00_dir) $env(TempPathnameCreator_85b6110c_3873_4f51_be19_38fbb3961de00_file) ;      unset env(TempPathnameCreator_85b6110c_3873_4f51_be19_38fbb3961de00_dir);      unset env(TempPathnameCreator_85b6110c_3873_4f51_be19_38fbb3961de00_file);
-# Actually create and return a well formed filename that is guaranteed not to be there.
-# We know we're working inside a directory unique to our instance of the transformer.
-# So we can just increment serially within there to be sure we're not making a previously existing file
-# We need to also provide a default for the filename base if they didn't give us one (we'll
-# use the XFORMER_NAME), and take care to handle a no-extension-desired situation as well as
-# a situation where the extension started with a .
-
-Tcl2 proc TempPathnameCreator_makeTemp {baseName extension} {      global env;      global gNumTempFilesHandedOut;      if { [string length $extension ] == 0 } {          set extensionSep {};      } elseif { [string index $extension 0] == {.} } {          set extensionSep {};      } else {          set extensionSep {.};      };      if { $baseName == {} } {          set baseName {TempPathnameCreator};      };      set curClock [clock clicks];      set last7ClockDigits [string range $curClock end-6 end];      append aGoodTempFile $env(TempPathnameCreator_85b6110c_3873_4f51_be19_38fbb3961de00_dir) [file separator] [FME_DecodeText $baseName] {_}                           $last7ClockDigits {_} $gNumTempFilesHandedOut                           $extensionSep [FME_DecodeText $extension];      incr gNumTempFilesHandedOut;      FME_SetAttribute [FME_DecodeText _tmpDir] $aGoodTempFile; }
-FACTORY_DEF * TeeFactory    FACTORY_NAME TempPathnameCreator    INPUT  FEATURE_TYPE Creator_3_CREATED    OUTPUT FEATURE_TYPE TempPathnameCreator_OUTPUT         @Tcl2("TempPathnameCreator_makeTemp {} {}")
-
-# -------------------------------------------------------------------------
-
-
-FME_PYTHON_PATH "$(FME_MF_DIR)"
-
-FACTORY_DEF * PythonFactory    FACTORY_NAME PythonCaller_3    INPUT  FEATURE_TYPE TempPathnameCreator_OUTPUT    SYMBOL_NAME myFunction    PYTHON_NAMESPACE FMEOBJECTS    SOURCE_CODE #<space>-*-<space>coding:<space>utf-8<space>-*-<lf>import<space>fmeobjects<lf>import<space>os<lf>import<space>zipfile<lf>import<space>glob<lf>import<space>string<lf><lf>def<space>myFunction<openparen>object<closeparen>:<lf><space><space><space><space>print<space><space>object.getAttribute<openparen><apos>_tmpDir<apos><closeparen><lf><space><space><space><space>temp_dir<space>=<space>object.getAttribute<openparen><apos>_tmpDir<apos><closeparen><lf><space><space><space><space>#<space>Cr<u00e9>e<space>le<space>r<u00e9>pertoire<space>temporaire<space>s<apos>il<space>n<apos>existe<space>pas<lf><space><space><space><space>#<space>Fichier<space>gex<space><u00e0><space>traiter<lf><space><space><space><space>gexFile<space>=<space>FME_MacroValues<openbracket><apos>sourceGexFile<apos><closebracket><lf><space><space><space><space>if<space>gexFile<space>!=<space><apos><apos>:<lf><space><space><space><space><space><space><space><space>try:<lf><space><space><space><space><space><space><space><space><space><space><space><space>gexFile<space>=<space>string.replace<openparen>gexFile<comma><apos>**<apos><comma><space><apos><apos><closeparen><lf><space><space><space><space><space><space><space><space><space><space><space><space>gexFile<space>=<space>string.replace<openparen>gexFile<comma><apos><quote><apos><comma><space><apos><apos><closeparen><lf><space><space><space><space><space><space><space><space><space><space><space><space>#<space>GTF<space>renvoie<space>*.gex<comma><space>on<space>remplace<space>par<space>le<space>nom<space>complet<lf><space><space><space><space><space><space><space><space><space><space><space><space>gexFile2<space>=<space>glob.glob<openparen>gexFile<closeparen><lf><space><space><space><space><space><space><space><space><space><space><space><space>if<space>gexFile2:<lf><space><space><space><space><space><space><space><space><space><space><space><space><space><space><space><space>gexFile3<space>=<space>gexFile2<openbracket>0<closebracket><lf><space><space><space><space><space><space><space><space><space><space><space><space><space><space><space><space>#<space>D<u00e9>zippe<space>le<space>gex<lf><space><space><space><space><space><space><space><space><space><space><space><space><space><space><space><space>print<space><quote>*PYTHON*<space>D<u00e9>zippe<space>le<space>gex<quote><lf><space><space><space><space><space><space><space><space><space><space><space><space><space><space><space><space>sourceZip<space>=<space>zipfile.ZipFile<openparen>gexFile3<comma><space><apos>r<apos><closeparen><lf><space><space><space><space><space><space><space><space><space><space><space><space><space><space><space><space>sourceZip.extractall<openparen>temp_dir<closeparen><lf><space><space><space><space><space><space><space><space><space><space><space><space><space><space><space><space>sourceZip.close<openparen><closeparen><lf><space><space><space><space><space><space><space><space><space><space><space><space><space><space><space><space>#<space>Stocke<space>le<space>chemin<space>du<space>r<u00e9>pertoire<space>temp<space>dans<space>un<space>attribut<lf><space><space><space><space><space><space><space><space><space><space><space><space><space><space><space><space>object.setAttribute<openparen><apos>tmpDIR<apos><comma>temp_dir<closeparen><lf><space><space><space><space><space><space><space><space><space><space><space><space><space><space><space><space>#<space>Stocke<space>le<space>chemin<space>du<space>fichier<space>GEX<space>dans<space>un<space>attribut<lf><space><space><space><space><space><space><space><space><space><space><space><space><space><space><space><space>object.setAttribute<openparen><apos>gexFile<apos><comma>temp_dir<space>+<space><apos><backslash>export.xml<apos><closeparen><lf><space><space><space><space><space><space><space><space>except:<space><lf><space><space><space><space><space><space><space><space><space><space><space><space>print<space><apos>PYTHON<space>Une<space>erreur<space>est<space>survenue<space>!<apos><lf><space><space><space><space><space><space><space><space><space><space><space><space>raise    OUTPUT PYOUTPUT FEATURE_TYPE PythonCaller_3_OUTPUT
-
-# -------------------------------------------------------------------------
-
-FACTORY_DEF * XFMapFactory    FACTORY_NAME XMLFragmenter    INPUT  FEATURE_TYPE PythonCaller_3_OUTPUT    XML_FILE "@EvaluateExpression(FDIV,STRING,<at>Value<openparen>gexFile<closeparen>,XMLFragmenter)"    XFMAP_FEATURE_PATHS_EXPRESSION "gex:gtf_pro_workspace"    XFMAP_FEATURE_PATHS_STRUCTURE "<lf><lt>structure<space>separator=<quote>.<quote><space>map-empty-elements=<quote>yes<quote><space>matched-prefix=<quote>attributes<quote><space>matched-attributes=<quote>yes<quote><space>cardinality=<quote>+<opencurly>?<closecurly><quote><space>structure-prefix=<quote><quote><space>child-position-attribute=<quote><quote><space>except-expression=<quote><quote><space>ui-mode=<quote>basic<quote><space>matched-ancestor-attributes=<quote><quote><solidus><gt><lf>"    MERGE_ATTRIBUTES_FROM_INPUT Yes    OUTPUT MAPPED FEATURE_TYPE XMLFragmenter_FRAGMENTS
-
-# -------------------------------------------------------------------------
-
-INCLUDE [    set macroLine "MACRO AttributeRemover_LIST_EXP ";    foreach attr [split ""] {       set attr [FME_DecodeText $attr];       set attr [regsub "{}$" $attr "{}.*"];       set attr [regsub -all "{}" $attr "{\[0-9\]+}"];       append macroLine ",^$attr$";    };    puts $macroLine; ]
-FACTORY_DEF * TeeFactory    FACTORY_NAME AttributeRemover    INPUT  FEATURE_TYPE XMLFragmenter_FRAGMENTS    OUTPUT FEATURE_TYPE AttributeRemover_OUTPUT        @RemoveAttributes(gexFile,xml_fragment,xml_id,xml_matched_element,xml_parent_id,xml_parent_child_pos)        @RemoveAttributes(fme_regexp_match"$(AttributeRemover_LIST_EXP)")
-
-# -------------------------------------------------------------------------
-
-Tcl2 proc NullAttributeMapper_3_779f1b88_1c74_49fa_8c9b_665f2e3a19410_null_replacer { otherValue newValue regExp } {    set attrs [split {form_type} { }];    set decode true;    if { {SELECTED} == {ALL} } {       set attrs [FME_AttributeNames];       set decode false; 	 };    set decodedVal [FME_DecodeText $otherValue];    set decodedRegExp [FME_DecodeText $regExp];    foreach attr $attrs {      set act {NOOP};      if {$decode} {        set attr [FME_DecodeText $attr];      };      if {[FME_AttributeExists $attr]} {          set attrVal [FME_GetAttribute $attr];          if {[FME_IsAttributeNull $attr] } {             if {[string first {SETNULL} {}] != -1} {                 set act {SETVALUE};             };          }          elseif { [string first {EMPTY} {}] != -1 && $attrVal == {}} {             set act {SETVALUE};          }          elseif { $otherValue != {} && [string equal $attrVal $decodedVal]} {             set act {SETVALUE};          }          elseif { $decodedRegExp != {} && [regexp $decodedRegExp $attrVal]==1 }          {             set act {SETVALUE};          };      }      elseif {[string first {MISSINGATTR} {}] != -1} {             set act {SETVALUE};      };      if {$act == {DELETEATTR} } {         FME_UnsetAttributes $attr;      } elseif { $act == {SETVALUE} } {         FME_SetAttribute $attr [FME_DecodeText $newValue];      } elseif { $act == {SETNULL} } {         FME_SetAttributeNull $attr;      } elseif { $act == {EMPTY} }      {         FME_SetAttribute $attr {};      };   }; }
-FACTORY_DEF * TeeFactory    FACTORY_NAME NullAttributeMapper_3    INPUT  FEATURE_TYPE AttributeRemover_OUTPUT    OUTPUT FEATURE_TYPE NullAttributeMapper_3_OUTPUT         @Tcl2("NullAttributeMapper_3_779f1b88_1c74_49fa_8c9b_665f2e3a19410_null_replacer {} {default} {}")
-
-# -------------------------------------------------------------------------
-
-Tcl2 proc NullAttributeMapper_4_21d73a36_2858_4e1f_bf5c_c5210bfd426c0_null_replacer { otherValue newValue regExp } {    set attrs [split {survey} { }];    set decode true;    if { {SELECTED} == {ALL} } {       set attrs [FME_AttributeNames];       set decode false; 	 };    set decodedVal [FME_DecodeText $otherValue];    set decodedRegExp [FME_DecodeText $regExp];    foreach attr $attrs {      set act {NOOP};      if {$decode} {        set attr [FME_DecodeText $attr];      };      if {[FME_AttributeExists $attr]} {          set attrVal [FME_GetAttribute $attr];          if {[FME_IsAttributeNull $attr] } {             if {[string first {SETNULL} {}] != -1} {                 set act {SETVALUE};             };          }          elseif { [string first {EMPTY} {}] != -1 && $attrVal == {}} {             set act {SETVALUE};          }          elseif { $otherValue != {} && [string equal $attrVal $decodedVal]} {             set act {SETVALUE};          }          elseif { $decodedRegExp != {} && [regexp $decodedRegExp $attrVal]==1 }          {             set act {SETVALUE};          };      }      elseif {[string first {MISSINGATTR} {}] != -1} {             set act {SETVALUE};      };      if {$act == {DELETEATTR} } {         FME_UnsetAttributes $attr;      } elseif { $act == {SETVALUE} } {         FME_SetAttribute $attr [FME_DecodeText $newValue];      } elseif { $act == {SETNULL} } {         FME_SetAttributeNull $attr;      } elseif { $act == {EMPTY} }      {         FME_SetAttribute $attr {};      };   }; }
-FACTORY_DEF * TeeFactory    FACTORY_NAME NullAttributeMapper_4    INPUT  FEATURE_TYPE NullAttributeMapper_3_OUTPUT    OUTPUT FEATURE_TYPE NullAttributeMapper_4_OUTPUT         @Tcl2("NullAttributeMapper_4_21d73a36_2858_4e1f_bf5c_c5210bfd426c0_null_replacer {} {FALSE} {}")
-
-# -------------------------------------------------------------------------
-FACTORY_DEF * AttrSetFactory FACTORY_NAME AttributeCreator ATTRSET_CREATE_DIRECTIVES _PROPAGATE_MISSING_FDIV INPUT  FEATURE_TYPE NullAttributeMapper_4_OUTPUT ATTR email_template_id  ATTR tag default ATTR lb_method_id  ATTR success_action_id 0 ATTR failed_action_id 0    OUTPUT OUTPUT FEATURE_TYPE AttributeCreator_OUTPUT 
-# -------------------------------------------------------------------------
-
-FACTORY_DEF * TeeFactory    FACTORY_NAME AttributeRenamer_2    INPUT  FEATURE_TYPE AttributeCreator_OUTPUT    OUTPUT FEATURE_TYPE AttributeRenamer_2_OUTPUT         @RenameAttributes(ATTR_LIST_DEF_VAL_ENCODED, workspace_id,gex_workspace_id,,label_name,name,)
-
-
-# -------------------------------------------------------------------------
-
-FACTORY_DEF * TestFactory    FACTORY_NAME Tester    INPUT  FEATURE_TYPE AttributeRenamer_2_OUTPUT    TEST "@EvaluateExpression(FDIV,STRING,<at>Value<openparen>gex_workspace_id<closeparen>,Tester)" IN "@EvaluateExpression(FDIV,STRING,$(idWorkspaceList$encode),Tester)" TEST "@EvaluateExpression(FDIV,STRING,$(idWorkspaceList$encode),Tester)" = "*"    BOOLEAN_OPERATOR OR    OUTPUT PASSED FEATURE_TYPE Tester_PASSED
-# -------------------------------------------------------------------------
-
-INCLUDE [    set macroLine "MACRO AttributeRemover_10_LIST_EXP ";    foreach attr [split ""] {       set attr [FME_DecodeText $attr];       set attr [regsub "{}$" $attr "{}.*"];       set attr [regsub -all "{}" $attr "\\{\[0-9\]+\\}"];       append macroLine ",^$attr$";    };    puts $macroLine; ]
-FACTORY_DEF * TeeFactory    FACTORY_NAME AttributeRemover_10    INPUT  FEATURE_TYPE Tester_PASSED    OUTPUT FEATURE_TYPE AttributeRemover_10_OUTPUT        @RemoveAttributes(fme_encoded,category_id)        @RemoveAttributes(fme_pcre_match"$(AttributeRemover_10_LIST_EXP)")
-
-# -------------------------------------------------------------------------
-
-FACTORY_DEF * TestFactory    FACTORY_NAME Tester_8    INPUT  FEATURE_TYPE AttributeRemover_10_OUTPUT    TEST @EvaluateExpression(FDIV,STRING_ENCODED,<at>Value<openparen>category_name<closeparen>,Tester_8) = "" ENCODED TEST category_name ATTRIBUTE_VALUE_NULL "" ENCODED TEST category_name ATTRIBUTE_IS_EMPTY "" ENCODED TEST category_name ATTRIBUTE_IS_MISSING "" ENCODED    BOOLEAN_OPERATOR OR    OUTPUT PASSED FEATURE_TYPE Tester_8_PASSED    OUTPUT FAILED FEATURE_TYPE Tester_8_FAILED
-# -------------------------------------------------------------------------
-MACRO SQLExecutor_4_DIRECTIVES PASSWORD "$(dbPassword)" HOST "$(dbServer)" USER_NAME "$(dbUser)" PORT "$(dbPort)" QUERY_FEATURE_TYPES_FOR_MERGE_FILTERS Yes
-
-FACTORY_DEF * QueryFactory    FACTORY_NAME SQLExecutor_4    INPUT  FEATURE_TYPE Tester_8_FAILED    QUERY_SQL            "@EvaluateExpression(FDIV,STRING_ENCODED,select<space>category_id<space>as<space>category_id<space>from<space>s_gtf.category<space>where<space>name<space>=<space><apos><at>Value<openparen>category_name<closeparen><apos>,SQLExecutor_4)"    READER_TYPE          POSTGRES    READER_DATASET       "@EvaluateExpression(FDIV,STRING_ENCODED,$(dbDatabase$encode),SQLExecutor_4)"    COMBINE_ATTRIBUTES   PREFER_RESULT    COMBINE_GEOMETRY     QUERY_ONLY    READER_PARAMS        $(SQLExecutor_4_DIRECTIVES)    OUTPUT RESULT FEATURE_TYPE SQLExecutor_4_RESULT    OUTPUT QUERY FEATURE_TYPE SQLExecutor_4_INITIATOR
-
-# -------------------------------------------------------------------------
-
-FACTORY_DEF * TestFactory    FACTORY_NAME Tester_7    INPUT  FEATURE_TYPE SQLExecutor_4_INITIATOR    TEST @EvaluateExpression(FDIV,STRING_ENCODED,<at>Value<openparen>_matched_records<closeparen>,Tester_7) = 0 ENCODED    BOOLEAN_OPERATOR OR    OUTPUT PASSED FEATURE_TYPE Tester_7_PASSED
-# -------------------------------------------------------------------------
-
-Tcl2 proc DuplicateRemover_c9580f67_b1f8_410e_abb5_20c2434dc19a0_dupKeyCount { attrList } {     set attrList [string trim $attrList {()}];     set attrs [split $attrList { } ];     set attrVal {___DuplicateRemover_c9580f67_b1f8_410e_abb5_20c2434dc19a0___};     foreach {attrName} $attrs {         set attrName [FME_DecodeText $attrName];         append attrVal [FME_GetAttribute $attrName] {_fmebreak_};     };     return [expr [incr ::__DuplicateRemover_c9580f67_b1f8_410e_abb5_20c2434dc19a0__KeySeenCount($attrVal)] - 1]; };
-FACTORY_DEF * TestFactory    FACTORY_NAME DuplicateRemover    INPUT  FEATURE_TYPE Tester_7_PASSED    TEST @Tcl2("DuplicateRemover_c9580f67_b1f8_410e_abb5_20c2434dc19a0_dupKeyCount {(category_name)}") > 0    OUTPUT FAILED FEATURE_TYPE DuplicateRemover_UNIQUE
-
-# -------------------------------------------------------------------------
-MACRO SQLExecutor_5_DIRECTIVES PASSWORD "$(dbPassword)" HOST "$(dbServer)" USER_NAME "$(dbUser)" PORT "$(dbPort)" QUERY_FEATURE_TYPES_FOR_MERGE_FILTERS Yes
-
-FACTORY_DEF * QueryFactory    FACTORY_NAME SQLExecutor_5    INPUT  FEATURE_TYPE DuplicateRemover_UNIQUE    QUERY_SQL            "select<space>nextval<openparen><apos>s_gtf.seq_common<apos><closeparen><space>as<space>category_id"    READER_TYPE          POSTGRES    READER_DATASET       "@EvaluateExpression(FDIV,STRING_ENCODED,$(dbDatabase$encode),SQLExecutor_5)"    COMBINE_ATTRIBUTES   PREFER_RESULT    COMBINE_GEOMETRY     QUERY_ONLY    READER_PARAMS        $(SQLExecutor_5_DIRECTIVES)    OUTPUT RESULT FEATURE_TYPE SQLExecutor_5_RESULT    OUTPUT QUERY FEATURE_TYPE SQLExecutor_5_INITIATOR
-
-FACTORY_DEF * TeeFactory   FACTORY_NAME "SQLExecutor_5 RESULT Splitter"   INPUT FEATURE_TYPE SQLExecutor_5_RESULT   OUTPUT FEATURE_TYPE SQLExecutor_5_RESULT_0_U/Sc0RKvjZA=   OUTPUT FEATURE_TYPE SQLExecutor_5_RESULT_1_0mhshCfetJs=
-FACTORY_DEF * TeeFactory   FACTORY_NAME "SQLExecutor_5 INITIATOR Output Nuker"   INPUT FEATURE_TYPE SQLExecutor_5_INITIATOR
-# -------------------------------------------------------------------------
-
-INCLUDE [    set macroLine "MACRO AttributeKeeper_5_04b50dd6_1398_45ee_a83a_56286d64ba230_LIST_EXP ";    foreach attr [split ""] {       set attr [FME_DecodeText $attr];       set attr [regsub "{}$" $attr "{}.*"];       set attr [regsub -all "{}" $attr "\\{\[0-9\]+\\}"];       append macroLine ",^$attr$";    };    puts $macroLine; ]
-
-FACTORY_DEF * TeeFactory    FACTORY_NAME AttributeKeeper_5    INPUT  FEATURE_TYPE SQLExecutor_5_RESULT_0_U/Sc0RKvjZA=    OUTPUT FEATURE_TYPE AttributeKeeper_5_OUTPUT        @KeepAttributes(fme_encoded,category_id,category_name,fme_pcre_match,"^fme_$(AttributeKeeper_5_04b50dd6_1398_45ee_a83a_56286d64ba230_LIST_EXP)")
-
-# -------------------------------------------------------------------------
-
-FACTORY_DEF * TeeFactory    FACTORY_NAME AttributeRenamer_5    INPUT  FEATURE_TYPE AttributeKeeper_5_OUTPUT    OUTPUT FEATURE_TYPE AttributeRenamer_5_OUTPUT         @RenameAttributes(ATTR_LIST_DEF_VAL_ENCODED, category_name,name,)
-
-
-# -------------------------------------------------------------------------
-FACTORY_DEF * AttrSetFactory FACTORY_NAME AttributeCreator_8 ATTRSET_CREATE_DIRECTIVES _PROPAGATE_MISSING_FDIV INPUT  FEATURE_TYPE Tester_8_PASSED ATTR category_id  ATTR category_name     OUTPUT OUTPUT FEATURE_TYPE AttributeCreator_8_OUTPUT 
-# -------------------------------------------------------------------------
-
-FACTORY_DEF * TestFactory    FACTORY_NAME Tester_2    INPUT  FEATURE_TYPE s_gtf.workspace_POSTGRES_1_1_kQA9HcoEkYM=    TEST @EvaluateExpression(FDIV,STRING_ENCODED,<at>Value<openparen>key<closeparen>,Tester_2) != "" ENCODED    BOOLEAN_OPERATOR OR    OUTPUT PASSED FEATURE_TYPE Tester_2_PASSED
-# -------------------------------------------------------------------------
-
-INCLUDE [    set macroLine "MACRO AttributeKeeper_7_58042a47_1021_40e1_850d_1e3c616ef0cc0_LIST_EXP ";    foreach attr [split ""] {       set attr [FME_DecodeText $attr];       set attr [regsub "{}$" $attr "{}.*"];       set attr [regsub -all "{}" $attr "{\[0-9\]+}"];       append macroLine ",^$attr$";    };    puts $macroLine; ]
-
-FACTORY_DEF * TeeFactory    FACTORY_NAME AttributeKeeper_7    INPUT  FEATURE_TYPE Tester_2_PASSED    OUTPUT FEATURE_TYPE AttributeKeeper_7_OUTPUT        @KeepAttributes(key,name,workspace_id,fme_regexp_match,"^fme_$(AttributeKeeper_7_58042a47_1021_40e1_850d_1e3c616ef0cc0_LIST_EXP)")
-
-# -------------------------------------------------------------------------
-
-FACTORY_DEF * TeeFactory    FACTORY_NAME AttributeRenamer    INPUT  FEATURE_TYPE AttributeKeeper_7_OUTPUT    OUTPUT FEATURE_TYPE AttributeRenamer_OUTPUT         @RenameAttributes(ATTR_LIST_DEF_VAL_ENCODED, workspace_id,gtf_workspace_id,,name,gtf_name,)
-
-
-# -------------------------------------------------------------------------
-
-INCLUDE [if { {ATTRIBUTES} == {ATTRIBUTES} } {                puts "MACRO FeatureMerger_3_REFERENCE_INFO ATTRIBUTES";             }          elseif { {ATTRIBUTES} == {GEOM_BUILD} && {<Unused>} == {POLYGONS}} {                puts "MACRO FeatureMerger_3_REFERENCE_INFO GEOM_BUILD_POLYS";             }          elseif { {ATTRIBUTES} == {GEOM_BUILD} && {<Unused>} == {AGGREGATES}} {                puts "MACRO FeatureMerger_3_REFERENCE_INFO GEOM_BUILD_AGGREGATES";             }          elseif { {ATTRIBUTES} == {GEOM_BUILD} && {<Unused>} == {LINESFROMPOINTS}} {                puts "MACRO FeatureMerger_3_REFERENCE_INFO GEOM_BUILD_LINES_FROM_POINTS";             }          elseif { {ATTRIBUTES} == {GEOM_AND_ATTRS} && {<Unused>} == {POLYGONS}} {                puts "MACRO FeatureMerger_3_REFERENCE_INFO GEOM_AND_ATTR_BUILD_POLYS";             }          elseif { {ATTRIBUTES} == {GEOM_AND_ATTRS} && {<Unused>} == {AGGREGATES}} {                puts "MACRO FeatureMerger_3_REFERENCE_INFO GEOM_AND_ATTR_BUILD_AGGREGATES";             }          elseif { {ATTRIBUTES} == {GEOM_AND_ATTRS} && {<Unused>} == {LINESFROMPOINTS}} {                puts "MACRO FeatureMerger_3_REFERENCE_INFO GEOM_AND_ATTR_BUILD_LINES_FROM_POINTS";             }          elseif { {ATTRIBUTES} == {GEOM_BUILD} } {                puts "MACRO FeatureMerger_3_REFERENCE_INFO GEOM_BUILD_AGGREGATES";             }          elseif { {ATTRIBUTES} == {GEOM_AND_ATTRS} } {                puts "MACRO FeatureMerger_3_REFERENCE_INFO GEOM_AND_ATTR_BUILD_AGGREGATES";             }          else {}; ]
-
-FACTORY_DEF * ReferenceFactory    FACTORY_NAME FeatureMerger_3    INPUT REFERENCER FEATURE_TYPE SQLExecutor_4_RESULT    INPUT REFERENCER FEATURE_TYPE SQLExecutor_5_RESULT_1_0mhshCfetJs=    INPUT REFERENCER FEATURE_TYPE AttributeCreator_8_OUTPUT    INPUT REFERENCEE FEATURE_TYPE AttributeRenamer_OUTPUT    REFERENCE_INFO $(FeatureMerger_3_REFERENCE_INFO)    REFERENCE_TABLE @EvaluateExpression(STRING_ENCODED,<at>Value<openparen>key<closeparen>,FeatureMerger_3) @EvaluateExpression(STRING_ENCODED,<at>Value<openparen>key<closeparen>,FeatureMerger_3)    IGNORE_NULLS "Yes"    MERGE_ATTRIBUTES Yes    MANAGE_FME_TYPE Yes    MODE COMPLETE    PROCESS_DUPLICATE_REFERENCEES No    REFERENCEES_FIRST No    OUTPUT COMPLETE FEATURE_TYPE FeatureMerger_3_MERGED    OUTPUT INCOMPLETE FEATURE_TYPE FeatureMerger_3_NOT_MERGED
-
-# -------------------------------------------------------------------------
-
-INCLUDE [    set macroLine "MACRO AttributeRemover_9_LIST_EXP ";    foreach attr [split ""] {       set attr [FME_DecodeText $attr];       set attr [regsub "{}$" $attr "{}.*"];       set attr [regsub -all "{}" $attr "\\{\[0-9\]+\\}"];       append macroLine ",^$attr$";    };    puts $macroLine; ]
-FACTORY_DEF * TeeFactory    FACTORY_NAME AttributeRemover_9    INPUT  FEATURE_TYPE FeatureMerger_3_NOT_MERGED    OUTPUT FEATURE_TYPE AttributeRemover_9_OUTPUT        @RemoveAttributes(fme_encoded,owner)        @RemoveAttributes(fme_pcre_match"$(AttributeRemover_9_LIST_EXP)")
-
-# -------------------------------------------------------------------------
-
-FACTORY_DEF * TestFactory    FACTORY_NAME Tester_4    INPUT  FEATURE_TYPE AttributeRemover_9_OUTPUT    TEST @EvaluateExpression(FDIV,STRING_ENCODED,<at>Value<openparen>key<closeparen>,Tester_4) = "" ENCODED    BOOLEAN_OPERATOR OR    OUTPUT PASSED FEATURE_TYPE Tester_4_PASSED    OUTPUT FAILED FEATURE_TYPE Tester_4_FAILED
-# -------------------------------------------------------------------------
-
-Tcl2 proc TimeStamper_2_formatGetter { inVal } {    if { [string compare $inVal {FME Date/Time (^Y^m^d^H^M^S)}] == 0 } {       return {^Y^m^d^H^M^S};    } elseif { [string compare $inVal {FME Date (^Y^m^d)}] == 0} {       return {^Y^m^d};    } elseif { [string compare $inVal {FME Time (^H^M^S)}] == 0} {       return {^H^M^S};    } elseif { [string compare $inVal {XML Date (^Y-^m-^d)}] == 0} {       return {^Y-^m-^d};    } elseif { [string compare $inVal {XML DateTime (^Y-^m-^dT^H:^M:^S)}] == 0} {       return {^Y-^m-^dT^H:^M:^S};    } elseif { [string compare $inVal {XML Time (^H:^M:^S)}] == 0} {       return {^H:^M:^S};    } elseif { [string compare $inVal {Locale Date (^c)}] == 0} {       return {^c};    };    return $inVal; }
-FACTORY_DEF * TeeFactory    FACTORY_NAME TimeStamper_2    INPUT  FEATURE_TYPE Tester_4_PASSED    OUTPUT FEATURE_TYPE TimeStamper_2_OUTPUT         @SupplyAttributes(ENCODED, _timeStamp, @Timestamp(@Tcl2("TimeStamper_2_formatGetter {^s} ")))
-
-# -------------------------------------------------------------------------
-
-Tcl2 proc RandomNumberGenerator_2_generator {paramMin paramMax paramPlaces} {    set absoluteMax [expr abs($paramMax)];    set absoluteMin [expr abs($paramMin)];    if {$absoluteMin > $absoluteMax} {       set temp $absoluteMax;       set absoluteMax $absoluteMin;       set absoluteMin $temp;    };    set maxNumDigits 1;    if {$absoluteMax > 0} {       set maxNumDigits [expr int(log10($absoluteMax) + 1)];    };    set positiveParamPlaces [expr abs($paramPlaces)];    if {$paramMin > $paramMax} {       FME_SetAttribute {"_random_number"} NaN;    } elseif {$paramPlaces < 0 && $maxNumDigits <= $positiveParamPlaces} {       FME_SetAttribute {"_random_number"} 0;    } else {       set randomNumber [expr rand()];       set mult [expr pow(10, $paramPlaces)];       set innerMin [expr double($paramMin)];       set innerMax [expr double($paramMax)];       if {$paramPlaces > 0} {          set addValue [expr pow(10, -$paramPlaces)];          set indexDotMin [string first "." $innerMin];          set indexDotMax [string first "." $innerMax];          set countDecPlacesMin [expr [string length $innerMin] - $indexDotMin - 1];          set countDecPlacesMax [expr [string length $innerMax] - $indexDotMax - 1];          set countTruncatedDecPlaces [expr $countDecPlacesMin - $paramPlaces];          if {$countTruncatedDecPlaces > 0} {             set zeroes [string repeat "0" $countTruncatedDecPlaces];             set truncatedDecPlaces [string range $innerMin [expr $indexDotMin + 1 + $paramPlaces] [string length $innerMin]];             if {![string equal $truncatedDecPlaces $zeroes]}             {                set truncatedResult [string range $innerMin 0 [expr $indexDotMin + $paramPlaces]];                if {$innerMin > 0} {                   set truncatedResult [expr $truncatedResult + $addValue];                };                set innerMin $truncatedResult;             };          };          set countTruncatedDecPlaces [expr $countDecPlacesMax - $paramPlaces];          if {$countTruncatedDecPlaces > 0} {             set zeroes [string repeat "0" $countTruncatedDecPlaces];             set truncatedDecPlaces [string range $innerMax [expr $indexDotMax + 1 + $paramPlaces] [string length $innerMax]];             if {![string equal $truncatedDecPlaces $zeroes]}             {                set truncatedResult [string range $innerMax 0 [expr $indexDotMax + $paramPlaces]];                if {$innerMax < 0} {                   set truncatedResult [expr $truncatedResult - $addValue];                };                set innerMax $truncatedResult;             };          };       } else {          set innerMin [expr ceil($paramMin * $mult) * 1.0 / $mult];          set innerMax [expr floor($paramMax * $mult) * 1.0 / $mult];       };       set integerMin $innerMin;       set integerMax $innerMax;       set integerMin [expr wide($innerMin * $mult)];       set integerMax [expr wide($innerMax * $mult)];       set integerResult [expr $integerMin + wide($randomNumber * ($integerMax + 1 - $integerMin))];       set result [expr $integerResult * 1.0 / $mult];       set formatString "%.0f";       if {$paramPlaces > 0} {          set formatString [format "%%.%df" $paramPlaces];       };       FME_SetAttribute {"_random_number"} [format $formatString $result];    }; }
-FACTORY_DEF * TestFactory    FACTORY_NAME RandomNumberGenerator_2_MinRejecter    INPUT  FEATURE_TYPE TimeStamper_2_OUTPUT    TEST "1000" TYPE NUM ENCODED    OUTPUT PASSED FEATURE_TYPE RandomNumberGenerator_2__toMaxRejecter__
-FACTORY_DEF * TestFactory    FACTORY_NAME RandomNumberGenerator_2_MaxRejecter    INPUT FEATURE_TYPE RandomNumberGenerator_2__toMaxRejecter__    TEST "9999" TYPE NUM ENCODED    OUTPUT PASSED FEATURE_TYPE RandomNumberGenerator_2__toPlacesRejecter__
-FACTORY_DEF * TestFactory    FACTORY_NAME RandomNumberGenerator_2_PlacesRejecter    INPUT FEATURE_TYPE RandomNumberGenerator_2__toPlacesRejecter__    TEST "0" TYPE INT ENCODED    OUTPUT PASSED FEATURE_TYPE RandomNumberGenerator_2__toOutput__
-FACTORY_DEF * TeeFactory    FACTORY_NAME RandomNumberGenerator_2_RandomNumberGenerator    INPUT FEATURE_TYPE RandomNumberGenerator_2__toOutput__    OUTPUT FEATURE_TYPE RandomNumberGenerator_2_OUTPUT         @Tcl2("RandomNumberGenerator_2_generator {1000} {9999} {0} ")
-
-# -------------------------------------------------------------------------
-
-Tcl2 proc StringConcatenator_2_d0e3d71d_0d5c_4a4a_8f0d_fcc824eeedf30_doSetAttr {attrText} {    FME_SetAttribute [FME_DecodeText {key}] [FME_DecodeText $attrText] }
-FACTORY_DEF * TeeFactory    FACTORY_NAME StringConcatenator_2    INPUT  FEATURE_TYPE RandomNumberGenerator_2_OUTPUT    OUTPUT FEATURE_TYPE StringConcatenator_2_OUTPUT        @Tcl2("StringConcatenator_2_d0e3d71d_0d5c_4a4a_8f0d_fcc824eeedf30_doSetAttr {@EvaluateExpression(STRING_ENCODED,<at>Value<openparen>_timeStamp<closeparen><at>Value<openparen>_random_number<closeparen>,StringConcatenator_2)} ")
-
-# -------------------------------------------------------------------------
-
-INCLUDE [    set macroLine "MACRO AttributeRemover_7_LIST_EXP ";    foreach attr [split ""] {       set attr [FME_DecodeText $attr];       set attr [regsub "{}$" $attr "{}.*"];       set attr [regsub -all "{}" $attr "{\[0-9\]+}"];       append macroLine ",^$attr$";    };    puts $macroLine; ]
-FACTORY_DEF * TeeFactory    FACTORY_NAME AttributeRemover_7    INPUT  FEATURE_TYPE StringConcatenator_2_OUTPUT    OUTPUT FEATURE_TYPE AttributeRemover_7_OUTPUT        @RemoveAttributes(_random_number,_timeStamp)        @RemoveAttributes(fme_regexp_match"$(AttributeRemover_7_LIST_EXP)")
-
-# -------------------------------------------------------------------------
-
-FACTORY_DEF * TeeFactory    FACTORY_NAME BaseConverter_2    INPUT  FEATURE_TYPE AttributeRemover_7_OUTPUT    OUTPUT FEATURE_TYPE BaseConverter_2_OUTPUT         "key" @ConvertBase("@Value(key)",10,32,0)
-
-# -------------------------------------------------------------------------
-
-FACTORY_DEF * TeeFactory    FACTORY_NAME AttributeCopier    INPUT  FEATURE_TYPE BaseConverter_2_OUTPUT    INPUT  FEATURE_TYPE Tester_4_FAILED    OUTPUT FEATURE_TYPE AttributeCopier_OUTPUT         @CopyAttributes(gex_name,name)
-
-# -------------------------------------------------------------------------
-INCLUDE [          if { ({Selected Attributes} == {All Attributes}) } {             puts {MACRO StringCaseChanger_2_func @RenameAttributes(value,.*,lower)};          } else {             puts {MACRO StringCaseChanger_2_func @RenameAttributes(LIST_ATTR, "value", "gex_name",lower)};          }         ]
-FACTORY_DEF * TeeFactory    FACTORY_NAME StringCaseChanger_2    INPUT  FEATURE_TYPE AttributeCopier_OUTPUT    OUTPUT FEATURE_TYPE StringCaseChanger_2_OUTPUT         $(StringCaseChanger_2_func)
-
-# -------------------------------------------------------------------------
-
-Tcl2 proc ParameterFetcher_3_doFetch {} {    foreach {name val} {"_duplicateKey {$(duplicateKey)}"} {         if { [string match {*<at>*} $val] == 1 } {             set val [FME_Execute EvaluateExpression {STRING} $val {ParameterFetcher_3}];         } elseif {[string match {*FME_CONDITIONAL*} $val] == 1} {             set val [FME_Execute EvaluateExpression {STRING} $val {ParameterFetcher_3}];         } else {             set val [FME_DecodeTextOrAttr $val];         };       FME_SetAttribute [FME_DecodeText $name] $val    } }
-FACTORY_DEF * TeeFactory    FACTORY_NAME ParameterFetcher_3    INPUT  FEATURE_TYPE FeatureMerger_3_MERGED    OUTPUT FEATURE_TYPE ParameterFetcher_3_OUTPUT         @Tcl2(ParameterFetcher_3_doFetch)
-
-# -------------------------------------------------------------------------
-Lookup AttributeFilter_2_AttributeFilterLut   0 ok   1 ok   2 ok   "" notok   ENCODED
-
-FACTORY_DEF * TestFactory    FACTORY_NAME AttributeFilter_2    INPUT  FEATURE_TYPE ParameterFetcher_3_OUTPUT    TEST @Lookup(AttributeFilter_2_AttributeFilterLut,_duplicateKey,ENCODED_ATTR) == "ok"    OUTPUT PASSED FEATURE_TYPE * @FeatureType(SET_FROM_ATTR, _duplicateKey, AttributeFilter_2)    OUTPUT FAILED FEATURE_TYPE AttributeFilter_2_<NULL>
-FACTORY_DEF * TestFactory    FACTORY_NAME AttributeFilter_2_NullFilter    INPUT FEATURE_TYPE AttributeFilter_2_<NULL>    TEST _duplicateKey ATTRIBUTE_VALUE_NULL "" ENCODED    OUTPUT PASSED FEATURE_TYPE AttributeFilter_2_<NULL>    OUTPUT FAILED FEATURE_TYPE AttributeFilter_2_<MISSING>
-FACTORY_DEF * TestFactory    FACTORY_NAME AttributeFilter_2_MissingFilter    INPUT FEATURE_TYPE AttributeFilter_2_<MISSING>    TEST _duplicateKey ATTRIBUTE_IS_MISSING "" ENCODED    OUTPUT PASSED FEATURE_TYPE AttributeFilter_2_<MISSING>    OUTPUT FAILED FEATURE_TYPE AttributeFilter_2_<UNFILTERED>
-FACTORY_DEF * TestFactory    FACTORY_NAME AttributeFilter_2_BlankFilter    INPUT FEATURE_TYPE AttributeFilter_2_<UNFILTERED>    TEST _duplicateKey ATTRIBUTE_IS_EMPTY "" ENCODED    OUTPUT PASSED FEATURE_TYPE AttributeFilter_2_<EMPTY>    OUTPUT FAILED FEATURE_TYPE AttributeFilter_2_<UNFILTERED>
-
-
-
-FACTORY_DEF * TeeFactory   FACTORY_NAME "AttributeFilter_2 <EMPTY> Output Nuker"   INPUT FEATURE_TYPE AttributeFilter_2_<EMPTY>
-FACTORY_DEF * TeeFactory   FACTORY_NAME "AttributeFilter_2 <MISSING> Output Nuker"   INPUT FEATURE_TYPE AttributeFilter_2_<MISSING>
-FACTORY_DEF * TeeFactory   FACTORY_NAME "AttributeFilter_2 <NULL> Output Nuker"   INPUT FEATURE_TYPE AttributeFilter_2_<NULL>
-FACTORY_DEF * TeeFactory   FACTORY_NAME "AttributeFilter_2 <UNFILTERED> Output Nuker"   INPUT FEATURE_TYPE AttributeFilter_2_<UNFILTERED>
-# -------------------------------------------------------------------------
-
-INCLUDE [    set macroLine "MACRO AttributeRemover_5_LIST_EXP ";    foreach attr [split ""] {       set attr [FME_DecodeText $attr];       set attr [regsub "{}$" $attr "{}.*"];       set attr [regsub -all "{}" $attr "\\{\[0-9\]+\\}"];       append macroLine ",^$attr$";    };    puts $macroLine; ]
-FACTORY_DEF * TeeFactory    FACTORY_NAME AttributeRemover_5    INPUT  FEATURE_TYPE AttributeFilter_2_2    OUTPUT FEATURE_TYPE AttributeRemover_5_OUTPUT        @RemoveAttributes(fme_encoded,_duplicateKey,owner)        @RemoveAttributes(fme_pcre_match"$(AttributeRemover_5_LIST_EXP)")
-
-# -------------------------------------------------------------------------
-
-INCLUDE [    set macroLine "MACRO AttributeRemover_6_LIST_EXP ";    foreach attr [split ""] {       set attr [FME_DecodeText $attr];       set attr [regsub "{}$" $attr "{}.*"];       set attr [regsub -all "{}" $attr "\\{\[0-9\]+\\}"];       append macroLine ",^$attr$";    };    puts $macroLine; ]
-FACTORY_DEF * TeeFactory    FACTORY_NAME AttributeRemover_6    INPUT  FEATURE_TYPE AttributeRemover_5_OUTPUT    OUTPUT FEATURE_TYPE AttributeRemover_6_OUTPUT        @RemoveAttributes(fme_encoded,name)        @RemoveAttributes(fme_pcre_match"$(AttributeRemover_6_LIST_EXP)")
-
-# -------------------------------------------------------------------------
-
-FACTORY_DEF * TeeFactory    FACTORY_NAME AttributeRenamer_4    INPUT  FEATURE_TYPE AttributeRemover_6_OUTPUT    OUTPUT FEATURE_TYPE AttributeRenamer_4_OUTPUT         @RenameAttributes(ATTR_LIST_DEF_VAL_ENCODED, gtf_name,name,)
-
-
-# -------------------------------------------------------------------------
-
-FACTORY_DEF * TeeFactory    FACTORY_NAME AttributeCopier_2    INPUT  FEATURE_TYPE AttributeRenamer_4_OUTPUT    OUTPUT FEATURE_TYPE AttributeCopier_2_OUTPUT         @CopyAttributes(ENCODED,ATTR_LIST_DEF_VAL, gtf_workspace_id,workspace_id,)
-
-# -------------------------------------------------------------------------
-FACTORY_DEF * AttrSetFactory FACTORY_NAME AttributeCreator_2 ATTRSET_CREATE_DIRECTIVES _PROPAGATE_MISSING_FDIV INPUT  FEATURE_TYPE AttributeCopier_2_OUTPUT ATTR fme_db_operation UPDATE ATTR fme_where workspace_id<space>=<space><apos><at>Value<openparen>gtf_workspace_id<closeparen><apos>    OUTPUT OUTPUT FEATURE_TYPE AttributeCreator_2_OUTPUT 
-FACTORY_DEF * TeeFactory   FACTORY_NAME "AttributeCreator_2 OUTPUT Splitter"   INPUT FEATURE_TYPE AttributeCreator_2_OUTPUT   OUTPUT FEATURE_TYPE AttributeCreator_2_OUTPUT_0_j0uI5yR3ojs=   OUTPUT FEATURE_TYPE AttributeCreator_2_OUTPUT_1_RySErNGX5NA=
-# -------------------------------------------------------------------------
-
-INCLUDE [    set macroLine "MACRO AttributeKeeper_4_c96356b3_a271_4d3d_a629_e1c7d2e7fdc60_LIST_EXP ";    foreach attr [split ""] {       set attr [FME_DecodeText $attr];       set attr [regsub "{}$" $attr "{}.*"];       set attr [regsub -all "{}" $attr "\\{\[0-9\]+\\}"];       append macroLine ",^$attr$";    };    puts $macroLine; ]
-
-FACTORY_DEF * TeeFactory    FACTORY_NAME AttributeKeeper_4    INPUT  FEATURE_TYPE AttributeCreator_2_OUTPUT_1_RySErNGX5NA=    OUTPUT FEATURE_TYPE AttributeKeeper_4_OUTPUT        @KeepAttributes(fme_encoded,key,name,workspace_id,fme_pcre_match,"^fme_$(AttributeKeeper_4_c96356b3_a271_4d3d_a629_e1c7d2e7fdc60_LIST_EXP)")
-
-# -------------------------------------------------------------------------
-FACTORY_DEF * AttrSetFactory FACTORY_NAME AttributeCreator_7 ATTRSET_CREATE_DIRECTIVES _PROPAGATE_MISSING_FDIV INPUT  FEATURE_TYPE AttributeKeeper_4_OUTPUT ATTR statut Mis<space><u00e0><space>jour<space>dans<space>GTF    OUTPUT OUTPUT FEATURE_TYPE AttributeCreator_7_OUTPUT 
-# -------------------------------------------------------------------------
-
-INCLUDE [    set macroLine "MACRO AttributeKeeper_1d87d14d_cae0_4c37_addb_1c308b8ff9660_LIST_EXP ";    foreach attr [split ""] {       set attr [FME_DecodeText $attr];       set attr [regsub "{}$" $attr "{}.*"];       set attr [regsub -all "{}" $attr "\\{\[0-9\]+\\}"];       append macroLine ",^$attr$";    };    puts $macroLine; ]
-
-FACTORY_DEF * TeeFactory    FACTORY_NAME AttributeKeeper    INPUT  FEATURE_TYPE AttributeFilter_2_1    OUTPUT FEATURE_TYPE AttributeKeeper_OUTPUT        @KeepAttributes(fme_encoded,key,name,fme_pcre_match,"^fme_$(AttributeKeeper_1d87d14d_cae0_4c37_addb_1c308b8ff9660_LIST_EXP)")
-
-# -------------------------------------------------------------------------
-FACTORY_DEF * AttrSetFactory FACTORY_NAME AttributeCreator_5 ATTRSET_CREATE_DIRECTIVES _PROPAGATE_MISSING_FDIV INPUT  FEATURE_TYPE AttributeKeeper_OUTPUT ATTR statut Non<space>mis<space><u00e0><space>jour<space>dans<space>GTF    OUTPUT OUTPUT FEATURE_TYPE AttributeCreator_5_OUTPUT 
-# -------------------------------------------------------------------------
-
-INCLUDE [    set macroLine "MACRO AttributeRemover_2_LIST_EXP ";    foreach attr [split ""] {       set attr [FME_DecodeText $attr];       set attr [regsub "{}$" $attr "{}.*"];       set attr [regsub -all "{}" $attr "\\{\[0-9\]+\\}"];       append macroLine ",^$attr$";    };    puts $macroLine; ]
-FACTORY_DEF * TeeFactory    FACTORY_NAME AttributeRemover_2    INPUT  FEATURE_TYPE AttributeFilter_2_0    OUTPUT FEATURE_TYPE AttributeRemover_2_OUTPUT        @RemoveAttributes(fme_encoded,_duplicateKey,gtf_workspace_id,key,owner)        @RemoveAttributes(fme_pcre_match"$(AttributeRemover_2_LIST_EXP)")
-
-# -------------------------------------------------------------------------
-
-Tcl2 proc TimeStamper_formatGetter { inVal } {    if { [string compare $inVal {FME Date/Time (^Y^m^d^H^M^S)}] == 0 } {       return {^Y^m^d^H^M^S};    } elseif { [string compare $inVal {FME Date (^Y^m^d)}] == 0} {       return {^Y^m^d};    } elseif { [string compare $inVal {FME Time (^H^M^S)}] == 0} {       return {^H^M^S};    } elseif { [string compare $inVal {XML Date (^Y-^m-^d)}] == 0} {       return {^Y-^m-^d};    } elseif { [string compare $inVal {XML DateTime (^Y-^m-^dT^H:^M:^S)}] == 0} {       return {^Y-^m-^dT^H:^M:^S};    } elseif { [string compare $inVal {XML Time (^H:^M:^S)}] == 0} {       return {^H:^M:^S};    } elseif { [string compare $inVal {Locale Date (^c)}] == 0} {       return {^c};    };    return $inVal; }
-FACTORY_DEF * TeeFactory    FACTORY_NAME TimeStamper    INPUT  FEATURE_TYPE AttributeRemover_2_OUTPUT    OUTPUT FEATURE_TYPE TimeStamper_OUTPUT         @SupplyAttributes(ENCODED, _timeStamp, @Timestamp(@Tcl2("TimeStamper_formatGetter {^s} ")))
-
-# -------------------------------------------------------------------------
-
-Tcl2 proc RandomNumberGenerator_3_generator {paramMin paramMax paramPlaces} {    set absoluteMax [expr abs($paramMax)];    set absoluteMin [expr abs($paramMin)];    if {$absoluteMin > $absoluteMax} {       set temp $absoluteMax;       set absoluteMax $absoluteMin;       set absoluteMin $temp;    };    set maxNumDigits 1;    if {$absoluteMax > 0} {       set maxNumDigits [expr int(log10($absoluteMax) + 1)];    };    set positiveParamPlaces [expr abs($paramPlaces)];    if {$paramMin > $paramMax} {       FME_SetAttribute {"_random_number"} NaN;    } elseif {$paramPlaces < 0 && $maxNumDigits <= $positiveParamPlaces} {       FME_SetAttribute {"_random_number"} 0;    } else {       set randomNumber [expr rand()];       set mult [expr pow(10, $paramPlaces)];       set innerMin [expr double($paramMin)];       set innerMax [expr double($paramMax)];       if {$paramPlaces > 0} {          set addValue [expr pow(10, -$paramPlaces)];          set indexDotMin [string first "." $innerMin];          set indexDotMax [string first "." $innerMax];          set countDecPlacesMin [expr [string length $innerMin] - $indexDotMin - 1];          set countDecPlacesMax [expr [string length $innerMax] - $indexDotMax - 1];          set countTruncatedDecPlaces [expr $countDecPlacesMin - $paramPlaces];          if {$countTruncatedDecPlaces > 0} {             set zeroes [string repeat "0" $countTruncatedDecPlaces];             set truncatedDecPlaces [string range $innerMin [expr $indexDotMin + 1 + $paramPlaces] [string length $innerMin]];             if {![string equal $truncatedDecPlaces $zeroes]}             {                set truncatedResult [string range $innerMin 0 [expr $indexDotMin + $paramPlaces]];                if {$innerMin > 0} {                   set truncatedResult [expr $truncatedResult + $addValue];                };                set innerMin $truncatedResult;             };          };          set countTruncatedDecPlaces [expr $countDecPlacesMax - $paramPlaces];          if {$countTruncatedDecPlaces > 0} {             set zeroes [string repeat "0" $countTruncatedDecPlaces];             set truncatedDecPlaces [string range $innerMax [expr $indexDotMax + 1 + $paramPlaces] [string length $innerMax]];             if {![string equal $truncatedDecPlaces $zeroes]}             {                set truncatedResult [string range $innerMax 0 [expr $indexDotMax + $paramPlaces]];                if {$innerMax < 0} {                   set truncatedResult [expr $truncatedResult - $addValue];                };                set innerMax $truncatedResult;             };          };       } else {          set innerMin [expr ceil($paramMin * $mult) * 1.0 / $mult];          set innerMax [expr floor($paramMax * $mult) * 1.0 / $mult];       };       set integerMin $innerMin;       set integerMax $innerMax;       set integerMin [expr wide($innerMin * $mult)];       set integerMax [expr wide($innerMax * $mult)];       set integerResult [expr $integerMin + wide($randomNumber * ($integerMax + 1 - $integerMin))];       set result [expr $integerResult * 1.0 / $mult];       set formatString "%.0f";       if {$paramPlaces > 0} {          set formatString [format "%%.%df" $paramPlaces];       };       FME_SetAttribute {"_random_number"} [format $formatString $result];    }; }
-FACTORY_DEF * TestFactory    FACTORY_NAME RandomNumberGenerator_3_MinRejecter    INPUT  FEATURE_TYPE TimeStamper_OUTPUT    TEST "1000000000" TYPE NUM ENCODED    OUTPUT PASSED FEATURE_TYPE RandomNumberGenerator_3__toMaxRejecter__
-FACTORY_DEF * TestFactory    FACTORY_NAME RandomNumberGenerator_3_MaxRejecter    INPUT FEATURE_TYPE RandomNumberGenerator_3__toMaxRejecter__    TEST "9999999999" TYPE NUM ENCODED    OUTPUT PASSED FEATURE_TYPE RandomNumberGenerator_3__toPlacesRejecter__
-FACTORY_DEF * TestFactory    FACTORY_NAME RandomNumberGenerator_3_PlacesRejecter    INPUT FEATURE_TYPE RandomNumberGenerator_3__toPlacesRejecter__    TEST "0" TYPE INT ENCODED    OUTPUT PASSED FEATURE_TYPE RandomNumberGenerator_3__toOutput__
-FACTORY_DEF * TeeFactory    FACTORY_NAME RandomNumberGenerator_3_RandomNumberGenerator    INPUT FEATURE_TYPE RandomNumberGenerator_3__toOutput__    OUTPUT FEATURE_TYPE RandomNumberGenerator_3_OUTPUT         @Tcl2("RandomNumberGenerator_3_generator {1000000000} {9999999999} {0} ")
-
-# -------------------------------------------------------------------------
-
-Tcl2 proc StringConcatenator_24f06ce8_a177_4c80_8c25_de082ec2bf420_doSetAttr {attrText} {    FME_SetAttribute [FME_DecodeText {key}] [FME_DecodeText $attrText] }
-FACTORY_DEF * TeeFactory    FACTORY_NAME StringConcatenator    INPUT  FEATURE_TYPE RandomNumberGenerator_3_OUTPUT    OUTPUT FEATURE_TYPE StringConcatenator_OUTPUT        @Tcl2("StringConcatenator_24f06ce8_a177_4c80_8c25_de082ec2bf420_doSetAttr {@EvaluateExpression(FDIV,STRING_ENCODED,<at>Value<openparen>_random_number<closeparen><at>Value<openparen>_timeStamp<closeparen>,StringConcatenator)} ")
-
-# -------------------------------------------------------------------------
-
-INCLUDE [    set macroLine "MACRO AttributeRemover_3_LIST_EXP ";    foreach attr [split ""] {       set attr [FME_DecodeText $attr];       set attr [regsub "{}$" $attr "{}.*"];       set attr [regsub -all "{}" $attr "{\[0-9\]+}"];       append macroLine ",^$attr$";    };    puts $macroLine; ]
-FACTORY_DEF * TeeFactory    FACTORY_NAME AttributeRemover_3    INPUT  FEATURE_TYPE StringConcatenator_OUTPUT    OUTPUT FEATURE_TYPE AttributeRemover_3_OUTPUT        @RemoveAttributes(_random_number,_timeStamp)        @RemoveAttributes(fme_regexp_match"$(AttributeRemover_3_LIST_EXP)")
-
-# -------------------------------------------------------------------------
-
-FACTORY_DEF * TeeFactory    FACTORY_NAME BaseConverter    INPUT  FEATURE_TYPE AttributeRemover_3_OUTPUT    OUTPUT FEATURE_TYPE BaseConverter_OUTPUT         "key" @ConvertBase("@Value(key)",10,36,0)
-
-# -------------------------------------------------------------------------
-
-# Since the Tcl "END" index specification starts at -1 for the second
-# last character, and we've defined -1 to be the last charater, we've got
-# small bit of fiddling to do
-
-Tcl2 proc SubstringExtractor_fixLastIndex {lastValue} {     if {$lastValue < -1} {         incr lastValue;         return "end$lastValue";     }     elseif {$lastValue == -1} {         return "end";     }     else {         return $lastValue;     } }
-Tcl2 proc SubstringExtractor_extract {startIdx endIdx} {     FME_SetAttribute [FME_DecodeText name]         [string range [FME_DecodeTextOrAttr @EvaluateExpression(FDIV,STRING_ENCODED,<at>Value<openparen>name<closeparen>,SubstringExtractor)]                       [SubstringExtractor_fixLastIndex $startIdx]                       [SubstringExtractor_fixLastIndex $endIdx]]     }
-FACTORY_DEF * TeeFactory    FACTORY_NAME SubstringExtractor    INPUT  FEATURE_TYPE BaseConverter_OUTPUT    OUTPUT FEATURE_TYPE SubstringExtractor_OUTPUT         @Tcl2("SubstringExtractor_extract 0 74")
-
-# -------------------------------------------------------------------------
-
-Tcl2 proc TimeStamper_3_formatGetter { inVal } {    if { [string compare $inVal {FME Date/Time (^Y^m^d^H^M^S)}] == 0 } {       return {^Y^m^d^H^M^S};    } elseif { [string compare $inVal {FME Date (^Y^m^d)}] == 0} {       return {^Y^m^d};    } elseif { [string compare $inVal {FME Time (^H^M^S)}] == 0} {       return {^H^M^S};    } elseif { [string compare $inVal {ISO Date (^Y-^m-^d)}] == 0} {       return {^Y-^m-^d};    } elseif { [string compare $inVal {ISO DateTime (^Y-^m-^dT^H:^M:^S)}] == 0} {       return {^Y-^m-^dT^H:^M:^S};    } elseif { [string compare $inVal {ISO Time (^H:^M:^S)}] == 0} {       return {^H:^M:^S};    } elseif { [string compare $inVal {Locale Date (^c)}] == 0} {       return {^c};    };    return $inVal; }
-FACTORY_DEF * TeeFactory    FACTORY_NAME TimeStamper_3    INPUT  FEATURE_TYPE SubstringExtractor_OUTPUT    OUTPUT FEATURE_TYPE TimeStamper_3_OUTPUT         @SupplyAttributes(ENCODED, _timestamp, @Timestamp(@Tcl2("TimeStamper_3_formatGetter {FME Date/Time (^Y^m^d^H^M^S)} ")))
-
-# -------------------------------------------------------------------------
-
-FACTORY_DEF * AttrSetFactory    FACTORY_NAME AttributeCreator_9    INPUT  FEATURE_TYPE TimeStamper_3_OUTPUT    MULTI_FEATURE_MODE NO 	 NULL_ATTR_MODE NO_OP 	 ATTRSET_CREATE_DIRECTIVES _PROPAGATE_MISSING_FDIV 	 ATTR_ACTION "" "name" "SET_TO" "<at>Value<openparen>name<closeparen><space><at>Value<openparen>_timestamp<closeparen>"    OUTPUT OUTPUT FEATURE_TYPE AttributeCreator_9_OUTPUT
-
-
-# -------------------------------------------------------------------------
-MACRO SQLExecutor_DIRECTIVES QUERY_FEATURE_TYPES_FOR_MERGE_FILTERS Yes HOST "$(dbServer)" PASSWORD "$(dbPassword)" PORT "$(dbPort)" USER_NAME "$(dbUser)"
-
-FACTORY_DEF * QueryFactory    FACTORY_NAME SQLExecutor    INPUT  FEATURE_TYPE AttributeCreator_9_OUTPUT    QUERY_SQL            "select<space>nextval<openparen><apos>s_gtf.seq_common<apos><closeparen><space>as<space>workspace_id"    READER_TYPE          POSTGRES    READER_DATASET       "@EvaluateExpression(FDIV,STRING_ENCODED,$(dbDatabase$encode),SQLExecutor)"    COMBINE_ATTRIBUTES   PREFER_RESULT    COMBINE_GEOMETRY     QUERY_ONLY    READER_PARAMS        $(SQLExecutor_DIRECTIVES)    OUTPUT RESULT FEATURE_TYPE SQLExecutor_RESULT    OUTPUT QUERY FEATURE_TYPE SQLExecutor_INITIATOR
-
-FACTORY_DEF * TeeFactory   FACTORY_NAME "SQLExecutor INITIATOR Output Nuker"   INPUT FEATURE_TYPE SQLExecutor_INITIATOR
-# -------------------------------------------------------------------------
-FACTORY_DEF * AttrSetFactory FACTORY_NAME AttributeCreator_3 INPUT  FEATURE_TYPE SQLExecutor_RESULT ATTR fme_db_operation INSERT    OUTPUT OUTPUT FEATURE_TYPE AttributeCreator_3_OUTPUT 
-FACTORY_DEF * TeeFactory   FACTORY_NAME "AttributeCreator_3 OUTPUT Splitter"   INPUT FEATURE_TYPE AttributeCreator_3_OUTPUT   OUTPUT FEATURE_TYPE AttributeCreator_3_OUTPUT_0_5wmj1QTDBCM=   OUTPUT FEATURE_TYPE AttributeCreator_3_OUTPUT_1_1sMaJ5SQWdM=
-# -------------------------------------------------------------------------
-
-INCLUDE [    set macroLine "MACRO AttributeKeeper_3_bf77963b_cce5_4f48_b9a5_2ffbd0a250250_LIST_EXP ";    foreach attr [split ""] {       set attr [FME_DecodeText $attr];       set attr [regsub "{}$" $attr "{}.*"];       set attr [regsub -all "{}" $attr "{\[0-9\]+}"];       append macroLine ",^$attr$";    };    puts $macroLine; ]
-
-FACTORY_DEF * TeeFactory    FACTORY_NAME AttributeKeeper_3    INPUT  FEATURE_TYPE s_gtf.workspace_POSTGRES_1_0_yiNk/2jyS1o=    OUTPUT FEATURE_TYPE AttributeKeeper_3_OUTPUT        @KeepAttributes(name,fme_regexp_match,"^fme_$(AttributeKeeper_3_bf77963b_cce5_4f48_b9a5_2ffbd0a250250_LIST_EXP)")
-
-# -------------------------------------------------------------------------
-
-FACTORY_DEF * TeeFactory    FACTORY_NAME AttributeRenamer_3    INPUT  FEATURE_TYPE AttributeKeeper_3_OUTPUT    OUTPUT FEATURE_TYPE AttributeRenamer_3_OUTPUT         @RenameAttributes(ATTR_LIST_DEF_VAL, name,gtf_name,)
-
-
-# -------------------------------------------------------------------------
-INCLUDE [          if { ({Selected Attributes} == {All Attributes}) } {             puts {MACRO StringCaseChanger_func @RenameAttributes(value,.*,lower)};          } else {             puts {MACRO StringCaseChanger_func @RenameAttributes(LIST_ATTR, "value", "gtf_name",lower)};          }         ]
-FACTORY_DEF * TeeFactory    FACTORY_NAME StringCaseChanger    INPUT  FEATURE_TYPE AttributeRenamer_3_OUTPUT    OUTPUT FEATURE_TYPE StringCaseChanger_OUTPUT         $(StringCaseChanger_func)
-
-# -------------------------------------------------------------------------
-
-INCLUDE [if { {ATTRIBUTES} == {ATTRIBUTES} } {                puts "MACRO FeatureMerger_REFERENCE_INFO ATTRIBUTES";             }          elseif { {ATTRIBUTES} == {GEOM_BUILD} && {<Unused>} == {POLYGONS}} {                puts "MACRO FeatureMerger_REFERENCE_INFO GEOM_BUILD_POLYS";             }          elseif { {ATTRIBUTES} == {GEOM_BUILD} && {<Unused>} == {AGGREGATES}} {                puts "MACRO FeatureMerger_REFERENCE_INFO GEOM_BUILD_AGGREGATES";             }          elseif { {ATTRIBUTES} == {GEOM_BUILD} && {<Unused>} == {LINESFROMPOINTS}} {                puts "MACRO FeatureMerger_REFERENCE_INFO GEOM_BUILD_LINES_FROM_POINTS";             }          elseif { {ATTRIBUTES} == {GEOM_AND_ATTRS} && {<Unused>} == {POLYGONS}} {                puts "MACRO FeatureMerger_REFERENCE_INFO GEOM_AND_ATTR_BUILD_POLYS";             }          elseif { {ATTRIBUTES} == {GEOM_AND_ATTRS} && {<Unused>} == {AGGREGATES}} {                puts "MACRO FeatureMerger_REFERENCE_INFO GEOM_AND_ATTR_BUILD_AGGREGATES";             }          elseif { {ATTRIBUTES} == {GEOM_AND_ATTRS} && {<Unused>} == {LINESFROMPOINTS}} {                puts "MACRO FeatureMerger_REFERENCE_INFO GEOM_AND_ATTR_BUILD_LINES_FROM_POINTS";             }          elseif { {ATTRIBUTES} == {GEOM_BUILD} } {                puts "MACRO FeatureMerger_REFERENCE_INFO GEOM_BUILD_AGGREGATES";             }          elseif { {ATTRIBUTES} == {GEOM_AND_ATTRS} } {                puts "MACRO FeatureMerger_REFERENCE_INFO GEOM_AND_ATTR_BUILD_AGGREGATES";             }          else {}; ]
-
-FACTORY_DEF * ReferenceFactory    FACTORY_NAME FeatureMerger    INPUT REFERENCER FEATURE_TYPE StringCaseChanger_2_OUTPUT    INPUT REFERENCEE FEATURE_TYPE StringCaseChanger_OUTPUT    REFERENCE_INFO $(FeatureMerger_REFERENCE_INFO)    REFERENCE_TABLE @EvaluateExpression(FDIV,STRING_ENCODED,<at>Value<openparen>gex_name<closeparen>,FeatureMerger) @EvaluateExpression(FDIV,STRING_ENCODED,<at>Value<openparen>gtf_name<closeparen>,FeatureMerger)    IGNORE_NULLS "Yes"    MERGE_ATTRIBUTES Yes    MANAGE_FME_TYPE Yes    MODE COMPLETE    PROCESS_DUPLICATE_REFERENCEES No    REFERENCEES_FIRST No    OUTPUT COMPLETE FEATURE_TYPE FeatureMerger_MERGED    OUTPUT INCOMPLETE FEATURE_TYPE FeatureMerger_NOT_MERGED
-
-# -------------------------------------------------------------------------
-
-INCLUDE [    set macroLine "MACRO AttributeRemover_4_LIST_EXP ";    foreach attr [split ""] {       set attr [FME_DecodeText $attr];       set attr [regsub "{}$" $attr "{}.*"];       set attr [regsub -all "{}" $attr "\\{\[0-9\]+\\}"];       append macroLine ",^$attr$";    };    puts $macroLine; ]
-FACTORY_DEF * TeeFactory    FACTORY_NAME AttributeRemover_4    INPUT  FEATURE_TYPE FeatureMerger_MERGED    OUTPUT FEATURE_TYPE AttributeRemover_4_OUTPUT        @RemoveAttributes(fme_encoded,gex_name,gtf_name)        @RemoveAttributes(fme_pcre_match"$(AttributeRemover_4_LIST_EXP)")
-
-# -------------------------------------------------------------------------
-
-# Since the Tcl "END" index specification starts at -1 for the second
-# last character, and we've defined -1 to be the last charater, we've got
-# small bit of fiddling to do
-
-Tcl2 proc SubstringExtractor_2_fixLastIndex {lastValue} {     if {$lastValue < -1} {         incr lastValue;         return "end$lastValue";     }     elseif {$lastValue == -1} {         return "end";     }     else {         return $lastValue;     } }
-Tcl2 proc SubstringExtractor_2_extract {startIdx endIdx} {     FME_SetAttribute [FME_DecodeText name]         [string range [FME_DecodeTextOrAttr @EvaluateExpression(FDIV,STRING_ENCODED,<at>Value<openparen>name<closeparen>,SubstringExtractor_2)]                       [SubstringExtractor_2_fixLastIndex $startIdx]                       [SubstringExtractor_2_fixLastIndex $endIdx]]     }
-FACTORY_DEF * TeeFactory    FACTORY_NAME SubstringExtractor_2    INPUT  FEATURE_TYPE AttributeRemover_4_OUTPUT    OUTPUT FEATURE_TYPE SubstringExtractor_2_OUTPUT         @Tcl2("SubstringExtractor_2_extract 0 74")
-
-# -------------------------------------------------------------------------
-
-
-FME_PYTHON_PATH "$(FME_MF_DIR)"
-
-FACTORY_DEF * PythonFactory    FACTORY_NAME PythonCaller_2    INPUT  FEATURE_TYPE SubstringExtractor_2_OUTPUT    SYMBOL_NAME myFunction2    SOURCE_CODE #<space>-*-<space>coding:<space>utf-8<space>-*-<lf>import<space>time<lf>import<space>fmeobjects<lf><lf>def<space>myFunction2<openparen>object<closeparen>:<lf><space><space><space><space>#<space>Extrait<space>la<space>date<space>et<space>l<apos>heure<space>du<space>jour<lf><space><space><space><space>temps<space>=<space>time.strftime<openparen><apos>%Y%m%d-%H%M%S<apos><comma>time.localtime<openparen><closeparen><closeparen><lf><space><space><space><space>#<space>Modifie<space>la<space>valeur<space>de<space>name<space>en<space>suffixant<space>par<space>la<space>date<lf><space><space><space><space>name<space>=<space>object.getAttribute<openparen><apos>name<apos><closeparen><lf><space><space><space><space>object.setAttribute<openparen><apos>name<apos><comma>name<space>+<space><quote><space><openparen>import<space><quote><space>+<space>temps<space>+<space><quote><closeparen><quote><closeparen>    OUTPUT PYOUTPUT FEATURE_TYPE PythonCaller_2_OUTPUT
-
-# -------------------------------------------------------------------------
-MACRO SQLExecutor_3_DIRECTIVES PORT "$(dbPort)" USER_NAME "$(dbUser)" HOST "$(dbServer)" PASSWORD "$(dbPassword)" QUERY_FEATURE_TYPES_FOR_MERGE_FILTERS Yes
-
-FACTORY_DEF * QueryFactory    FACTORY_NAME SQLExecutor_3    INPUT  FEATURE_TYPE PythonCaller_2_OUTPUT    INPUT  FEATURE_TYPE FeatureMerger_NOT_MERGED    QUERY_SQL            "select<space>nextval<openparen><apos>s_gtf.seq_common<apos><closeparen><space>as<space>workspace_id"    READER_TYPE          POSTGRES    READER_DATASET       "@EvaluateExpression(FDIV,STRING_ENCODED,$(dbDatabase$encode),SQLExecutor_3)"    COMBINE_ATTRIBUTES   PREFER_RESULT    COMBINE_GEOMETRY     QUERY_ONLY    READER_PARAMS        $(SQLExecutor_3_DIRECTIVES)    OUTPUT RESULT FEATURE_TYPE SQLExecutor_3_RESULT    OUTPUT QUERY FEATURE_TYPE SQLExecutor_3_INITIATOR
-
-FACTORY_DEF * TeeFactory   FACTORY_NAME "SQLExecutor_3 INITIATOR Output Nuker"   INPUT FEATURE_TYPE SQLExecutor_3_INITIATOR
-# -------------------------------------------------------------------------
-FACTORY_DEF * AttrSetFactory FACTORY_NAME AttributeCreator_4 INPUT  FEATURE_TYPE SQLExecutor_3_RESULT ATTR fme_db_operation INSERT    OUTPUT OUTPUT FEATURE_TYPE AttributeCreator_4_OUTPUT 
-FACTORY_DEF * TeeFactory   FACTORY_NAME "AttributeCreator_4 OUTPUT Splitter"   INPUT FEATURE_TYPE AttributeCreator_4_OUTPUT   OUTPUT FEATURE_TYPE AttributeCreator_4_OUTPUT_0_TCAKbWChfSA=   OUTPUT FEATURE_TYPE AttributeCreator_4_OUTPUT_1_1q4Gwa/O8yk=
-# -------------------------------------------------------------------------
-
-INCLUDE [    set macroLine "MACRO AttributeKeeper_2_272fb90d_f2e3_4300_8437_a2c352488b9f0_LIST_EXP ";    foreach attr [split ""] {       set attr [FME_DecodeText $attr];       set attr [regsub "{}$" $attr "{}.*"];       set attr [regsub -all "{}" $attr "\\{\[0-9\]+\\}"];       append macroLine ",^$attr$";    };    puts $macroLine; ]
-
-FACTORY_DEF * TeeFactory    FACTORY_NAME AttributeKeeper_2    INPUT  FEATURE_TYPE AttributeCreator_3_OUTPUT_1_1sMaJ5SQWdM=    INPUT  FEATURE_TYPE AttributeCreator_4_OUTPUT_1_1q4Gwa/O8yk=    OUTPUT FEATURE_TYPE AttributeKeeper_2_OUTPUT        @KeepAttributes(fme_encoded,key,name,workspace_id,fme_pcre_match,"^fme_$(AttributeKeeper_2_272fb90d_f2e3_4300_8437_a2c352488b9f0_LIST_EXP)")
-
-# -------------------------------------------------------------------------
-FACTORY_DEF * AttrSetFactory FACTORY_NAME AttributeCreator_6 ATTRSET_CREATE_DIRECTIVES _PROPAGATE_MISSING_FDIV INPUT  FEATURE_TYPE AttributeKeeper_2_OUTPUT ATTR statut Ins<u00e9>r<u00e9><space>dans<space>GTF    OUTPUT OUTPUT FEATURE_TYPE AttributeCreator_6_OUTPUT 
-# -------------------------------------------------------------------------
-
-Tcl2 proc ParameterFetcher_2_doFetch {} {    foreach {name val} {"_fme_mf_dir_unix {$(FME_MF_DIR_USERTYPED$encode)}"} {         if { [string match {*<at>*} $val] == 1 } {             set val [FME_Execute EvaluateExpression {STRING} $val {ParameterFetcher_2}];         } elseif {[string match {*FME_CONDITIONAL*} $val] == 1} {             set val [FME_Execute EvaluateExpression {STRING} $val {ParameterFetcher_2}];         } else {             set val [FME_DecodeTextOrAttr $val];         };       FME_SetAttribute [FME_DecodeText $name] $val    } }
-FACTORY_DEF * TeeFactory    FACTORY_NAME ParameterFetcher_2    INPUT  FEATURE_TYPE AttributeCreator_3_OUTPUT_0_5wmj1QTDBCM=    INPUT  FEATURE_TYPE AttributeCreator_4_OUTPUT_0_TCAKbWChfSA=    INPUT  FEATURE_TYPE AttributeCreator_2_OUTPUT_0_j0uI5yR3ojs=    OUTPUT FEATURE_TYPE ParameterFetcher_2_OUTPUT         @Tcl2(ParameterFetcher_2_doFetch)
-
-# -------------------------------------------------------------------------
-
-
-Tcl2 FME_Decode proc<space>mdir2<space><opencurly><closecurly><space><opencurly><lf><space><space><space><space><lf><space><space><space><space>#<space>Variables<lf><space><space><space><space>set<space>fme_mf_dir_unix<space><openbracket>FME_GetAttribute<space>_fme_mf_dir_unix<closebracket><lf><space><space><space><space>set<space>tmpdir<space><openbracket>FME_GetAttribute<space>tmpDIR<closebracket><lf><space><space><space><space>regsub<space>-all<space><opencurly><backslash><backslash><closecurly><space><dollar>tmpdir<space><solidus><space>tmpdir<lf><space><space><space><space>set<space>gex_workspace_id<space><openbracket>FME_GetAttribute<space>gex_workspace_id<closebracket><lf><tab>set<space>workspace_id<space><openbracket>FME_GetAttribute<space>workspace_id<closebracket><lf><space><space><space><space>set<space>projectdir<space><quote><dollar>fme_mf_dir_unix<solidus>..<solidus>..<solidus><dollar>workspace_id<solidus><quote><lf><lf><space><space><space><space>#<space>Cr<u00e9>ation<space>du<space>r<u00e9>pertoire<space>de<space>destination<lf><space><space><space><space>if<space><opencurly><openbracket>file<space>exists<space><dollar>projectdir<closebracket>==0<space><closecurly><space><opencurly><lf><space><space><space><space><space><space><space><space>puts<space><quote>*TCL*<space>Cr<u00e9>ation<space>du<space>r<u00e9>pertoire<space><dollar>projectdir<quote><lf><space><space><space><space><space><space><space><space>file<space>mkdir<space><dollar>projectdir<lf><space><space><space><space><closecurly><space>else<space><opencurly><lf><space><space><space><space><space><space><space><space>puts<space><quote>*TCL*<space>Suppression<space>du<space>r<u00e9>pertoire<space><dollar>projectdir<quote><lf><space><space><space><space><space><space><space><space>file<space>delete<space>-force<space><dollar>projectdir<lf><space><space><space><space><space><space><space><space>puts<space><quote>*TCL*<space>Cr<u00e9>ation<space>du<space>r<u00e9>pertoire<space><dollar>projectdir<quote><lf><space><space><space><space><space><space><space><space>file<space>mkdir<space><dollar>projectdir<lf><space><space><space><space><closecurly><lf><space><space><space><lf><space><space><space><space>#<space>Copie<space>des<space>fichiers<lf><space><space><space><space>#<space>21<solidus>02<solidus>2014<space>v<u00e9>rifie<space>que<space>le<space>dossier<space>existe<space>sinon<space>TCL<space>plante<lf><space><space><space><space>if<space><opencurly><openbracket>file<space>isdirectory<space><quote><dollar>tmpdir<solidus><dollar>gex_workspace_id<quote><closebracket><closecurly><space><opencurly><lf><space><space><space><space><space><space><space><space>set<space>projectsourcedir<space><openbracket>glob<space>-nocomplain<space><quote><dollar>tmpdir<solidus><dollar>gex_workspace_id<solidus>*<quote><closebracket><lf><space><space><space><space><space><space><space><space>foreach<space>file<space><dollar>projectsourcedir<space><opencurly><lf><space><space><space><space><space><space><space><space><space><space><space><space>puts<space><quote>*TCL*<space>Copie<space>du<space>r<u00e9>pertoire<space><dollar>file<quote><lf><space><space><space><space><space><space><space><space><space><space><space><space>file<space>copy<space>-force<space><dollar>file<space><dollar>projectdir<lf><space><space><space><space><space><space><space><space><space><space><space><space>#set<space>test<space><quote><dollar>tmpdir<solidus><dollar>gex_workspace_id<solidus>form<quote><lf><space><space><space><space><space><space><space><space><closecurly><lf><space><space><space><space><closecurly><lf><lf><space><space><space><space>#<space>Y<space>a<space>t-il<space>les<space>formulaires<space>JSON<space>?<space><openparen>GTF<space>2016<closeparen><lf><space><space><space><space>if<space><opencurly><openbracket>file<space>isfile<space><quote><dollar>projectdir<solidus>form<solidus>DSubform.json<quote><closebracket><closecurly><space><opencurly><lf><space><space><space><space><space><space><space><space>FME_SetAttribute<space>DSubform<space>1<lf><space><space><space><space><closecurly><space>else<space><opencurly><lf><space><space><space><space><space><space><space><space>FME_SetAttribute<space>DSubform<space>0<lf><space><space><space><space><closecurly><lf><space><space><space><space>if<space><opencurly><openbracket>file<space>isfile<space><quote><dollar>projectdir<solidus>form<solidus>Subform.json<quote><closebracket><closecurly><space><opencurly><lf><space><space><space><space><space><space><space><space>FME_SetAttribute<space>Subform<space>1<lf><space><space><space><space><closecurly><space>else<space><opencurly><lf><space><space><space><space><space><space><space><space>FME_SetAttribute<space>Subform<space>0<lf><space><space><space><space><closecurly><lf><space><space><space><space>if<space><opencurly><openbracket>file<space>isfile<space><quote><dollar>projectdir<solidus>form<solidus>WSubform.json<quote><closebracket><closecurly><space><opencurly><lf><space><space><space><space><space><space><space><space>FME_SetAttribute<space>WSubform<space>1<lf><space><space><space><space><closecurly><space>else<space><opencurly><lf><space><space><space><space><space><space><space><space>FME_SetAttribute<space>WSubform<space>0<lf><space><space><space><space><closecurly><space><space><space><space><lf><space><space><space><lf><closecurly>
-FACTORY_DEF * TeeFactory    FACTORY_NAME TCLCaller_2    INPUT  FEATURE_TYPE ParameterFetcher_2_OUTPUT    OUTPUT FEATURE_TYPE TCLCaller_2_OUTPUT         "xy" @Tcl2("mdir2")
-
-# -------------------------------------------------------------------------
-
-INCLUDE [    set macroLine "MACRO AttributeRemover_8_LIST_EXP ";    foreach attr [split ""] {       set attr [FME_DecodeText $attr];       set attr [regsub "{}$" $attr "{}.*"];       set attr [regsub -all "{}" $attr "{\[0-9\]+}"];       append macroLine ",^$attr$";    };    puts $macroLine; ]
-FACTORY_DEF * TeeFactory    FACTORY_NAME AttributeRemover_8    INPUT  FEATURE_TYPE TCLCaller_2_OUTPUT    OUTPUT FEATURE_TYPE AttributeRemover_8_OUTPUT        @RemoveAttributes(xy)        @RemoveAttributes(fme_regexp_match"$(AttributeRemover_8_LIST_EXP)")
-
-# -------------------------------------------------------------------------
-MACRO SQLExecutor_2_DIRECTIVES QUERY_FEATURE_TYPES_FOR_MERGE_FILTERS Yes HOST "$(dbServer)" PASSWORD "$(dbPassword)" PORT "$(dbPort)" USER_NAME "$(dbUser)"
-
-FACTORY_DEF * QueryFactory    FACTORY_NAME SQLExecutor_2    INPUT  FEATURE_TYPE AttributeRemover_8_OUTPUT    QUERY_SQL            "@EvaluateExpression(FDIV,STRING_ENCODED,select<space>user_id<space>as<space>owner<space>from<space>s_gtf.order<space>where<space>order_id<space>=<space>$(GTF_ORDER_ID$encode),SQLExecutor_2)"    READER_TYPE          POSTGRES    READER_DATASET       "@EvaluateExpression(FDIV,STRING_ENCODED,$(dbDatabase$encode),SQLExecutor_2)"    COMBINE_ATTRIBUTES   PREFER_RESULT    COMBINE_GEOMETRY     QUERY_ONLY    READER_PARAMS        $(SQLExecutor_2_DIRECTIVES)    OUTPUT RESULT FEATURE_TYPE SQLExecutor_2_RESULT    OUTPUT QUERY FEATURE_TYPE SQLExecutor_2_INITIATOR
-
-FACTORY_DEF * TeeFactory   FACTORY_NAME "SQLExecutor_2 INITIATOR Output Nuker"   INPUT FEATURE_TYPE SQLExecutor_2_INITIATOR
-# -------------------------------------------------------------------------
-
-Tcl2 proc AttributeEncoder_convert {} {    set attrs [split {<Unused>} { }];    set allAttributes false;    if { {ALL} == {ALL} } {       set attrs [FME_AttributeNames];       set allAttributes true;    };    set parmList {{EvaluateExpression} {ATTR_SET_EXPR}};    foreach attr $attrs {      if {[string first {fme_} $attr] == 0 && $allAttributes} {         continue;      };      if {$allAttributes} {        set attr [FME_EncodeText $attr];      };      set funcAttr $attr;      if { [string first "<quote>" $attr] != -1 }      {          set funcAttr [string map {"<quote>" "<backslash><quote>"} $attr];          append funcAttr "<quote>";          set funcAttr "<quote>"$funcAttr;      };      set funcCall [join [list "<at>ConvertEncoding<openparen>utf-8<comma><at>Value<openparen>" $funcAttr "<closeparen><comma>FALSE<closeparen>"] {}];      lappend parmList $attr;      lappend parmList $funcCall;    };    lappend parmList {AttributeEncoder};    eval FME_Execute $parmList; }
-FACTORY_DEF * TeeFactory    FACTORY_NAME AttributeEncoder    INPUT  FEATURE_TYPE SQLExecutor_2_RESULT    OUTPUT FEATURE_TYPE AttributeEncoder_OUTPUT         @Tcl2("AttributeEncoder_convert")
-
-
-# -------------------------------------------------------------------------
-
-FACTORY_DEF * RoutingFactory FACTORY_NAME "Destination Feature Type Routing Correlator"   COMMAND_PARM_EVALUATION SINGLE_PASS   INPUT FEATURE_TYPE *    ROUTE FME_GENERIC AttributeRenamer_5_OUTPUT TO POSTGRES __GO_TO_FINAL_OUTPUT_ROUTER__ multi_writer_id,0,<at>SupplyAttributes<openparen>ENCODED<comma>__wb_out_feat_type__<comma>s_gtf.category<closeparen> GEOMETRY    ROUTE FME_GENERIC AttributeCreator_5_OUTPUT TO XML __GO_TO_FINAL_OUTPUT_ROUTER__ multi_writer_id,2,<at>SupplyAttributes<openparen>ENCODED<comma>__wb_out_feat_type__<comma>rapport<closeparen> GEOMETRY    ROUTE FME_GENERIC AttributeCreator_6_OUTPUT TO XML __GO_TO_FINAL_OUTPUT_ROUTER__ multi_writer_id,2,<at>SupplyAttributes<openparen>ENCODED<comma>__wb_out_feat_type__<comma>rapport<closeparen> GEOMETRY    ROUTE FME_GENERIC AttributeCreator_7_OUTPUT TO XML __GO_TO_FINAL_OUTPUT_ROUTER__ multi_writer_id,2,<at>SupplyAttributes<openparen>ENCODED<comma>__wb_out_feat_type__<comma>rapport<closeparen> GEOMETRY    ROUTE FME_GENERIC AttributeEncoder_OUTPUT TO POSTGRES __GO_TO_FINAL_OUTPUT_ROUTER__ multi_writer_id,1,<at>SupplyAttributes<openparen>ENCODED<comma>__wb_out_feat_type__<comma>s_gtf.workspace<closeparen> GEOMETRY   FEATURE_TYPE_ATTRIBUTE __wb_out_feat_type__   OUTPUT ROUTED FEATURE_TYPE *    OUTPUT NOT_ROUTED FEATURE_TYPE __nuke_me__ @Tcl2("FME_StatMessage 818059 [FME_GetAttribute fme_template_feature_type] 818060 818061 fme_warn")
-# -------------------------------------------------------------------------
-
-FACTORY_DEF * TeeFactory   FACTORY_NAME "Final Output Nuker"   INPUT FEATURE_TYPE __nuke_me__
-
-# -------------------------------------------------------------------------
-POSTGRES_2_DEF s_gtf.category   postgres_type                All   postgres_mode                INHERIT_FROM_WRITER   postgres_sql_key_columns     ""   postgres_drop_table          NO   postgres_truncate_table      NO   postgres_create_with_oids    NO   postgres_vacuum_analyze      NO   postgres_allow_serial_writing NO   category_id                  int4,PRIKEY   name                         varchar(50)   description                  varchar(200)
-# -------------------------------------------------------------------------
-POSTGRES_3_DEF s_gtf.workspace   postgres_type                All   postgres_mode                UPDATE   postgres_drop_table          NO   postgres_truncate_table      NO   postgres_create_with_oids    YES   postgres_vacuum_analyze      YES   postgres_allow_serial_writing NO   workspace_id                 int4,PRIKEY   name                         varchar(100),BTREE   description                  text   subscription                 bool   fmw_file                     varchar(150)   category_id                  int4,BTREE   success_action_id            int4   failed_action_id             int4   lb_method_id                 int4   survey                       bool   form_type                    varchar(10)   legal_terms_conditions       text   usage                        text   requirements                 text   history                      text   last_save_date               timestamp   last_save_build              varchar(80)   file_encoding                varchar(80)   title                        varchar(80)   key                          varchar(80)   email_template_id            int4   owner                        int4   creation_date                date   locked                       bool   tag                          varchar(100)
-# -------------------------------------------------------------------------
-XML_1_DEF rapport   name                         xml_char(100)   key                          xml_char(80)   workspace_id                 xml_int32   statut                       xml_char(200)
diff --git a/src/module_gtf/web_service/ws_data/gtf/workspace/-3/fme/formChecker.fmw b/src/module_gtf/web_service/ws_data/gtf/workspace/-3/fme/formChecker.fmw
index 8428859d7b835d98d6c44e6bd784a06ba3e78be7..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100755
--- a/src/module_gtf/web_service/ws_data/gtf/workspace/-3/fme/formChecker.fmw
+++ b/src/module_gtf/web_service/ws_data/gtf/workspace/-3/fme/formChecker.fmw
@@ -1,2837 +0,0 @@
-#! <?xml version="1.0" encoding="UTF-8" ?>
-#! <WORKSPACE
-#    
-#    
-#    Ligne de commande pour exécuter le projet :
-#    
-#    
-#    C:\Apps\FME_2017.0.1.1x64\fme.exe C:\vm02.veremes.net\produit_vitis\web_services\gtf\trunk\ws_data\gtf\workspace\-3\fme\formChecker.fmw
-#          --H_sessionId "f497f1qg5rqovsae893nra8on0"
-#          --H_url "https://palomino/rest/gtf/"
-#          --HTML "C:\TEMP\rapport_formulaires.html"
-#          --defaultFormForce "0"
-#          --GTF_CONNECTION_STRING "********"
-#    
-#    
-#!   FME_IMPLICIT_CSMAP_REPROJECTION_MODE="Auto"
-#!   SOURCE="NONE"
-#!   DESTINATION_ROUTING_FILE=""
-#!   LAST_SAVE_BUILD="FME(R) 2017.0.1.1 (20170512 - Build 17291 - WIN64)"
-#!   DOC_EXTENTS="13219.3 2739"
-#!   SHOW_INFO_NODES="true"
-#!   FME_DOCUMENT_GUID="720a8ed9-a759-4f00-bcdf-d7202c10b715"
-#!   FME_SERVER_SERVICES=""
-#!   DESTINATION="NONE"
-#!   DOC_TOP_LEFT="-5760.87 -450"
-#!   MARKDOWN_USAGE=""
-#!   MULTI_WRITER_DATASET_ORDER="BY_ID"
-#!   EXPLICIT_BOOKMARK_ORDER="false"
-#!   FME_BUILD_NUM="17291"
-#!   FME_DOCUMENT_PRIORGUID="057ae92e-d988-4391-8168-8ce7dd73fe9a,994edc23-a6f2-45f6-99ca-5f0e1b2a9695,0acd533f-13f0-47fc-92db-d71da8a4662b"
-#!   TERMINATE_REJECTED="NO"
-#!   FME_GEOMETRY_HANDLING="Enhanced"
-#!   PASSWORD=""
-#!   DESCRIPTION="&lt;p&gt;Vérification des formulaires. &lt;br&gt;&lt;/p&gt;&lt;p&gt;Permet de définir les conditions de génération des formulaires par défaut des traitements.&amp;nbsp;&lt;/p&gt;&lt;p&gt;2 options sont possibles :&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Ne pas forcer la régénération des formulaires par défaut pour tous les traitements : Ne sont traités que les traitements ne disposant pas de formulaire publié de type subform.json. Leurs formulaires sont invalides . Si le type de formulaire publié indiqué en base est de type &apos;par défaut&apos;&#10; alors les 3 formulaires sont générés. Sinon&#10; si le formulaire source indiqué en base est de type &apos;personnalisé&apos;&#10; alors un rapport indique que le traitement est invalide et que l&apos;auteur doit créer lui même le formulaire. Un Rapport liste les projets concernés et indique le statut de leur formulaire &lt;br&gt;&lt;/li&gt;&lt;/ul&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;ol&gt;&lt;li&gt;Formulaires générés avec succès.&lt;/li&gt;&lt;li&gt;Formulaire personnalisé invalide.Le formulaire doit être généré par un administrateur.&lt;/li&gt;&lt;/ol&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;ul&gt;&lt;li&gt;Forcer la régénération des formulaires par défaut pour tous les traitements. Un formulaire par défaut est regénéré pour tous les traitements. Les formulaires par défaut sont publiés &lt;strong&gt;SI&lt;/strong&gt; le formulaire en base de données est de type Défaut. Sinon les formulaires publiés personnalisés sont conservés. Un rapport liste les projets l&apos;intégralité des projets en indiquant le statut des formulaires :&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;ol&gt;&lt;li&gt;Formulaire personnalisé invalide.Le formulaire doit être généré par un administrateur.&lt;/li&gt;&lt;li&gt;Formulaire par défaut regénéré avec succès.&lt;/li&gt;&lt;li&gt;Formulaire par défaut regénéré et publié avec succès.&lt;/li&gt;&lt;/ol&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&#10;"
-#!   VIEW_POSITION="2291.69 2287.35"
-#!   USAGE="&lt;p&gt;&lt;br data-mce-bogus=&quot;1&quot;&gt;&lt;/p&gt;"
-#!   MAX_LOG_FEATURES="200"
-#!   ATTR_TYPE_ENCODING="SDF"
-#!   END_PYTHON=""
-#!   WORKSPACE_VERSION="1"
-#!   TITLE=""
-#!   IGNORE_READER_FAILURE="No"
-#!   LAST_SAVE_DATE="2018-02-04T21:36:43"
-#!   BEGIN_TCL=""
-#!   HISTORY=""
-#!   SHOW_ANNOTATIONS="true"
-#!   ZOOM_SCALE="72"
-#!   MARKDOWN_DESCRIPTION=""
-#!   END_TCL=""
-#!   LOG_MAX_RECORDED_FEATURES="200"
-#!   PYTHON_COMPATIBILITY="27"
-#!   CATEGORY="Administration"
-#!   FME_STROKE_MAX_DEVIATION="0"
-#!   SOURCE_ROUTING_FILE=""
-#!   FME_REPROJECTION_ENGINE="FME"
-#!   LOG_FILE=""
-#!   BEGIN_PYTHON=""
-#!   USE_MARKDOWN=""
-#!   REDIRECT_TERMINATORS="NONE"
-#!   WARN_INVALID_XFORM_PARAM="Yes"
-#! >
-#! <DATASETS>
-#! <DATASET
-#!   IS_SOURCE="true"
-#!   ROLE="READER"
-#!   FORMAT="PATH"
-#!   DATASET="$(workspacesDir)"
-#!   KEYWORD="PATH_1"
-#!   MULTI_GEOM_ALLOWED="false"
-#!   ATTR_MAX_LENGTH="60"
-#!   ATTR_CASE="ANY"
-#!   ALLOWED_FEAT_TYPES=""
-#!   WRITE_DEFS="false"
-#!   DEFLINE_TEMPLATE=""
-#!   DEFLINE_ATTRS="false"
-#!   EXPOSABLE_ATTRS="multi_reader_full_id number(11,0) fme_text_size number(31,15) fme_text_string char(50) multi_reader_keyword char(50) fme_fill_color char(50) fme_geometry fme_char(50) multi_reader_id number(11,0) fme_basename char(50) fme_secondary_axis number(31,15) fme_start_angle number(31,15) fme_sweep_angle number(31,15) fme_type char(50) fme_dataset char(50) multi_reader_type char(50) fme_color char(50) fme_feature_type char(50) fme_rotation number(31,15) path_geom char(13) fme_primary_axis number(31,15)"
-#!   DEFLINE_PARMS=""
-#!   ATTR_INDEX_TYPES=""
-#!   ATTR_NAME_INVALID_CHARS=""
-#!   SUPPORTS_FEATURE_TYPE_FANOUT="true"
-#!   ENABLED="true"
-#!   DYNAMIC_FEATURE_TYPES_LIST_ON_MERGE="true"
-#!   DATASET_TYPE="DIRONLY"
-#!   GENERATE_FME_BUILD_NUM="15575"
-#!   MAX_FEATURES=""
-#!   COORDSYS=""
-#!   MIN_FEATURES=""
-#!   MAX_FEATURES_PER_FEATURE_TYPE=""
-#!   FEATURE_TYPES=""
-#!   START_FEATURE=""
-#! >
-#! <METAFILE_PARAMETER
-#!   NAME="READER_DATASET_HINT"
-#!   VALUE="Specify the Folder or Files pathnames"
-#! />
-#! <METAFILE_PARAMETER
-#!   NAME="FEATURE_TYPE_NAME"
-#!   VALUE="PATH"
-#! />
-#! </DATASET>
-#! <DATASET
-#!   IS_SOURCE="false"
-#!   ROLE="WRITER"
-#!   FORMAT="XML"
-#!   DATASET="$(xml)"
-#!   KEYWORD="XML_1"
-#!   MULTI_GEOM_ALLOWED="true"
-#!   ATTR_MAX_LENGTH="254"
-#!   ATTR_CASE="ANY"
-#!   ALLOWED_FEAT_TYPES=""
-#!   WRITE_DEFS="true"
-#!   DEFLINE_TEMPLATE=""
-#!   DEFLINE_ATTRS="true"
-#!   EXPOSABLE_ATTRS="fme_rotation xml_real64 fme_text_size xml_real64 fme_geometry fme_char(50) fme_type xml_char(50) fme_color xml_char(50) fme_fill_color xml_char(50) fme_feature_type xml_char(50) fme_basename xml_char(50) fme_secondary_axis xml_real64 xml_type xml_char(50) fme_dataset xml_char(50) fme_start_angle xml_real64 fme_sweep_angle xml_real64 fme_text_string xml_char(50) fme_primary_axis xml_real64"
-#!   DEFLINE_PARMS=""
-#!   ATTR_INDEX_TYPES=""
-#!   ATTR_NAME_INVALID_CHARS="[]= %~!@$&amp;#[()^?*&apos;+\\/&quot;:{}"
-#!   SUPPORTS_FEATURE_TYPE_FANOUT="true"
-#!   ENABLED="true"
-#!   DYNAMIC_FEATURE_TYPES_LIST_ON_MERGE="true"
-#!   DATASET_TYPE="FILE_OR_URL"
-#!   GENERATE_FME_BUILD_NUM="15477"
-#!   FANOUT_EXPRESSION=""
-#!   FANOUT_GROUP="NO"
-#!   COORDSYS=""
-#! >
-#! <METAFILE_PARAMETER
-#!   NAME="NETWORK_PROXY"
-#!   VALUE="NO"
-#! />
-#! <METAFILE_PARAMETER
-#!   NAME="READER_DATASET_HINT"
-#!   VALUE="Select the XML file(s)"
-#! />
-#! <METAFILE_PARAMETER
-#!   NAME="NETWORK_AUTHENTICATION"
-#!   VALUE="NO"
-#! />
-#! <METAFILE_PARAMETER
-#!   NAME="MIME_TYPE"
-#!   VALUE="application/XML"
-#! />
-#! <METAFILE_PARAMETER
-#!   NAME="DATASET_NAME"
-#!   VALUE="xml file"
-#! />
-#! <METAFILE_PARAMETER
-#!   NAME="ADVANCED_PARMS"
-#!   VALUE="XML_OUT_XSD_DOC XML_OUT_SUPPRESS_TARGET_NS XML_OUT_TABLE_WRAPPER_PREFIX XML_OUT_TABLE_WRAPPER_SUFFIX XML_OUT_ROW_ID_ATTR_NAME XML_OUT_ROW_ID_PREFIX XML_OUT_APPLY_STYLESHEET XML_OUT_STYLESHEET_RESULT XML_OUT_APPEND_XML_FRAGMENTS_AS XML_OUT_XML_ROOT_ELEMENT_APPEND_PATH XML_OUT_XML_VALIDATION XML_OUT_XSD_VALIDATION_DOCS"
-#! />
-#! <METAFILE_PARAMETER
-#!   NAME="WRITER_DATASET_HINT"
-#!   VALUE="Specify a name for the XML file"
-#! />
-#! </DATASET>
-#! </DATASETS>
-#! <DATA_TYPES>
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="char(width)"
-#!   FME_TYPE="fme_varchar(width)"
-#!   FORMAT="PATH"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="char(width)"
-#!   FME_TYPE="fme_varbinary(width)"
-#!   FORMAT="PATH"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="char(width)"
-#!   FME_TYPE="fme_char(width)"
-#!   FORMAT="PATH"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="char(width)"
-#!   FME_TYPE="fme_binary(width)"
-#!   FORMAT="PATH"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="buffer"
-#!   FME_TYPE="fme_buffer"
-#!   FORMAT="PATH"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="buffer"
-#!   FME_TYPE="fme_binarybuffer"
-#!   FORMAT="PATH"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="buffer"
-#!   FME_TYPE="fme_xml"
-#!   FORMAT="PATH"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="buffer"
-#!   FME_TYPE="fme_json"
-#!   FORMAT="PATH"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="char(20)"
-#!   FME_TYPE="fme_datetime"
-#!   FORMAT="PATH"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="char(12)"
-#!   FME_TYPE="fme_time"
-#!   FORMAT="PATH"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="date"
-#!   FME_TYPE="fme_date"
-#!   FORMAT="PATH"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="number(31,15)"
-#!   FME_TYPE="fme_real64"
-#!   FORMAT="PATH"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="number(15,7)"
-#!   FME_TYPE="fme_real32"
-#!   FORMAT="PATH"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="number(11,0)"
-#!   FME_TYPE="fme_int32"
-#!   FORMAT="PATH"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="number(11,0)"
-#!   FME_TYPE="fme_uint32"
-#!   FORMAT="PATH"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="number(20,0)"
-#!   FME_TYPE="fme_int64"
-#!   FORMAT="PATH"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="number(20,0)"
-#!   FME_TYPE="fme_uint64"
-#!   FORMAT="PATH"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="logical"
-#!   FME_TYPE="fme_boolean"
-#!   FORMAT="PATH"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="number(6,0)"
-#!   FME_TYPE="fme_int16"
-#!   FORMAT="PATH"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="number(6,0)"
-#!   FME_TYPE="fme_uint16"
-#!   FORMAT="PATH"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="number(4,0)"
-#!   FME_TYPE="fme_int8"
-#!   FORMAT="PATH"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="number(4,0)"
-#!   FME_TYPE="fme_uint8"
-#!   FORMAT="PATH"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="number(width,decimal)"
-#!   FME_TYPE="fme_decimal(width,decimal)"
-#!   FORMAT="PATH"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="char(1)"
-#!   FME_TYPE="fme_char(width)"
-#!   FORMAT="PATH"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_char(width)"
-#!   FME_TYPE="fme_varchar(width)"
-#!   FORMAT="XML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_char(width)"
-#!   FME_TYPE="fme_varbinary(width)"
-#!   FORMAT="XML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_char(width)"
-#!   FME_TYPE="fme_char(width)"
-#!   FORMAT="XML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_char(width)"
-#!   FME_TYPE="fme_binary(width)"
-#!   FORMAT="XML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_buffer"
-#!   FME_TYPE="fme_buffer"
-#!   FORMAT="XML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_buffer"
-#!   FME_TYPE="fme_binarybuffer"
-#!   FORMAT="XML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_buffer"
-#!   FME_TYPE="fme_json"
-#!   FORMAT="XML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_xml"
-#!   FME_TYPE="fme_xml"
-#!   FORMAT="XML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_datetime"
-#!   FME_TYPE="fme_buffer"
-#!   FORMAT="XML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_date"
-#!   FME_TYPE="fme_buffer"
-#!   FORMAT="XML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_time"
-#!   FME_TYPE="fme_buffer"
-#!   FORMAT="XML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_int64"
-#!   FME_TYPE="fme_int64"
-#!   FORMAT="XML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_uint64"
-#!   FME_TYPE="fme_uint64"
-#!   FORMAT="XML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_int32"
-#!   FME_TYPE="fme_int32"
-#!   FORMAT="XML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_uint32"
-#!   FME_TYPE="fme_uint32"
-#!   FORMAT="XML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_int16"
-#!   FME_TYPE="fme_int16"
-#!   FORMAT="XML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_uint16"
-#!   FME_TYPE="fme_uint16"
-#!   FORMAT="XML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_byte"
-#!   FME_TYPE="fme_int8"
-#!   FORMAT="XML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_ubyte"
-#!   FME_TYPE="fme_uint8"
-#!   FORMAT="XML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_real32"
-#!   FME_TYPE="fme_real32"
-#!   FORMAT="XML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_real64"
-#!   FME_TYPE="fme_real64"
-#!   FORMAT="XML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_decimal(width,decimal)"
-#!   FME_TYPE="fme_decimal(width,decimal)"
-#!   FORMAT="XML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_boolean"
-#!   FME_TYPE="fme_boolean"
-#!   FORMAT="XML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_char(20)"
-#!   FME_TYPE="fme_datetime"
-#!   FORMAT="XML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_char(8)"
-#!   FME_TYPE="fme_date"
-#!   FORMAT="XML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_char(12)"
-#!   FME_TYPE="fme_time"
-#!   FORMAT="XML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_geometry"
-#!   FME_TYPE="fme_buffer"
-#!   FORMAT="XML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_xml"
-#!   FME_TYPE="fme_buffer"
-#!   FORMAT="XML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_char(1)"
-#!   FME_TYPE="fme_char(width)"
-#!   FORMAT="XML"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_byte"
-#!   FME_TYPE="fme_int16"
-#!   FORMAT="XML"
-#! />
-#! </DATA_TYPES>
-#! <GEOM_TYPES>
-#! <GEOM_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="path_none"
-#!   FME_TYPE="fme_no_geom"
-#!   FORMAT="PATH"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="path_none"
-#!   FME_TYPE="fme_point"
-#!   FORMAT="PATH"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="path_none"
-#!   FME_TYPE="fme_line"
-#!   FORMAT="PATH"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="path_none"
-#!   FME_TYPE="fme_area"
-#!   FORMAT="PATH"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="path_none"
-#!   FME_TYPE="fme_text"
-#!   FORMAT="PATH"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="path_none"
-#!   FME_TYPE="fme_ellipse"
-#!   FORMAT="PATH"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="path_none"
-#!   FME_TYPE="fme_arc"
-#!   FORMAT="PATH"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="path_none"
-#!   FME_TYPE="fme_rectangle"
-#!   FORMAT="PATH"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="path_none"
-#!   FME_TYPE="fme_rounded_rectangle"
-#!   FORMAT="PATH"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="path_none"
-#!   FME_TYPE="fme_collection"
-#!   FORMAT="PATH"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="path_none"
-#!   FME_TYPE="fme_raster"
-#!   FORMAT="PATH"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="path_none"
-#!   FME_TYPE="fme_surface"
-#!   FORMAT="PATH"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="path_none"
-#!   FME_TYPE="fme_solid"
-#!   FORMAT="PATH"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="path_none"
-#!   FME_TYPE="fme_point_cloud"
-#!   FORMAT="PATH"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_no_geom"
-#!   FME_TYPE="fme_no_geom"
-#!   FORMAT="XML"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_point"
-#!   FME_TYPE="fme_point"
-#!   FORMAT="XML"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_line"
-#!   FME_TYPE="fme_line"
-#!   FORMAT="XML"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_area"
-#!   FME_TYPE="fme_area"
-#!   FORMAT="XML"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_aggregate"
-#!   FME_TYPE="fme_collection"
-#!   FORMAT="XML"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_text"
-#!   FME_TYPE="fme_text"
-#!   FORMAT="XML"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_area"
-#!   FME_TYPE="fme_ellipse"
-#!   FORMAT="XML"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_area"
-#!   FME_TYPE="fme_rectangle"
-#!   FORMAT="XML"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_area"
-#!   FME_TYPE="fme_rounded_rectangle"
-#!   FORMAT="XML"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_arc"
-#!   FME_TYPE="fme_arc"
-#!   FORMAT="XML"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_surface"
-#!   FME_TYPE="fme_surface"
-#!   FORMAT="XML"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_solid"
-#!   FME_TYPE="fme_solid"
-#!   FORMAT="XML"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_mesh"
-#!   FME_TYPE="fme_surface"
-#!   FORMAT="XML"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_area"
-#!   FME_TYPE="fme_raster"
-#!   FORMAT="XML"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="xml_area"
-#!   FME_TYPE="fme_point_cloud"
-#!   FORMAT="XML"
-#! />
-#! </GEOM_TYPES>
-#! <FEATURE_TYPES>
-#! <FEATURE_TYPE
-#!   IS_SOURCE="true"
-#!   NODE_NAME="PATH"
-#!   FEATURE_TYPE_NAME=""
-#!   FEATURE_TYPE_NAME_QUALIFIER=""
-#!   IS_EDITABLE="false"
-#!   IDENTIFIER="31"
-#!   FEAT_GEOMTYPE="path_none"
-#!   POSITION="-5760.87 750"
-#!   BOUNDING_RECT="-5760.87 750 -1 -1"
-#!   ORDER="5e+14"
-#!   COLLAPSED="true"
-#!   KEYWORD="PATH_1"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   HIDDEN_USER_ATTRS=""
-#!   MERGE_FILTER=""
-#!   MERGE_FILTER_TYPE="FILTER_TYPE_GLOB"
-#!   MERGE_FILTER_CASE_SENSITIVE="true"
-#!   DYNAMIC_SCHEMA="false"
-#! >
-#!     <FEAT_ATTRIBUTE ATTR_NAME="path_unix" ATTR_TYPE="buffer" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="path_windows" ATTR_TYPE="buffer" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="path_rootname" ATTR_TYPE="buffer" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="path_filename" ATTR_TYPE="buffer" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="path_extension" ATTR_TYPE="buffer" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="path_filesize" ATTR_TYPE="buffer" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="path_ownername" ATTR_TYPE="buffer" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="path_readonly" ATTR_TYPE="buffer" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="path_modified_date" ATTR_TYPE="date" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="path_created_date" ATTR_TYPE="date" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="path_accessed_date" ATTR_TYPE="date" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="path_directory_unix" ATTR_TYPE="buffer" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="path_directory_windows" ATTR_TYPE="buffer" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="path_type" ATTR_TYPE="char(10)" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#! </FEATURE_TYPE>
-#! <FEATURE_TYPE
-#!   IS_SOURCE="false"
-#!   NODE_NAME="rapport"
-#!   FEATURE_TYPE_NAME=""
-#!   FEATURE_TYPE_NAME_QUALIFIER=""
-#!   IS_EDITABLE="true"
-#!   IDENTIFIER="59"
-#!   FEAT_GEOMTYPE="All"
-#!   POSITION="6750 -450"
-#!   BOUNDING_RECT="6750 -450 -1 -1"
-#!   ORDER="5e+14"
-#!   COLLAPSED="false"
-#!   KEYWORD="XML_1"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   SCHEMA_ATTRIBUTE_SOURCE="1"
-#! >
-#!     <FEAT_ATTRIBUTE ATTR_NAME="name" ATTR_TYPE="xml_char(100)" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="key" ATTR_TYPE="xml_char(80)" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="workspace_id" ATTR_TYPE="xml_int32" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="statut" ATTR_TYPE="xml_char(200)" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#! </FEATURE_TYPE>
-#! </FEATURE_TYPES>
-#! <FMESERVER>
-#! </FMESERVER>
-#! <GLOBAL_PARAMETERS>
-#! <GLOBAL_PARAMETER
-#!   GUI_LINE="GUI OPTIONAL TEXT_OR_ATTR H_sessionId ID de session :"
-#!   DEFAULT_VALUE="f497f1qg5rqovsae893nra8on0"
-#!   IS_STAND_ALONE="true"
-#! />
-#! <GLOBAL_PARAMETER
-#!   GUI_LINE="GUI OPTIONAL TEXT_OR_ATTR H_url URL de l&apos;API du serveur GTF :"
-#!   DEFAULT_VALUE="https://palomino/rest/gtf/"
-#!   IS_STAND_ALONE="true"
-#! />
-#! <GLOBAL_PARAMETER
-#!   GUI_LINE="GUI OPTIONAL FILENAME HTML All_Files(*.*)|*.* Rapport HTML :"
-#!   DEFAULT_VALUE="C:\TEMP\rapport_formulaires.html"
-#!   IS_STAND_ALONE="false"
-#! />
-#! <GLOBAL_PARAMETER
-#!   GUI_LINE="GUI LOOKUP_CHOICE_OR_ATTR defaultFormForce Oui,1%Non,0 Forcer la regénération du formulaire par défaut pour tous les traitements :"
-#!   DEFAULT_VALUE="0"
-#!   IS_STAND_ALONE="true"
-#! />
-#! <GLOBAL_PARAMETER
-#!   GUI_LINE="GUI OPTIONAL PASSWORD_OR_ATTR GTF_CONNECTION_STRING Chaîne de connexion à la base GTF :"
-#!   DEFAULT_VALUE=""
-#!   IS_STAND_ALONE="true"
-#! />
-#! <GLOBAL_PARAMETER
-#!   GUI_LINE="GUI IGNORE OPTIONAL TEXT_EDIT_PYTHON_PARM workspacesDir Script Python:"
-#!   DEFAULT_VALUE="return&lt;space&gt;FME_MacroValues&lt;openbracket&gt;&lt;apos&gt;FME_MF_DIR&lt;apos&gt;&lt;closebracket&gt;&lt;space&gt;+&lt;space&gt;&lt;apos&gt;..&lt;solidus&gt;..&lt;apos&gt;"
-#!   IS_STAND_ALONE="true"
-#! />
-#! <GLOBAL_PARAMETER
-#!   GUI_LINE="GUI IGNORE OPTIONAL TEXT_EDIT_PYTHON_PARM dbServer Python Script:"
-#!   DEFAULT_VALUE="import&lt;space&gt;fmeobjects&lt;lf&gt;import&lt;space&gt;string&lt;lf&gt;connection_string&lt;space&gt;=&lt;space&gt;string.split&lt;openparen&gt;FME_MacroValues&lt;openbracket&gt;&lt;apos&gt;GTF_CONNECTION_STRING&lt;apos&gt;&lt;closebracket&gt;&lt;comma&gt;&lt;apos&gt;&lt;comma&gt;&lt;apos&gt;&lt;closeparen&gt;&lt;lf&gt;return&lt;space&gt;connection_string&lt;openbracket&gt;0&lt;closebracket&gt;"
-#!   IS_STAND_ALONE="true"
-#! />
-#! <GLOBAL_PARAMETER
-#!   GUI_LINE="GUI IGNORE OPTIONAL TEXT_EDIT_PYTHON_PARM dbPort Python Script:"
-#!   DEFAULT_VALUE="import&lt;space&gt;fmeobjects&lt;lf&gt;import&lt;space&gt;string&lt;lf&gt;connection_string&lt;space&gt;=&lt;space&gt;string.split&lt;openparen&gt;FME_MacroValues&lt;openbracket&gt;&lt;apos&gt;GTF_CONNECTION_STRING&lt;apos&gt;&lt;closebracket&gt;&lt;comma&gt;&lt;apos&gt;&lt;comma&gt;&lt;apos&gt;&lt;closeparen&gt;&lt;lf&gt;return&lt;space&gt;connection_string&lt;openbracket&gt;1&lt;closebracket&gt;"
-#!   IS_STAND_ALONE="true"
-#! />
-#! <GLOBAL_PARAMETER
-#!   GUI_LINE="GUI IGNORE OPTIONAL TEXT_EDIT_PYTHON_PARM dbDatabase Python Script:"
-#!   DEFAULT_VALUE="import&lt;space&gt;fmeobjects&lt;lf&gt;import&lt;space&gt;string&lt;lf&gt;connection_string&lt;space&gt;=&lt;space&gt;string.split&lt;openparen&gt;FME_MacroValues&lt;openbracket&gt;&lt;apos&gt;GTF_CONNECTION_STRING&lt;apos&gt;&lt;closebracket&gt;&lt;comma&gt;&lt;apos&gt;&lt;comma&gt;&lt;apos&gt;&lt;closeparen&gt;&lt;lf&gt;return&lt;space&gt;connection_string&lt;openbracket&gt;2&lt;closebracket&gt;"
-#!   IS_STAND_ALONE="true"
-#! />
-#! <GLOBAL_PARAMETER
-#!   GUI_LINE="GUI IGNORE OPTIONAL TEXT_EDIT_PYTHON_PARM dbUser Python Script:"
-#!   DEFAULT_VALUE="import&lt;space&gt;fmeobjects&lt;lf&gt;import&lt;space&gt;string&lt;lf&gt;connection_string&lt;space&gt;=&lt;space&gt;string.split&lt;openparen&gt;FME_MacroValues&lt;openbracket&gt;&lt;apos&gt;GTF_CONNECTION_STRING&lt;apos&gt;&lt;closebracket&gt;&lt;comma&gt;&lt;apos&gt;&lt;comma&gt;&lt;apos&gt;&lt;closeparen&gt;&lt;lf&gt;return&lt;space&gt;connection_string&lt;openbracket&gt;3&lt;closebracket&gt;"
-#!   IS_STAND_ALONE="true"
-#! />
-#! <GLOBAL_PARAMETER
-#!   GUI_LINE="GUI IGNORE OPTIONAL TEXT_EDIT_PYTHON_PARM xml Python Script:"
-#!   DEFAULT_VALUE="#&lt;space&gt;G&lt;u00e9&gt;n&lt;u00e8&gt;re&lt;space&gt;un&lt;space&gt;nom&lt;space&gt;de&lt;space&gt;r&lt;u00e9&gt;pertoire&lt;space&gt;temporaire&lt;space&gt;unique&lt;lf&gt;import&lt;space&gt;uuid&lt;lf&gt;import&lt;space&gt;os&lt;lf&gt;&lt;lf&gt;temp&lt;space&gt;=&lt;space&gt;os.environ.get&lt;openparen&gt;&lt;quote&gt;TEMP&lt;quote&gt;&lt;closeparen&gt;&lt;lf&gt;if&lt;space&gt;temp&lt;space&gt;is&lt;space&gt;not&lt;space&gt;None:&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;temp_dir&lt;space&gt;=&lt;space&gt;temp&lt;space&gt;+&lt;space&gt;&lt;quote&gt;&lt;backslash&gt;&lt;backslash&gt;&lt;quote&gt;&lt;space&gt;+&lt;space&gt;str&lt;openparen&gt;uuid.uuid1&lt;openparen&gt;&lt;closeparen&gt;&lt;closeparen&gt;&lt;lf&gt;else:&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;temp_dir&lt;space&gt;=&lt;space&gt;&lt;quote&gt;c:&lt;backslash&gt;&lt;backslash&gt;temp&lt;backslash&gt;&lt;backslash&gt;&lt;quote&gt;&lt;space&gt;+&lt;space&gt;str&lt;openparen&gt;uuid.uuid1&lt;openparen&gt;&lt;closeparen&gt;&lt;closeparen&gt;&lt;lf&gt;return&lt;space&gt;temp_dir&lt;space&gt;+&lt;space&gt;&lt;apos&gt;&lt;backslash&gt;&lt;backslash&gt;rapport.xml&lt;apos&gt;"
-#!   IS_STAND_ALONE="true"
-#! />
-#! <GLOBAL_PARAMETER
-#!   GUI_LINE="GUI IGNORE OPTIONAL TEXT_EDIT_PYTHON_PARM xslt Python Script:"
-#!   DEFAULT_VALUE="return&lt;space&gt;FME_MacroValues&lt;openbracket&gt;&lt;apos&gt;FME_MF_DIR&lt;apos&gt;&lt;closebracket&gt;&lt;space&gt;+&lt;space&gt;&lt;apos&gt;formCheckerRapport.xslt&lt;apos&gt;"
-#!   IS_STAND_ALONE="true"
-#! />
-#! <GLOBAL_PARAMETER
-#!   GUI_LINE="GUI IGNORE OPTIONAL TEXT_EDIT_PYTHON_PARM dbPassword Script Python:"
-#!   DEFAULT_VALUE="import&lt;space&gt;fmeobjects&lt;lf&gt;import&lt;space&gt;string&lt;lf&gt;connection_string&lt;space&gt;=&lt;space&gt;string.split&lt;openparen&gt;FME_MacroValues&lt;openbracket&gt;&lt;apos&gt;GTF_CONNECTION_STRING&lt;apos&gt;&lt;closebracket&gt;&lt;comma&gt;&lt;apos&gt;&lt;comma&gt;&lt;apos&gt;&lt;closeparen&gt;&lt;lf&gt;return&lt;space&gt;connection_string&lt;openbracket&gt;4&lt;closebracket&gt;"
-#!   IS_STAND_ALONE="true"
-#! />
-#! </GLOBAL_PARAMETERS>
-#! <COMMENTS>
-#! <COMMENT
-#!   IDENTIFIER="36"
-#!   COMMENT_VALUE="&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;&#10;&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;&#10;p, li { white-space: pre-wrap; }&#10;&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;MS Shell Dlg 2&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;&#10;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Ne garde que les répertoires constitués d&apos;un entier&lt;/p&gt;&#10;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;(élimine donc les -n)&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;"
-#!   POSITION="-4020.32 1050"
-#!   TOP_LEFT="-4020.32 1050"
-#!   BOTTOM_RIGHT="-4021.32 1051"
-#!   BOUNDING_RECT="-4020.32 1050 -1 -1"
-#!   ORDER="5e+14"
-#!   FOLLOW_ANCHOR="true"
-#!   INFO_NODE="false"
-#!   COLOUR="1,1,0.784314,0.192157"
-#!   SIZE_POLICY="8"
-#!   COMMENT_TYPE="REGULAR"
-#!   ANCHORED_NODE="32"
-#! />
-#! <COMMENT
-#!   IDENTIFIER="44"
-#!   COMMENT_VALUE="&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;&#10;&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;&#10;p, li { white-space: pre-wrap; }&#10;&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;MS Shell Dlg 2&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;&#10;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Est-ce que Subform.json existe ?&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;"
-#!   POSITION="-1646.82 962.02"
-#!   TOP_LEFT="-1646.82 962.02"
-#!   BOTTOM_RIGHT="-1647.82 963.02"
-#!   BOUNDING_RECT="-1646.82 962.02 -1 -1"
-#!   ORDER="5e+14"
-#!   FOLLOW_ANCHOR="true"
-#!   INFO_NODE="false"
-#!   COLOUR="1,1,0.784314,0.192157"
-#!   SIZE_POLICY="8"
-#!   COMMENT_TYPE="REGULAR"
-#!   ANCHORED_NODE="40"
-#! />
-#! <COMMENT
-#!   IDENTIFIER="47"
-#!   COMMENT_VALUE="&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;&#10;&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;&#10;p, li { white-space: pre-wrap; }&#10;&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;MS Shell Dlg 2&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;&#10;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Quel est le type de formulaire ?&lt;/p&gt;&#10;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;(custom ou default)&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;"
-#!   POSITION="-150 995.609"
-#!   TOP_LEFT="-150 995.609"
-#!   BOTTOM_RIGHT="-151 996.609"
-#!   BOUNDING_RECT="-150 995.609 -1 -1"
-#!   ORDER="5e+14"
-#!   FOLLOW_ANCHOR="true"
-#!   INFO_NODE="false"
-#!   COLOUR="1,1,0.784314,0.192157"
-#!   SIZE_POLICY="8"
-#!   COMMENT_TYPE="REGULAR"
-#!   ANCHORED_NODE="45"
-#! />
-#! <COMMENT
-#!   IDENTIFIER="55"
-#!   COMMENT_VALUE="&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;&#10;&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;&#10;p, li { white-space: pre-wrap; }&#10;&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;MS Shell Dlg 2&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;&#10;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Si Subform.json n&apos;existe pas,&lt;/p&gt;&#10;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;on continue&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;"
-#!   POSITION="-852.173 1050"
-#!   TOP_LEFT="-852.173 1050"
-#!   BOTTOM_RIGHT="-853.173 1051"
-#!   BOUNDING_RECT="-852.173 1050 -1 -1"
-#!   ORDER="5e+14"
-#!   FOLLOW_ANCHOR="true"
-#!   INFO_NODE="false"
-#!   COLOUR="0,1,0,0.192157"
-#!   SIZE_POLICY="8"
-#!   COMMENT_TYPE="REGULAR"
-#!   ANCHORED_NODE="48"
-#! />
-#! <COMMENT
-#!   IDENTIFIER="57"
-#!   COMMENT_VALUE="&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;&#10;&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;&#10;p, li { white-space: pre-wrap; }&#10;&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;MS Shell Dlg 2&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;&#10;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Si le type de formulaire&lt;/p&gt;&#10;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;est default, on continue&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;"
-#!   POSITION="600 1050"
-#!   TOP_LEFT="600 1050"
-#!   BOTTOM_RIGHT="599 1051"
-#!   BOUNDING_RECT="600 1050 -1 -1"
-#!   ORDER="5e+14"
-#!   FOLLOW_ANCHOR="true"
-#!   INFO_NODE="false"
-#!   COLOUR="0,1,0,0.192157"
-#!   SIZE_POLICY="8"
-#!   COMMENT_TYPE="REGULAR"
-#!   ANCHORED_NODE="46"
-#! />
-#! <COMMENT
-#!   IDENTIFIER="68"
-#!   COMMENT_VALUE="&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;&#10;&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;&#10;p, li { white-space: pre-wrap; }&#10;&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;MS Shell Dlg 2&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;&#10;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Génération forcée ou pas ?&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;"
-#!   POSITION="-2463.04 954.347"
-#!   TOP_LEFT="-2463.04 954.347"
-#!   BOTTOM_RIGHT="-2464.04 955.347"
-#!   BOUNDING_RECT="-2463.04 954.347 -1 -1"
-#!   ORDER="5e+14"
-#!   FOLLOW_ANCHOR="true"
-#!   INFO_NODE="false"
-#!   COLOUR="0,1,0,0.192157"
-#!   SIZE_POLICY="8"
-#!   COMMENT_TYPE="REGULAR"
-#!   ANCHORED_NODE="69"
-#! />
-#! <COMMENT
-#!   IDENTIFIER="78"
-#!   COMMENT_VALUE="&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;&#10;&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;&#10;p, li { white-space: pre-wrap; }&#10;&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;MS Shell Dlg 2&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;&#10;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Quel est le type de formulaire ?&lt;/p&gt;&#10;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;(custom ou default)&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;"
-#!   POSITION="5743.48 2289"
-#!   TOP_LEFT="5743.48 2289"
-#!   BOTTOM_RIGHT="5742.48 2290"
-#!   BOUNDING_RECT="5743.48 2289 -1 -1"
-#!   ORDER="5e+14"
-#!   FOLLOW_ANCHOR="true"
-#!   INFO_NODE="false"
-#!   COLOUR="1,1,0.784314,0.192157"
-#!   SIZE_POLICY="8"
-#!   COMMENT_TYPE="REGULAR"
-#!   ANCHORED_NODE="75"
-#! />
-#! <COMMENT
-#!   IDENTIFIER="79"
-#!   COMMENT_VALUE="&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;&#10;&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;&#10;p, li { white-space: pre-wrap; }&#10;&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;MS Shell Dlg 2&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;&#10;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Si le type de formulaire&lt;/p&gt;&#10;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;est default, on continue&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;"
-#!   POSITION="6500.91 2250"
-#!   TOP_LEFT="6500.91 2250"
-#!   BOTTOM_RIGHT="6499.91 2251"
-#!   BOUNDING_RECT="6500.91 2250 -1 -1"
-#!   ORDER="5e+14"
-#!   FOLLOW_ANCHOR="true"
-#!   INFO_NODE="false"
-#!   COLOUR="0,1,0,0.192157"
-#!   SIZE_POLICY="8"
-#!   COMMENT_TYPE="REGULAR"
-#!   ANCHORED_NODE="76"
-#! />
-#! <COMMENT
-#!   IDENTIFIER="83"
-#!   COMMENT_VALUE="&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;&#10;&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;&#10;p, li { white-space: pre-wrap; }&#10;&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;MS Shell Dlg 2&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;&#10;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Génére DSubform&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;"
-#!   POSITION="-1104.92 2100"
-#!   TOP_LEFT="-1104.92 2100"
-#!   BOTTOM_RIGHT="-1105.92 2101"
-#!   BOUNDING_RECT="-1104.92 2100 -1 -1"
-#!   ORDER="5e+14"
-#!   FOLLOW_ANCHOR="true"
-#!   INFO_NODE="false"
-#!   COLOUR="1,1,0.784314,0.192157"
-#!   SIZE_POLICY="8"
-#!   COMMENT_TYPE="REGULAR"
-#!   ANCHORED_NODE="67"
-#! />
-#! <COMMENT
-#!   IDENTIFIER="85"
-#!   COMMENT_VALUE="&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;&#10;&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;&#10;p, li { white-space: pre-wrap; }&#10;&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;MS Shell Dlg 2&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;&#10;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Copie DSubform vers Subform&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;"
-#!   POSITION="7109 2161.17"
-#!   TOP_LEFT="7109 2161.17"
-#!   BOTTOM_RIGHT="7108 2162.17"
-#!   BOUNDING_RECT="7109 2161.17 -1 -1"
-#!   ORDER="5e+14"
-#!   FOLLOW_ANCHOR="true"
-#!   INFO_NODE="false"
-#!   COLOUR="1,1,0.784314,0.192157"
-#!   SIZE_POLICY="8"
-#!   COMMENT_TYPE="REGULAR"
-#!   ANCHORED_NODE="84"
-#! />
-#! </COMMENTS>
-#! <CONSTANTS>
-#! </CONSTANTS>
-#! <BOOKMARKS>
-#! <BOOKMARK
-#!   IDENTIFIER="30"
-#!   NAME="Génère les JSON via l&apos;API s&apos;ils n&apos;existent pas"
-#!   DESCRIPTION="&lt;html&gt;&lt;body&gt;&lt;/body&gt;&lt;/html&gt;"
-#!   TOP_LEFT="1200 1008.34"
-#!   BOTTOM_RIGHT="5726.14 363.158"
-#!   BOUNDING_RECT="1200 1008.34 4526.14 645.182"
-#!   STICKY="true"
-#!   COLOUR="0.866667,0.576471,0.247059"
-#!   CONTENTS="7 21 10 18 58 16 8 4 56 6 5 "
-#! />
-#! </BOOKMARKS>
-#! <TRANSFORMERS>
-#! <TRANSFORMER
-#!   IDENTIFIER="4"
-#!   TYPE="HTTPCaller"
-#!   VERSION="0"
-#!   POSITION="1449.15 767.391"
-#!   BOUNDING_RECT="1449.15 767.391 -1 -1"
-#!   ORDER="5e+14"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="15575"
-#! >
-#!     <OUTPUT_FEAT NAME="Output"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="path_unix" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_defaultFormForce" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="subformExists" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_headers{}.name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_headers{}.value" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_http_status_code" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_response_body" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <OUTPUT_FEAT NAME="&lt;Rejected&gt;"/>
-#!     <FEAT_COLLAPSED COLLAPSED="1"/>
-#!     <XFORM_ATTR ATTR_NAME="path_unix" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="workspace_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_defaultFormForce" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="subformExists" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_error" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_headers{}.name" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_headers{}.value" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_http_status_code" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_response_body" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_PARM PARM_NAME="TARGET_ATTR" PARM_VALUE="_response_body"/>
-#!     <XFORM_PARM PARM_NAME="ADVANCED_REQUEST_PARAMETERS" PARM_VALUE="FME_DISCLOSURE_OPEN"/>
-#!     <XFORM_PARM PARM_NAME="CUSTOM_HEADERS" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="AUTH_NAMED_CONNECTION" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="ERROR_ATTR" PARM_VALUE="_error"/>
-#!     <XFORM_PARM PARM_NAME="TARGET_URL" PARM_VALUE="$(H_url)&lt;solidus&gt;workspaces&lt;solidus&gt;&lt;at&gt;Value&lt;openparen&gt;workspace_id&lt;closeparen&gt;?token=$(H_sessionId)"/>
-#!     <XFORM_PARM PARM_NAME="CUSTOM_HEADERS_GROUP" PARM_VALUE="NO"/>
-#!     <XFORM_PARM PARM_NAME="OUTPUT_DIRNAME" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="UPLOAD_BODY" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="VERIFY_SSL_CERTIFICATES" PARM_VALUE="No"/>
-#!     <XFORM_PARM PARM_NAME="OUTPUT_FILENAME" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="HTTP_AUTH_GROUP" PARM_VALUE="NO"/>
-#!     <XFORM_PARM PARM_NAME="TARGET_ATTR_ENCODING" PARM_VALUE="auto-detect"/>
-#!     <XFORM_PARM PARM_NAME="ADDITIONAL_URL_PARAMETERS" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="HTTPCaller"/>
-#!     <XFORM_PARM PARM_NAME="MULTIPARTS" PARM_VALUE="cmd StringUpload SOURCE_EXPRESSION;Default_Reset;MIME_TYPE;text&lt;solidus&gt;plain;FME_CONTROLLER_QUERY_FILE;transformers&lt;backslash&gt;dependencies&lt;backslash&gt;http&lt;backslash&gt;StringUpload.fme"/>
-#!     <XFORM_PARM PARM_NAME="UPLOAD_TYPE" PARM_VALUE="Multipart / Form Data"/>
-#!     <XFORM_PARM PARM_NAME="AUTH_USERNAME" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="HTTP_METHOD" PARM_VALUE="PUT"/>
-#!     <XFORM_PARM PARM_NAME="SAVE_MULTI" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="STATUS_CODE_ATTR" PARM_VALUE="_http_status_code"/>
-#!     <XFORM_PARM PARM_NAME="UPLOAD_FILE" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="HTTP_RESPONSE_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="ADDITIONAL_PARAMETERS_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="RESPONSE_HEADER_LIST_ATTR" PARM_VALUE="_headers"/>
-#!     <XFORM_PARM PARM_NAME="TRANSFER_TIMEOUT_LENGTH" PARM_VALUE="90"/>
-#!     <XFORM_PARM PARM_NAME="HTTPURL_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="UPLOAD_CONTENT_TYPE" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="AUTH_METHOD" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="ADVANCED_RESPONSE_PARAMETERS" PARM_VALUE="NO"/>
-#!     <XFORM_PARM PARM_NAME="RESPONSE_FILE_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="USE_COOKIES" PARM_VALUE="No"/>
-#!     <XFORM_PARM PARM_NAME="UPLOAD_GROUP" PARM_VALUE="FME_DISCLOSURE_OPEN"/>
-#!     <XFORM_PARM PARM_NAME="CONNECTION_TIMEOUT_LENGTH" PARM_VALUE="60"/>
-#!     <XFORM_PARM PARM_NAME="MULTIPART_GROUP" PARM_VALUE="FME_DISCLOSURE_OPEN"/>
-#!     <XFORM_PARM PARM_NAME="SAVE_FILE" PARM_VALUE="Attribute"/>
-#!     <XFORM_PARM PARM_NAME="FILE_PATH_ATTR" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="FOLLOW_REDIRECTS" PARM_VALUE="Yes"/>
-#!     <XFORM_PARM PARM_NAME="AUTH_PASSWORD" PARM_VALUE="&lt;Unused&gt;"/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="5"
-#!   TYPE="HTTPCaller"
-#!   VERSION="0"
-#!   POSITION="2784.78 750"
-#!   BOUNDING_RECT="2784.78 750 -1 -1"
-#!   ORDER="5e+14"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="15575"
-#! >
-#!     <OUTPUT_FEAT NAME="Output"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="path_unix" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_defaultFormForce" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="subformExists" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_headers{}.name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_headers{}.value" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_http_status_code" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_response_body" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <OUTPUT_FEAT NAME="&lt;Rejected&gt;"/>
-#!     <FEAT_COLLAPSED COLLAPSED="1"/>
-#!     <XFORM_ATTR ATTR_NAME="path_unix" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="workspace_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_defaultFormForce" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="subformExists" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_headers{}.name" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_headers{}.value" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_http_status_code" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_response_body" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_error" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_PARM PARM_NAME="TARGET_ATTR" PARM_VALUE="_response_body"/>
-#!     <XFORM_PARM PARM_NAME="ADVANCED_REQUEST_PARAMETERS" PARM_VALUE="FME_DISCLOSURE_OPEN"/>
-#!     <XFORM_PARM PARM_NAME="CUSTOM_HEADERS" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="AUTH_NAMED_CONNECTION" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="ERROR_ATTR" PARM_VALUE="_error"/>
-#!     <XFORM_PARM PARM_NAME="TARGET_URL" PARM_VALUE="$(H_url)&lt;solidus&gt;workspaces&lt;solidus&gt;&lt;at&gt;Value&lt;openparen&gt;workspace_id&lt;closeparen&gt;?token=$(H_sessionId)"/>
-#!     <XFORM_PARM PARM_NAME="CUSTOM_HEADERS_GROUP" PARM_VALUE="NO"/>
-#!     <XFORM_PARM PARM_NAME="OUTPUT_DIRNAME" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="UPLOAD_BODY" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="VERIFY_SSL_CERTIFICATES" PARM_VALUE="No"/>
-#!     <XFORM_PARM PARM_NAME="OUTPUT_FILENAME" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="HTTP_AUTH_GROUP" PARM_VALUE="NO"/>
-#!     <XFORM_PARM PARM_NAME="TARGET_ATTR_ENCODING" PARM_VALUE="auto-detect"/>
-#!     <XFORM_PARM PARM_NAME="ADDITIONAL_URL_PARAMETERS" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="HTTPCaller_4"/>
-#!     <XFORM_PARM PARM_NAME="MULTIPARTS" PARM_VALUE="cmd StringUpload SOURCE_EXPRESSION;Default_Published;MIME_TYPE;text&lt;solidus&gt;plain;FME_CONTROLLER_QUERY_FILE;transformers&lt;backslash&gt;dependencies&lt;backslash&gt;http&lt;backslash&gt;StringUpload.fme"/>
-#!     <XFORM_PARM PARM_NAME="UPLOAD_TYPE" PARM_VALUE="Multipart / Form Data"/>
-#!     <XFORM_PARM PARM_NAME="AUTH_USERNAME" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="HTTP_METHOD" PARM_VALUE="PUT"/>
-#!     <XFORM_PARM PARM_NAME="SAVE_MULTI" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="STATUS_CODE_ATTR" PARM_VALUE="_http_status_code"/>
-#!     <XFORM_PARM PARM_NAME="UPLOAD_FILE" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="HTTP_RESPONSE_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="ADDITIONAL_PARAMETERS_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="RESPONSE_HEADER_LIST_ATTR" PARM_VALUE="_headers"/>
-#!     <XFORM_PARM PARM_NAME="TRANSFER_TIMEOUT_LENGTH" PARM_VALUE="90"/>
-#!     <XFORM_PARM PARM_NAME="HTTPURL_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="UPLOAD_CONTENT_TYPE" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="AUTH_METHOD" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="ADVANCED_RESPONSE_PARAMETERS" PARM_VALUE="NO"/>
-#!     <XFORM_PARM PARM_NAME="RESPONSE_FILE_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="USE_COOKIES" PARM_VALUE="No"/>
-#!     <XFORM_PARM PARM_NAME="UPLOAD_GROUP" PARM_VALUE="FME_DISCLOSURE_OPEN"/>
-#!     <XFORM_PARM PARM_NAME="CONNECTION_TIMEOUT_LENGTH" PARM_VALUE="60"/>
-#!     <XFORM_PARM PARM_NAME="MULTIPART_GROUP" PARM_VALUE="FME_DISCLOSURE_OPEN"/>
-#!     <XFORM_PARM PARM_NAME="SAVE_FILE" PARM_VALUE="Attribute"/>
-#!     <XFORM_PARM PARM_NAME="FILE_PATH_ATTR" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="FOLLOW_REDIRECTS" PARM_VALUE="Yes"/>
-#!     <XFORM_PARM PARM_NAME="AUTH_PASSWORD" PARM_VALUE="&lt;Unused&gt;"/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="6"
-#!   TYPE="HTTPCaller"
-#!   VERSION="0"
-#!   POSITION="4050 750"
-#!   BOUNDING_RECT="4050 750 -1 -1"
-#!   ORDER="5e+14"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="15575"
-#! >
-#!     <OUTPUT_FEAT NAME="Output"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="path_unix" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_defaultFormForce" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="subformExists" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_headers{}.name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_headers{}.value" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_http_status_code" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_response_body" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <OUTPUT_FEAT NAME="&lt;Rejected&gt;"/>
-#!     <FEAT_COLLAPSED COLLAPSED="1"/>
-#!     <XFORM_ATTR ATTR_NAME="path_unix" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="workspace_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_defaultFormForce" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="subformExists" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_headers{}.name" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_headers{}.value" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_http_status_code" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_response_body" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_error" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_PARM PARM_NAME="TARGET_ATTR" PARM_VALUE="_response_body"/>
-#!     <XFORM_PARM PARM_NAME="ADVANCED_REQUEST_PARAMETERS" PARM_VALUE="FME_DISCLOSURE_OPEN"/>
-#!     <XFORM_PARM PARM_NAME="CUSTOM_HEADERS" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="AUTH_NAMED_CONNECTION" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="ERROR_ATTR" PARM_VALUE="_error"/>
-#!     <XFORM_PARM PARM_NAME="TARGET_URL" PARM_VALUE="$(H_url)&lt;solidus&gt;workspaces&lt;solidus&gt;&lt;at&gt;Value&lt;openparen&gt;workspace_id&lt;closeparen&gt;?token=$(H_sessionId)"/>
-#!     <XFORM_PARM PARM_NAME="CUSTOM_HEADERS_GROUP" PARM_VALUE="NO"/>
-#!     <XFORM_PARM PARM_NAME="OUTPUT_DIRNAME" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="UPLOAD_BODY" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="VERIFY_SSL_CERTIFICATES" PARM_VALUE="No"/>
-#!     <XFORM_PARM PARM_NAME="OUTPUT_FILENAME" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="HTTP_AUTH_GROUP" PARM_VALUE="NO"/>
-#!     <XFORM_PARM PARM_NAME="TARGET_ATTR_ENCODING" PARM_VALUE="auto-detect"/>
-#!     <XFORM_PARM PARM_NAME="ADDITIONAL_URL_PARAMETERS" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="HTTPCaller_2"/>
-#!     <XFORM_PARM PARM_NAME="MULTIPARTS" PARM_VALUE="cmd StringUpload SOURCE_EXPRESSION;Perso_Reset;MIME_TYPE;text&lt;solidus&gt;plain;FME_CONTROLLER_QUERY_FILE;transformers&lt;backslash&gt;dependencies&lt;backslash&gt;http&lt;backslash&gt;StringUpload.fme"/>
-#!     <XFORM_PARM PARM_NAME="UPLOAD_TYPE" PARM_VALUE="Multipart / Form Data"/>
-#!     <XFORM_PARM PARM_NAME="AUTH_USERNAME" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="HTTP_METHOD" PARM_VALUE="PUT"/>
-#!     <XFORM_PARM PARM_NAME="SAVE_MULTI" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="STATUS_CODE_ATTR" PARM_VALUE="_http_status_code"/>
-#!     <XFORM_PARM PARM_NAME="UPLOAD_FILE" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="HTTP_RESPONSE_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="ADDITIONAL_PARAMETERS_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="RESPONSE_HEADER_LIST_ATTR" PARM_VALUE="_headers"/>
-#!     <XFORM_PARM PARM_NAME="TRANSFER_TIMEOUT_LENGTH" PARM_VALUE="90"/>
-#!     <XFORM_PARM PARM_NAME="HTTPURL_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="UPLOAD_CONTENT_TYPE" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="AUTH_METHOD" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="ADVANCED_RESPONSE_PARAMETERS" PARM_VALUE="NO"/>
-#!     <XFORM_PARM PARM_NAME="RESPONSE_FILE_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="USE_COOKIES" PARM_VALUE="No"/>
-#!     <XFORM_PARM PARM_NAME="UPLOAD_GROUP" PARM_VALUE="FME_DISCLOSURE_OPEN"/>
-#!     <XFORM_PARM PARM_NAME="CONNECTION_TIMEOUT_LENGTH" PARM_VALUE="60"/>
-#!     <XFORM_PARM PARM_NAME="MULTIPART_GROUP" PARM_VALUE="FME_DISCLOSURE_OPEN"/>
-#!     <XFORM_PARM PARM_NAME="SAVE_FILE" PARM_VALUE="Attribute"/>
-#!     <XFORM_PARM PARM_NAME="FILE_PATH_ATTR" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="FOLLOW_REDIRECTS" PARM_VALUE="Yes"/>
-#!     <XFORM_PARM PARM_NAME="AUTH_PASSWORD" PARM_VALUE="&lt;Unused&gt;"/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="7"
-#!   TYPE="Tester"
-#!   VERSION="2"
-#!   POSITION="2100 750"
-#!   BOUNDING_RECT="2100 750 -1 -1"
-#!   ORDER="5e+14"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="15575"
-#! >
-#!     <OUTPUT_FEAT NAME="PASSED"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="path_unix" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_defaultFormForce" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="subformExists" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_headers{}.name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_headers{}.value" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_http_status_code" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_response_body" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <OUTPUT_FEAT NAME="FAILED"/>
-#!     <FEAT_COLLAPSED COLLAPSED="1"/>
-#!     <XFORM_ATTR ATTR_NAME="path_unix" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="workspace_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_defaultFormForce" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="subformExists" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_headers{}.name" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_headers{}.value" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_http_status_code" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_response_body" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_PARM PARM_NAME="BOOL_OP" PARM_VALUE="OR"/>
-#!     <XFORM_PARM PARM_NAME="TEST_LIST" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="TEST_DESCRIPTION" PARM_VALUE="&quot;&quot;"/>
-#!     <XFORM_PARM PARM_NAME="COMPOSITE_TEST" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="Tester_9"/>
-#!     <XFORM_PARM PARM_NAME="TEST_CLAUSE" PARM_VALUE="TEST &lt;at&gt;Value&lt;openparen&gt;_http_status_code&lt;closeparen&gt; = 200"/>
-#!     <XFORM_PARM PARM_NAME="TEST_MODE" PARM_VALUE="Automatic"/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="8"
-#!   TYPE="Tester"
-#!   VERSION="2"
-#!   POSITION="4721.44 750"
-#!   BOUNDING_RECT="4721.44 750 -1 -1"
-#!   ORDER="5e+14"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="15575"
-#! >
-#!     <OUTPUT_FEAT NAME="PASSED"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="path_unix" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_defaultFormForce" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="subformExists" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_headers{}.name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_headers{}.value" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_http_status_code" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_response_body" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <OUTPUT_FEAT NAME="FAILED"/>
-#!     <FEAT_COLLAPSED COLLAPSED="1"/>
-#!     <XFORM_ATTR ATTR_NAME="path_unix" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="workspace_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_defaultFormForce" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="subformExists" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_headers{}.name" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_headers{}.value" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_http_status_code" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_response_body" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_PARM PARM_NAME="BOOL_OP" PARM_VALUE="OR"/>
-#!     <XFORM_PARM PARM_NAME="TEST_LIST" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="TEST_DESCRIPTION" PARM_VALUE="&quot;&quot;"/>
-#!     <XFORM_PARM PARM_NAME="COMPOSITE_TEST" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="Tester_10"/>
-#!     <XFORM_PARM PARM_NAME="TEST_CLAUSE" PARM_VALUE="TEST &lt;at&gt;Value&lt;openparen&gt;_http_status_code&lt;closeparen&gt; = 200"/>
-#!     <XFORM_PARM PARM_NAME="TEST_MODE" PARM_VALUE="Automatic"/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="9"
-#!   TYPE="Terminator"
-#!   VERSION="2"
-#!   POSITION="5162.45 1650"
-#!   BOUNDING_RECT="5162.45 1650 -1 -1"
-#!   ORDER="5e+14"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="15575"
-#! >
-#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="Terminator"/>
-#!     <XFORM_PARM PARM_NAME="PARAMETERS_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="MESSAGE" PARM_VALUE="Erreur&lt;space&gt;avec&lt;space&gt;l&lt;apos&gt;API&lt;space&gt;GTF"/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="10"
-#!   TYPE="Tester"
-#!   VERSION="2"
-#!   POSITION="3382.83 750"
-#!   BOUNDING_RECT="3382.83 750 -1 -1"
-#!   ORDER="5e+14"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="15575"
-#! >
-#!     <OUTPUT_FEAT NAME="PASSED"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="path_unix" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_defaultFormForce" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="subformExists" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_headers{}.name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_headers{}.value" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_http_status_code" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_response_body" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <OUTPUT_FEAT NAME="FAILED"/>
-#!     <FEAT_COLLAPSED COLLAPSED="1"/>
-#!     <XFORM_ATTR ATTR_NAME="path_unix" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="workspace_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_defaultFormForce" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="subformExists" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_headers{}.name" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_headers{}.value" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_http_status_code" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_response_body" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_PARM PARM_NAME="BOOL_OP" PARM_VALUE="OR"/>
-#!     <XFORM_PARM PARM_NAME="TEST_LIST" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="TEST_DESCRIPTION" PARM_VALUE="&quot;&quot;"/>
-#!     <XFORM_PARM PARM_NAME="COMPOSITE_TEST" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="Tester_11"/>
-#!     <XFORM_PARM PARM_NAME="TEST_CLAUSE" PARM_VALUE="TEST &lt;at&gt;Value&lt;openparen&gt;_http_status_code&lt;closeparen&gt; = 200"/>
-#!     <XFORM_PARM PARM_NAME="TEST_MODE" PARM_VALUE="Automatic"/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="32"
-#!   TYPE="Tester"
-#!   VERSION="2"
-#!   POSITION="-3750 750"
-#!   BOUNDING_RECT="-3750 750 -1 -1"
-#!   ORDER="5e+14"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="15575"
-#! >
-#!     <OUTPUT_FEAT NAME="PASSED"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="path_unix" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <OUTPUT_FEAT NAME="FAILED"/>
-#!     <FEAT_COLLAPSED COLLAPSED="1"/>
-#!     <XFORM_ATTR ATTR_NAME="path_unix" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="workspace_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_PARM PARM_NAME="BOOL_OP" PARM_VALUE="OR"/>
-#!     <XFORM_PARM PARM_NAME="TEST_LIST" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="TEST_DESCRIPTION" PARM_VALUE="&quot;&quot;"/>
-#!     <XFORM_PARM PARM_NAME="COMPOSITE_TEST" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="Tester"/>
-#!     <XFORM_PARM PARM_NAME="TEST_CLAUSE" PARM_VALUE="TEST &lt;at&gt;Value&lt;openparen&gt;workspace_id&lt;closeparen&gt; MATCHES_REGEX &lt;openbracket&gt;0-9&lt;closebracket&gt;+"/>
-#!     <XFORM_PARM PARM_NAME="TEST_MODE" PARM_VALUE="Automatic"/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="37"
-#!   TYPE="AttributeKeeper"
-#!   VERSION="3"
-#!   POSITION="-5100 750"
-#!   BOUNDING_RECT="-5100 750 -1 -1"
-#!   ORDER="5e+14"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="15575"
-#! >
-#!     <OUTPUT_FEAT NAME="OUTPUT"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="path_unix" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="path_rootname" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="KEEP_ATTRS" PARM_VALUE="path_rootname,path_unix"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="AttributeKeeper"/>
-#!     <XFORM_PARM PARM_NAME="KEEP_LIST" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="PARAMETERS_GROUP" PARM_VALUE=""/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="40"
-#!   TYPE="PythonCaller"
-#!   VERSION="4"
-#!   POSITION="-1500 750"
-#!   BOUNDING_RECT="-1500 750 -1 -1"
-#!   ORDER="5e+14"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="15575"
-#! >
-#!     <OUTPUT_FEAT NAME="OUTPUT"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="path_unix" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_defaultFormForce" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="subformExists" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_PARM PARM_NAME="PYTHONSYMBOL" PARM_VALUE="subformExists"/>
-#!     <XFORM_PARM PARM_NAME="ADVANCED_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="NEW_ATTRIBUTES" PARM_VALUE="subformExists"/>
-#!     <XFORM_PARM PARM_NAME="LIST_ATTRS" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="PYTHONSOURCE" PARM_VALUE="import&lt;space&gt;os.path&lt;lf&gt;import&lt;space&gt;fmeobjects&lt;lf&gt;&lt;lf&gt;def&lt;space&gt;subformExists&lt;openparen&gt;feature&lt;closeparen&gt;:&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;subformFile&lt;space&gt;=&lt;space&gt;feature.getAttribute&lt;openparen&gt;&lt;apos&gt;path_unix&lt;apos&gt;&lt;closeparen&gt;&lt;space&gt;+&lt;space&gt;&lt;apos&gt;&lt;solidus&gt;form&lt;solidus&gt;Subform.json&lt;apos&gt;&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;if&lt;space&gt;os.path.isfile&lt;openparen&gt;subformFile&lt;closeparen&gt;:&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;feature.setAttribute&lt;openparen&gt;&lt;quote&gt;subformExists&lt;quote&gt;&lt;comma&gt;&lt;space&gt;&lt;apos&gt;1&lt;apos&gt;&lt;closeparen&gt;&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;else:&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;feature.setAttribute&lt;openparen&gt;&lt;quote&gt;subformExists&lt;quote&gt;&lt;comma&gt;&lt;space&gt;&lt;apos&gt;0&lt;apos&gt;&lt;closeparen&gt;"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="PythonCaller"/>
-#!     <XFORM_PARM PARM_NAME="PARAMETERS_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="HIDE_ATTRIBUTES" PARM_VALUE=""/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="45"
-#!   TYPE="SQLExecutor"
-#!   VERSION="6"
-#!   POSITION="-43.4847 750"
-#!   BOUNDING_RECT="-43.4847 750 0 0"
-#!   ORDER="5e+14"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="15575"
-#! >
-#!     <OUTPUT_FEAT NAME="RESULT"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="path_unix" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_defaultFormForce" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="subformExists" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <OUTPUT_FEAT NAME="INITIATOR"/>
-#!     <FEAT_COLLAPSED COLLAPSED="1"/>
-#!     <XFORM_ATTR ATTR_NAME="path_unix" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="workspace_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_defaultFormForce" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="subformExists" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_matched_records" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_PARM PARM_NAME="DB_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="DYNGROUP_0" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="POSTGRES_USER_NAME" PARM_VALUE="$(dbUser)"/>
-#!     <XFORM_PARM PARM_NAME="POSTGRES_HOST" PARM_VALUE="$(dbServer)"/>
-#!     <XFORM_PARM PARM_NAME="POSTGRES_PORT" PARM_VALUE="$(dbPort)"/>
-#!     <XFORM_PARM PARM_NAME="COMBINE_GEOM" PARM_VALUE="Initiator Geometry Only"/>
-#!     <XFORM_PARM PARM_NAME="PARAMETERS_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="SQL_STATEMENT" PARM_VALUE="select&lt;space&gt;form_type&lt;space&gt;as&lt;space&gt;form_type&lt;comma&gt;&lt;space&gt;name&lt;space&gt;as&lt;space&gt;name&lt;comma&gt;&lt;space&gt;key&lt;space&gt;as&lt;space&gt;key&lt;space&gt;from&lt;space&gt;s_gtf.workspace&lt;space&gt;where&lt;space&gt;workspace_id&lt;space&gt;=&lt;space&gt;&lt;at&gt;Value&lt;openparen&gt;workspace_id&lt;closeparen&gt;"/>
-#!     <XFORM_PARM PARM_NAME="POSTGRES_PASSWORD" PARM_VALUE="$(dbPassword)"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="SQLExecutor_4"/>
-#!     <XFORM_PARM PARM_NAME="FORMAT" PARM_VALUE="POSTGRES"/>
-#!     <XFORM_PARM PARM_NAME="POSTGRES_QUERY_FEATURE_TYPES_FOR_MERGE_FILTERS" PARM_VALUE="Yes"/>
-#!     <XFORM_PARM PARM_NAME="EXPOSED_ATTRIBUTE_LIST" PARM_VALUE="form_type,name,key"/>
-#!     <XFORM_PARM PARM_NAME="DATASET" PARM_VALUE="$(dbDatabase)"/>
-#!     <XFORM_PARM PARM_NAME="COORDSYS" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="FORMAT_PARAMS" PARM_VALUE="POSTGRES_HOST,&quot;OPTIONAL TEXT&quot;,POSTGRES&lt;space&gt;H&lt;u00f4&gt;te&lt;space&gt;:,POSTGRES_QUERY_FEATURE_TYPES_FOR_MERGE_FILTERS,&quot;IGNORE TEXT&quot;,POSTGRES&lt;space&gt;,POSTGRES_PASSWORD,&quot;OPTIONAL PASSWORD&quot;,POSTGRES&lt;space&gt;Mot&lt;space&gt;de&lt;space&gt;passe&lt;space&gt;:,POSTGRES_USER_NAME,&quot;OPTIONAL TEXT&quot;,POSTGRES&lt;space&gt;Nom&lt;space&gt;d&lt;apos&gt;utilisateur&lt;space&gt;:,POSTGRES_PORT,&quot;OPTIONAL INTEGER&quot;,POSTGRES&lt;space&gt;Port&lt;space&gt;:"/>
-#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="COMBINE_ATTRS" PARM_VALUE="Keep Result Attributes if Conflict"/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="48"
-#!   TYPE="Tester"
-#!   VERSION="2"
-#!   POSITION="-793.485 750"
-#!   BOUNDING_RECT="-793.485 750 -1 -1"
-#!   ORDER="5e+14"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="15575"
-#! >
-#!     <OUTPUT_FEAT NAME="PASSED"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="path_unix" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_defaultFormForce" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="subformExists" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <OUTPUT_FEAT NAME="FAILED"/>
-#!     <FEAT_COLLAPSED COLLAPSED="1"/>
-#!     <XFORM_ATTR ATTR_NAME="path_unix" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="workspace_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_defaultFormForce" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="subformExists" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_PARM PARM_NAME="BOOL_OP" PARM_VALUE="OR"/>
-#!     <XFORM_PARM PARM_NAME="TEST_LIST" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="TEST_DESCRIPTION" PARM_VALUE="&quot;&quot;"/>
-#!     <XFORM_PARM PARM_NAME="COMPOSITE_TEST" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="Tester_2"/>
-#!     <XFORM_PARM PARM_NAME="TEST_CLAUSE" PARM_VALUE="TEST &lt;at&gt;Value&lt;openparen&gt;subformExists&lt;closeparen&gt; = 0"/>
-#!     <XFORM_PARM PARM_NAME="TEST_MODE" PARM_VALUE="Automatic"/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="46"
-#!   TYPE="Tester"
-#!   VERSION="2"
-#!   POSITION="600 750"
-#!   BOUNDING_RECT="600 750 -1 -1"
-#!   ORDER="5e+14"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="15575"
-#! >
-#!     <OUTPUT_FEAT NAME="PASSED"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="path_unix" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_defaultFormForce" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="subformExists" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <OUTPUT_FEAT NAME="FAILED"/>
-#!     <FEAT_COLLAPSED COLLAPSED="1"/>
-#!     <XFORM_ATTR ATTR_NAME="path_unix" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="workspace_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_defaultFormForce" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="subformExists" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_PARM PARM_NAME="BOOL_OP" PARM_VALUE="OR"/>
-#!     <XFORM_PARM PARM_NAME="TEST_LIST" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="TEST_DESCRIPTION" PARM_VALUE="&quot;&quot;"/>
-#!     <XFORM_PARM PARM_NAME="COMPOSITE_TEST" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="Tester_4"/>
-#!     <XFORM_PARM PARM_NAME="TEST_CLAUSE" PARM_VALUE="TEST &lt;at&gt;Value&lt;openparen&gt;form_type&lt;closeparen&gt; = default"/>
-#!     <XFORM_PARM PARM_NAME="TEST_MODE" PARM_VALUE="Automatic"/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="52"
-#!   TYPE="AttributeRenamer"
-#!   VERSION="3"
-#!   POSITION="-4500 750"
-#!   BOUNDING_RECT="-4500 750 -1 -1"
-#!   ORDER="5e+14"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="15575"
-#! >
-#!     <OUTPUT_FEAT NAME="OUTPUT"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="path_unix" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="AttributeRenamer"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="ATTR_LIST" PARM_VALUE="path_rootname,workspace_id,"/>
-#!     <XFORM_PARM PARM_NAME="ATTR_LIST_GROUP" PARM_VALUE=""/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="42"
-#!   TYPE="AttributeCreator"
-#!   VERSION="7"
-#!   POSITION="5930.49 750"
-#!   BOUNDING_RECT="5930.49 750 -1 -1"
-#!   ORDER="5e+14"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="15575"
-#! >
-#!     <OUTPUT_FEAT NAME="OUTPUT"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="path_unix" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_defaultFormForce" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="subformExists" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_headers{}.name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_headers{}.value" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_http_status_code" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_response_body" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="statut" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_PARM PARM_NAME="ATTRIBUTE_HANDLING" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="NULL_ATTR_VALUE" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="NUM_PRIOR_FEATURES" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="AttributeCreator_6"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="MULTI_FEATURE_MODE" PARM_VALUE="NO"/>
-#!     <XFORM_PARM PARM_NAME="NUM_SUBSEQUENT_FEATURES" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="ATTR_LIST" PARM_VALUE="statut,Formulaires&lt;space&gt;g&lt;u00e9&gt;n&lt;u00e9&gt;r&lt;u00e9&gt;s&lt;space&gt;avec&lt;space&gt;succ&lt;u00e8&gt;s."/>
-#!     <XFORM_PARM PARM_NAME="ATTR_LIST_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="NULL_ATTR_MODE_DISPLAY" PARM_VALUE="No Substitution"/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="62"
-#!   TYPE="AttributeCreator"
-#!   VERSION="7"
-#!   POSITION="847.834 -421.74"
-#!   BOUNDING_RECT="847.834 -421.74 -1 -1"
-#!   ORDER="5e+14"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="15575"
-#! >
-#!     <OUTPUT_FEAT NAME="OUTPUT"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="path_unix" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_defaultFormForce" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="subformExists" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="statut" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_PARM PARM_NAME="ATTRIBUTE_HANDLING" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="NULL_ATTR_VALUE" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="NUM_PRIOR_FEATURES" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="AttributeCreator_2"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="MULTI_FEATURE_MODE" PARM_VALUE="NO"/>
-#!     <XFORM_PARM PARM_NAME="NUM_SUBSEQUENT_FEATURES" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="ATTR_LIST" PARM_VALUE="statut,Formulaire&lt;space&gt;personnalis&lt;u00e9&gt;&lt;space&gt;invalide.&lt;lf&gt;Le&lt;space&gt;formulaire&lt;space&gt;doit&lt;space&gt;&lt;u00ea&gt;tre&lt;space&gt;g&lt;u00e9&gt;n&lt;u00e9&gt;r&lt;u00e9&gt;&lt;space&gt;par&lt;space&gt;un&lt;space&gt;administrateur."/>
-#!     <XFORM_PARM PARM_NAME="ATTR_LIST_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="NULL_ATTR_MODE_DISPLAY" PARM_VALUE="No Substitution"/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="69"
-#!   TYPE="AttributeFilter"
-#!   VERSION="4"
-#!   POSITION="-2400 750"
-#!   BOUNDING_RECT="-2400 750 -1 -1"
-#!   ORDER="5e+14"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="15575"
-#! >
-#!     <OUTPUT_FEAT NAME="&lt;EMPTY&gt;"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="path_unix" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_defaultFormForce" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <OUTPUT_FEAT NAME="&lt;MISSING&gt;"/>
-#!     <FEAT_COLLAPSED COLLAPSED="1"/>
-#!     <XFORM_ATTR ATTR_NAME="path_unix" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="workspace_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_defaultFormForce" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <OUTPUT_FEAT NAME="&lt;NULL&gt;"/>
-#!     <FEAT_COLLAPSED COLLAPSED="2"/>
-#!     <XFORM_ATTR ATTR_NAME="path_unix" IS_USER_CREATED="false" FEAT_INDEX="2" />
-#!     <XFORM_ATTR ATTR_NAME="workspace_id" IS_USER_CREATED="false" FEAT_INDEX="2" />
-#!     <XFORM_ATTR ATTR_NAME="_defaultFormForce" IS_USER_CREATED="false" FEAT_INDEX="2" />
-#!     <OUTPUT_FEAT NAME="&lt;UNFILTERED&gt;"/>
-#!     <FEAT_COLLAPSED COLLAPSED="3"/>
-#!     <XFORM_ATTR ATTR_NAME="path_unix" IS_USER_CREATED="false" FEAT_INDEX="3" />
-#!     <XFORM_ATTR ATTR_NAME="workspace_id" IS_USER_CREATED="false" FEAT_INDEX="3" />
-#!     <XFORM_ATTR ATTR_NAME="_defaultFormForce" IS_USER_CREATED="false" FEAT_INDEX="3" />
-#!     <OUTPUT_FEAT NAME="1"/>
-#!     <FEAT_COLLAPSED COLLAPSED="4"/>
-#!     <XFORM_ATTR ATTR_NAME="path_unix" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="workspace_id" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <XFORM_ATTR ATTR_NAME="_defaultFormForce" IS_USER_CREATED="false" FEAT_INDEX="4" />
-#!     <OUTPUT_FEAT NAME="0"/>
-#!     <FEAT_COLLAPSED COLLAPSED="5"/>
-#!     <XFORM_ATTR ATTR_NAME="path_unix" IS_USER_CREATED="false" FEAT_INDEX="5" />
-#!     <XFORM_ATTR ATTR_NAME="workspace_id" IS_USER_CREATED="false" FEAT_INDEX="5" />
-#!     <XFORM_ATTR ATTR_NAME="_defaultFormForce" IS_USER_CREATED="false" FEAT_INDEX="5" />
-#!     <XFORM_PARM PARM_NAME="ATTR_VALUES_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="ATTR_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="ATTR_NAME" PARM_VALUE="_defaultFormForce"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="AttributeFilter"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="ATTR_VALUES" PARM_VALUE="&lt;lt&gt;EMPTY&lt;gt&gt;,&lt;lt&gt;MISSING&lt;gt&gt;,&lt;lt&gt;NULL&lt;gt&gt;,&lt;lt&gt;UNFILTERED&lt;gt&gt;,1,0"/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="65"
-#!   TYPE="ParameterFetcher"
-#!   VERSION="4"
-#!   POSITION="-3051 750"
-#!   BOUNDING_RECT="-3051 750 -1 -1"
-#!   ORDER="5e+14"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="15575"
-#! >
-#!     <OUTPUT_FEAT NAME="OUTPUT"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="path_unix" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_defaultFormForce" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="ParameterFetcher"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="PARAMETERS_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="ATTR_LIST" PARM_VALUE="_defaultFormForce {$(defaultFormForce)}"/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="67"
-#!   TYPE="HTTPCaller"
-#!   VERSION="0"
-#!   POSITION="-1117.92 1890.57"
-#!   BOUNDING_RECT="-1117.92 1890.57 -1 -1"
-#!   ORDER="5e+14"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="15575"
-#! >
-#!     <OUTPUT_FEAT NAME="Output"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="path_unix" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_defaultFormForce" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_headers{}.name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_headers{}.value" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_http_status_code" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_response_body" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <OUTPUT_FEAT NAME="&lt;Rejected&gt;"/>
-#!     <FEAT_COLLAPSED COLLAPSED="1"/>
-#!     <XFORM_ATTR ATTR_NAME="path_unix" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="workspace_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_defaultFormForce" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_error" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_headers{}.name" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_headers{}.value" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_http_status_code" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_response_body" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_PARM PARM_NAME="TARGET_ATTR" PARM_VALUE="_response_body"/>
-#!     <XFORM_PARM PARM_NAME="ADVANCED_REQUEST_PARAMETERS" PARM_VALUE="FME_DISCLOSURE_OPEN"/>
-#!     <XFORM_PARM PARM_NAME="CUSTOM_HEADERS" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="AUTH_NAMED_CONNECTION" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="ERROR_ATTR" PARM_VALUE="_error"/>
-#!     <XFORM_PARM PARM_NAME="TARGET_URL" PARM_VALUE="$(H_url)&lt;solidus&gt;workspaces&lt;solidus&gt;&lt;at&gt;Value&lt;openparen&gt;workspace_id&lt;closeparen&gt;?token=$(H_sessionId)"/>
-#!     <XFORM_PARM PARM_NAME="CUSTOM_HEADERS_GROUP" PARM_VALUE="NO"/>
-#!     <XFORM_PARM PARM_NAME="OUTPUT_DIRNAME" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="UPLOAD_BODY" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="VERIFY_SSL_CERTIFICATES" PARM_VALUE="No"/>
-#!     <XFORM_PARM PARM_NAME="OUTPUT_FILENAME" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="HTTP_AUTH_GROUP" PARM_VALUE="NO"/>
-#!     <XFORM_PARM PARM_NAME="TARGET_ATTR_ENCODING" PARM_VALUE="auto-detect"/>
-#!     <XFORM_PARM PARM_NAME="ADDITIONAL_URL_PARAMETERS" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="HTTPCaller_3"/>
-#!     <XFORM_PARM PARM_NAME="MULTIPARTS" PARM_VALUE="cmd StringUpload SOURCE_EXPRESSION;Default_Reset;MIME_TYPE;text&lt;solidus&gt;plain;FME_CONTROLLER_QUERY_FILE;transformers&lt;backslash&gt;dependencies&lt;backslash&gt;http&lt;backslash&gt;StringUpload.fme"/>
-#!     <XFORM_PARM PARM_NAME="UPLOAD_TYPE" PARM_VALUE="Multipart / Form Data"/>
-#!     <XFORM_PARM PARM_NAME="AUTH_USERNAME" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="HTTP_METHOD" PARM_VALUE="PUT"/>
-#!     <XFORM_PARM PARM_NAME="SAVE_MULTI" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="STATUS_CODE_ATTR" PARM_VALUE="_http_status_code"/>
-#!     <XFORM_PARM PARM_NAME="UPLOAD_FILE" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="HTTP_RESPONSE_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="ADDITIONAL_PARAMETERS_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="RESPONSE_HEADER_LIST_ATTR" PARM_VALUE="_headers"/>
-#!     <XFORM_PARM PARM_NAME="TRANSFER_TIMEOUT_LENGTH" PARM_VALUE="90"/>
-#!     <XFORM_PARM PARM_NAME="HTTPURL_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="UPLOAD_CONTENT_TYPE" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="AUTH_METHOD" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="ADVANCED_RESPONSE_PARAMETERS" PARM_VALUE="NO"/>
-#!     <XFORM_PARM PARM_NAME="RESPONSE_FILE_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="USE_COOKIES" PARM_VALUE="No"/>
-#!     <XFORM_PARM PARM_NAME="UPLOAD_GROUP" PARM_VALUE="FME_DISCLOSURE_OPEN"/>
-#!     <XFORM_PARM PARM_NAME="CONNECTION_TIMEOUT_LENGTH" PARM_VALUE="60"/>
-#!     <XFORM_PARM PARM_NAME="MULTIPART_GROUP" PARM_VALUE="FME_DISCLOSURE_OPEN"/>
-#!     <XFORM_PARM PARM_NAME="SAVE_FILE" PARM_VALUE="Attribute"/>
-#!     <XFORM_PARM PARM_NAME="FILE_PATH_ATTR" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="FOLLOW_REDIRECTS" PARM_VALUE="Yes"/>
-#!     <XFORM_PARM PARM_NAME="AUTH_PASSWORD" PARM_VALUE="&lt;Unused&gt;"/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="72"
-#!   TYPE="Tester"
-#!   VERSION="2"
-#!   POSITION="-506.601 2049.06"
-#!   BOUNDING_RECT="-506.601 2049.06 -1 -1"
-#!   ORDER="5e+14"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="15575"
-#! >
-#!     <OUTPUT_FEAT NAME="PASSED"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="path_unix" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_defaultFormForce" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_headers{}.name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_headers{}.value" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_http_status_code" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_response_body" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <OUTPUT_FEAT NAME="FAILED"/>
-#!     <FEAT_COLLAPSED COLLAPSED="1"/>
-#!     <XFORM_ATTR ATTR_NAME="path_unix" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="workspace_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_defaultFormForce" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_headers{}.name" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_headers{}.value" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_http_status_code" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_response_body" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_PARM PARM_NAME="BOOL_OP" PARM_VALUE="OR"/>
-#!     <XFORM_PARM PARM_NAME="TEST_LIST" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="TEST_DESCRIPTION" PARM_VALUE="&quot;&quot;"/>
-#!     <XFORM_PARM PARM_NAME="COMPOSITE_TEST" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="Tester_3"/>
-#!     <XFORM_PARM PARM_NAME="TEST_CLAUSE" PARM_VALUE="TEST &lt;at&gt;Value&lt;openparen&gt;_http_status_code&lt;closeparen&gt; = 200"/>
-#!     <XFORM_PARM PARM_NAME="TEST_MODE" PARM_VALUE="Automatic"/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="75"
-#!   TYPE="SQLExecutor"
-#!   VERSION="6"
-#!   POSITION="5850 2043.4"
-#!   BOUNDING_RECT="5850 2043.4 0 0"
-#!   ORDER="5e+14"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="15575"
-#! >
-#!     <OUTPUT_FEAT NAME="RESULT"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="path_unix" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_defaultFormForce" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_headers{}.name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_headers{}.value" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_http_status_code" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_response_body" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <OUTPUT_FEAT NAME="INITIATOR"/>
-#!     <FEAT_COLLAPSED COLLAPSED="1"/>
-#!     <XFORM_ATTR ATTR_NAME="path_unix" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="workspace_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_defaultFormForce" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_headers{}.name" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_headers{}.value" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_http_status_code" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_response_body" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_matched_records" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_PARM PARM_NAME="DB_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="DYNGROUP_0" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="POSTGRES_USER_NAME" PARM_VALUE="$(dbUser)"/>
-#!     <XFORM_PARM PARM_NAME="POSTGRES_HOST" PARM_VALUE="$(dbServer)"/>
-#!     <XFORM_PARM PARM_NAME="POSTGRES_PORT" PARM_VALUE="$(dbPort)"/>
-#!     <XFORM_PARM PARM_NAME="COMBINE_GEOM" PARM_VALUE="Initiator Geometry Only"/>
-#!     <XFORM_PARM PARM_NAME="PARAMETERS_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="SQL_STATEMENT" PARM_VALUE="select&lt;space&gt;form_type&lt;space&gt;as&lt;space&gt;form_type&lt;comma&gt;&lt;space&gt;name&lt;space&gt;as&lt;space&gt;name&lt;comma&gt;&lt;space&gt;key&lt;space&gt;as&lt;space&gt;key&lt;space&gt;from&lt;space&gt;s_gtf.workspace&lt;space&gt;where&lt;space&gt;workspace_id&lt;space&gt;=&lt;space&gt;&lt;at&gt;Value&lt;openparen&gt;workspace_id&lt;closeparen&gt;"/>
-#!     <XFORM_PARM PARM_NAME="POSTGRES_PASSWORD" PARM_VALUE="$(dbPassword)"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="SQLExecutor_2"/>
-#!     <XFORM_PARM PARM_NAME="FORMAT" PARM_VALUE="POSTGRES"/>
-#!     <XFORM_PARM PARM_NAME="POSTGRES_QUERY_FEATURE_TYPES_FOR_MERGE_FILTERS" PARM_VALUE="Yes"/>
-#!     <XFORM_PARM PARM_NAME="EXPOSED_ATTRIBUTE_LIST" PARM_VALUE="form_type,name,key"/>
-#!     <XFORM_PARM PARM_NAME="DATASET" PARM_VALUE="$(dbDatabase)"/>
-#!     <XFORM_PARM PARM_NAME="COORDSYS" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="FORMAT_PARAMS" PARM_VALUE="POSTGRES_HOST,&quot;OPTIONAL TEXT&quot;,POSTGRES&lt;space&gt;H&lt;u00f4&gt;te&lt;space&gt;:,POSTGRES_QUERY_FEATURE_TYPES_FOR_MERGE_FILTERS,&quot;IGNORE TEXT&quot;,POSTGRES&lt;space&gt;,POSTGRES_PASSWORD,&quot;OPTIONAL PASSWORD&quot;,POSTGRES&lt;space&gt;Mot&lt;space&gt;de&lt;space&gt;passe&lt;space&gt;:,POSTGRES_USER_NAME,&quot;OPTIONAL TEXT&quot;,POSTGRES&lt;space&gt;Nom&lt;space&gt;d&lt;apos&gt;utilisateur&lt;space&gt;:,POSTGRES_PORT,&quot;OPTIONAL INTEGER&quot;,POSTGRES&lt;space&gt;Port&lt;space&gt;:"/>
-#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="COMBINE_ATTRS" PARM_VALUE="Keep Result Attributes if Conflict"/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="76"
-#!   TYPE="Tester"
-#!   VERSION="2"
-#!   POSITION="6521.74 1989.05"
-#!   BOUNDING_RECT="6521.74 1989.05 -1 -1"
-#!   ORDER="5e+14"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="15575"
-#! >
-#!     <OUTPUT_FEAT NAME="PASSED"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="path_unix" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_defaultFormForce" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_headers{}.name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_headers{}.value" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_http_status_code" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_response_body" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <OUTPUT_FEAT NAME="FAILED"/>
-#!     <FEAT_COLLAPSED COLLAPSED="1"/>
-#!     <XFORM_ATTR ATTR_NAME="path_unix" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="workspace_id" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_defaultFormForce" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_headers{}.name" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_headers{}.value" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_http_status_code" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_response_body" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_PARM PARM_NAME="BOOL_OP" PARM_VALUE="OR"/>
-#!     <XFORM_PARM PARM_NAME="TEST_LIST" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="TEST_DESCRIPTION" PARM_VALUE="&quot;&quot;"/>
-#!     <XFORM_PARM PARM_NAME="COMPOSITE_TEST" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="Tester_5"/>
-#!     <XFORM_PARM PARM_NAME="TEST_CLAUSE" PARM_VALUE="TEST &lt;at&gt;Value&lt;openparen&gt;form_type&lt;closeparen&gt; = default"/>
-#!     <XFORM_PARM PARM_NAME="TEST_MODE" PARM_VALUE="Automatic"/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="84"
-#!   TYPE="PythonCaller"
-#!   VERSION="4"
-#!   POSITION="7200 1950"
-#!   BOUNDING_RECT="7200 1950 -1 -1"
-#!   ORDER="5e+14"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="15575"
-#! >
-#!     <OUTPUT_FEAT NAME="OUTPUT"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="path_unix" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_defaultFormForce" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_headers{}.name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_headers{}.value" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_http_status_code" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_response_body" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_PARM PARM_NAME="PYTHONSYMBOL" PARM_VALUE="copyForm"/>
-#!     <XFORM_PARM PARM_NAME="ADVANCED_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="NEW_ATTRIBUTES" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="LIST_ATTRS" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="PYTHONSOURCE" PARM_VALUE="from&lt;space&gt;shutil&lt;space&gt;import&lt;space&gt;copyfile&lt;lf&gt;import&lt;space&gt;fmeobjects&lt;lf&gt;&lt;lf&gt;def&lt;space&gt;copyForm&lt;openparen&gt;feature&lt;closeparen&gt;:&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;dsubformFile&lt;space&gt;=&lt;space&gt;feature.getAttribute&lt;openparen&gt;&lt;apos&gt;path_unix&lt;apos&gt;&lt;closeparen&gt;&lt;space&gt;+&lt;space&gt;&lt;apos&gt;&lt;solidus&gt;form&lt;solidus&gt;DSubform.json&lt;apos&gt;&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;subformFile&lt;space&gt;=&lt;space&gt;feature.getAttribute&lt;openparen&gt;&lt;apos&gt;path_unix&lt;apos&gt;&lt;closeparen&gt;&lt;space&gt;+&lt;space&gt;&lt;apos&gt;&lt;solidus&gt;form&lt;solidus&gt;Subform.json&lt;apos&gt;&lt;space&gt;&lt;space&gt;&lt;lf&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;copyfile&lt;openparen&gt;dsubformFile&lt;comma&gt;subformFile&lt;closeparen&gt;&lt;lf&gt;"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="PythonCaller_2"/>
-#!     <XFORM_PARM PARM_NAME="PARAMETERS_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="HIDE_ATTRIBUTES" PARM_VALUE=""/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="89"
-#!   TYPE="AttributeCreator"
-#!   VERSION="7"
-#!   POSITION="6550 1500"
-#!   BOUNDING_RECT="6550 1500 -1 -1"
-#!   ORDER="5e+14"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="15575"
-#! >
-#!     <OUTPUT_FEAT NAME="OUTPUT"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="path_unix" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_defaultFormForce" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_headers{}.name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_headers{}.value" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_http_status_code" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_response_body" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="statut" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_PARM PARM_NAME="ATTRIBUTE_HANDLING" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="NULL_ATTR_VALUE" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="NUM_PRIOR_FEATURES" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="AttributeCreator_3"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="MULTI_FEATURE_MODE" PARM_VALUE="NO"/>
-#!     <XFORM_PARM PARM_NAME="NUM_SUBSEQUENT_FEATURES" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="ATTR_LIST" PARM_VALUE="statut,Formulaire&lt;space&gt;par&lt;space&gt;d&lt;u00e9&gt;faut&lt;space&gt;reg&lt;u00e9&gt;n&lt;u00e9&gt;r&lt;u00e9&gt;&lt;space&gt;avec&lt;space&gt;succ&lt;u00e8&gt;s."/>
-#!     <XFORM_PARM PARM_NAME="ATTR_LIST_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="NULL_ATTR_MODE_DISPLAY" PARM_VALUE="No Substitution"/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="92"
-#!   TYPE="AttributeCreator"
-#!   VERSION="7"
-#!   POSITION="7458.41 1516.68"
-#!   BOUNDING_RECT="7458.41 1516.68 -1 -1"
-#!   ORDER="5e+14"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="15575"
-#! >
-#!     <OUTPUT_FEAT NAME="OUTPUT"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="path_unix" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="workspace_id" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_defaultFormForce" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_headers{}.name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_headers{}.value" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_http_status_code" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_response_body" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="form_type" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="key" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="statut" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_PARM PARM_NAME="ATTRIBUTE_HANDLING" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="NULL_ATTR_VALUE" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="NUM_PRIOR_FEATURES" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="AttributeCreator_4"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="MULTI_FEATURE_MODE" PARM_VALUE="NO"/>
-#!     <XFORM_PARM PARM_NAME="NUM_SUBSEQUENT_FEATURES" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="ATTR_LIST" PARM_VALUE="statut,Formulaire&lt;space&gt;par&lt;space&gt;d&lt;u00e9&gt;faut&lt;space&gt;reg&lt;u00e9&gt;n&lt;u00e9&gt;r&lt;u00e9&gt;&lt;space&gt;et&lt;space&gt;publi&lt;u00e9&gt;&lt;space&gt;avec&lt;space&gt;succ&lt;u00e8&gt;s."/>
-#!     <XFORM_PARM PARM_NAME="ATTR_LIST_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="NULL_ATTR_MODE_DISPLAY" PARM_VALUE="No Substitution"/>
-#! </TRANSFORMER>
-#! </TRANSFORMERS>
-#! <FEAT_LINKS>
-#! <FEAT_LINK
-#!   IDENTIFIER="38"
-#!   SOURCE_NODE="31"
-#!   TARGET_NODE="37"
-#!   SOURCE_PORT_DESC="-1"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="16"
-#!   SOURCE_NODE="4"
-#!   TARGET_NODE="7"
-#!   SOURCE_PORT_DESC="fo 0 Output"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="21"
-#!   SOURCE_NODE="5"
-#!   TARGET_NODE="10"
-#!   SOURCE_PORT_DESC="fo 0 Output"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="18"
-#!   SOURCE_NODE="6"
-#!   TARGET_NODE="8"
-#!   SOURCE_PORT_DESC="fo 0 Output"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="56"
-#!   SOURCE_NODE="7"
-#!   TARGET_NODE="5"
-#!   SOURCE_PORT_DESC="fo 0 PASSED"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="61"
-#!   SOURCE_NODE="8"
-#!   TARGET_NODE="42"
-#!   SOURCE_PORT_DESC="fo 0 PASSED"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="58"
-#!   SOURCE_NODE="10"
-#!   TARGET_NODE="6"
-#!   SOURCE_PORT_DESC="fo 0 PASSED"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="66"
-#!   SOURCE_NODE="32"
-#!   TARGET_NODE="65"
-#!   SOURCE_PORT_DESC="fo 0 PASSED"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="53"
-#!   SOURCE_NODE="37"
-#!   TARGET_NODE="52"
-#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="49"
-#!   SOURCE_NODE="40"
-#!   TARGET_NODE="48"
-#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="60"
-#!   SOURCE_NODE="42"
-#!   TARGET_NODE="59"
-#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
-#!   TARGET_PORT_DESC="-1"
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="51"
-#!   SOURCE_NODE="45"
-#!   TARGET_NODE="46"
-#!   SOURCE_PORT_DESC="fo 0 RESULT"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="43"
-#!   SOURCE_NODE="46"
-#!   TARGET_NODE="4"
-#!   SOURCE_PORT_DESC="fo 0 PASSED"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="50"
-#!   SOURCE_NODE="48"
-#!   TARGET_NODE="45"
-#!   SOURCE_PORT_DESC="fo 0 PASSED"
-#!   TARGET_PORT_DESC="fi 0 INITIATOR"
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="54"
-#!   SOURCE_NODE="52"
-#!   TARGET_NODE="32"
-#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="64"
-#!   SOURCE_NODE="62"
-#!   TARGET_NODE="59"
-#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
-#!   TARGET_PORT_DESC="-1"
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="70"
-#!   SOURCE_NODE="65"
-#!   TARGET_NODE="69"
-#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="73"
-#!   SOURCE_NODE="67"
-#!   TARGET_NODE="72"
-#!   SOURCE_PORT_DESC="fo 0 Output"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="80"
-#!   SOURCE_NODE="72"
-#!   TARGET_NODE="75"
-#!   SOURCE_PORT_DESC="fo 0 PASSED"
-#!   TARGET_PORT_DESC="fi 0 INITIATOR"
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS="3975 1961"
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="77"
-#!   SOURCE_NODE="75"
-#!   TARGET_NODE="76"
-#!   SOURCE_PORT_DESC="fo 0 RESULT"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="86"
-#!   SOURCE_NODE="76"
-#!   TARGET_NODE="84"
-#!   SOURCE_PORT_DESC="fo 0 PASSED"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="87"
-#!   SOURCE_NODE="84"
-#!   TARGET_NODE="92"
-#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="91"
-#!   SOURCE_NODE="89"
-#!   TARGET_NODE="59"
-#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
-#!   TARGET_PORT_DESC="-1"
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="88"
-#!   SOURCE_NODE="92"
-#!   TARGET_NODE="59"
-#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
-#!   TARGET_PORT_DESC="-1"
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="19"
-#!   SOURCE_NODE="4"
-#!   TARGET_NODE="9"
-#!   SOURCE_PORT_DESC="fo 1 &lt;lt&gt;Rejected&lt;gt&gt;"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="23"
-#!   SOURCE_NODE="5"
-#!   TARGET_NODE="9"
-#!   SOURCE_PORT_DESC="fo 1 &lt;lt&gt;Rejected&lt;gt&gt;"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="25"
-#!   SOURCE_NODE="6"
-#!   TARGET_NODE="9"
-#!   SOURCE_PORT_DESC="fo 1 &lt;lt&gt;Rejected&lt;gt&gt;"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="20"
-#!   SOURCE_NODE="7"
-#!   TARGET_NODE="9"
-#!   SOURCE_PORT_DESC="fo 1 FAILED"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="26"
-#!   SOURCE_NODE="8"
-#!   TARGET_NODE="9"
-#!   SOURCE_PORT_DESC="fo 1 FAILED"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="24"
-#!   SOURCE_NODE="10"
-#!   TARGET_NODE="9"
-#!   SOURCE_PORT_DESC="fo 1 FAILED"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="63"
-#!   SOURCE_NODE="46"
-#!   TARGET_NODE="62"
-#!   SOURCE_PORT_DESC="fo 1 FAILED"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="82"
-#!   SOURCE_NODE="67"
-#!   TARGET_NODE="9"
-#!   SOURCE_PORT_DESC="fo 1 &lt;lt&gt;Rejected&lt;gt&gt;"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="81"
-#!   SOURCE_NODE="72"
-#!   TARGET_NODE="9"
-#!   SOURCE_PORT_DESC="fo 1 FAILED"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="90"
-#!   SOURCE_NODE="76"
-#!   TARGET_NODE="89"
-#!   SOURCE_PORT_DESC="fo 1 FAILED"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="74"
-#!   SOURCE_NODE="69"
-#!   TARGET_NODE="67"
-#!   SOURCE_PORT_DESC="fo 4 1"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! <FEAT_LINK
-#!   IDENTIFIER="71"
-#!   SOURCE_NODE="69"
-#!   TARGET_NODE="40"
-#!   SOURCE_PORT_DESC="fo 5 0"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! </FEAT_LINKS>
-#! <BREAKPOINTS>
-#! </BREAKPOINTS>
-#! <ATTR_LINKS>
-#! </ATTR_LINKS>
-#! <SUBDOCUMENTS>
-#! </SUBDOCUMENTS>
-#! <LOOKUP_TABLES>
-#! </LOOKUP_TABLES>
-#! </WORKSPACE>
-FME_PYTHON_VERSION 27
-GUI IGNORE PATH_IN_GLOB_PATTERN_PATH_1,PATH_IN_TYPE_PATH_1,PATH_IN_RETRIEVE_FILE_PROPERTIES_PATH_1,SourceDataset_PATH_1,PATH_IN_NETWORK_AUTHENTICATION_PATH_1,DestDataset_XML_1,XML_OUT_PRETTY_PRINT_SETTINGS_XML_1,XML_OUT_PRETTY_PRINT_XML_1,XML_OUT_INDENT_SIZE_XML_1,XML_OUT_REPLACE_TABS_WITH_SPACES_XML_1,XML_OUT_XML_WRT_ADV_PARM_XML_1,XML_OUT_XSD_DOC_XML_1,XML_OUT_SUPPRESS_TARGET_NS_XML_1,XML_OUT_TABLE_WRAPPER_PREFIX_XML_1,XML_OUT_TABLE_WRAPPER_SUFFIX_XML_1,XML_OUT_ROW_ID_ATTR_NAME_XML_1,XML_OUT_ROW_ID_PREFIX_XML_1,XML_OUT_APPLY_STYLESHEET_XML_1,XML_OUT_STYLESHEET_RESULT_XML_1,XML_OUT_XML_ROOT_ELEMENT_APPEND_PATH_XML_1,XML_OUT_APPEND_XML_FRAGMENTS_AS_XML_1,XML_OUT_XML_VALIDATION_XML_1,XML_OUT_XSD_VALIDATION_DOCS_XML_1,_TARGET_NS_URI_XML_1,_TARGET_NS_PREFIX_XML_1,_TABLES_ROOT_ELEMENT_XML_1,_XML_NAMESPACE_DECLARATIONS_XML_1,_WRAP_TABLES_XML_1,_SUPPRESS_XML_DOCUMENT_XML_1,_SUPPRESS_XSD_DOCUMENT_XML_1,_GENERATE_ROW_ID_XML_1,_OUTPUT_ENCODING_XML_1
-DEFAULT_MACRO H_sessionId f497f1qg5rqovsae893nra8on0
-GUI OPTIONAL TEXT H_sessionId ID de session :
-DEFAULT_MACRO H_url https://palomino/rest/gtf/
-GUI OPTIONAL TEXT H_url URL de l'API du serveur GTF :
-DEFAULT_MACRO HTML C:\TEMP\rapport_formulaires.html
-GUI OPTIONAL FILENAME HTML All_Files(*.*)|*.* Rapport HTML :
-DEFAULT_MACRO defaultFormForce 0
-GUI LOOKUP_CHOICE defaultFormForce Oui,1%Non,0 Forcer la regénération du formulaire par défaut pour tous les traitements :
-DEFAULT_MACRO GTF_CONNECTION_STRING 
-GUI OPTIONAL PASSWORD GTF_CONNECTION_STRING Chaîne de connexion à la base GTF :
-INCLUDE PYTHON
-def ParamFunc():
-  return FME_MacroValues['FME_MF_DIR'] + '../..'
-value = ParamFunc()
-macroName = 'workspacesDir'
-if value == None:
-  return { macroName : '' }
-else:
-  return { macroName : str(value) }
-END_INCLUDE
-INCLUDE PYTHON
-def ParamFunc():
-  import fmeobjects
-  import string
-  connection_string = string.split(FME_MacroValues['GTF_CONNECTION_STRING'],',')
-  return connection_string[0]
-value = ParamFunc()
-macroName = 'dbServer'
-if value == None:
-  return { macroName : '' }
-else:
-  return { macroName : str(value) }
-END_INCLUDE
-INCLUDE PYTHON
-def ParamFunc():
-  import fmeobjects
-  import string
-  connection_string = string.split(FME_MacroValues['GTF_CONNECTION_STRING'],',')
-  return connection_string[1]
-value = ParamFunc()
-macroName = 'dbPort'
-if value == None:
-  return { macroName : '' }
-else:
-  return { macroName : str(value) }
-END_INCLUDE
-INCLUDE PYTHON
-def ParamFunc():
-  import fmeobjects
-  import string
-  connection_string = string.split(FME_MacroValues['GTF_CONNECTION_STRING'],',')
-  return connection_string[2]
-value = ParamFunc()
-macroName = 'dbDatabase'
-if value == None:
-  return { macroName : '' }
-else:
-  return { macroName : str(value) }
-END_INCLUDE
-INCLUDE PYTHON
-def ParamFunc():
-  import fmeobjects
-  import string
-  connection_string = string.split(FME_MacroValues['GTF_CONNECTION_STRING'],',')
-  return connection_string[3]
-value = ParamFunc()
-macroName = 'dbUser'
-if value == None:
-  return { macroName : '' }
-else:
-  return { macroName : str(value) }
-END_INCLUDE
-INCLUDE PYTHON
-def ParamFunc():
-  # Génère un nom de répertoire temporaire unique
-  import uuid
-  import os
-
-  temp = os.environ.get("TEMP")
-  if temp is not None:
-      temp_dir = temp + "\\" + str(uuid.uuid1())
-  else:
-      temp_dir = "c:\\temp\\" + str(uuid.uuid1())
-  return temp_dir + '\\rapport.xml'
-value = ParamFunc()
-macroName = 'xml'
-if value == None:
-  return { macroName : '' }
-else:
-  return { macroName : str(value) }
-END_INCLUDE
-INCLUDE PYTHON
-def ParamFunc():
-  return FME_MacroValues['FME_MF_DIR'] + 'formCheckerRapport.xslt'
-value = ParamFunc()
-macroName = 'xslt'
-if value == None:
-  return { macroName : '' }
-else:
-  return { macroName : str(value) }
-END_INCLUDE
-INCLUDE PYTHON
-def ParamFunc():
-  import fmeobjects
-  import string
-  connection_string = string.split(FME_MacroValues['GTF_CONNECTION_STRING'],',')
-  return connection_string[4]
-value = ParamFunc()
-macroName = 'dbPassword'
-if value == None:
-  return { macroName : '' }
-else:
-  return { macroName : str(value) }
-END_INCLUDE
-INCLUDE [ if {{$(defaultFormForce)} == {}} { puts_real {Parameter 'defaultFormForce' must be given a value.}; exit 1; }; ]
-#! START_HEADER
-#! START_WB_HEADER
-READER_TYPE PATH
-READER_KEYWORD PATH_1
-READER_GEN_DIRECTIVES TYPE,DIRECTORY,RETRIEVE_FILE_PROPERTIES,NO,GLOB_PATTERN,*,_MERGE_SCHEMAS,YES
-
-WRITER_TYPE MULTI_WRITER
-MULTI_WRITER_DATASET_ORDER BY_ID
-MULTI_WRITER_FIRST_WRITER_ID 0
-MULTI_WRITER_TYPE{0} XML
-MULTI_WRITER_KEYWORD{0} XML_1
-#! END_WB_HEADER
-
-#! START_WB_HEADER
-MACRO WB_KEYWORD "PATH_1"
-#! END_WB_HEADER
-#! START_SOURCE_HEADER PATH PATH_1
-# =============================================================================
-DEFAULT_MACRO PATH_IN_GLOB_PATTERN_PATH_1 *
-PATH_1_GLOB_PATTERN "$(PATH_IN_GLOB_PATTERN_PATH_1)"
-GUI OPTIONAL TEXT_ENCODED PATH_IN_GLOB_PATTERN_PATH_1 Path Filter:
-# =============================================================================
-DEFAULT_MACRO PATH_IN_TYPE_PATH_1 DIRECTORY
-PATH_1_TYPE "$(PATH_IN_TYPE_PATH_1)"
-GUI CHOICE PATH_IN_TYPE_PATH_1 ANY%DIRECTORY%FILE Allowed Path Type:
-# =============================================================================
-DEFAULT_MACRO PATH_IN_RETRIEVE_FILE_PROPERTIES_PATH_1 NO
-PATH_1_RETRIEVE_FILE_PROPERTIES "$(PATH_IN_RETRIEVE_FILE_PROPERTIES_PATH_1)"
-GUI CHOICE PATH_IN_RETRIEVE_FILE_PROPERTIES_PATH_1 YES%NO Retrieve file properties:
-# =====================================================================
-# The following GUI line prompts for the folder from which to
-# read
-# The dataset this mapping file was generated from was:
-#! END_SOURCE_HEADER
-#! START_WB_HEADER
-DEFAULT_MACRO SourceDataset
-INCLUDE [ if {{$(SourceDataset)} != ""} {                        \
- puts {DEFAULT_MACRO SourceDataset_PATH_1 $(SourceDataset)}     \
- } ]
-#! END_WB_HEADER
-#! START_SOURCE_HEADER PATH PATH_1
-DEFAULT_MACRO SourceDataset_PATH_1 $(workspacesDir)
-GUI MULTIDIR SourceDataset_PATH_1 Source Folder and File Pathnames Folder:
-# ===========================================================================
-DEFAULT_MACRO PATH_IN_NETWORK_AUTHENTICATION_PATH_1 
-PATH_1_NETWORK_AUTHENTICATION "$(PATH_IN_NETWORK_AUTHENTICATION_PATH_1)"
-GUI OPTIONAL AUTHENTICATOR PATH_IN_NETWORK_AUTHENTICATION_PATH_1 CONTAINER%GROUP%CONTAINER_TITLE%"Network Authentication"%PROMPT_TYPE%NETWORK Network Authentication
-PATH_1_DATASET "$(SourceDataset_PATH_1)"
-#! END_SOURCE_HEADER
-#! START_WB_HEADER
-MACRO WB_KEYWORD "XML_1"
-#! END_WB_HEADER
-#! START_DEST_HEADER XML XML_1
-#! END_DEST_HEADER
-#! START_WB_HEADER
-DEFAULT_MACRO DestDataset
-INCLUDE [ if {"$(DestDataset)" != ""} {                          \
- puts {DEFAULT_MACRO DestDataset_XML_1 $(DestDataset)}         \
- } ]
-#! END_WB_HEADER
-#! START_DEST_HEADER XML XML_1
-DEFAULT_MACRO DestDataset_XML_1 $(xml)
-GUI FILENAME DestDataset_XML_1 XML_Files(*)|* Destination XML (Extensible Markup Language) File:
-# ============================================================================
-# The WRITER_MODE keyword sets the XML Writer's mode. Valid values are
-# 'TABLES_ATTRIBUTES_ONLY', 'TABLES', and 'XFMAP'
-#
-# TABLES_ATTRIBUTES_ONLY: This writes out the non-geometrical
-# attributes of features into an XML dataset.
-#
-# TABLES and XFMAP: Are not implemented yet.
-DEFAULT_MACRO _WRITER_MODE_XML_1 TABLES_ATTRIBUTES_ONLY
-XML_1_WRITER_MODE $(_WRITER_MODE_XML_1)
-# ============================================================================
-GUI DISCLOSUREGROUP XML_OUT_PRETTY_PRINT_SETTINGS_XML_1 PRETTY_PRINT%INDENT_SIZE%REPLACE_TABS_WITH_SPACES Pretty Printing
-DEFAULT_MACRO XML_OUT_PRETTY_PRINT_XML_1 No
-XML_1_PRETTY_PRINT "$(XML_OUT_PRETTY_PRINT_XML_1)"
-GUI OPTIONAL CHOICE XML_OUT_PRETTY_PRINT_XML_1 Yes%No Pretty Print:
-DEFAULT_MACRO XML_OUT_INDENT_SIZE_XML_1 0
-XML_1_INDENT_SIZE "$(XML_OUT_INDENT_SIZE_XML_1)"
-GUI OPTIONAL CHOICE XML_OUT_INDENT_SIZE_XML_1 0%1%2%3%4%5%6%7%8%9 Indent Size:
-DEFAULT_MACRO XML_OUT_REPLACE_TABS_WITH_SPACES_XML_1 No
-XML_1_REPLACE_TABS_WITH_SPACES "$(XML_OUT_REPLACE_TABS_WITH_SPACES_XML_1)"
-GUI OPTIONAL CHOICE XML_OUT_REPLACE_TABS_WITH_SPACES_XML_1 Yes%No Replace Tabs with Spaces:
-GUI DISCLOSUREGROUP XML_OUT_XML_WRT_ADV_PARM_XML_1 XSD_DOC%SUPPRESS_TARGET_NS%TABLE_WRAPPER_PREFIX%TABLE_WRAPPER_SUFFIX%ROW_ID_ATTR_NAME%ROW_ID_PREFIX%APPLY_STYLESHEET%STYLESHEET_RESULT%XML_ROOT_ELEMENT_APPEND_PATH%APPEND_XML_FRAGMENTS_AS%XML_VALIDATION%XSD_VALIDATION_DOCS Advanced
-DEFAULT_MACRO XML_OUT_XSD_DOC_XML_1 
-XML_1_XSD_DOC "$(XML_OUT_XSD_DOC_XML_1)"
-GUI OPTIONAL FILENAME XML_OUT_XSD_DOC_XML_1 XML_Schema_File(*.xsd)|*.xsd|All_Files(*.*)|*.* XML Schema Document:
-DEFAULT_MACRO XML_OUT_SUPPRESS_TARGET_NS_XML_1 yes
-XML_1_SUPPRESS_TARGET_NS "$(XML_OUT_SUPPRESS_TARGET_NS_XML_1)"
-GUI CHOICE XML_OUT_SUPPRESS_TARGET_NS_XML_1 yes%no Suppress Target Namespace:
-DEFAULT_MACRO XML_OUT_TABLE_WRAPPER_PREFIX_XML_1 
-XML_1_TABLE_WRAPPER_PREFIX "$(XML_OUT_TABLE_WRAPPER_PREFIX_XML_1)"
-GUI OPTIONAL TEXT XML_OUT_TABLE_WRAPPER_PREFIX_XML_1 Table Wrap Prefix:
-DEFAULT_MACRO XML_OUT_TABLE_WRAPPER_SUFFIX_XML_1 
-XML_1_TABLE_WRAPPER_SUFFIX "$(XML_OUT_TABLE_WRAPPER_SUFFIX_XML_1)"
-GUI OPTIONAL TEXT XML_OUT_TABLE_WRAPPER_SUFFIX_XML_1 Table Wrap Suffix:
-DEFAULT_MACRO XML_OUT_ROW_ID_ATTR_NAME_XML_1 
-XML_1_ROW_ID_ATTR_NAME "$(XML_OUT_ROW_ID_ATTR_NAME_XML_1)"
-GUI OPTIONAL TEXT XML_OUT_ROW_ID_ATTR_NAME_XML_1 Row ID Attribute Name:
-DEFAULT_MACRO XML_OUT_ROW_ID_PREFIX_XML_1 
-XML_1_ROW_ID_PREFIX "$(XML_OUT_ROW_ID_PREFIX_XML_1)"
-GUI OPTIONAL TEXT XML_OUT_ROW_ID_PREFIX_XML_1 Row ID Prefix:
-DEFAULT_MACRO XML_OUT_APPLY_STYLESHEET_XML_1 $(xslt)
-XML_1_APPLY_STYLESHEET "$(XML_OUT_APPLY_STYLESHEET_XML_1)"
-GUI OPTIONAL FILENAME_MUSTEXIST XML_OUT_APPLY_STYLESHEET_XML_1 XSLT_Stylesheet_Files(*.xslt)|*.xslt|All_Files(*.*)|*.* XSLT Style Sheet to Apply:
-DEFAULT_MACRO XML_OUT_STYLESHEET_RESULT_XML_1 $(HTML)
-XML_1_STYLESHEET_RESULT "$(XML_OUT_STYLESHEET_RESULT_XML_1)"
-GUI OPTIONAL FILENAME XML_OUT_STYLESHEET_RESULT_XML_1 All_Files(*.*)|*.* Style Sheet File to Write:
-DEFAULT_MACRO XML_OUT_XML_ROOT_ELEMENT_APPEND_PATH_XML_1 
-XML_1_XML_ROOT_ELEMENT_APPEND_PATH "$(XML_OUT_XML_ROOT_ELEMENT_APPEND_PATH_XML_1)"
-GUI OPTIONAL TEXT_EDIT XML_OUT_XML_ROOT_ELEMENT_APPEND_PATH_XML_1 XML_ROOT_ELEMENT Append Path:
-DEFAULT_MACRO XML_OUT_APPEND_XML_FRAGMENTS_AS_XML_1 SUCCEEDING_CHILDREN
-XML_1_APPEND_XML_FRAGMENTS_AS "$(XML_OUT_APPEND_XML_FRAGMENTS_AS_XML_1)"
-GUI LOOKUP_CHOICE XML_OUT_APPEND_XML_FRAGMENTS_AS_XML_1 "Preceding Children",PRECEDING_CHILDREN%"Succeeding Children",SUCCEEDING_CHILDREN%"Preceding Siblings",PRECEDING_SIBLINGS%"Succeeding Siblings",SUCCEEDING_SIBLINGS Append XML_FRAGMENTs As:
-DEFAULT_MACRO XML_OUT_XML_VALIDATION_XML_1 No
-XML_1_XML_VALIDATION "$(XML_OUT_XML_VALIDATION_XML_1)"
-GUI ACTIVECHOICE XML_OUT_XML_VALIDATION_XML_1 Yes%No,XML_OUT_XSD_VALIDATION_DOCS XML Schema Validation:
-DEFAULT_MACRO XML_OUT_XSD_VALIDATION_DOCS_XML_1 <Unused>
-XML_1_XSD_VALIDATION_DOCS "$(XML_OUT_XSD_VALIDATION_DOCS_XML_1)"
-GUI OPTIONAL MULTIFILE XML_OUT_XSD_VALIDATION_DOCS_XML_1 XML_Schema_File(*.xsd)|*.xsd|All_Files(*.*)|*.* XML Schema Validation Document:
-# ============================================================================
-# Opt in for destination dataset type vs format type validation
-DEFAULT_MACRO XML_OUT_DESTINATION_DATASETTYPE_VALIDATION_XML_1 Yes
-XML_1_DESTINATION_DATASETTYPE_VALIDATION "$(XML_OUT_DESTINATION_DATASETTYPE_VALIDATION_XML_1)"
-DEFAULT_MACRO XML_OUT_COORDINATE_SYSTEM_GRANULARITY_XML_1 C:\TEMP\rapport_import.xml
-XML_1_COORDINATE_SYSTEM_GRANULARITY "$(XML_OUT_COORDINATE_SYSTEM_GRANULARITY_XML_1)"
-DEFAULT_MACRO _TARGET_NS_URI_XML_1 
-GUI OPTIONAL TEXT _TARGET_NS_URI_XML_1 Target Namespace URI:
-XML_1_TARGET_NS_URI $(_TARGET_NS_URI_XML_1)
-DEFAULT_MACRO _TARGET_NS_PREFIX_XML_1 
-GUI OPTIONAL TEXT _TARGET_NS_PREFIX_XML_1 Target Namespace Prefix:
-XML_1_TARGET_NS_PREFIX $(_TARGET_NS_PREFIX_XML_1)
-DEFAULT_MACRO _TABLES_ROOT_ELEMENT_XML_1 
-GUI OPTIONAL TEXT _TABLES_ROOT_ELEMENT_XML_1 Tables Root Element Name:
-XML_1_TABLES_ROOT_ELEMENT $(_TABLES_ROOT_ELEMENT_XML_1)
-DEFAULT_MACRO _XML_NAMESPACE_DECLARATIONS_XML_1 
-GUI OPTIONAL STRING_ENCODED _XML_NAMESPACE_DECLARATIONS_XML_1 XML Namespace Declarations:
-XML_1_XML_NAMESPACE_DECLARATIONS $(_XML_NAMESPACE_DECLARATIONS_XML_1)
-DEFAULT_MACRO _WRAP_TABLES_XML_1 yes
-GUI OPTIONAL CHOICE _WRAP_TABLES_XML_1 yes%no Wrap Table Elements:
-XML_1_WRAP_TABLES $(_WRAP_TABLES_XML_1)
-DEFAULT_MACRO _SUPPRESS_XML_DOCUMENT_XML_1 no
-GUI CHOICE _SUPPRESS_XML_DOCUMENT_XML_1 yes%no Suppress XML output:
-XML_1_SUPPRESS_XML_DOCUMENT $(_SUPPRESS_XML_DOCUMENT_XML_1)
-DEFAULT_MACRO _SUPPRESS_XSD_DOCUMENT_XML_1 no
-GUI CHOICE _SUPPRESS_XSD_DOCUMENT_XML_1 yes%no Suppress XSD output:
-XML_1_SUPPRESS_XSD_DOCUMENT $(_SUPPRESS_XSD_DOCUMENT_XML_1)
-DEFAULT_MACRO _GENERATE_ROW_ID_XML_1 no
-GUI CHOICE _GENERATE_ROW_ID_XML_1 yes%no Generate Row ID Attributes:
-XML_1_GENERATE_ROW_ID $(_GENERATE_ROW_ID_XML_1)
-DEFAULT_MACRO _OUTPUT_ENCODING_XML_1 
-GUI OPTIONAL STRING_OR_ENCODING _OUTPUT_ENCODING_XML_1 UTF-8%UTF-16LE%UTF-16BE%SYSTEM%BIG5%SJIS%CP437%CP708%CP720%CP737%CP775%CP850%CP852%CP855%CP857%CP860%CP861%CP862%CP863%CP864%CP865%CP866%CP869%CP932%CP936%CP950%CP1250%CP1251%CP1252%CP1253%CP1254%CP1255%CP1256%CP1257%CP1258%ISO8859-1%ISO8859-2%ISO8859-3%ISO8859-4%ISO8859-5%ISO8859-6%ISO8859-7%ISO8859-8%ISO8859-9%ISO8859-13%ISO8859-15 Output Dataset Encoding:
-XML_1_OUTPUT_ENCODING $(_OUTPUT_ENCODING_XML_1)
-XML_1_DATASET "$(DestDataset_XML_1)"
-#! END_DEST_HEADER
-#! START_WB_HEADER
-#! END_WB_HEADER
-
-#! END_HEADER
-
-LOG_FILENAME "$(FME_MF_DIR)formChecker.log"
-LOG_APPEND NO
-LOG_MAX_FEATURES 200
-LOG_MAX_RECORDED_FEATURES 200
-FME_REPROJECTION_ENGINE FME
-FME_IMPLICIT_CSMAP_REPROJECTION_MODE Auto
-FME_GEOMETRY_HANDLING Enhanced
-FME_STROKE_MAX_DEVIATION 0
-LOG_FILTER_MASK -1
-DEFAULT_MACRO DATASET_KEYWORD_PATH_1 PATH_1
-DEFAULT_MACRO DATASET_KEYWORD_XML_1 XML_1
-FME_PASSWORD_PARAMETER_LIST GTF_CONNECTION_STRING
-# -------------------------------------------------------------------------
-
-PATH_1_READER_META_ATTRIBUTES fme_feature_type
-
-# -------------------------------------------------------------------------
-
-MULTI_READER_CONTINUE_ON_READER_FAILURE No
-
-# -------------------------------------------------------------------------
-
-MACRO WORKSPACE_NAME formChecker
-MACRO FME_VIEWER_APP fmedatainspector
-# -------------------------------------------------------------------------
-
-FACTORY_DEF * RoutingFactory   FACTORY_NAME "Router and Unexpected Input Remover"   COMMAND_PARM_EVALUATION SINGLE_PASS   MULTI_READER_KEYWORD PATH_1   INPUT FEATURE_TYPE *    ROUTE PATH PATH_1::PATH TO FME_GENERIC ::PATH ALIAS_GEOMETRY    MERGE_INPUT Yes   OUTPUT ROUTED FEATURE_TYPE *
-PATH_1_MERGE_DEF PATH_1::PATH EXACT PATH
-# -------------------------------------------------------------------------
-
-FACTORY_DEF * TeeFactory    FACTORY_NAME "PATH (PATH_1) Splitter"    INPUT FEATURE_TYPE PATH    OUTPUT FEATURE_TYPE PATH_PATH_1
-DEFAULT_MACRO WB_CURRENT_CONTEXT
-# -------------------------------------------------------------------------
-
-INCLUDE [    set macroLine "MACRO AttributeKeeper_dfc18292_ab3c_45b3_ba91_e7d775fbcb6e0_LIST_EXP ";    foreach attr [split ""] {       set attr [FME_DecodeText $attr];       set attr [regsub "{}$" $attr "{}.*"];       set attr [regsub -all "{}" $attr "\\{\[0-9\]+\\}"];       append macroLine ",^$attr$";    };    puts $macroLine; ]
-
-FACTORY_DEF * TeeFactory    FACTORY_NAME AttributeKeeper    INPUT  FEATURE_TYPE PATH_PATH_1    OUTPUT FEATURE_TYPE AttributeKeeper_OUTPUT        @KeepAttributes(fme_encoded,path_rootname,path_unix,fme_pcre_match,"^fme_$(AttributeKeeper_dfc18292_ab3c_45b3_ba91_e7d775fbcb6e0_LIST_EXP)")
-
-# -------------------------------------------------------------------------
-
-FACTORY_DEF * TeeFactory    FACTORY_NAME AttributeRenamer    INPUT  FEATURE_TYPE AttributeKeeper_OUTPUT    OUTPUT FEATURE_TYPE AttributeRenamer_OUTPUT         @RenameAttributes(ATTR_LIST_DEF_VAL_ENCODED, path_rootname,workspace_id,)
-
-
-# -------------------------------------------------------------------------
-
-FACTORY_DEF * TestFactory    FACTORY_NAME Tester    INPUT  FEATURE_TYPE AttributeRenamer_OUTPUT    TEST @EvaluateExpression(FDIV,STRING_ENCODED,<at>Value<openparen>workspace_id<closeparen>,Tester) MATCHES_REGEX <openbracket>0-9<closebracket>+ ENCODED    BOOLEAN_OPERATOR OR    OUTPUT PASSED FEATURE_TYPE Tester_PASSED
-# -------------------------------------------------------------------------
-
-Tcl2 proc ParameterFetcher_doFetch {} {    foreach {name val} {"_defaultFormForce {$(defaultFormForce)}"} {         if { [string match {*<at>*} $val] == 1 } {             set val [FME_Execute EvaluateExpression {STRING} $val {ParameterFetcher}];         } elseif {[string match {*FME_CONDITIONAL*} $val] == 1} {             set val [FME_Execute EvaluateExpression {STRING} $val {ParameterFetcher}];         } else {             set val [FME_DecodeTextOrAttr $val];         };       FME_SetAttribute [FME_DecodeText $name] $val    } }
-FACTORY_DEF * TeeFactory    FACTORY_NAME ParameterFetcher    INPUT  FEATURE_TYPE Tester_PASSED    OUTPUT FEATURE_TYPE ParameterFetcher_OUTPUT         @Tcl2(ParameterFetcher_doFetch)
-
-# -------------------------------------------------------------------------
-Lookup AttributeFilter_AttributeFilterLut   1 ok   0 ok   "" notok   ENCODED
-
-FACTORY_DEF * TestFactory    FACTORY_NAME AttributeFilter    INPUT  FEATURE_TYPE ParameterFetcher_OUTPUT    TEST @Lookup(AttributeFilter_AttributeFilterLut,_defaultFormForce,ENCODED_ATTR) == "ok"    OUTPUT PASSED FEATURE_TYPE * @FeatureType(SET_FROM_ATTR, _defaultFormForce, AttributeFilter)    OUTPUT FAILED FEATURE_TYPE AttributeFilter_<NULL>
-FACTORY_DEF * TestFactory    FACTORY_NAME AttributeFilter_NullFilter    INPUT FEATURE_TYPE AttributeFilter_<NULL>    TEST _defaultFormForce ATTRIBUTE_VALUE_NULL "" ENCODED    OUTPUT PASSED FEATURE_TYPE AttributeFilter_<NULL>    OUTPUT FAILED FEATURE_TYPE AttributeFilter_<MISSING>
-FACTORY_DEF * TestFactory    FACTORY_NAME AttributeFilter_MissingFilter    INPUT FEATURE_TYPE AttributeFilter_<MISSING>    TEST _defaultFormForce ATTRIBUTE_IS_MISSING "" ENCODED    OUTPUT PASSED FEATURE_TYPE AttributeFilter_<MISSING>    OUTPUT FAILED FEATURE_TYPE AttributeFilter_<UNFILTERED>
-FACTORY_DEF * TestFactory    FACTORY_NAME AttributeFilter_BlankFilter    INPUT FEATURE_TYPE AttributeFilter_<UNFILTERED>    TEST _defaultFormForce ATTRIBUTE_IS_EMPTY "" ENCODED    OUTPUT PASSED FEATURE_TYPE AttributeFilter_<EMPTY>    OUTPUT FAILED FEATURE_TYPE AttributeFilter_<UNFILTERED>
-
-
-
-FACTORY_DEF * TeeFactory   FACTORY_NAME "AttributeFilter <EMPTY> Output Nuker"   INPUT FEATURE_TYPE AttributeFilter_<EMPTY>
-FACTORY_DEF * TeeFactory   FACTORY_NAME "AttributeFilter <MISSING> Output Nuker"   INPUT FEATURE_TYPE AttributeFilter_<MISSING>
-FACTORY_DEF * TeeFactory   FACTORY_NAME "AttributeFilter <NULL> Output Nuker"   INPUT FEATURE_TYPE AttributeFilter_<NULL>
-FACTORY_DEF * TeeFactory   FACTORY_NAME "AttributeFilter <UNFILTERED> Output Nuker"   INPUT FEATURE_TYPE AttributeFilter_<UNFILTERED>
-# -------------------------------------------------------------------------
-
-
-FME_PYTHON_PATH "$(FME_MF_DIR)"
-
-FACTORY_DEF * PythonFactory    FACTORY_NAME PythonCaller    INPUT  FEATURE_TYPE AttributeFilter_0    SYMBOL_NAME subformExists    PYTHON_NAMESPACE FMEOBJECTS    SOURCE_CODE import<space>os.path<lf>import<space>fmeobjects<lf><lf>def<space>subformExists<openparen>feature<closeparen>:<lf><space><space><space><space>subformFile<space>=<space>feature.getAttribute<openparen><apos>path_unix<apos><closeparen><space>+<space><apos><solidus>form<solidus>Subform.json<apos><lf><space><space><space><space>if<space>os.path.isfile<openparen>subformFile<closeparen>:<lf><space><space><space><space><space><space><space><space>feature.setAttribute<openparen><quote>subformExists<quote><comma><space><apos>1<apos><closeparen><lf><space><space><space><space>else:<lf><space><space><space><space><space><space><space><space>feature.setAttribute<openparen><quote>subformExists<quote><comma><space><apos>0<apos><closeparen>    OUTPUT PYOUTPUT FEATURE_TYPE PythonCaller_OUTPUT
-
-# -------------------------------------------------------------------------
-
-FACTORY_DEF * TestFactory    FACTORY_NAME Tester_2    INPUT  FEATURE_TYPE PythonCaller_OUTPUT    TEST @EvaluateExpression(FDIV,STRING_ENCODED,<at>Value<openparen>subformExists<closeparen>,Tester_2) = 0 ENCODED    BOOLEAN_OPERATOR OR    OUTPUT PASSED FEATURE_TYPE Tester_2_PASSED
-# -------------------------------------------------------------------------
-MACRO SQLExecutor_4_DIRECTIVES HOST "$(dbServer)" QUERY_FEATURE_TYPES_FOR_MERGE_FILTERS Yes PASSWORD "$(dbPassword)" USER_NAME "$(dbUser)" PORT "$(dbPort)"
-
-FACTORY_DEF * QueryFactory    FACTORY_NAME SQLExecutor_4    INPUT  FEATURE_TYPE Tester_2_PASSED    QUERY_SQL            "@EvaluateExpression(FDIV,STRING_ENCODED,select<space>form_type<space>as<space>form_type<comma><space>name<space>as<space>name<comma><space>key<space>as<space>key<space>from<space>s_gtf.workspace<space>where<space>workspace_id<space>=<space><at>Value<openparen>workspace_id<closeparen>,SQLExecutor_4)"    READER_TYPE          POSTGRES    READER_DATASET       "@EvaluateExpression(FDIV,STRING_ENCODED,$(dbDatabase$encode),SQLExecutor_4)"    COMBINE_ATTRIBUTES   PREFER_RESULT    COMBINE_GEOMETRY     QUERY_ONLY    READER_PARAMS        $(SQLExecutor_4_DIRECTIVES)    OUTPUT RESULT FEATURE_TYPE SQLExecutor_4_RESULT    OUTPUT QUERY FEATURE_TYPE SQLExecutor_4_INITIATOR
-
-FACTORY_DEF * TeeFactory   FACTORY_NAME "SQLExecutor_4 INITIATOR Output Nuker"   INPUT FEATURE_TYPE SQLExecutor_4_INITIATOR
-# -------------------------------------------------------------------------
-
-FACTORY_DEF * TestFactory    FACTORY_NAME Tester_4    INPUT  FEATURE_TYPE SQLExecutor_4_RESULT    TEST @EvaluateExpression(FDIV,STRING_ENCODED,<at>Value<openparen>form_type<closeparen>,Tester_4) = default ENCODED    BOOLEAN_OPERATOR OR    OUTPUT PASSED FEATURE_TYPE Tester_4_PASSED    OUTPUT FAILED FEATURE_TYPE Tester_4_FAILED
-# -------------------------------------------------------------------------
-FACTORY_DEF * AttrSetFactory FACTORY_NAME AttributeCreator_2 ATTRSET_CREATE_DIRECTIVES _PROPAGATE_MISSING_FDIV INPUT  FEATURE_TYPE Tester_4_FAILED ATTR statut Formulaire<space>personnalis<u00e9><space>invalide.<lf>Le<space>formulaire<space>doit<space><u00ea>tre<space>g<u00e9>n<u00e9>r<u00e9><space>par<space>un<space>administrateur.    OUTPUT OUTPUT FEATURE_TYPE AttributeCreator_2_OUTPUT 
-# -------------------------------------------------------------------------
-
-FACTORY_DEF * HTTPFactory    FACTORY_NAME HTTPCaller       INPUT  FEATURE_TYPE Tester_4_PASSED    TARGET_URL "@EvaluateExpression(FDIV,STRING_ENCODED,$(H_url$encode)<solidus>workspaces<solidus><at>Value<openparen>workspace_id<closeparen>?token=$(H_sessionId$encode),HTTPCaller)"    HTTP_METHOD PUT    SAVE_FILE NO    OUTPUT_FILENAME "<Unused>"    OUTPUT_DIRECTORY "<Unused>"    TARGET_ATTR "_response_body"    FILE_PATH_ATTR "<Unused>"    UPLOAD_FILE "<Unused>"    UPLOAD_BODY "<Unused>"    MULTIPART_UPLOAD YES    UPLOAD_CONTENT_TYPE "<Unused>"    COMBINED_MULTIPART_TABLE cmd StringUpload SOURCE_EXPRESSION;Default_Reset;MIME_TYPE;text<solidus>plain    REQUEST_HEADER_TABLE    ADDITIONAL_URL_PARAMETERS    AUTH_USERNAME "<Unused>"    AUTH_PASSWORD "<Unused>"    AUTH_METHOD "<Unused>"    TARGET_ATTRIBUTE_ENCODING auto-detect    RESPONSE_HEADER_LIST_ATTR "_headers"    STATUS_CODE_ATTR "_http_status_code"    ERROR_ATTR "_error"    CONNECTION_TIMEOUT_LENGTH 60    TRANSFER_TIMEOUT_LENGTH 90    FOLLOW_REDIRECTS Yes    VERIFY_SSL_CERTIFICATES No    NAMED_CONNECTION "<Unused>"    USE_COOKIES No    OUTPUT OUTPUT FEATURE_TYPE HTTPCaller_Output    OUTPUT REJECTED FEATURE_TYPE HTTPCaller_<Rejected>
-
-# -------------------------------------------------------------------------
-
-FACTORY_DEF * TestFactory    FACTORY_NAME Tester_9    INPUT  FEATURE_TYPE HTTPCaller_Output    TEST @EvaluateExpression(FDIV,STRING_ENCODED,<at>Value<openparen>_http_status_code<closeparen>,Tester_9) = 200 ENCODED    BOOLEAN_OPERATOR OR    OUTPUT PASSED FEATURE_TYPE Tester_9_PASSED    OUTPUT FAILED FEATURE_TYPE Tester_9_FAILED
-# -------------------------------------------------------------------------
-
-FACTORY_DEF * HTTPFactory    FACTORY_NAME HTTPCaller_4       INPUT  FEATURE_TYPE Tester_9_PASSED    TARGET_URL "@EvaluateExpression(FDIV,STRING_ENCODED,$(H_url$encode)<solidus>workspaces<solidus><at>Value<openparen>workspace_id<closeparen>?token=$(H_sessionId$encode),HTTPCaller_4)"    HTTP_METHOD PUT    SAVE_FILE NO    OUTPUT_FILENAME "<Unused>"    OUTPUT_DIRECTORY "<Unused>"    TARGET_ATTR "_response_body"    FILE_PATH_ATTR "<Unused>"    UPLOAD_FILE "<Unused>"    UPLOAD_BODY "<Unused>"    MULTIPART_UPLOAD YES    UPLOAD_CONTENT_TYPE "<Unused>"    COMBINED_MULTIPART_TABLE cmd StringUpload SOURCE_EXPRESSION;Default_Published;MIME_TYPE;text<solidus>plain    REQUEST_HEADER_TABLE    ADDITIONAL_URL_PARAMETERS    AUTH_USERNAME "<Unused>"    AUTH_PASSWORD "<Unused>"    AUTH_METHOD "<Unused>"    TARGET_ATTRIBUTE_ENCODING auto-detect    RESPONSE_HEADER_LIST_ATTR "_headers"    STATUS_CODE_ATTR "_http_status_code"    ERROR_ATTR "_error"    CONNECTION_TIMEOUT_LENGTH 60    TRANSFER_TIMEOUT_LENGTH 90    FOLLOW_REDIRECTS Yes    VERIFY_SSL_CERTIFICATES No    NAMED_CONNECTION "<Unused>"    USE_COOKIES No    OUTPUT OUTPUT FEATURE_TYPE HTTPCaller_4_Output    OUTPUT REJECTED FEATURE_TYPE HTTPCaller_4_<Rejected>
-
-# -------------------------------------------------------------------------
-
-FACTORY_DEF * TestFactory    FACTORY_NAME Tester_11    INPUT  FEATURE_TYPE HTTPCaller_4_Output    TEST @EvaluateExpression(FDIV,STRING_ENCODED,<at>Value<openparen>_http_status_code<closeparen>,Tester_11) = 200 ENCODED    BOOLEAN_OPERATOR OR    OUTPUT PASSED FEATURE_TYPE Tester_11_PASSED    OUTPUT FAILED FEATURE_TYPE Tester_11_FAILED
-# -------------------------------------------------------------------------
-
-FACTORY_DEF * HTTPFactory    FACTORY_NAME HTTPCaller_2       INPUT  FEATURE_TYPE Tester_11_PASSED    TARGET_URL "@EvaluateExpression(FDIV,STRING_ENCODED,$(H_url$encode)<solidus>workspaces<solidus><at>Value<openparen>workspace_id<closeparen>?token=$(H_sessionId$encode),HTTPCaller_2)"    HTTP_METHOD PUT    SAVE_FILE NO    OUTPUT_FILENAME "<Unused>"    OUTPUT_DIRECTORY "<Unused>"    TARGET_ATTR "_response_body"    FILE_PATH_ATTR "<Unused>"    UPLOAD_FILE "<Unused>"    UPLOAD_BODY "<Unused>"    MULTIPART_UPLOAD YES    UPLOAD_CONTENT_TYPE "<Unused>"    COMBINED_MULTIPART_TABLE cmd StringUpload SOURCE_EXPRESSION;Perso_Reset;MIME_TYPE;text<solidus>plain    REQUEST_HEADER_TABLE    ADDITIONAL_URL_PARAMETERS    AUTH_USERNAME "<Unused>"    AUTH_PASSWORD "<Unused>"    AUTH_METHOD "<Unused>"    TARGET_ATTRIBUTE_ENCODING auto-detect    RESPONSE_HEADER_LIST_ATTR "_headers"    STATUS_CODE_ATTR "_http_status_code"    ERROR_ATTR "_error"    CONNECTION_TIMEOUT_LENGTH 60    TRANSFER_TIMEOUT_LENGTH 90    FOLLOW_REDIRECTS Yes    VERIFY_SSL_CERTIFICATES No    NAMED_CONNECTION "<Unused>"    USE_COOKIES No    OUTPUT OUTPUT FEATURE_TYPE HTTPCaller_2_Output    OUTPUT REJECTED FEATURE_TYPE HTTPCaller_2_<Rejected>
-
-# -------------------------------------------------------------------------
-
-FACTORY_DEF * TestFactory    FACTORY_NAME Tester_10    INPUT  FEATURE_TYPE HTTPCaller_2_Output    TEST @EvaluateExpression(FDIV,STRING_ENCODED,<at>Value<openparen>_http_status_code<closeparen>,Tester_10) = 200 ENCODED    BOOLEAN_OPERATOR OR    OUTPUT PASSED FEATURE_TYPE Tester_10_PASSED    OUTPUT FAILED FEATURE_TYPE Tester_10_FAILED
-# -------------------------------------------------------------------------
-FACTORY_DEF * AttrSetFactory FACTORY_NAME AttributeCreator_6 ATTRSET_CREATE_DIRECTIVES _PROPAGATE_MISSING_FDIV INPUT  FEATURE_TYPE Tester_10_PASSED ATTR statut Formulaires<space>g<u00e9>n<u00e9>r<u00e9>s<space>avec<space>succ<u00e8>s.    OUTPUT OUTPUT FEATURE_TYPE AttributeCreator_6_OUTPUT 
-# -------------------------------------------------------------------------
-
-FACTORY_DEF * HTTPFactory    FACTORY_NAME HTTPCaller_3       INPUT  FEATURE_TYPE AttributeFilter_1    TARGET_URL "@EvaluateExpression(FDIV,STRING_ENCODED,$(H_url$encode)<solidus>workspaces<solidus><at>Value<openparen>workspace_id<closeparen>?token=$(H_sessionId$encode),HTTPCaller_3)"    HTTP_METHOD PUT    SAVE_FILE NO    OUTPUT_FILENAME "<Unused>"    OUTPUT_DIRECTORY "<Unused>"    TARGET_ATTR "_response_body"    FILE_PATH_ATTR "<Unused>"    UPLOAD_FILE "<Unused>"    UPLOAD_BODY "<Unused>"    MULTIPART_UPLOAD YES    UPLOAD_CONTENT_TYPE "<Unused>"    COMBINED_MULTIPART_TABLE cmd StringUpload SOURCE_EXPRESSION;Default_Reset;MIME_TYPE;text<solidus>plain    REQUEST_HEADER_TABLE    ADDITIONAL_URL_PARAMETERS    AUTH_USERNAME "<Unused>"    AUTH_PASSWORD "<Unused>"    AUTH_METHOD "<Unused>"    TARGET_ATTRIBUTE_ENCODING auto-detect    RESPONSE_HEADER_LIST_ATTR "_headers"    STATUS_CODE_ATTR "_http_status_code"    ERROR_ATTR "_error"    CONNECTION_TIMEOUT_LENGTH 60    TRANSFER_TIMEOUT_LENGTH 90    FOLLOW_REDIRECTS Yes    VERIFY_SSL_CERTIFICATES No    NAMED_CONNECTION "<Unused>"    USE_COOKIES No    OUTPUT OUTPUT FEATURE_TYPE HTTPCaller_3_Output    OUTPUT REJECTED FEATURE_TYPE HTTPCaller_3_<Rejected>
-
-# -------------------------------------------------------------------------
-
-FACTORY_DEF * TestFactory    FACTORY_NAME Tester_3    INPUT  FEATURE_TYPE HTTPCaller_3_Output    TEST @EvaluateExpression(FDIV,STRING_ENCODED,<at>Value<openparen>_http_status_code<closeparen>,Tester_3) = 200 ENCODED    BOOLEAN_OPERATOR OR    OUTPUT PASSED FEATURE_TYPE Tester_3_PASSED    OUTPUT FAILED FEATURE_TYPE Tester_3_FAILED
-# -------------------------------------------------------------------------
-
-# The default behaviour is to abort on any feature entering the transformer.
-# If Workbench has set the _WB_BYPASS_TERMINATION macro to a value of "Yes",
-# then the features will instead be passed through with a feature type of
-# __WB_BYPASS_TERMINATOR__, which Workbench will send to a visualizer or
-# somesuch.
-
-DEFAULT_MACRO _WB_BYPASS_TERMINATION No
-FACTORY_DEF * TestFactory    FACTORY_NAME Terminator    INPUT  FEATURE_TYPE HTTPCaller_<Rejected>    INPUT  FEATURE_TYPE HTTPCaller_4_<Rejected>    INPUT  FEATURE_TYPE HTTPCaller_2_<Rejected>    INPUT  FEATURE_TYPE Tester_9_FAILED    INPUT  FEATURE_TYPE Tester_10_FAILED    INPUT  FEATURE_TYPE Tester_11_FAILED    INPUT  FEATURE_TYPE HTTPCaller_3_<Rejected>    INPUT  FEATURE_TYPE Tester_3_FAILED    TEST "$(_WB_BYPASS_TERMINATION)" == Yes    OUTPUT PASSED FEATURE_TYPE __WB_BYPASS_TERMINATOR__       @SupplyAttributes(_wb_termination_feature_type,@FeatureType())       @SupplyAttributes(ENCODED,_wb_termination_message,"Erreur<space>avec<space>l<apos>API<space>GTF")       @SupplyAttributes(_wb_termination_xformer,"Terminator")       @SupplyAttributes(_wb_termination_feature,Yes)    OUTPUT FAILED FEATURE_TYPE * @Abort(ENCODED,"Erreur<space>avec<space>l<apos>API<space>GTF")
-
-# -------------------------------------------------------------------------
-MACRO SQLExecutor_2_DIRECTIVES HOST "$(dbServer)" QUERY_FEATURE_TYPES_FOR_MERGE_FILTERS Yes PASSWORD "$(dbPassword)" USER_NAME "$(dbUser)" PORT "$(dbPort)"
-
-FACTORY_DEF * QueryFactory    FACTORY_NAME SQLExecutor_2    INPUT  FEATURE_TYPE Tester_3_PASSED    QUERY_SQL            "@EvaluateExpression(FDIV,STRING_ENCODED,select<space>form_type<space>as<space>form_type<comma><space>name<space>as<space>name<comma><space>key<space>as<space>key<space>from<space>s_gtf.workspace<space>where<space>workspace_id<space>=<space><at>Value<openparen>workspace_id<closeparen>,SQLExecutor_2)"    READER_TYPE          POSTGRES    READER_DATASET       "@EvaluateExpression(FDIV,STRING_ENCODED,$(dbDatabase$encode),SQLExecutor_2)"    COMBINE_ATTRIBUTES   PREFER_RESULT    COMBINE_GEOMETRY     QUERY_ONLY    READER_PARAMS        $(SQLExecutor_2_DIRECTIVES)    OUTPUT RESULT FEATURE_TYPE SQLExecutor_2_RESULT    OUTPUT QUERY FEATURE_TYPE SQLExecutor_2_INITIATOR
-
-FACTORY_DEF * TeeFactory   FACTORY_NAME "SQLExecutor_2 INITIATOR Output Nuker"   INPUT FEATURE_TYPE SQLExecutor_2_INITIATOR
-# -------------------------------------------------------------------------
-
-FACTORY_DEF * TestFactory    FACTORY_NAME Tester_5    INPUT  FEATURE_TYPE SQLExecutor_2_RESULT    TEST @EvaluateExpression(FDIV,STRING_ENCODED,<at>Value<openparen>form_type<closeparen>,Tester_5) = default ENCODED    BOOLEAN_OPERATOR OR    OUTPUT PASSED FEATURE_TYPE Tester_5_PASSED    OUTPUT FAILED FEATURE_TYPE Tester_5_FAILED
-# -------------------------------------------------------------------------
-FACTORY_DEF * AttrSetFactory FACTORY_NAME AttributeCreator_3 ATTRSET_CREATE_DIRECTIVES _PROPAGATE_MISSING_FDIV INPUT  FEATURE_TYPE Tester_5_FAILED ATTR statut Formulaire<space>par<space>d<u00e9>faut<space>reg<u00e9>n<u00e9>r<u00e9><space>avec<space>succ<u00e8>s.    OUTPUT OUTPUT FEATURE_TYPE AttributeCreator_3_OUTPUT 
-# -------------------------------------------------------------------------
-
-
-FME_PYTHON_PATH "$(FME_MF_DIR)"
-
-FACTORY_DEF * PythonFactory    FACTORY_NAME PythonCaller_2    INPUT  FEATURE_TYPE Tester_5_PASSED    SYMBOL_NAME copyForm    PYTHON_NAMESPACE FMEOBJECTS    SOURCE_CODE from<space>shutil<space>import<space>copyfile<lf>import<space>fmeobjects<lf><lf>def<space>copyForm<openparen>feature<closeparen>:<lf><space><space><space><space>dsubformFile<space>=<space>feature.getAttribute<openparen><apos>path_unix<apos><closeparen><space>+<space><apos><solidus>form<solidus>DSubform.json<apos><lf><space><space><space><space>subformFile<space>=<space>feature.getAttribute<openparen><apos>path_unix<apos><closeparen><space>+<space><apos><solidus>form<solidus>Subform.json<apos><space><space><lf><space><space><space><space>copyfile<openparen>dsubformFile<comma>subformFile<closeparen><lf>    OUTPUT PYOUTPUT FEATURE_TYPE PythonCaller_2_OUTPUT
-
-# -------------------------------------------------------------------------
-FACTORY_DEF * AttrSetFactory FACTORY_NAME AttributeCreator_4 ATTRSET_CREATE_DIRECTIVES _PROPAGATE_MISSING_FDIV INPUT  FEATURE_TYPE PythonCaller_2_OUTPUT ATTR statut Formulaire<space>par<space>d<u00e9>faut<space>reg<u00e9>n<u00e9>r<u00e9><space>et<space>publi<u00e9><space>avec<space>succ<u00e8>s.    OUTPUT OUTPUT FEATURE_TYPE AttributeCreator_4_OUTPUT 
-# -------------------------------------------------------------------------
-
-FACTORY_DEF * RoutingFactory FACTORY_NAME "Destination Feature Type Routing Correlator"   COMMAND_PARM_EVALUATION SINGLE_PASS   INPUT FEATURE_TYPE *    ROUTE FME_GENERIC AttributeCreator_6_OUTPUT TO XML __GO_TO_FINAL_OUTPUT_ROUTER__ multi_writer_id,0,<at>SupplyAttributes<openparen>ENCODED<comma>__wb_out_feat_type__<comma>rapport<closeparen> GEOMETRY    ROUTE FME_GENERIC AttributeCreator_2_OUTPUT TO XML __GO_TO_FINAL_OUTPUT_ROUTER__ multi_writer_id,0,<at>SupplyAttributes<openparen>ENCODED<comma>__wb_out_feat_type__<comma>rapport<closeparen> GEOMETRY    ROUTE FME_GENERIC AttributeCreator_3_OUTPUT TO XML __GO_TO_FINAL_OUTPUT_ROUTER__ multi_writer_id,0,<at>SupplyAttributes<openparen>ENCODED<comma>__wb_out_feat_type__<comma>rapport<closeparen> GEOMETRY    ROUTE FME_GENERIC AttributeCreator_4_OUTPUT TO XML __GO_TO_FINAL_OUTPUT_ROUTER__ multi_writer_id,0,<at>SupplyAttributes<openparen>ENCODED<comma>__wb_out_feat_type__<comma>rapport<closeparen> GEOMETRY    ROUTE FME_GENERIC __WB_BYPASS_TERMINATOR__ <at>Tcl2<openparen>FME_StatMessage<space>818062<space><opencurly><at>Value<openparen>_wb_termination_message<closeparen><space><openparen><at>Value<openparen>_wb_termination_xformer<closeparen><closeparen><closecurly><space>818063<closeparen> TO FME_GENERIC __WB_BYPASS_TERMINATOR__ __wb_out_feat_type__,__WB_BYPASS_TERMINATOR__ GEOMETRY   FEATURE_TYPE_ATTRIBUTE __wb_out_feat_type__   OUTPUT ROUTED FEATURE_TYPE *    OUTPUT NOT_ROUTED FEATURE_TYPE __nuke_me__ @Tcl2("FME_StatMessage 818059 [FME_GetAttribute fme_template_feature_type] 818060 818061 fme_warn")
-# -------------------------------------------------------------------------
-
-FACTORY_DEF * TeeFactory   FACTORY_NAME "Final Output Nuker"   INPUT FEATURE_TYPE __nuke_me__
-
-# -------------------------------------------------------------------------
-XML_1_DEF rapport   name                         xml_char(100)   key                          xml_char(80)   workspace_id                 xml_int32   statut                       xml_char(200)
diff --git a/src/module_gtf/web_service/ws_data/gtf/workspace/S3Downloader.fmw b/src/module_gtf/web_service/ws_data/gtf/workspace/S3Downloader.fmw
index 66a5a4763fcaf5f3ccedbfc479ecbdab61dfee9a..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100755
--- a/src/module_gtf/web_service/ws_data/gtf/workspace/S3Downloader.fmw
+++ b/src/module_gtf/web_service/ws_data/gtf/workspace/S3Downloader.fmw
@@ -1,265 +0,0 @@
-#! <?xml version="1.0" encoding="UTF-8" ?>
-#! <WORKSPACE
-#    
-#    
-#    Command-line to run this workspace:
-#    
-#    
-#    "C:\Program Files\FME_2016\fme.exe" "E:\_Docs\GTF moteur serveur\S3Downloader.fmw"
-#          --access_key_id ""
-#          --secret_access_key ""
-#          --bucket_name ""
-#          --object_key ""
-#          --target_file ""
-#    
-#    
-#!   WARN_INVALID_XFORM_PARAM="Yes"
-#!   FME_STROKE_MAX_DEVIATION="0"
-#!   PYTHON_COMPATIBILITY="27"
-#!   DESTINATION_ROUTING_FILE=""
-#!   DOC_TOP_LEFT="326.779 -965.635"
-#!   USAGE=""
-#!   DOC_EXTENTS="613.376 1e-05"
-#!   LOG_FILE=""
-#!   DESTINATION="NONE"
-#!   LOG_MAX_RECORDED_FEATURES="200"
-#!   ZOOM_SCALE="100"
-#!   REQUIREMENTS=""
-#!   SOURCE="NONE"
-#!   LAST_SAVE_DATE="2018-01-12T15:26:20"
-#!   FME_SERVER_SERVICES=""
-#!   FME_GEOMETRY_HANDLING="Enhanced"
-#!   FME_DOCUMENT_PRIORGUID=""
-#!   FME_DOCUMENT_GUID="644dd7ca-a79d-48e7-ad7d-33a0a3cac007"
-#!   FME_REPROJECTION_ENGINE="FME"
-#!   END_TCL=""
-#!   MULTI_WRITER_DATASET_ORDER="BY_ID"
-#!   VIEW_POSITION="-100.001 0"
-#!   TITLE=""
-#!   REQUIREMENTS_KEYWORD=""
-#!   MAX_LOG_FEATURES="200"
-#!   LEGAL_TERMS_CONDITIONS=""
-#!   EXPLICIT_BOOKMARK_ORDER="false"
-#!   DESCRIPTION=""
-#!   WORKSPACE_VERSION="1"
-#!   END_PYTHON=""
-#!   FME_IMPLICIT_CSMAP_REPROJECTION_MODE="Auto"
-#!   SOURCE_ROUTING_FILE=""
-#!   ATTR_TYPE_ENCODING="SDF"
-#!   REDIRECT_TERMINATORS="NONE"
-#!   BEGIN_PYTHON=""
-#!   FME_BUILD_NUM="16485"
-#!   IGNORE_READER_FAILURE="No"
-#!   HISTORY=""
-#!   PASSWORD=""
-#!   SHOW_ANNOTATIONS="true"
-#!   BEGIN_TCL=""
-#!   CATEGORY=""
-#!   SHOW_INFO_NODES="true"
-#!   LAST_SAVE_BUILD="FME(R) 2016.1.0.0 (20160404 - Build 16485 - WIN64)"
-#! >
-#! <DATASETS>
-#! </DATASETS>
-#! <DATA_TYPES>
-#! </DATA_TYPES>
-#! <GEOM_TYPES>
-#! </GEOM_TYPES>
-#! <FEATURE_TYPES>
-#! </FEATURE_TYPES>
-#! <FMESERVER>
-#! </FMESERVER>
-#! <GLOBAL_PARAMETERS>
-#! <GLOBAL_PARAMETER
-#!   GUI_LINE="GUI TEXT_OR_ATTR access_key_id Access key ID:"
-#!   DEFAULT_VALUE=""
-#!   IS_STAND_ALONE="true"
-#! />
-#! <GLOBAL_PARAMETER
-#!   GUI_LINE="GUI TEXT_OR_ATTR secret_access_key Secret access key:"
-#!   DEFAULT_VALUE=""
-#!   IS_STAND_ALONE="true"
-#! />
-#! <GLOBAL_PARAMETER
-#!   GUI_LINE="GUI TEXT_OR_ATTR bucket_name Bucket name:"
-#!   DEFAULT_VALUE=""
-#!   IS_STAND_ALONE="true"
-#! />
-#! <GLOBAL_PARAMETER
-#!   GUI_LINE="GUI TEXT_OR_ATTR object_key Object key:"
-#!   DEFAULT_VALUE=""
-#!   IS_STAND_ALONE="true"
-#! />
-#! <GLOBAL_PARAMETER
-#!   GUI_LINE="GUI TEXT_OR_ATTR target_file Target file:"
-#!   DEFAULT_VALUE=""
-#!   IS_STAND_ALONE="true"
-#! />
-#! </GLOBAL_PARAMETERS>
-#! <COMMENTS>
-#! </COMMENTS>
-#! <CONSTANTS>
-#! </CONSTANTS>
-#! <BOOKMARKS>
-#! </BOOKMARKS>
-#! <TRANSFORMERS>
-#! <TRANSFORMER
-#!   IDENTIFIER="1"
-#!   TYPE="S3Downloader"
-#!   VERSION="1"
-#!   POSITION="940.155 -965.635"
-#!   BOUNDING_RECT="940.155 -965.635 -1 -1"
-#!   ORDER="5e+14"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="16485"
-#! >
-#!     <OUTPUT_FEAT NAME="OUTPUT"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="_creation_instance" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <OUTPUT_FEAT NAME="&lt;REJECTED&gt;"/>
-#!     <FEAT_COLLAPSED COLLAPSED="1"/>
-#!     <XFORM_ATTR ATTR_NAME="_creation_instance" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="download_s3_error" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="S3Downloader"/>
-#!     <XFORM_PARM PARM_NAME="S3_ERROR_ATTRIBUTE" PARM_VALUE="download_s3_error"/>
-#!     <XFORM_PARM PARM_NAME="S3_BUCKET_NAME" PARM_VALUE="$(bucket_name)"/>
-#!     <XFORM_PARM PARM_NAME="S3_FILE_OR_ATTRIBUTE" PARM_VALUE="File"/>
-#!     <XFORM_PARM PARM_NAME="S3_OBJECT_KEY" PARM_VALUE="$(object_key)"/>
-#!     <XFORM_PARM PARM_NAME="S3_TARGET_FILE" PARM_VALUE="$(target_file)"/>
-#!     <XFORM_PARM PARM_NAME="S3_AWS_CREDENTIALS" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="OUTPUT_OPTIONS" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="S3_DOWNLOAD_OPTIONS" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="S3_SECRET_ACCESS_KEY" PARM_VALUE="$(secret_access_key)"/>
-#!     <XFORM_PARM PARM_NAME="S3_ACCESS_KEY_ID" PARM_VALUE="$(access_key_id)"/>
-#!     <XFORM_PARM PARM_NAME="S3_TARGET_ATTRIBUTE" PARM_VALUE="&lt;Unused&gt;"/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="2"
-#!   TYPE="Creator"
-#!   VERSION="5"
-#!   POSITION="326.779 -965.635"
-#!   BOUNDING_RECT="326.779 -965.635 -1 -1"
-#!   ORDER="5e+14"
-#!   PARMS_EDITED="false"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="16485"
-#! >
-#!     <OUTPUT_FEAT NAME="CREATED"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="_creation_instance" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_PARM PARM_NAME="GEOM" PARM_VALUE="&lt;lt&gt;?xml&lt;space&gt;version=&lt;quote&gt;1.0&lt;quote&gt;&lt;space&gt;encoding=&lt;quote&gt;US_ASCII&lt;quote&gt;&lt;space&gt;standalone=&lt;quote&gt;no&lt;quote&gt;&lt;space&gt;?&lt;gt&gt;&lt;lt&gt;geometry&lt;space&gt;dimension=&lt;quote&gt;2&lt;quote&gt;&lt;gt&gt;&lt;lt&gt;null&lt;solidus&gt;&lt;gt&gt;&lt;lt&gt;&lt;solidus&gt;geometry&lt;gt&gt;"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="Creator"/>
-#!     <XFORM_PARM PARM_NAME="PARAMETERS_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="COORDS" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="ATEND" PARM_VALUE="no"/>
-#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="CRE_ATTR" PARM_VALUE="_creation_instance"/>
-#!     <XFORM_PARM PARM_NAME="GEOMTYPE" PARM_VALUE="Geometry Object"/>
-#!     <XFORM_PARM PARM_NAME="COORDSYS" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="NUM" PARM_VALUE="1"/>
-#! </TRANSFORMER>
-#! </TRANSFORMERS>
-#! <FEAT_LINKS>
-#! <FEAT_LINK
-#!   IDENTIFIER="3"
-#!   SOURCE_NODE="2"
-#!   TARGET_NODE="1"
-#!   SOURCE_PORT_DESC="fo 0 CREATED"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! </FEAT_LINKS>
-#! <BREAKPOINTS>
-#! </BREAKPOINTS>
-#! <ATTR_LINKS>
-#! </ATTR_LINKS>
-#! <SUBDOCUMENTS>
-#! </SUBDOCUMENTS>
-#! <LOOKUP_TABLES>
-#! </LOOKUP_TABLES>
-#! </WORKSPACE>
-FME_PYTHON_VERSION 27
-DEFAULT_MACRO access_key_id 
-GUI TEXT access_key_id Access key ID:
-DEFAULT_MACRO secret_access_key 
-GUI TEXT secret_access_key Secret access key:
-DEFAULT_MACRO bucket_name 
-GUI TEXT bucket_name Bucket name:
-DEFAULT_MACRO object_key 
-GUI TEXT object_key Object key:
-DEFAULT_MACRO target_file 
-GUI TEXT target_file Target file:
-INCLUDE [ if {{$(access_key_id)} == {}} { puts_real {Parameter 'access_key_id' must be given a value.}; exit 1; }; ]
-INCLUDE [ if {{$(secret_access_key)} == {}} { puts_real {Parameter 'secret_access_key' must be given a value.}; exit 1; }; ]
-INCLUDE [ if {{$(bucket_name)} == {}} { puts_real {Parameter 'bucket_name' must be given a value.}; exit 1; }; ]
-INCLUDE [ if {{$(object_key)} == {}} { puts_real {Parameter 'object_key' must be given a value.}; exit 1; }; ]
-INCLUDE [ if {{$(target_file)} == {}} { puts_real {Parameter 'target_file' must be given a value.}; exit 1; }; ]
-#! START_HEADER
-#! START_WB_HEADER
-READER_TYPE NULL
-READER_KEYWORD NULL_SOURCE
-NULL_SOURCE_DATASET null
-
-WRITER_TYPE NULL
-WRITER_KEYWORD NULL_DEST
-NULL_DEST_DATASET null
-#! END_WB_HEADER
-
-#! START_WB_HEADER
-#! END_WB_HEADER
-
-#! END_HEADER
-
-LOG_FILENAME "$(FME_MF_DIR)S3Downloader.log"
-LOG_APPEND NO
-LOG_MAX_FEATURES 200
-LOG_MAX_RECORDED_FEATURES 200
-FME_REPROJECTION_ENGINE FME
-FME_IMPLICIT_CSMAP_REPROJECTION_MODE Auto
-FME_GEOMETRY_HANDLING Enhanced
-FME_STROKE_MAX_DEVIATION 0
-LOG_FILTER_MASK -1
-# -------------------------------------------------------------------------
-
-MULTI_READER_CONTINUE_ON_READER_FAILURE No
-
-# -------------------------------------------------------------------------
-
-MACRO WORKSPACE_NAME S3Downloader
-MACRO FME_VIEWER_APP fmedatainspector
-DEFAULT_MACRO WB_CURRENT_CONTEXT
-# -------------------------------------------------------------------------
-
-Tcl2 proc Creator_CoordSysRemover {} {   global FME_CoordSys;   set FME_CoordSys {}; }
-MACRO Creator_XML     NOT_ACTIVATED
-MACRO Creator_CLASSIC NOT_ACTIVATED
-MACRO Creator_2D3D    2D_GEOMETRY
-MACRO Creator_COORDS  <Unused>
-INCLUDE [ if { {Geometry Object} == {Geometry Object} } {            puts {MACRO Creator_XML *} } ]
-INCLUDE [ if { {Geometry Object} == {2D Coordinate List} } {            puts {MACRO Creator_2D3D 2D_GEOMETRY};            puts {MACRO Creator_CLASSIC *} } ]
-INCLUDE [ if { {Geometry Object} == {3D Coordinate List} } {            puts {MACRO Creator_2D3D 3D_GEOMETRY};            puts {MACRO Creator_CLASSIC *} } ]
-INCLUDE [ if { {Geometry Object} == {2D Min/Max Box} } {            set comment {                We need to turn the COORDS which are                    minX minY maxX maxY                into a full polygon list of coordinates            };            set splitCoords [split [string trim {<Unused>}]];            if { [llength $splitCoords] > 4} {               set trimmedCoords {};               foreach item $splitCoords { if { $item != {} } {lappend trimmedCoords $item} };               set splitCoords $trimmedCoords;            };            if { [llength $splitCoords] != 4 } {                error {Creator: Coordinate list is expected to be a space delimited list of four numbers as 'minx miny maxx maxy' - `<Unused>' is invalid};            };            set minX [lindex $splitCoords 0];            set minY [lindex $splitCoords 1];            set maxX [lindex $splitCoords 2];            set maxY [lindex $splitCoords 3];            puts "MACRO Creator_COORDS $minX $minY $minX $maxY $maxX $maxY $maxX $minY $minX $minY";            puts {MACRO Creator_2D3D 2D_GEOMETRY};            puts {MACRO Creator_CLASSIC *} } ]
-FACTORY_DEF $(Creator_XML) CreationFactory    FACTORY_NAME Creator_XML_Creator    CREATE_AT_END no    OUTPUT FEATURE_TYPE _____CREATED______        @Geometry(FROM_ENCODED_STRING,<lt>?xml<space>version=<quote>1.0<quote><space>encoding=<quote>US_ASCII<quote><space>standalone=<quote>no<quote><space>?<gt><lt>geometry<space>dimension=<quote>2<quote><gt><lt>null<solidus><gt><lt><solidus>geometry<gt>)
-FACTORY_DEF $(Creator_CLASSIC) CreationFactory    FACTORY_NAME Creator_CLASSIC_Creator    $(Creator_2D3D) $(Creator_COORDS)    CREATE_AT_END no    OUTPUT FEATURE_TYPE _____CREATED______
-FACTORY_DEF * TeeFactory    FACTORY_NAME Creator_Cloner    INPUT FEATURE_TYPE _____CREATED______    NUMBER_OF_COPIES 1    COPY_NUMBER_ATTRIBUTE "_creation_instance"    OUTPUT FEATURE_TYPE Creator_CREATED        @Tcl2(Creator_CoordSysRemover)        @CoordSys()        fme_feature_type Creator
-
-FACTORY_DEF * BranchingFactory   FACTORY_NAME "Creator_CREATED Brancher -1 3"   INPUT FEATURE_TYPE Creator_CREATED   TARGET_FACTORY "$(WB_CURRENT_CONTEXT)_CREATOR_BRANCH_TARGET"   OUTPUT PASSED FEATURE_TYPE *     @RemoveAttributes("Creator_CREATED Brancher -1 3".BranchingFactory.Count)
-# -------------------------------------------------------------------------
-FACTORY_DEF * TeeFactory   FACTORY_NAME "$(WB_CURRENT_CONTEXT)_CREATOR_BRANCH_TARGET"   INPUT FEATURE_TYPE *  OUTPUT FEATURE_TYPE *
-# -------------------------------------------------------------------------
-
-FACTORY_DEF * COM.safe.fme.factory.S3Factory    FACTORY_NAME S3Downloader       INPUT  FEATURE_TYPE Creator_CREATED    S3_MODE S3_GET    S3_ACCESS_KEY_ID "@EvaluateExpression(FDIV,STRING,$(access_key_id$encode),S3Downloader)"    S3_SECRET_ACCESS_KEY "@EvaluateExpression(FDIV,STRING,$(secret_access_key$encode),S3Downloader)"    S3_BUCKET_NAME "@EvaluateExpression(FDIV,STRING,$(bucket_name$encode),S3Downloader)"    S3_OBJECT_KEY "@EvaluateExpression(FDIV,STRING,$(object_key$encode),S3Downloader)"    S3_TARGET_FILE "@EvaluateExpression(FDIV,STRING,$(target_file$encode),S3Downloader)"    S3_ERROR_ATTRIBUTE "download_s3_error"    OUTPUT OUTPUT FEATURE_TYPE S3Downloader_OUTPUT    OUTPUT REJECTED FEATURE_TYPE S3Downloader_<REJECTED>
-
-FACTORY_DEF * TeeFactory   FACTORY_NAME "S3Downloader OUTPUT Output Nuker"   INPUT FEATURE_TYPE S3Downloader_OUTPUT
-FACTORY_DEF * TeeFactory   FACTORY_NAME "S3Downloader <REJECTED> Output Nuker"   INPUT FEATURE_TYPE S3Downloader_<REJECTED>
-# -------------------------------------------------------------------------
-
-FACTORY_DEF * RoutingFactory FACTORY_NAME "Destination Feature Type Routing Correlator"   COMMAND_PARM_EVALUATION SINGLE_PASS   INPUT FEATURE_TYPE *   FEATURE_TYPE_ATTRIBUTE __wb_out_feat_type__   OUTPUT ROUTED FEATURE_TYPE *    OUTPUT NOT_ROUTED FEATURE_TYPE __nuke_me__ @Tcl2("FME_StatMessage 818059 [FME_GetAttribute fme_template_feature_type] 818060 818061 fme_warn")
-# -------------------------------------------------------------------------
-
-FACTORY_DEF * TeeFactory   FACTORY_NAME "Final Output Nuker"   INPUT FEATURE_TYPE __nuke_me__
-
diff --git a/src/module_gtf/web_service/ws_data/gtf/workspace/S3Uploader.fmw b/src/module_gtf/web_service/ws_data/gtf/workspace/S3Uploader.fmw
deleted file mode 100755
index b548676cbb5d8c229f7a822b3ea096a7e2449af8..0000000000000000000000000000000000000000
--- a/src/module_gtf/web_service/ws_data/gtf/workspace/S3Uploader.fmw
+++ /dev/null
@@ -1,274 +0,0 @@
-#! <?xml version="1.0" encoding="UTF-8" ?>
-#! <WORKSPACE
-#    
-#    
-#    Command-line to run this workspace:
-#    
-#    
-#    "C:\Program Files\FME_2016\fme.exe" "E:\_Docs\GTF moteur serveur\S3Uploader.fmw"
-#          --access_key_id ""
-#          --secret_access_key ""
-#          --source_file ""
-#          --bucket_name ""
-#          --object_key ""
-#    
-#    
-#!   MAX_LOG_FEATURES="200"
-#!   DOC_EXTENTS="682.126 1e-05"
-#!   IGNORE_READER_FAILURE="No"
-#!   LOG_FILE=""
-#!   DOC_TOP_LEFT="689.283 -1018.76"
-#!   HISTORY=""
-#!   WARN_INVALID_XFORM_PARAM="Yes"
-#!   END_TCL=""
-#!   FME_STROKE_MAX_DEVIATION="0"
-#!   LAST_SAVE_DATE="2018-01-12T16:55:32"
-#!   FME_DOCUMENT_GUID="4cc242b9-d06a-47c4-b931-eebc2cdb107d"
-#!   BEGIN_TCL=""
-#!   CATEGORY=""
-#!   USAGE=""
-#!   FME_SERVER_SERVICES=""
-#!   SOURCE="NONE"
-#!   SHOW_ANNOTATIONS="true"
-#!   DESCRIPTION=""
-#!   REQUIREMENTS=""
-#!   FME_GEOMETRY_HANDLING="Enhanced"
-#!   REDIRECT_TERMINATORS="NONE"
-#!   WORKSPACE_VERSION="1"
-#!   BEGIN_PYTHON=""
-#!   FME_REPROJECTION_ENGINE="FME"
-#!   SOURCE_ROUTING_FILE=""
-#!   FME_IMPLICIT_CSMAP_REPROJECTION_MODE="Auto"
-#!   LEGAL_TERMS_CONDITIONS=""
-#!   MULTI_WRITER_DATASET_ORDER="BY_ID"
-#!   ZOOM_SCALE="100"
-#!   VIEW_POSITION="-59.3756 0"
-#!   END_PYTHON=""
-#!   FME_BUILD_NUM="16485"
-#!   PASSWORD=""
-#!   ATTR_TYPE_ENCODING="SDF"
-#!   TITLE=""
-#!   SHOW_INFO_NODES="true"
-#!   DESTINATION="NONE"
-#!   REQUIREMENTS_KEYWORD=""
-#!   EXPLICIT_BOOKMARK_ORDER="false"
-#!   LAST_SAVE_BUILD="FME(R) 2016.1.0.0 (20160404 - Build 16485 - WIN64)"
-#!   DESTINATION_ROUTING_FILE=""
-#!   PYTHON_COMPATIBILITY="27"
-#!   FME_DOCUMENT_PRIORGUID=""
-#!   LOG_MAX_RECORDED_FEATURES="200"
-#! >
-#! <DATASETS>
-#! </DATASETS>
-#! <DATA_TYPES>
-#! </DATA_TYPES>
-#! <GEOM_TYPES>
-#! </GEOM_TYPES>
-#! <FEATURE_TYPES>
-#! </FEATURE_TYPES>
-#! <FMESERVER>
-#! </FMESERVER>
-#! <GLOBAL_PARAMETERS>
-#! <GLOBAL_PARAMETER
-#!   GUI_LINE="GUI TEXT_OR_ATTR access_key_id Access key ID:"
-#!   DEFAULT_VALUE=""
-#!   IS_STAND_ALONE="true"
-#! />
-#! <GLOBAL_PARAMETER
-#!   GUI_LINE="GUI TEXT_OR_ATTR secret_access_key Secret access key:"
-#!   DEFAULT_VALUE=""
-#!   IS_STAND_ALONE="true"
-#! />
-#! <GLOBAL_PARAMETER
-#!   GUI_LINE="GUI MULTIFILE_OR_ATTR source_file All_Files(*)|* Source filename:"
-#!   DEFAULT_VALUE=""
-#!   IS_STAND_ALONE="true"
-#! />
-#! <GLOBAL_PARAMETER
-#!   GUI_LINE="GUI TEXT_OR_ATTR bucket_name Bucket name:"
-#!   DEFAULT_VALUE=""
-#!   IS_STAND_ALONE="true"
-#! />
-#! <GLOBAL_PARAMETER
-#!   GUI_LINE="GUI TEXT_OR_ATTR object_key Object key:"
-#!   DEFAULT_VALUE=""
-#!   IS_STAND_ALONE="true"
-#! />
-#! </GLOBAL_PARAMETERS>
-#! <COMMENTS>
-#! </COMMENTS>
-#! <CONSTANTS>
-#! </CONSTANTS>
-#! <BOOKMARKS>
-#! </BOOKMARKS>
-#! <TRANSFORMERS>
-#! <TRANSFORMER
-#!   IDENTIFIER="1"
-#!   TYPE="S3Uploader"
-#!   VERSION="3"
-#!   POSITION="1371.41 -1018.76"
-#!   BOUNDING_RECT="1371.41 -1018.76 -1 -1"
-#!   ORDER="5e+14"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="16485"
-#! >
-#!     <OUTPUT_FEAT NAME="OUTPUT"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="_creation_instance" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_ATTR ATTR_NAME="_s3_object_uri" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <OUTPUT_FEAT NAME="&lt;REJECTED&gt;"/>
-#!     <FEAT_COLLAPSED COLLAPSED="1"/>
-#!     <XFORM_ATTR ATTR_NAME="_creation_instance" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_ATTR ATTR_NAME="_s3_error" IS_USER_CREATED="false" FEAT_INDEX="1" />
-#!     <XFORM_PARM PARM_NAME="S3_OUTPUT_OPTIONS" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="S3_URI_ATTRIBUTE" PARM_VALUE="_s3_object_uri"/>
-#!     <XFORM_PARM PARM_NAME="S3_FILE_DATA_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="S3_CANNED_ACL" PARM_VALUE="Private"/>
-#!     <XFORM_PARM PARM_NAME="S3_FOLDER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="S3_FILE_OR_DATA" PARM_VALUE="File"/>
-#!     <XFORM_PARM PARM_NAME="S3_ERROR_ATTRIBUTE" PARM_VALUE="_s3_error"/>
-#!     <XFORM_PARM PARM_NAME="S3_DATA_FILE" PARM_VALUE="$(source_file)"/>
-#!     <XFORM_PARM PARM_NAME="S3_BUCKET_NAME" PARM_VALUE="$(bucket_name)"/>
-#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="S3_ACCESS_KEY_ID" PARM_VALUE="$(access_key_id)"/>
-#!     <XFORM_PARM PARM_NAME="S3_OBJECT_KEY" PARM_VALUE="$(object_key)"/>
-#!     <XFORM_PARM PARM_NAME="S3_UPLOAD_OPTIONS" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="S3_DATA_SOURCE" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="S3_SECRET_ACCESS_KEY" PARM_VALUE="$(secret_access_key)"/>
-#!     <XFORM_PARM PARM_NAME="S3_AWS_CREDENTIALS" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="S3_DATA" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="S3Uploader"/>
-#!     <XFORM_PARM PARM_NAME="S3_UPLOAD_CONTENT_TYPE" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="S3_INCLUDE_SUBFOLDERS" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="S3_DATA_FOLDER" PARM_VALUE="&lt;Unused&gt;"/>
-#! </TRANSFORMER>
-#! <TRANSFORMER
-#!   IDENTIFIER="2"
-#!   TYPE="Creator"
-#!   VERSION="5"
-#!   POSITION="689.283 -1018.76"
-#!   BOUNDING_RECT="689.283 -1018.76 -1 -1"
-#!   ORDER="5e+14"
-#!   PARMS_EDITED="false"
-#!   ENABLED="true"
-#!   LAST_PARM_EDIT="16485"
-#! >
-#!     <OUTPUT_FEAT NAME="CREATED"/>
-#!     <FEAT_COLLAPSED COLLAPSED="0"/>
-#!     <XFORM_ATTR ATTR_NAME="_creation_instance" IS_USER_CREATED="false" FEAT_INDEX="0" />
-#!     <XFORM_PARM PARM_NAME="GEOMTYPE" PARM_VALUE="Geometry Object"/>
-#!     <XFORM_PARM PARM_NAME="COORDS" PARM_VALUE="&lt;Unused&gt;"/>
-#!     <XFORM_PARM PARM_NAME="CRE_ATTR" PARM_VALUE="_creation_instance"/>
-#!     <XFORM_PARM PARM_NAME="PARAMETERS_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="NUM" PARM_VALUE="1"/>
-#!     <XFORM_PARM PARM_NAME="GEOM" PARM_VALUE="&lt;lt&gt;?xml&lt;space&gt;version=&lt;quote&gt;1.0&lt;quote&gt;&lt;space&gt;encoding=&lt;quote&gt;US_ASCII&lt;quote&gt;&lt;space&gt;standalone=&lt;quote&gt;no&lt;quote&gt;&lt;space&gt;?&lt;gt&gt;&lt;lt&gt;geometry&lt;space&gt;dimension=&lt;quote&gt;2&lt;quote&gt;&lt;gt&gt;&lt;lt&gt;null&lt;solidus&gt;&lt;gt&gt;&lt;lt&gt;&lt;solidus&gt;geometry&lt;gt&gt;"/>
-#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="Creator"/>
-#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="COORDSYS" PARM_VALUE=""/>
-#!     <XFORM_PARM PARM_NAME="ATEND" PARM_VALUE="no"/>
-#! </TRANSFORMER>
-#! </TRANSFORMERS>
-#! <FEAT_LINKS>
-#! <FEAT_LINK
-#!   IDENTIFIER="3"
-#!   SOURCE_NODE="2"
-#!   TARGET_NODE="1"
-#!   SOURCE_PORT_DESC="fo 0 CREATED"
-#!   TARGET_PORT_DESC="fi 0 "
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! </FEAT_LINKS>
-#! <BREAKPOINTS>
-#! </BREAKPOINTS>
-#! <ATTR_LINKS>
-#! </ATTR_LINKS>
-#! <SUBDOCUMENTS>
-#! </SUBDOCUMENTS>
-#! <LOOKUP_TABLES>
-#! </LOOKUP_TABLES>
-#! </WORKSPACE>
-FME_PYTHON_VERSION 27
-DEFAULT_MACRO access_key_id 
-GUI TEXT access_key_id Access key ID:
-DEFAULT_MACRO secret_access_key 
-GUI TEXT secret_access_key Secret access key:
-DEFAULT_MACRO source_file 
-GUI MULTIFILE source_file All_Files(*)|* Source filename:
-DEFAULT_MACRO bucket_name 
-GUI TEXT bucket_name Bucket name:
-DEFAULT_MACRO object_key 
-GUI TEXT object_key Object key:
-INCLUDE [ if {{$(access_key_id)} == {}} { puts_real {Parameter 'access_key_id' must be given a value.}; exit 1; }; ]
-INCLUDE [ if {{$(secret_access_key)} == {}} { puts_real {Parameter 'secret_access_key' must be given a value.}; exit 1; }; ]
-INCLUDE [ if {{$(source_file)} == {}} { puts_real {Parameter 'source_file' must be given a value.}; exit 1; }; ]
-INCLUDE [ if {{$(bucket_name)} == {}} { puts_real {Parameter 'bucket_name' must be given a value.}; exit 1; }; ]
-INCLUDE [ if {{$(object_key)} == {}} { puts_real {Parameter 'object_key' must be given a value.}; exit 1; }; ]
-#! START_HEADER
-#! START_WB_HEADER
-READER_TYPE NULL
-READER_KEYWORD NULL_SOURCE
-NULL_SOURCE_DATASET null
-
-WRITER_TYPE NULL
-WRITER_KEYWORD NULL_DEST
-NULL_DEST_DATASET null
-#! END_WB_HEADER
-
-#! START_WB_HEADER
-#! END_WB_HEADER
-
-#! END_HEADER
-
-LOG_FILENAME "$(FME_MF_DIR)S3Uploader.log"
-LOG_APPEND NO
-LOG_MAX_FEATURES 200
-LOG_MAX_RECORDED_FEATURES 200
-FME_REPROJECTION_ENGINE FME
-FME_IMPLICIT_CSMAP_REPROJECTION_MODE Auto
-FME_GEOMETRY_HANDLING Enhanced
-FME_STROKE_MAX_DEVIATION 0
-LOG_FILTER_MASK -1
-# -------------------------------------------------------------------------
-
-MULTI_READER_CONTINUE_ON_READER_FAILURE No
-
-# -------------------------------------------------------------------------
-
-MACRO WORKSPACE_NAME S3Uploader
-MACRO FME_VIEWER_APP fmedatainspector
-DEFAULT_MACRO WB_CURRENT_CONTEXT
-# -------------------------------------------------------------------------
-
-Tcl2 proc Creator_CoordSysRemover {} {   global FME_CoordSys;   set FME_CoordSys {}; }
-MACRO Creator_XML     NOT_ACTIVATED
-MACRO Creator_CLASSIC NOT_ACTIVATED
-MACRO Creator_2D3D    2D_GEOMETRY
-MACRO Creator_COORDS  <Unused>
-INCLUDE [ if { {Geometry Object} == {Geometry Object} } {            puts {MACRO Creator_XML *} } ]
-INCLUDE [ if { {Geometry Object} == {2D Coordinate List} } {            puts {MACRO Creator_2D3D 2D_GEOMETRY};            puts {MACRO Creator_CLASSIC *} } ]
-INCLUDE [ if { {Geometry Object} == {3D Coordinate List} } {            puts {MACRO Creator_2D3D 3D_GEOMETRY};            puts {MACRO Creator_CLASSIC *} } ]
-INCLUDE [ if { {Geometry Object} == {2D Min/Max Box} } {            set comment {                We need to turn the COORDS which are                    minX minY maxX maxY                into a full polygon list of coordinates            };            set splitCoords [split [string trim {<Unused>}]];            if { [llength $splitCoords] > 4} {               set trimmedCoords {};               foreach item $splitCoords { if { $item != {} } {lappend trimmedCoords $item} };               set splitCoords $trimmedCoords;            };            if { [llength $splitCoords] != 4 } {                error {Creator: Coordinate list is expected to be a space delimited list of four numbers as 'minx miny maxx maxy' - `<Unused>' is invalid};            };            set minX [lindex $splitCoords 0];            set minY [lindex $splitCoords 1];            set maxX [lindex $splitCoords 2];            set maxY [lindex $splitCoords 3];            puts "MACRO Creator_COORDS $minX $minY $minX $maxY $maxX $maxY $maxX $minY $minX $minY";            puts {MACRO Creator_2D3D 2D_GEOMETRY};            puts {MACRO Creator_CLASSIC *} } ]
-FACTORY_DEF $(Creator_XML) CreationFactory    FACTORY_NAME Creator_XML_Creator    CREATE_AT_END no    OUTPUT FEATURE_TYPE _____CREATED______        @Geometry(FROM_ENCODED_STRING,<lt>?xml<space>version=<quote>1.0<quote><space>encoding=<quote>US_ASCII<quote><space>standalone=<quote>no<quote><space>?<gt><lt>geometry<space>dimension=<quote>2<quote><gt><lt>null<solidus><gt><lt><solidus>geometry<gt>)
-FACTORY_DEF $(Creator_CLASSIC) CreationFactory    FACTORY_NAME Creator_CLASSIC_Creator    $(Creator_2D3D) $(Creator_COORDS)    CREATE_AT_END no    OUTPUT FEATURE_TYPE _____CREATED______
-FACTORY_DEF * TeeFactory    FACTORY_NAME Creator_Cloner    INPUT FEATURE_TYPE _____CREATED______    NUMBER_OF_COPIES 1    COPY_NUMBER_ATTRIBUTE "_creation_instance"    OUTPUT FEATURE_TYPE Creator_CREATED        @Tcl2(Creator_CoordSysRemover)        @CoordSys()        fme_feature_type Creator
-
-FACTORY_DEF * BranchingFactory   FACTORY_NAME "Creator_CREATED Brancher -1 3"   INPUT FEATURE_TYPE Creator_CREATED   TARGET_FACTORY "$(WB_CURRENT_CONTEXT)_CREATOR_BRANCH_TARGET"   OUTPUT PASSED FEATURE_TYPE *     @RemoveAttributes("Creator_CREATED Brancher -1 3".BranchingFactory.Count)
-# -------------------------------------------------------------------------
-FACTORY_DEF * TeeFactory   FACTORY_NAME "$(WB_CURRENT_CONTEXT)_CREATOR_BRANCH_TARGET"   INPUT FEATURE_TYPE *  OUTPUT FEATURE_TYPE *
-# -------------------------------------------------------------------------
-
-FACTORY_DEF * COM.safe.fme.factory.S3Factory    FACTORY_NAME S3Uploader       INPUT  FEATURE_TYPE Creator_CREATED    S3_MODE S3_PUT    S3_ACCESS_KEY_ID "@EvaluateExpression(FDIV,STRING,$(access_key_id$encode),S3Uploader)"    S3_SECRET_ACCESS_KEY "@EvaluateExpression(FDIV,STRING,$(secret_access_key$encode),S3Uploader)"    S3_BUCKET_NAME "@EvaluateExpression(FDIV,STRING,$(bucket_name$encode),S3Uploader)"    S3_OBJECT_KEY "@EvaluateExpression(FDIV,STRING,$(object_key$encode),S3Uploader)"    S3_DATA_FILE "@EvaluateExpression(FDIV,STRING,$(source_file$encode),S3Uploader)"    S3_CANNED_ACL "Private"    S3_URI_ATTRIBUTE "_s3_object_uri"    S3_ERROR_ATTRIBUTE "_s3_error"    OUTPUT OUTPUT FEATURE_TYPE S3Uploader_OUTPUT    OUTPUT REJECTED FEATURE_TYPE S3Uploader_<REJECTED>
-
-FACTORY_DEF * TeeFactory   FACTORY_NAME "S3Uploader OUTPUT Output Nuker"   INPUT FEATURE_TYPE S3Uploader_OUTPUT
-FACTORY_DEF * TeeFactory   FACTORY_NAME "S3Uploader <REJECTED> Output Nuker"   INPUT FEATURE_TYPE S3Uploader_<REJECTED>
-# -------------------------------------------------------------------------
-
-FACTORY_DEF * RoutingFactory FACTORY_NAME "Destination Feature Type Routing Correlator"   COMMAND_PARM_EVALUATION SINGLE_PASS   INPUT FEATURE_TYPE *   FEATURE_TYPE_ATTRIBUTE __wb_out_feat_type__   OUTPUT ROUTED FEATURE_TYPE *    OUTPUT NOT_ROUTED FEATURE_TYPE __nuke_me__ @Tcl2("FME_StatMessage 818059 [FME_GetAttribute fme_template_feature_type] 818060 818061 fme_warn")
-# -------------------------------------------------------------------------
-
-FACTORY_DEF * TeeFactory   FACTORY_NAME "Final Output Nuker"   INPUT FEATURE_TYPE __nuke_me__
-
diff --git a/src/module_vmap/module/javascript/app/modules/Cadastre/cadastre.js b/src/module_vmap/module/javascript/app/modules/Cadastre/cadastre.js
index eaed9561ddf04f859db73cc3d68093fbb45210e4..91a57bf08b978aba916e302d0bbed6393037e661 100644
--- a/src/module_vmap/module/javascript/app/modules/Cadastre/cadastre.js
+++ b/src/module_vmap/module/javascript/app/modules/Cadastre/cadastre.js
@@ -274,7 +274,7 @@ nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController = function
             sString = oVmap.checkLink(sString);
         }else{
             sString = oVmap.parseLink(sString, 'link');
-        }
+        }        
         return $sce.trustAsHtml(sString);
     };
 };
@@ -926,7 +926,7 @@ nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype.
             }
             tmp = Date.now();
             setTimeout(function () {
-                var aSelected = $(parcelleTable).bootstrapTable('getSelections');
+                var aSelected = $(parcelleTable).bootstrapTable('getAllSelections');
                 this_['tablesSelection'][parcelleTable] = aSelected;
             });
         };
@@ -986,7 +986,7 @@ nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype.
 nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype.displayParcelleDescriptiveSheetByTable = function (parcelleTable) {
     oVmap.log('nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype.displayParcelleDescriptiveSheetByTable');
 
-    var selectedParcelles = $(parcelleTable).bootstrapTable('getSelections');
+    var selectedParcelles = $(parcelleTable).bootstrapTable('getAllSelections');
 
     if (selectedParcelles.length !== 1) {
         $.notify('Veuillez sélectionner une unique parcelle', 'info');
@@ -1128,7 +1128,7 @@ nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype.
 nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype.displayUrbanismeSheetByTable = function (parcelleTable) {
     oVmap.log('nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype.displayUrbanismeSheetByTable');
 
-    var selectedParcelles = $(parcelleTable).bootstrapTable('getSelections');
+    var selectedParcelles = $(parcelleTable).bootstrapTable('getAllSelections');
 
     if (selectedParcelles.length !== 1) {
         $.notify('Veuillez sélectionner une unique parcelle', 'info');
@@ -1482,7 +1482,7 @@ nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype.
 nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype.displayReleveDeProprieteSheetParcelle = function (parcelleTable) {
     oVmap.log('nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype.displayReleveDeProprieteSheetTiers');
 
-    var selectedParcelles = $(parcelleTable).bootstrapTable('getSelections');
+    var selectedParcelles = $(parcelleTable).bootstrapTable('getAllSelections');
 
     if (selectedParcelles.length !== 1) {
         $.notify('Veuillez sélectionner une unique parcelle', 'info');
@@ -1508,7 +1508,7 @@ nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype.
 nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype.displayReleveDeProprieteSheetStandard = function (compteTable) {
     oVmap.log('nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype.displayReleveDeProprieteSheetStandard');
 
-    var selectedComptes = $(compteTable).bootstrapTable('getSelections');
+    var selectedComptes = $(compteTable).bootstrapTable('getAllSelections');
 
     if (selectedComptes.length !== 1) {
         $.notify('Veuillez sélectionner un unique compte', 'info');
@@ -1535,7 +1535,7 @@ nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype.
 nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype.displayReleveDeProprieteSheetTiers = function (compteTable) {
     oVmap.log('nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype.displayReleveDeProprieteSheetTiers');
 
-    var selectedComptes = $(compteTable).bootstrapTable('getSelections');
+    var selectedComptes = $(compteTable).bootstrapTable('getAllSelections');
 
     if (selectedComptes.length !== 1) {
         $.notify('Veuillez sélectionner un unique compte', 'info');
@@ -1583,7 +1583,7 @@ nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype.
 nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype.displayRapportParcelle = function (parcelleTable, rapportType, bOpenWindow) {
     oVmap.log('nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype.displayRapportParcelle');
 
-    var selectedParcelles = $(parcelleTable).bootstrapTable('getSelections');
+    var selectedParcelles = $(parcelleTable).bootstrapTable('getAllSelections');
 
     bOpenWindow = goog.isDef(bOpenWindow) ? bOpenWindow : true;
 
@@ -2084,7 +2084,7 @@ nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype.
  */
 nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype.addSelectionFromTable = function (path, param, tableId, tabCode, callBack) {
     oVmap.log('nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype.addSelectionFromTable');
-    var tableSelections = $(tableId).bootstrapTable('getSelections');
+    var tableSelections = $(tableId).bootstrapTable('getAllSelections');
     if (this['cadastreAPI_'] === "cadastre") {
         var paramField = param;
     } else {
@@ -2235,7 +2235,7 @@ nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype.
     tableParam = goog.isDef(tableParam) ? tableParam : param;
 
     var cadastreController = this;
-    var tableSelections = $(tableId).bootstrapTable('getSelections');
+    var tableSelections = $(tableId).bootstrapTable('getAllSelections');
     var url = oVmap['properties']['api_url'] + '/' + path;
 
     var loadHttp = function () {
@@ -2628,7 +2628,7 @@ nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype.
 
             var data = response['data']['data'];
 
-            // Ajoute le type de voie
+            // Ajoute le type de voie 
             for (var i = 0; i < data.length; i++) {
                 if (goog.isDefAndNotNull(data[i]['L_NATURE_VOIE'])) {
                     data[i]['NOM_VOIE'] = data[i]['L_NATURE_VOIE'] + ' ' + data[i]['DVOILIB'];
@@ -2925,7 +2925,7 @@ nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype.
             $(tableId).off('check.bs.table uncheck.bs.table check-all.bs.table uncheck-all.bs.table');
             $(tableId).on('check.bs.table uncheck.bs.table check-all.bs.table uncheck-all.bs.table', function (e, row) {
                 $(parcelleTableId).bootstrapTable('removeAll');
-                cadastreController.getBaseParcellesByProprietaireOnTable(row['ID_COM'], $(tableId).bootstrapTable('getSelections'), parcelleTableId);
+                cadastreController.getBaseParcellesByProprietaireOnTable(row['ID_COM'], $(tableId).bootstrapTable('getAllSelections'), parcelleTableId);
             });
             // Si une seule ligne est proposée, alors on la sélectionne
             if (data.length === 1) {
@@ -3212,7 +3212,7 @@ nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype.
                 $(invariantsTableId).bootstrapTable('removeAll');
                 $(parcellesTableId).bootstrapTable('removeAll');
 
-                cadastreController.getBatiBaseInvariantsOnTable($(tableId).bootstrapTable('getSelections'), invariantsTableId, parcellesTableId);
+                cadastreController.getBatiBaseInvariantsOnTable($(tableId).bootstrapTable('getAllSelections'), invariantsTableId, parcellesTableId);
             });
 
             // Si une seule ligne est proposée, alors on la sélectionne
@@ -3305,7 +3305,7 @@ nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype.
                 $(tableId).off('check.bs.table uncheck.bs.table check-all.bs.table uncheck-all.bs.table');
                 $(tableId).on('check.bs.table uncheck.bs.table check-all.bs.table uncheck-all.bs.table', function (e, row) {
                     $(parcellesTableId).bootstrapTable('removeAll');
-                    cadastreController.getBatiBaseParcellesOnTable($(tableId).bootstrapTable('getSelections'), parcellesTableId);
+                    cadastreController.getBatiBaseParcellesOnTable($(tableId).bootstrapTable('getAllSelections'), parcellesTableId);
                 });
 
                 // Si une seule ligne est proposée, alors on la sélectionne
@@ -3500,7 +3500,7 @@ nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype.
     }
 
     // Ajoute les infos de la section
-    if ($(tableSection).bootstrapTable('getSelections').length > 0) {
+    if ($(tableSection).bootstrapTable('getAllSelections').length > 0) {
         this.aFormList_.push('veremes_cadastre_section');
 
         // Crée l'onglet correspondant
@@ -3550,7 +3550,7 @@ nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype.
     }
 
     // Ajoute les infos du lieu dit
-    if ($(tableLieuDit).bootstrapTable('getSelections').length > 0) {
+    if ($(tableLieuDit).bootstrapTable('getAllSelections').length > 0) {
         this.aFormList_.push('veremes_cadastre_lieu_dit');
 
         // Crée l'onglet correspondant
@@ -3615,7 +3615,7 @@ nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype.
     }
 
     // Ajoute les infos de la Parcelle
-    if ($(tableParcelle).bootstrapTable('getSelections').length > 0) {
+    if ($(tableParcelle).bootstrapTable('getAllSelections').length > 0) {
         this.aFormList_.push('veremes_cadastre_parcelle');
 
         // Crée l'onglet correspondant
@@ -3668,7 +3668,7 @@ nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype.
     }
 
     // Ajoute les infos de la Voie
-    if ($(tableVoie).bootstrapTable('getSelections').length > 0) {
+    if ($(tableVoie).bootstrapTable('getAllSelections').length > 0) {
         this.aFormList_.push('veremes_cadastre_voie');
 
         // Crée l'onglet correspondant
@@ -3703,7 +3703,7 @@ nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype.
         this.addSelectionFromSelect(oVmap["properties"]["cadastre"]["api"] + '/parcelles', 'id_par', selectAdresse, 'veremes_cadastre_parcelle');
 
         // Si on choisit de voir toutes les géométries
-    } else if ($(tableVoie).bootstrapTable('getSelections').length > 0 && this['aAdresses'].length > 0) {
+    } else if ($(tableVoie).bootstrapTable('getAllSelections').length > 0 && this['aAdresses'].length > 0) {
         this.aFormList_.push('veremes_cadastre_parcelle');
 
         // Crée l'onglet correspondant
@@ -3730,7 +3730,7 @@ nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype.
 
     if ($(selectAdresse).val() !== "")
         this.localiseFromSelect(oVmap["properties"]["cadastre"]["api"] + '/parcelles', 'id_par', selectAdresse);
-    else if ($(tableVoie).bootstrapTable('getSelections').length > 0) {
+    else if ($(tableVoie).bootstrapTable('getAllSelections').length > 0) {
         this.localiseFromArray(oVmap["properties"]["cadastre"]["api"] + '/parcelles', 'id_par', this['aAdresses'], 'ID_PAR');
     }
 };
@@ -3775,7 +3775,7 @@ nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype.
     }
 
     // Ajoute les infos du propriétaire
-    if ($(tableProprietaires).bootstrapTable('getSelections').length > 0) {
+    if ($(tableProprietaires).bootstrapTable('getAllSelections').length > 0) {
         this.aFormList_.push('veremes_cadastre_proprietaire');
 
         // Crée l'onglet correspondant
@@ -3783,13 +3783,13 @@ nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype.
             oVmap.getToolsManager().getInfoContainer().addTab({tabCode: 'veremes_cadastre_proprietaire', tabName: 'Propriétaire', actions: ['delete']});
 
         // Ajoute les infos
-        var proprietaire = $(tableProprietaires).bootstrapTable('getSelections')[0];
+        var proprietaire = $(tableProprietaires).bootstrapTable('getAllSelections')[0];
         this.addSelectionFrom2Values(oVmap["properties"]["cadastre"]["api"] + '/proprietaires', 'DDENOM', proprietaire['DDENOM'], 'ID_COM', proprietaire['ID_COM'], 'veremes_cadastre_proprietaire');
 
     }
 
     // Ajoute les infos du compte
-    if ($(tableComptes).bootstrapTable('getSelections').length > 0) {
+    if ($(tableComptes).bootstrapTable('getAllSelections').length > 0) {
         this.aFormList_.push('veremes_cadastre_compte');
 
         // Crée l'onglet correspondant
@@ -3797,7 +3797,7 @@ nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype.
             oVmap.getToolsManager().getInfoContainer().addTab({tabCode: 'veremes_cadastre_compte', tabName: 'Compte', actions: ['delete']});
 
         // Ajoute les infos
-        var aComptes = $(tableComptes).bootstrapTable('getSelections');
+        var aComptes = $(tableComptes).bootstrapTable('getAllSelections');
         if (this['cadastreAPI_'] === "cadastre") {
             var id_com = 'ID_COM';
             var dnupro = 'DNUPRO';
@@ -3829,7 +3829,7 @@ nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype.
     }
 
     // Ajoute les infos de la parcelle
-    if ($(tableParcelles).bootstrapTable('getSelections').length > 0) {
+    if ($(tableParcelles).bootstrapTable('getAllSelections').length > 0) {
         this.aFormList_.push('veremes_cadastre_parcelle');
 
         // Crée l'onglet correspondant
@@ -3837,7 +3837,7 @@ nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype.
             oVmap.getToolsManager().getInfoContainer().addTab({tabCode: 'veremes_cadastre_parcelle', tabName: 'Parcelle', actions: ['zoom', 'delete']});
 
         // Ajoute les infos
-        var aParcelles = $(tableParcelles).bootstrapTable('getSelections');
+        var aParcelles = $(tableParcelles).bootstrapTable('getAllSelections');
         this.addSelectionFromArray(oVmap["properties"]["cadastre"]["api"] + '/parcelles', 'id_par', aParcelles, 'ID_PAR', 'veremes_cadastre_parcelle');
     }
 
@@ -3897,7 +3897,7 @@ nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype.
     }
 
     // Ajoute les infos du propriétaire
-    if ($(tableProprietaires).bootstrapTable('getSelections').length > 0) {
+    if ($(tableProprietaires).bootstrapTable('getAllSelections').length > 0) {
         this.aFormList_.push('veremes_cadastre_proprietaire');
 
         // Crée l'onglet correspondant
@@ -3905,19 +3905,19 @@ nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype.
             oVmap.getToolsManager().getInfoContainer().addTab({tabCode: 'veremes_cadastre_proprietaire', tabName: 'Propriétaire', actions: ['delete']});
 
         // Ajoute les infos
-        var proprietaire = $(tableProprietaires).bootstrapTable('getSelections')[0];
+        var proprietaire = $(tableProprietaires).bootstrapTable('getAllSelections')[0];
         this.addSelectionFrom2Values(oVmap["properties"]["cadastre"]["api"] + '/proprietaires', ddenomF, proprietaire['DDENOM'], id_comF, proprietaire['ID_COM'], 'veremes_cadastre_proprietaire');
     }
 
     // Ajoute les infos du compte
-    if ($(tableComptes).bootstrapTable('getSelections').length > 0) {
+    if ($(tableComptes).bootstrapTable('getAllSelections').length > 0) {
         this.aFormList_.push('veremes_cadastre_compte');
 
         // Crée l'onglet correspondant
         if (oVmap.getToolsManager().getInfoContainer().getTabByCode('veremes_cadastre_compte') === undefined)
             oVmap.getToolsManager().getInfoContainer().addTab({tabCode: 'veremes_cadastre_compte', tabName: 'Compte', actions: ['delete']});
 
-        var aComptes = $(tableComptes).bootstrapTable('getSelections');
+        var aComptes = $(tableComptes).bootstrapTable('getAllSelections');
         if (this['cadastreAPI_'] === "cadastre") {
             var id_com = 'ID_COM';
             var dnupro = 'DNUPRO';
@@ -3951,7 +3951,7 @@ nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype.
     }
 
     // Ajoute les infos de l'invariant
-    if ($(tableInvariants).bootstrapTable('getSelections').length > 0) {
+    if ($(tableInvariants).bootstrapTable('getAllSelections').length > 0) {
         this.aFormList_.push('veremes_cadastre_invariant');
 
         // Crée l'onglet correspondant
@@ -3963,7 +3963,7 @@ nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype.
     }
 
     // Ajoute les infos de la parcelle
-    if ($(tableParcelles).bootstrapTable('getSelections').length > 0) {
+    if ($(tableParcelles).bootstrapTable('getAllSelections').length > 0) {
         this.aFormList_.push('veremes_cadastre_parcelle');
 
         // Crée l'onglet correspondant
diff --git a/src/module_vmap/module/javascript/app/vmap/tools/select/basicselect.js b/src/module_vmap/module/javascript/app/vmap/tools/select/basicselect.js
index f8d0af3ccdbafe8cc7ba4a165cb54767d5d7e001..475f4fd042bb647563ca73111b3bd5e76127a3ae 100755
--- a/src/module_vmap/module/javascript/app/vmap/tools/select/basicselect.js
+++ b/src/module_vmap/module/javascript/app/vmap/tools/select/basicselect.js
@@ -282,8 +282,10 @@ nsVmap.nsToolsManager.BasicSelect.prototype.basicSelectController.prototype.quer
  */
 nsVmap.nsToolsManager.BasicSelect.prototype.basicSelectController.prototype.getBOLayersFilters_ = function (oQueryBo) {
     oVmap.log('nsVmap.nsToolsManager.BasicSelect.prototype.basicSelectController.prototypeBO.getLayersFilters_');
+    var formReaderSrvc = angular.element(vitisApp.appMainDrtv).injector().get(["formReaderService"]);
 
     var oFilterValues = {};
+    var oFilterDefinition = {};
     var sFilter = "";
     var filter = {
         'relation': 'AND',
@@ -297,6 +299,13 @@ nsVmap.nsToolsManager.BasicSelect.prototype.basicSelectController.prototype.getB
                 oLayerFilter_ = oQueryBo['layers'][i].get('filter_values_cleared');
                 if (goog.isObject(oLayerFilter_)) {
                     goog.object.extend(oFilterValues, oLayerFilter_);
+                    oLayerFilterDef_ = oQueryBo['layers'][i].get('filter_form');
+                    if(goog.isObject(oLayerFilterDef_)){
+                        for (var field in oLayerFilter_){
+                            var oFieldDef = formReaderSrvc["getFormElementDefinition"](field, 'search', oLayerFilterDef_);
+                            oFilterDefinition[field] = oFieldDef;
+                        }
+                    }
                 }
             }
         }
@@ -323,12 +332,50 @@ nsVmap.nsToolsManager.BasicSelect.prototype.basicSelectController.prototype.getB
                 continue;
             }
         }
-
-        filter['operators'].push({
-            'column': key,
-            'compare_operator': goog.isArray(oFilterValues[key]) ? 'IN' : '=',
-            'value': oFilterValues[key]
-        });
+        var sValue = oFilterValues[key]
+        //surcharge le filtre si une définition est rpésente dans le formulaire
+        if(goog.isDefAndNotNull(oFilterDefinition[key]["comparator"])){
+            var aOperators = [];
+            for (var j = 0;j < oFilterDefinition[key]["comparator"].length;j++){
+                var oOperator = {};
+                if (goog.isDefAndNotNull(oFilterDefinition[key]["comparator"][j]["formater"])) {
+                    sValue = oFilterDefinition[key]["comparator"][j]["formater"].replace(/<VALUE_TO_REPLACE>/g, sValue);
+                }
+                if(goog.isArray(oFilterDefinition[key]["comparator"][j]["compare_operator"])) {
+                    oOperator["relation"] = (goog.isDefAndNotNull(oFilterDefinition[key]["comparator"][j]["relation"]) ? oFilterDefinition[key]["comparator"][j]["relation"] : "AND");
+                    oOperator["operators"] = [];
+                    for (var k = 0; k < oFilterDefinition[key]["comparator"][j]["compare_operator"].length; k++){
+                        oOperator["operators"].push({
+                            "column": (goog.isArray(oFilterDefinition[key]["comparator"][j]["column"]) ? oFilterDefinition[key]["comparator"][j]["column"][k] : key),
+                            "compare_operator": oFilterDefinition[key]["comparator"][j]["compare_operator"][k],
+                            "value": sValue
+                        });
+                    }
+                }else{
+                    oOperator["column"] = (goog.isDefAndNotNull(oFilterDefinition[key]["comparator"][j]["column"]) ? oFilterDefinition[key]["comparator"][j]["column"] : key);
+                    oOperator["compare_operator"] = oFilterDefinition[key]["comparator"][j]["compare_operator"];
+                    oOperator["value"] = sValue;
+                }
+                if(goog.isDefAndNotNull(oFilterDefinition[key]["comparator"][j]["compare_operator_options"])){
+                    oOperator["compare_operator_options"] = oFilterDefinition[key]["comparator"][j]["compare_operator_options"];
+                }
+                aOperators.push(oOperator);
+            }
+            if(goog.isDefAndNotNull(oFilterDefinition[key]["comparator_relation"])){
+                filter['operators'].push({
+                    "relation": oFilterDefinition[key]["comparator_relation"],
+                    "operators": aOperators
+                });
+            }else{
+                filter['operators'] = filter['operators'].concat(aOperators);
+            }
+        } else {
+            filter['operators'].push({
+                'column': key,
+                'compare_operator': goog.isArray(oFilterValues[key]) ? 'IN' : '=',
+                'value': sValue
+            });
+        }
     }
     sFilter = JSON.stringify(filter);
 
diff --git a/src/module_vmap/web_service/sql/sqlQueries.xml b/src/module_vmap/web_service/sql/sqlQueries.xml
index cbe6c7bfb1c8f72f64dc354137eeb98e981f4d00..e96354f4c9b16f78e67a075817424635d108985e 100644
--- a/src/module_vmap/web_service/sql/sqlQueries.xml
+++ b/src/module_vmap/web_service/sql/sqlQueries.xml
@@ -1140,8 +1140,6 @@
 			<version>2018.04.00</version>
 			<code>
 				<![CDATA[
-					-- Armand 06/11/2018 enlever le mode onfiguration quand on est vmap_admin
-					DELETE FROM s_vitis.vm_mode_rolname WHERE mode_id='configuration' AND rolname='vmap_admin';
 				]]>
 			</code>
 		</query>
diff --git a/src/vitis/.gitignore b/src/vitis/.gitignore
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..fb23a1f31378cce575900e083e4179591effa425 100644
--- a/src/vitis/.gitignore
+++ b/src/vitis/.gitignore
@@ -0,0 +1,6 @@
+vas/rest/class/*
+vas/rest/class/!*/
+vas/rest/class/!*.*
+vas/sql/*
+vas/sql/!*/
+vas/sql/!*.*
diff --git a/src/vitis/_install/dependencies/pycron/crontab.txt b/src/vitis/_install/dependencies/pycron/crontab.txt
index dff3a49547d3ea450da0bedeb251288175241e05..7f7bab4c2d5abb81514f8bd78cbcc20bc4e07a69 100755
--- a/src/vitis/_install/dependencies/pycron/crontab.txt
+++ b/src/vitis/_install/dependencies/pycron/crontab.txt
@@ -1,9 +1,6 @@
-#<gtf_subscription [SERVER_NAME] [ENGINE_DIR]>
-0 23 * * * "[PHP_PATH]" "[ENGINE_DIR]/subscription.php" 1
-0 23 * * mon "[PHP_PATH]" "[ENGINE_DIR]/subscription.php" 2
-0 23 1 * * "[PHP_PATH]" "[ENGINE_DIR]/subscription.php" 3
-*/5 * * * * "[PHP_PATH]" "[ENGINE_DIR]/subscription.php" 4
-#</gtf_subscription [ServerName] [ENGINE_DIR]>
-#<gtf_message [SERVER_NAME] [MESSAGE_DIR]>
-*/1 * * * * "[PHP_PATH]" "[MESSAGE_DIR]/processMessages.php" 4
-#</gtf_message [SERVER_NAME] [MESSAGE_DIR]>
\ No newline at end of file
+#<gtf_subscription [ServerName] [vasDir]>
+0 23 * * * "[engineDir]/php/php" "[engineDir]/subscription.php" 1
+0 23 * * mon "[engineDir]/php/php" "[engineDir]/subscription.php" 2
+0 23 1 * * "[engineDir]/php/php" "[engineDir]/subscription.php" 3
+*/5 * * * * "[engineDir]/php/php" "[engineDir]/subscription.php" 4
+#</gtf_subscription [ServerName] [vasDir]>
\ No newline at end of file
diff --git a/src/vitis/client/javascript/app/script_client.js b/src/vitis/client/javascript/app/script_client.js
index 02bda1b163d823f778c284e186dd91a290c803f2..d139ae71708f5b9e32a78dd8688c4a03a8a1c8f4 100644
--- a/src/vitis/client/javascript/app/script_client.js
+++ b/src/vitis/client/javascript/app/script_client.js
@@ -875,52 +875,53 @@ vitisApp.on('appInitCtrlLoaded', function () {
 
             if (typeof (sValue) !== "undefined" && (sValue.toString()) !== "") {
                 if (goog.isDefAndNotNull(oFormElement["comparator"])) {
-                    if (goog.isDefAndNotNull(oFormElement["comparator"]["formater"])) {
-                        sValue = oFormElement["comparator"]["formater"].replace(/<VALUE_TO_REPLACE>/g, sValue);
+                    var aOperators = [];
+                    for (var j = 0;j < oFormElement["comparator"].length;j++){
+                        if(goog.isObject(oFormElement["comparator"][j])){
+                            var oOperator = {};
+                            if (goog.isDefAndNotNull(oFormElement["comparator"][j]["formater"])) {
+                                sValue = oFormElement["comparator"][j]["formater"].replace(/<VALUE_TO_REPLACE>/g, sValue);
+                            }
+
+                            if(goog.isArray(oFormElement["comparator"][j]["compare_operator"])){
+                                oOperator["relation"] = (goog.isDefAndNotNull(oFormElement["comparator"][j]["relation"]) ? oFormElement["comparator"][j]["relation"] : "AND");
+                                oOperator["operators"] = [];
+                                for (var k = 0; k < oFormElement["comparator"][j]["compare_operator"].length; k++){
+                                    oOperator["operators"].push({
+                                        "column": (goog.isArray(oFormElement["comparator"][j]["column"]) ? oFormElement["comparator"][j]["column"][k] : oFormElement["name"]),
+                                        "compare_operator": oFormElement["comparator"][j]["compare_operator"][k],
+                                        "value": sValue
+                                    });
+                                }
+                            }else{
+                                oOperator["column"] = (goog.isDefAndNotNull(oFormElement["comparator"][j]["column"]) ? oFormElement["comparator"][j]["column"] : oFormElement["name"]);
+                                oOperator["compare_operator"] = oFormElement["comparator"][j]["compare_operator"];
+                                oOperator["value"] = sValue;
+                            }
+
+                            if(goog.isDefAndNotNull(oFormElement["comparator"][j]["compare_operator_options"])){
+                                oOperator["compare_operator_options"] = oFormElement["comparator"][j]["compare_operator_options"];
+                            }
+
+                            aOperators.push(oOperator);
+                        }else{
+                            // deprecated branch
+                            console.warn("This use of compare attribute is deprecated in json form")
+                            aOperators.push({
+                                "column": (goog.isDefAndNotNull(oFormElement["attrToCompare"]) ? oFormElement["attrToCompare"][j] : oFormElement["name"]),
+                                "compare_operator": oFormElement["comparator"][j],
+                                "value": sValue
+                            });
+                        }
                     }
-                    //
-                    for (var j = 0; j < oFormElement["comparator"].length; j++) {
+                    if(goog.isDefAndNotNull(oFormElement["comparator_relation"])){
                         oFilter["operators"].push({
-                            "column": (goog.isDefAndNotNull(oFormElement["attrToCompare"]) ? oFormElement["attrToCompare"][j] : oFormElement["name"]),
-                            "compare_operator": oFormElement["comparator"][j],
-                            "value": sValue
+                            "relation": oFormElement["comparator_relation"],
+                            "operators": aOperators
                         });
+                    }else{
+                        oFilter["operators"] = oFilter["operators"].concat(aOperators);
                     }
-                    /*
-                    oFormElement["comparator"]["value"] = sValue;
-                    oFilter["operators"].push(oFormElement["comparator"]);
-                    
-                     for (var j = 0; j < oFormElement["comparator"].length; j++) {
-                     var sFormElement = "";
-                     if (goog.isDefAndNotNull(oFormElement["attrToCompare"])) {
-                     sFormElement = (goog.isDefAndNotNull(oFormElement["attrToCompare"][j]) ? oFormElement["attrToCompare"][j] : oFormElement["name"]);
-                     } else {
-                     sFormElement = oFormElement["name"];
-                     }
-                     var bIsNotNumber = true;
-                     if (goog.isDefAndNotNull(oFormElement["NaNForced"])) {
-                     bIsNotNumber = (goog.isDefAndNotNull(oFormElement["NaNForced"][j]) ? oFormElement["NaNForced"][j] : isNaN(sValue));
-                     } else {
-                     bIsNotNumber = isNaN(sValue);
-                     }
-                     switch (oFormElement["comparator"][j]) {
-                     case 'LIKE' :
-                     oFilter.push('lower("' + sFormElement + '") LIKE lower(\'%' + sValue + '%\')');
-                     break;
-                     case 'SQL' :
-                     oFilter.push(sFormElement.replace(/<VALUE_TO_REPLACE>/g, sValue));
-                     break;
-                     // ajouter d'autre comparateur si besoin ex: BETWEEN ______ AND ______
-                     default:
-                     // = < <= > >= basique
-                     if (bIsNotNumber) {
-                     sValue = "'" + sValue + "'";
-                     }
-                     oFilter.push(sFormElement + oFormElement["comparator"][j] + sValue);
-                     break;
-                     }
-                     }
-                     */
                 } else {
                     if (oFormElement["type"] == "text") {
                         oFilter["operators"].push({
diff --git a/src/vitis/client/javascript/externs/studio/javascript/app/JsonLoader.js b/src/vitis/client/javascript/externs/studio/javascript/app/JsonLoader.js
index 8dd8de6819f10497d896707cbf05e14121fe00c2..ff0407e2f3e53237b80d512f0db73df6ba0b45f2 100755
--- a/src/vitis/client/javascript/externs/studio/javascript/app/JsonLoader.js
+++ b/src/vitis/client/javascript/externs/studio/javascript/app/JsonLoader.js
@@ -248,7 +248,7 @@ nsVFB.JsonLoader.prototype.jsonLoaderController.prototype.requestToJson = functi
                             cmd = "Perso_Reset";
                             break;
                     }
-                    this_.putRequest(cmd, undefined, function (data) {
+                    this_.putRequest(cmd, this_.$scope_["FormSelected"], undefined, function (data) {
 
                         // Cas d'erreur du put
                         if (goog.isDefAndNotNull(data['errorMessage'])) {
@@ -584,18 +584,6 @@ nsVFB.JsonLoader.prototype.jsonLoaderController.prototype.save = function (succe
     oVFB.unselectAll();
     tmp = oVFB.cleanFormToSave(tmp);
 
-    /*if ($("#boolean-JS-include").prop("checked")) {
-     tmp[this_.$rootScope_["selected_form_type"]]["javascript"] = true;
-     } else {
-     tmp[this_.$rootScope_["selected_form_type"]]["javascript"] = false;
-     }
-
-     if ($("#boolean-CSS-include").prop("checked")) {
-     tmp[this_.$rootScope_["selected_form_type"]]["style"] = true;
-     } else {
-     tmp[this_.$rootScope_["selected_form_type"]]["style"] = false;
-     }*/
-
     if (this['applicationName'] === 'gtf') {
         tmp[this_.$rootScope_["selected_form_type"]]["name"] = "WSubform";
         tmp["display"] = tmp[this_.$rootScope_["selected_form_type"]];
@@ -623,7 +611,7 @@ nsVFB.JsonLoader.prototype.jsonLoaderController.prototype.save = function (succe
     oVFB.valid = this.isValid(tmp);
 
     if (oVFB.valid && tmp !== null) {
-        this_.putRequest("Perso_Save", data, success, error);
+        this_.putRequest("Perso_Save", this_.$scope_["FormSelected"], data, success, error);
     } else {
         $["notify"](this_.$scope_["text"]["Loader"]["Notify"]["Validation_Error"] + ': ' + oVFB.aNotValid, {"className": "error", "autoHideDelay": oVFB.TimeNotify_});
     }
@@ -646,18 +634,6 @@ nsVFB.JsonLoader.prototype.jsonLoaderController.prototype.publish = function ()
     // Supprime les elements selectionnés
     oVFB.unselectAll();
 
-    /*if ($("#boolean-JS-include").prop("checked")) {
-     tmp[this_.$rootScope_["selected_form_type"]]["javascript"] = true;
-     } else {
-     tmp[this_.$rootScope_["selected_form_type"]]["javascript"] = false;
-     }
-
-     if ($("#boolean-CSS-include").prop("checked")) {
-     tmp[this_.$rootScope_["selected_form_type"]]["style"] = true;
-     } else {
-     tmp[this_.$rootScope_["selected_form_type"]]["style"] = false;
-     }*/
-
     if (this['applicationName'] === 'gtf') {
         tmp[this_.$rootScope_["selected_form_type"]]["name"] = "WSubform";
         tmp["display"] = tmp[this_.$rootScope_["selected_form_type"]];
@@ -669,7 +645,6 @@ nsVFB.JsonLoader.prototype.jsonLoaderController.prototype.publish = function ()
     data.append("Css", oVFB.getCss());
 
     var success = function () {
-//        $["notify"](this_.$scope_["text"]["Loader"]["Notify"]["SaveData"], {"className": "success", "autoHideDelay": oVFB.TimeNotify_});
         var data = "";
         var success = function () {
             this_.requestToJson();
@@ -679,17 +654,16 @@ nsVFB.JsonLoader.prototype.jsonLoaderController.prototype.publish = function ()
             $["notify"](this_.$scope_["text"]["Loader"]["Notify"]["Publish_Error"] + status, {"className": "error", "autoHideDelay": oVFB.TimeNotify_});
         };
 
-        this_.putRequest(this_.$scope_["FormSelected"] + "_Published", data, success, error);
+        this_.putRequest(this_.$scope_["FormSelected"] + "_Published", this_.$scope_["FormSelected"], data, success, error);
     };
     var error = function (data, status) {
         $["notify"](this_.$scope_["text"]["Loader"]["Notify"]["SaveData_Error"] + status, {"className": "error", "autoHideDelay": oVFB.TimeNotify_});
     };
     if (oVFB.valid) {
         if (this_.$scope_["FormSelected"] != "Default") {
-            this_.putRequest("Perso_Save", data, success, error);
+            this_.putRequest("Perso_Save", this_.$scope_["FormSelected"], data, success, error);
         } else {
-            this_.putRequest("Default_Published", data, success, error);
-
+            this_.putRequest("Default_Published", this_.$scope_["FormSelected"], data, success, error);
         }
     } else {
         $["notify"](this_.$scope_["text"]["Loader"]["Notify"]["Validation_Error"], {"className": "error", "autoHideDelay": oVFB.TimeNotify_});
@@ -763,7 +737,7 @@ nsVFB.JsonLoader.prototype.jsonLoaderController.prototype.reset = function () {
                 var error = function (data, status) {
                     $["notify"](this_.$scope_["text"]["Loader"]["Notify"]["Reset_Error"] + status, {"className": "error", "autoHideDelay": oVFB.TimeNotify_});
                 };
-                this_.putRequest(this_.$scope_["FormSelected"] + "_Reset", data, success, error);
+                this_.putRequest(this_.$scope_["FormSelected"] + "_Reset", this_.$scope_["FormSelected"], data, success, error);
             }
         }
     });
@@ -771,14 +745,63 @@ nsVFB.JsonLoader.prototype.jsonLoaderController.prototype.reset = function () {
     oVFB.studioMainController.prototype.moveBootboxModalToStudioContainer(oModal);
 };
 
+/**
+ * Remove the published form on the server
+ *
+ * @export
+ */
+nsVFB.JsonLoader.prototype.jsonLoaderController.prototype.deletePublishedForm = function () {
+    oVFB.log('nsVFB.JsonLoader.jsonLoaderController.deletePublishedForm');
+
+    var this_ = this;
+    var oModal = bootbox.confirm('<h4>' + this["text"]["InfoBulle"]["Published"]["DeletePublishedForm"] + ' ?</h4>', function (result) {
+        if (result === true) {
+            var data = "";
+            var success = function () {
+                $["notify"](this_.$scope_["text"]["Loader"]["Notify"]["Delete"], {"className": "success", "autoHideDelay": oVFB.TimeNotify_});
+                this_.requestToJson();
+            };
+            var error = function (data, status) {
+                $["notify"](this_.$scope_["text"]["Loader"]["Notify"]["Delete_Error"] + status, {"className": "error", "autoHideDelay": oVFB.TimeNotify_});
+            };
+            this_.putRequest('Published_Delete', 'Published', data, success, error);
+        }
+    });
+}
+
+/**
+ * Remove the form JS on the server
+ *
+ * @export
+ */
+nsVFB.JsonLoader.prototype.jsonLoaderController.prototype.deleteJS = function () {
+    oVFB.log('nsVFB.JsonLoader.jsonLoaderController.deleteJS');
+
+    var this_ = this;
+    var oModal = bootbox.confirm('<h4>' + this["text"]["InfoBulle"]["Perso"]["Delete_JS"] + ' ?</h4>', function (result) {
+        if (result === true) {
+            var data = "";
+            var success = function () {
+                $["notify"](this_.$scope_["text"]["Loader"]["Notify"]["Delete_JS"], {"className": "success", "autoHideDelay": oVFB.TimeNotify_});
+                this_.requestToJson();
+            };
+            var error = function (data, status) {
+                $["notify"](this_.$scope_["text"]["Loader"]["Notify"]["Delete_JS_Error"] + status, {"className": "error", "autoHideDelay": oVFB.TimeNotify_});
+            };
+            this_.putRequest('Delete_JS', this_.$scope_["FormSelected"], data, success, error);
+        }
+    });
+}
+
 /**
  * Make a put request on the server
  * @param {string} cmd command to load (Perso_Save, Perso_Published, Default_Published, Perso_Reset etc...)
+ * @param {string} sForm form to update
  * @param {object} data FormData to send
  * @param {function} functSuccess function to load in case of success
  * @param {function} functError function to load in case of error
  */
-nsVFB.JsonLoader.prototype.jsonLoaderController.prototype.putRequest = function (cmd, data, functSuccess, functError) {
+nsVFB.JsonLoader.prototype.jsonLoaderController.prototype.putRequest = function (cmd, sForm, data, functSuccess, functError) {
     oVFB.log('nsVFB.JsonLoader.prototype.jsonLoaderController.prototype.putRequest');
 
     var url = '';
@@ -810,15 +833,6 @@ nsVFB.JsonLoader.prototype.jsonLoaderController.prototype.putRequest = function
         'success': functSuccess,
         'error': functError
     });
-
-//    this.$http_({
-//        url: url,
-//        method: 'PUT',
-//        data: data,
-//        headers: {
-//            "Content-Type": "undefined"
-//        }
-//    }).success(functSuccess).error(functError);
 };
 
 /**
@@ -829,14 +843,34 @@ nsVFB.JsonLoader.prototype.jsonLoaderController.prototype.suggestGenerateForm =
     oVFB.log('nsVFB.JsonLoader.prototype.jsonLoaderController.prototype.suggestGenerateForm');
 
     var this_ = this;
-    var oModal = bootbox.confirm('<h4>' + this.$scope_['text']['Loader']['Notify']['generate_form'] + '</h4>', function (result) {
-        if (result === true) {
-            this_.suggestColumnsToGenerateForm();
-        } else {
-            this_['aSuggestedTableFields'] = [];
-            this_.generateFormByBusinessObject();
+    var oModal = bootbox['dialog']({
+        'message': '<h4>' + this.$scope_['text']['Loader']['Notify']['generate_form'] + '</h4>',
+        'buttons': {
+            'cancel': {
+                'label': this.$scope_['text']['Loader']['Cancel'],
+                'className': 'btn-default',
+                'callback': function(){
+                    this_.useEmptyForm();
+                }
+            },
+            'create_empty': {
+                'label': this.$scope_['text']['Loader']['CreateEmptyForm'],
+                'className': 'btn-primary',
+                'callback': function(){
+                    this_['aSuggestedTableFields'] = [];
+                    this_.generateFormByBusinessObject();
+                }
+            },
+            'generate_from_columns': {
+                'label': this.$scope_['text']['Loader']['GenerateForm'],
+                'className': 'btn-primary',
+                'callback': function(){
+                    this_.suggestColumnsToGenerateForm();
+                }
+            }
         }
     });
+
     // Déplace la popup dans l'élément principal du studio (sinon elle est masquée en mode plein écran).
     oVFB.studioMainController.prototype.moveBootboxModalToStudioContainer(oModal);
 };
@@ -860,10 +894,16 @@ nsVFB.JsonLoader.prototype.jsonLoaderController.prototype.useEmptyForm = functio
         'javascript': false,
         'name': 'custom-form',
         'nb_cols': 12,
-        'rows': [],
+        'rows': [{
+            'fields': []
+        }],
         'title': ''
     };
 
+    if (!goog.isArray(data)) {
+        data = [];
+    }
+
     data[0] = {
         'datasources': {}
     };
@@ -1017,7 +1057,7 @@ nsVFB.JsonLoader.prototype.jsonLoaderController.prototype.generateFormByBusiness
         var error = function (data, status) {
             $["notify"](this_.$scope_["text"]["Loader"]["Notify"]["Reset_Error"] + status, {"className": "error", "autoHideDelay": oVFB.TimeNotify_});
         };
-        this_.putRequest(this_.$scope_["FormSelected"] + "_Reset", {"field": sFieldsToUse, "label": afieldsLabel}, success, error);
+        this_.putRequest(this_.$scope_["FormSelected"] + "_Reset", this_.$scope_["FormSelected"], {"field": sFieldsToUse, "label": afieldsLabel}, success, error);
     } else {
 
         ajaxRequest({
@@ -1035,19 +1075,6 @@ nsVFB.JsonLoader.prototype.jsonLoaderController.prototype.generateFormByBusiness
                 $["notify"](this_.$scope_["text"]["Loader"]["Notify"]["CreateJson_Error"] + status, {"className": "error", "autoHideDelay": oVFB.TimeNotify_});
             }
         });
-
-//        this.$http_({
-//            url: url,
-//            method: 'POST',
-//            data: {
-//                'fields': sFieldsToUse,
-//                'label': afieldsLabel
-//            }
-//        }).success(function () {
-//            this_.requestToJson();
-//        }).error(function () {
-//            $["notify"](this_.$scope_["text"]["Loader"]["Notify"]["CreateJson_Error"] + status, {"className": "error", "autoHideDelay": oVFB.TimeNotify_});
-//        });
     }
 };
 
diff --git a/src/vitis/client/javascript/externs/studio/lang/lang-en.json b/src/vitis/client/javascript/externs/studio/lang/lang-en.json
index f33be9b38476461cc2228befc9bf4eb5f7f860cb..b6d34b3729e50d6508ea9665f3c1446ae7cec112 100755
--- a/src/vitis/client/javascript/externs/studio/lang/lang-en.json
+++ b/src/vitis/client/javascript/externs/studio/lang/lang-en.json
@@ -10,6 +10,8 @@
         "WabState": "State",
         "Validate": "Validate",
         "Cancel": "Cancel",
+        "GenerateForm": "Generate form",
+        "CreateEmptyForm": "Create empty form",
         "AddTab": "Add tab",
         "EditTab": "Edit",
         "RemoveTab": "Remove",
@@ -34,6 +36,7 @@
                 "Button_gtf": "FME generated form"
             },
             "Published": {
+                "DeletePublishedForm": "Delete published form",
                 "Button": "Used form",
                 "Button_gtf": "Used form"
             },
@@ -42,7 +45,8 @@
                 "Reload": "Reload files from server",
                 "Publish": "Publish the custom form",
                 "Reset": "Replace the custom form by the default form",
-                "Button": "Modification used form"
+                "Button": "Modification used form",
+                "Delete_JS": "Remove JavaScript"
             }
         },
         "Form": {
@@ -87,6 +91,10 @@
             "ProblemId": "ID problem, try again or contact an admin",
             "Reset": "Was reset",
             "Reset_Error": "Error while resetting : ",
+            "Delete": "Le formulaire a été supprimé",
+            "Delete_Error": "Erreur lors de la suppression du formulaire : ",
+            "Delete_JS": "JavaScript file deleted",
+            "Delete_JS_Error": "Erorr while deleting JavaScript file : ",
             "Publish": " Has been published",
             "PublishAndSave": " Has been published and saved",
             "Publish_Error": "Error while publishing : ",
diff --git a/src/vitis/client/javascript/externs/studio/lang/lang-fr.json b/src/vitis/client/javascript/externs/studio/lang/lang-fr.json
index 43a99c1e47c1a55b798c6eaa2b4daedeaccfd126..ddaad2891c0fd4177698f0341e3e075d915290b3 100755
--- a/src/vitis/client/javascript/externs/studio/lang/lang-fr.json
+++ b/src/vitis/client/javascript/externs/studio/lang/lang-fr.json
@@ -10,6 +10,8 @@
         "WabState": "État wab",
         "Validate": "Valider",
         "Cancel": "Annuler",
+        "GenerateForm": "Générer un formulaire",
+        "CreateEmptyForm": "Créer un formulaire vide",
         "AddTab": "Ajouter un onglet",
         "EditTab": "Éditer",
         "RemoveTab": "Supprimer",
@@ -34,6 +36,7 @@
                 "Button_gtf": "Afficher le formulaire par défaut"
             },
             "Published": {
+                "DeletePublishedForm": "Supprimer le formulaire publié",
                 "Button": "Afficher le formulaire par publié",
                 "Button_gtf": "Afficher le formulaire par publié"
             },
@@ -44,7 +47,8 @@
                 "Reset": "Remplacer le formulaire personnalisé par le formulaire par défaut",
                 "ResetWab": "Regénérer le formulaire depuis la base",
                 "Button": "Afficher le formulaire par personnalisé",
-                "Button_gtf": "Afficher le formulaire par personnalisé"
+                "Button_gtf": "Afficher le formulaire par personnalisé",
+                "Delete_JS": "Supprimer la partie JavaScript du formulaire"
             }
         },
         "Form": {
@@ -89,6 +93,10 @@
             "ProblemId": "Problème d'ID, réessayer ou contacter un administrateur",
             "Reset": " a été réinitialisé",
             "Reset_Error": "Erreur lors de la réinitialisation : ",
+            "Delete": "Le formulaire a été supprimé",
+            "Delete_Error": "Erreur lors de la suppression du formulaire : ",
+            "Delete_JS": "Le fichier JavaScript a été supprimé",
+            "Delete_JS_Error": "Erreur lors de la suppression du fichier JavaScript : ",
             "Publish": " a été publié",
             "PublishAndSave": " a été publié et sauvegardé",
             "Publish_Error": "Erreur lors de la publication : ",
diff --git a/src/vitis/client/javascript/externs/studio/less/studio.less b/src/vitis/client/javascript/externs/studio/less/studio.less
index 39431d7eef77567589e097ec3edf7dc1e449092f..25844881140da28f02b1d7303efee582025d3138 100755
--- a/src/vitis/client/javascript/externs/studio/less/studio.less
+++ b/src/vitis/client/javascript/externs/studio/less/studio.less
@@ -3,7 +3,7 @@ To change this license header, choose License Headers in Project Properties.
 To change this template file, choose Tools | Templates
 and open the template in the editor.
 */
-/* 
+/*
     Created on : 5 janv. 2016, 12:08:09
     Author     : a_borghi
 */
@@ -23,7 +23,7 @@ and open the template in the editor.
 //@import (less) '../css/lib/bootstrap/css/bootstrap.css';
 
 
-//définit la taille de la fenêtre 
+//définit la taille de la fenêtre
 .app_window{
     /*Skin scrollBar*/
     ::-webkit-scrollbar {
@@ -39,11 +39,11 @@ and open the template in the editor.
     ::-webkit-scrollbar-thumb {
         -webkit-border-radius: 10px;
         border-radius: 10px;
-        background: @studio-color-purple; 
-        -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.5); 
+        background: @studio-color-purple;
+        -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.5);
     }
     ::-webkit-scrollbar-thumb:window-inactive {
-        background: @studio-color-purple; 
+        background: @studio-color-purple;
     }
 
     input[type=number]::-webkit-outer-spin-button,
@@ -61,7 +61,7 @@ and open the template in the editor.
 
 /*Laisse une marge sous un composant*/
 .element-margin {
-    margin-bottom: 10px; 
+    margin-bottom: 10px;
 }
 
 //align un div sur la droite avec une petite marge
@@ -199,19 +199,14 @@ and open the template in the editor.
 }
 
 // rend un élément non selectable
-.unselectable { 
-    -moz-user-select: none; 
-    -khtml-user-select: none; 
-    -webkit-user-select: none; 
-    -o-user-select: none; 
-}
-
-// décalage pour les checkbox et radio 
-.checkbox_margin {
-    margin-left: 30px;
+.unselectable {
+    -moz-user-select: none;
+    -khtml-user-select: none;
+    -webkit-user-select: none;
+    -o-user-select: none;
 }
 
-// Permet à code Mirror de prendre toute la place dans la div 
+// Permet à code Mirror de prendre toute la place dans la div
 .CodeMirror {
     border: 1px solid #eee;
     height: auto;
@@ -241,7 +236,7 @@ and open the template in the editor.
 }
 
 .invalid_input{
-    background-color: rgba(255,0,0,0.5); 
+    background-color: rgba(255,0,0,0.5);
 }
 
 /*th, td{
@@ -343,15 +338,6 @@ and open the template in the editor.
     font-size:11px
 }
 
-.checkbox label::before, .checkbox label::after{
-    width:13px;
-    height: 13px;
-}
-
-.checkbox {
-    padding-left: 12px;
-}
-
 .collapser-form-wab-modal{
     font-size: 40px;
     padding-top: 10px;
@@ -359,8 +345,8 @@ and open the template in the editor.
 }
 
 .transition-form-wab-collapser{
-    transition: width 0.5s; 
-    //transition: display 1s; 
+    transition: width 0.5s;
+    //transition: display 1s;
 }
 .form-tools-tree-container{
     overflow-y: auto;
@@ -381,4 +367,4 @@ and open the template in the editor.
     background-color: initial;
     top: initial;
     //border: initial;
-}
\ No newline at end of file
+}
diff --git a/src/vitis/client/javascript/externs/studio/templates/JsonLoader.html b/src/vitis/client/javascript/externs/studio/templates/JsonLoader.html
index f5b18f1bbcdc94c3affda84e3f319650ca32def9..6e320cdab08eda903260ccea6a2e5c0effbf9041 100755
--- a/src/vitis/client/javascript/externs/studio/templates/JsonLoader.html
+++ b/src/vitis/client/javascript/externs/studio/templates/JsonLoader.html
@@ -1,8 +1,4 @@
 <div class="panel panel-veremes" id="FilesURL">
-    <!--    <div class="panel-heading unselectable" ng-click="ctrl.resize()">{{::ctrl.text.Title}}
-            <span ng-if="collapsed" id="colapse_uploader_icon" class="fa fa-angle-right fa-lg" style="float:right"></span>
-            <span ng-if="!collapsed" id="colapse_uploader_icon" class="fa fa-angle-down fa-lg" style="float:right"></span>
-        </div>-->
     <div class="panel-heading unselectable">
         <!--Fichier-->
         <div class="btn-group dropdown margin-right-10">
@@ -50,6 +46,24 @@
                         {{::ctrl.text.InfoBulle.Perso.Publish}}
                     </a>
                 </li>
+                <li ng-hide="ctrl.buttonHide"
+                    ng-show="(FormSelected === 'Perso' || FormSelected === 'Published') && ctrl.applicationName === 'vmap'">
+                    <a title="{{::ctrl.text.InfoBulle.Published.Delete}}"
+                       href="javascript:void(0);"
+                       ng-click="ctrl.deletePublishedForm()">
+                        <span class="fa icon-trash" aria-hidden="true"></span>
+                        {{::ctrl.text.InfoBulle.Published.DeletePublishedForm}}
+                    </a>
+                </li>
+                <li ng-hide="ctrl.buttonHide"
+                    ng-show="(FormSelected === 'Perso' || FormSelected === 'Published') && ctrl.applicationName === 'vmap'">
+                    <a title="{{::ctrl.text.InfoBulle.Perso.Delete_JS}}"
+                       href="javascript:void(0);"
+                       ng-click="ctrl.deleteJS()">
+                        <span class="fa icon-trash" aria-hidden="true"></span>
+                        {{::ctrl.text.InfoBulle.Perso.Delete_JS}}
+                    </a>
+                </li>
                 <li ng-hide="ctrl.buttonHide" ng-show="FormSelected === 'Perso'">
                     <a title="{{::ctrl.text.InfoBulle.Perso.Reset}}"
                        href="javascript:void(0);"
diff --git a/src/vitis/client/javascript/test/e2e/resource/dep dep.zip b/src/vitis/client/javascript/test/e2e/resource/dep dep.zip
index c13d6a953c8948ebf61105ad0339f9378c56168b..1854f0f7e3550a589f271405f6762eb4749ef739 100755
Binary files a/src/vitis/client/javascript/test/e2e/resource/dep dep.zip and b/src/vitis/client/javascript/test/e2e/resource/dep dep.zip differ
diff --git a/src/vitis/client/javascript/test/e2e/resource/ee aa.fmw b/src/vitis/client/javascript/test/e2e/resource/ee aa.fmw
index cb694b029750143156d66b8c6612d47add2d45c6..64f2298a69e0cdda31f91e1692c46742bd086751 100755
--- a/src/vitis/client/javascript/test/e2e/resource/ee aa.fmw	
+++ b/src/vitis/client/javascript/test/e2e/resource/ee aa.fmw	
@@ -1,1149 +1,3 @@
-#! <?xml version="1.0" encoding="UTF-8" ?>
-#! <WORKSPACE
-#    
-#    
-#    Ligne de commande pour exécuter le projet :
-#    
-#    
-#    "C:\Program Files (x86)\FME2016_b16494\fme.exe" "E:\margot\gtf\2016\2016-11\t_upload_fmw\ee aa.fmw"
-#          --DestDataset_MAPINFO "mlk"
-#    
-#    
-#!   LAST_SAVE_BUILD="FME(R) 2016.1.0.1 (20160516 - Build 16494 - WIN32)"
-#!   MULTI_WRITER_DATASET_ORDER="BY_ID"
-#!   END_TCL=""
-#!   CATEGORY=""
-#!   FME_STROKE_MAX_DEVIATION="0"
-#!   DOC_TOP_LEFT="100 -158.751"
-#!   REQUIREMENTS=""
-#!   MAX_LOG_FEATURES="200"
-#!   LOG_MAX_RECORDED_FEATURES="200"
-#!   LEGAL_TERMS_CONDITIONS=""
-#!   ATTR_TYPE_ENCODING="SDF"
-#!   SHOW_INFO_NODES="true"
-#!   USAGE=""
-#!   WARN_INVALID_XFORM_PARAM="Yes"
-#!   VIEW_POSITION="-93.7509 0"
-#!   REDIRECT_TERMINATORS="NONE"
-#!   FME_GEOMETRY_HANDLING="Enhanced"
-#!   DESCRIPTION=""
-#!   FME_IMPLICIT_CSMAP_REPROJECTION_MODE="Auto"
-#!   SOURCE="NONE"
-#!   FME_DOCUMENT_PRIORGUID="76ccf1e0-a584-4e12-9140-9f0fbf4fa294"
-#!   TITLE=""
-#!   ZOOM_SCALE="100"
-#!   WORKSPACE_VERSION="1"
-#!   EXPLICIT_BOOKMARK_ORDER="false"
-#!   FME_SERVER_SERVICES=""
-#!   DESTINATION_ROUTING_FILE=""
-#!   LOG_FILE=""
-#!   SOURCE_ROUTING_FILE=""
-#!   BEGIN_PYTHON=""
-#!   PASSWORD=""
-#!   REQUIREMENTS_KEYWORD=""
-#!   LAST_SAVE_DATE="2016-11-16T10:09:14"
-#!   FME_BUILD_NUM="16494"
-#!   PYTHON_COMPATIBILITY="27"
-#!   IGNORE_READER_FAILURE="No"
-#!   DESTINATION="NONE"
-#!   FME_DOCUMENT_GUID="f97ed661-1527-47a1-9909-1551846f3d59"
-#!   END_PYTHON=""
-#!   FME_REPROJECTION_ENGINE="FME"
-#!   BEGIN_TCL=""
-#!   SHOW_ANNOTATIONS="true"
-#!   DOC_EXTENTS="2246.9 128.751"
-#!   HISTORY=""
-#! >
-#! <DATASETS>
-#! <DATASET
-#!   IS_SOURCE="true"
-#!   ROLE="READER"
-#!   FORMAT="ESRISHAPE"
-#!   DATASET="$(FME_MF_DIR_UNIX)\dpt2.shp"
-#!   KEYWORD="ESRISHAPE_1"
-#!   MULTI_GEOM_ALLOWED="false"
-#!   ATTR_MAX_LENGTH="0"
-#!   ATTR_CASE="ANY"
-#!   ALLOWED_FEAT_TYPES=""
-#!   WRITE_DEFS="true"
-#!   DEFLINE_TEMPLATE="SHAPE_GEOMETRY {FME_GEN_GEOMETRY}"
-#!   DEFLINE_ATTRS="true"
-#!   EXPOSABLE_ATTRS="fme_geometry fme_char(50) fme_text_size double multi_reader_keyword char(50) shape_measures char(254) fme_dataset char(50) fme_primary_axis double multi_reader_full_id long multi_reader_id long fme_basename char(50) fme_feature_type char(50) fme_fill_color char(50) fme_text_string char(50) fme_start_angle double fme_rotation double multi_reader_type char(50) fme_type char(50) shape_geometry_error{} char(254) fme_secondary_axis double SHAPE_GEOMETRY char(50) fme_color char(50) fme_sweep_angle double"
-#!   DEFLINE_PARMS=""
-#!   ATTR_INDEX_TYPES="INDEX"
-#!   ATTR_NAME_INVALID_CHARS=""
-#!   SUPPORTS_FEATURE_TYPE_FANOUT="true"
-#!   ENABLED="true"
-#!   DYNAMIC_FEATURE_TYPES_LIST_ON_MERGE="true"
-#!   DATASET_TYPE="FILEDIR"
-#!   GENERATE_FME_BUILD_NUM="16494"
-#!   START_FEATURE=""
-#!   MAX_FEATURES_PER_FEATURE_TYPE=""
-#!   FEATURE_TYPES=""
-#!   MAX_FEATURES=""
-#!   MIN_FEATURES=""
-#!   COORDSYS=""
-#! >
-#! <METAFILE_PARAMETER
-#!   NAME="FEATURE_TYPE_DEFAULT_NAME"
-#!   VALUE="Shapefile1"
-#! />
-#! <METAFILE_PARAMETER
-#!   NAME="FEATURE_TYPE_NAME"
-#!   VALUE="Shapefile"
-#! />
-#! <METAFILE_PARAMETER
-#!   NAME="DATASET_NAME"
-#!   VALUE="shp file"
-#! />
-#! <METAFILE_PARAMETER
-#!   NAME="DEFAULT_GEOMETRY_TYPE"
-#!   VALUE="shape_first_feature"
-#! />
-#! <METAFILE_PARAMETER
-#!   NAME="WRITER_DATASET_HINT"
-#!   VALUE="Specify a folder for the Esri Shapefile"
-#! />
-#! <METAFILE_PARAMETER
-#!   NAME="ADVANCED_PARMS"
-#!   VALUE="ESRISHAPE_IN_SEARCH_ENVELOPE_MINX ESRISHAPE_IN_SEARCH_ENVELOPE_MINY ESRISHAPE_IN_SEARCH_ENVELOPE_MAXX ESRISHAPE_IN_SEARCH_ENVELOPE_MAXY ESRISHAPE_IN_CLIP_TO_ENVELOPE SEARCH_ENVELOPE_COORDINATE_SYSTEM ESRISHAPE_IN_SEARCH_ENVELOPE_COORDINATE_SYSTEM"
-#! />
-#! <METAFILE_PARAMETER
-#!   NAME="READER_DATASET_HINT"
-#!   VALUE="Select the Esri Shapefile(s)"
-#! />
-#! </DATASET>
-#! <DATASET
-#!   IS_SOURCE="false"
-#!   ROLE="WRITER"
-#!   FORMAT="MAPINFO"
-#!   DATASET="$(DestDataset_MAPINFO)"
-#!   KEYWORD="MAPINFO_1"
-#!   MULTI_GEOM_ALLOWED="true"
-#!   ATTR_MAX_LENGTH="31"
-#!   ATTR_CASE="ANY_FIRST_NONNUMERIC"
-#!   ALLOWED_FEAT_TYPES=""
-#!   WRITE_DEFS="true"
-#!   DEFLINE_TEMPLATE=""
-#!   DEFLINE_ATTRS="true"
-#!   EXPOSABLE_ATTRS="fme_text_string char(50) mapinfo_text_width float fme_secondary_axis float mapinfo_symbol_style smallint mapinfo_center_xcoord float fme_text_size float mapinfo_text_fontstyle smallint mapinfo_text_fontstyle_blink char(10) mapinfo_text_fontstyle_expanded char(10) mapinfo_secondary_axis float mapinfo_text_line_end_y float mapinfo_text_line_end_x float mapinfo_smooth logical mapinfo_text_fontstyle_bold char(10) mapinfo_brush_foreground integer mapinfo_rounding float fme_start_angle float mapinfo_symbol_size integer mapinfo_text_fontfgcolor integer mapinfo_text_fontstyle_allcaps char(10) mapinfo_text_fontsize float mapinfo_pen_pattern smallint mapinfo_text_spacing smallint mapinfo_text_line_pen_pattern integer mapinfo_sweep_angle float fme_feature_type char(50) mapinfo_text_justification char(30) mapinfo_centroid_y float fme_geometry fme_char(50) mapinfo_text_fontstyle_halo char(10) mapinfo_centroid_x float mapinfo_text_fontstyle_inverse char(10) mapinfo_text_line_pen_color integer mapinfo_primary_axis float fme_color char(50) fme_dataset char(50) fme_rotation float mapinfo_text_fontname char(50) mapinfo_text_string char(255) mapinfo_symbol_shape integer mapinfo_brush_pattern smallint mapinfo_text_fontstyle_strikeout char(10) mapinfo_text_line_pen_width integer mapinfo_symbol_file_name char(255) mapinfo_text_linetype integer mapinfo_text_fontstyle_opaque char(10) fme_fill_color char(50) mapinfo_start_angle float mapinfo_type char(25) mapinfo_pen_color integer fme_basename char(50) mapinfo_text_fontstyle_shadow char(10) mapinfo_symbol_color integer mapinfo_text_height float mapinfo_text_fontstyle_italic char(10) fme_primary_axis float mapinfo_pen_width smallint mapinfo_rotation float mapinfo_center_ycoord float mapinfo_rounding_height float mapinfo_brush_background integer mapinfo_symbol_angle float mapinfo_text_fontstyle_underline char(10) mapinfo_text_fontbgcolor integer fme_sweep_angle float mapinfo_brush_transparent logical mapinfo_text_fontstyle_outline char(10) mapinfo_symbol_font char(50) fme_type char(50)"
-#!   DEFLINE_PARMS=""
-#!   ATTR_INDEX_TYPES="indexed"
-#!   ATTR_NAME_INVALID_CHARS="\\/&quot;:?*&lt;&gt;|[]= %~!@$&amp;#()^&apos;+-.,`;"
-#!   SUPPORTS_FEATURE_TYPE_FANOUT="true"
-#!   ENABLED="true"
-#!   DYNAMIC_FEATURE_TYPES_LIST_ON_MERGE="true"
-#!   DATASET_TYPE="FILEDIR"
-#!   GENERATE_FME_BUILD_NUM="16494"
-#!   FANOUT_GROUP="NO"
-#!   FANOUT_EXPRESSION=""
-#!   COORDSYS=""
-#! >
-#! <METAFILE_PARAMETER
-#!   NAME="FEATURE_TYPE_DEFAULT_NAME"
-#!   VALUE="Table1"
-#! />
-#! <METAFILE_PARAMETER
-#!   NAME="FEATURE_TYPE_NAME"
-#!   VALUE="Table"
-#! />
-#! <METAFILE_PARAMETER
-#!   NAME="DATASET_NAME"
-#!   VALUE="tab file"
-#! />
-#! <METAFILE_PARAMETER
-#!   NAME="WRITER_DATASET_HINT"
-#!   VALUE="Specify a folder for the MAPINFO file"
-#! />
-#! <METAFILE_PARAMETER
-#!   NAME="ADVANCED_PARMS"
-#!   VALUE="ESRISHAPE_IN_SEARCH_ENVELOPE_MINX ESRISHAPE_IN_SEARCH_ENVELOPE_MINY ESRISHAPE_IN_SEARCH_ENVELOPE_MAXX ESRISHAPE_IN_SEARCH_ENVELOPE_MAXY ESRISHAPE_IN_CLIP_TO_ENVELOPE SEARCH_ENVELOPE_COORDINATE_SYSTEM VERSION"
-#! />
-#! <METAFILE_PARAMETER
-#!   NAME="READER_DATASET_HINT"
-#!   VALUE="Select the MAPINFO files"
-#! />
-#! </DATASET>
-#! </DATASETS>
-#! <DATA_TYPES>
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="char(width)"
-#!   FME_TYPE="fme_varchar(width)"
-#!   FORMAT="ESRISHAPE"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="char(width)"
-#!   FME_TYPE="fme_varbinary(width)"
-#!   FORMAT="ESRISHAPE"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="char(width)"
-#!   FME_TYPE="fme_char(width)"
-#!   FORMAT="ESRISHAPE"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="char(width)"
-#!   FME_TYPE="fme_binary(width)"
-#!   FORMAT="ESRISHAPE"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="char(254)"
-#!   FME_TYPE="fme_buffer"
-#!   FORMAT="ESRISHAPE"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="char(254)"
-#!   FME_TYPE="fme_binarybuffer"
-#!   FORMAT="ESRISHAPE"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="char(254)"
-#!   FME_TYPE="fme_xml"
-#!   FORMAT="ESRISHAPE"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="char(254)"
-#!   FME_TYPE="fme_json"
-#!   FORMAT="ESRISHAPE"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="char(20)"
-#!   FME_TYPE="fme_datetime"
-#!   FORMAT="ESRISHAPE"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="char(12)"
-#!   FME_TYPE="fme_time"
-#!   FORMAT="ESRISHAPE"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="date"
-#!   FME_TYPE="fme_date"
-#!   FORMAT="ESRISHAPE"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="double"
-#!   FME_TYPE="fme_real64"
-#!   FORMAT="ESRISHAPE"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="double"
-#!   FME_TYPE="fme_uint32"
-#!   FORMAT="ESRISHAPE"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="float"
-#!   FME_TYPE="fme_real32"
-#!   FORMAT="ESRISHAPE"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="number(20,0)"
-#!   FME_TYPE="fme_int64"
-#!   FORMAT="ESRISHAPE"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="number(20,0)"
-#!   FME_TYPE="fme_uint64"
-#!   FORMAT="ESRISHAPE"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="logical"
-#!   FME_TYPE="fme_boolean"
-#!   FORMAT="ESRISHAPE"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="short"
-#!   FME_TYPE="fme_int16"
-#!   FORMAT="ESRISHAPE"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="short"
-#!   FME_TYPE="fme_int8"
-#!   FORMAT="ESRISHAPE"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="short"
-#!   FME_TYPE="fme_uint8"
-#!   FORMAT="ESRISHAPE"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="long"
-#!   FME_TYPE="fme_int32"
-#!   FORMAT="ESRISHAPE"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="long"
-#!   FME_TYPE="fme_uint16"
-#!   FORMAT="ESRISHAPE"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="number(width,decimal)"
-#!   FME_TYPE="fme_decimal(width,decimal)"
-#!   FORMAT="ESRISHAPE"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="char(width)"
-#!   FME_TYPE="fme_varchar(width)"
-#!   FORMAT="MAPINFO"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="char(width)"
-#!   FME_TYPE="fme_varbinary(width)"
-#!   FORMAT="MAPINFO"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="char(width)"
-#!   FME_TYPE="fme_char(width)"
-#!   FORMAT="MAPINFO"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="char(width)"
-#!   FME_TYPE="fme_binary(width)"
-#!   FORMAT="MAPINFO"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="char(254)"
-#!   FME_TYPE="fme_buffer"
-#!   FORMAT="MAPINFO"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="char(254)"
-#!   FME_TYPE="fme_binarybuffer"
-#!   FORMAT="MAPINFO"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="char(254)"
-#!   FME_TYPE="fme_xml"
-#!   FORMAT="MAPINFO"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="char(254)"
-#!   FME_TYPE="fme_json"
-#!   FORMAT="MAPINFO"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="datetime"
-#!   FME_TYPE="fme_datetime"
-#!   FORMAT="MAPINFO"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="time"
-#!   FME_TYPE="fme_time"
-#!   FORMAT="MAPINFO"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="date"
-#!   FME_TYPE="fme_date"
-#!   FORMAT="MAPINFO"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="decimal(width,decimal)"
-#!   FME_TYPE="fme_decimal(width,decimal)"
-#!   FORMAT="MAPINFO"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="float"
-#!   FME_TYPE="fme_real64"
-#!   FORMAT="MAPINFO"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="float"
-#!   FME_TYPE="fme_real32"
-#!   FORMAT="MAPINFO"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="integer"
-#!   FME_TYPE="fme_int32"
-#!   FORMAT="MAPINFO"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="decimal(11,0)"
-#!   FME_TYPE="fme_uint32"
-#!   FORMAT="MAPINFO"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="decimal(20,0)"
-#!   FME_TYPE="fme_int64"
-#!   FORMAT="MAPINFO"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="decimal(20,0)"
-#!   FME_TYPE="fme_uint64"
-#!   FORMAT="MAPINFO"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="logical"
-#!   FME_TYPE="fme_boolean"
-#!   FORMAT="MAPINFO"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="smallint"
-#!   FME_TYPE="fme_int16"
-#!   FORMAT="MAPINFO"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="integer"
-#!   FME_TYPE="fme_uint16"
-#!   FORMAT="MAPINFO"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="smallint"
-#!   FME_TYPE="fme_int8"
-#!   FORMAT="MAPINFO"
-#! />
-#! <DATA_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="smallint"
-#!   FME_TYPE="fme_uint8"
-#!   FORMAT="MAPINFO"
-#! />
-#! </DATA_TYPES>
-#! <GEOM_TYPES>
-#! <GEOM_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="shape_point"
-#!   FME_TYPE="fme_point"
-#!   FORMAT="ESRISHAPE"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="shape_multipoint"
-#!   FME_TYPE="fme_point"
-#!   FORMAT="ESRISHAPE"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="shape_polyline"
-#!   FME_TYPE="fme_line"
-#!   FORMAT="ESRISHAPE"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="shape_polygon"
-#!   FME_TYPE="fme_area"
-#!   FORMAT="ESRISHAPE"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="shape_point"
-#!   FME_TYPE="fme_text"
-#!   FORMAT="ESRISHAPE"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="shape_polygon"
-#!   FME_TYPE="fme_ellipse"
-#!   FORMAT="ESRISHAPE"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="shape_polyline"
-#!   FME_TYPE="fme_arc"
-#!   FORMAT="ESRISHAPE"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="shape_multipatch"
-#!   FME_TYPE="fme_surface"
-#!   FORMAT="ESRISHAPE"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="shape_multipatch"
-#!   FME_TYPE="fme_solid"
-#!   FORMAT="ESRISHAPE"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="shape_polygon"
-#!   FME_TYPE="fme_rectangle"
-#!   FORMAT="ESRISHAPE"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="shape_polygon"
-#!   FME_TYPE="fme_rounded_rectangle"
-#!   FORMAT="ESRISHAPE"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="shape_null"
-#!   FME_TYPE="fme_no_geom"
-#!   FORMAT="ESRISHAPE"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="shape_first_feature"
-#!   FME_TYPE="fme_no_geom"
-#!   FORMAT="ESRISHAPE"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="shape_polygon"
-#!   FME_TYPE="fme_raster"
-#!   FORMAT="ESRISHAPE"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="shape_polygon"
-#!   FME_TYPE="fme_point_cloud"
-#!   FORMAT="ESRISHAPE"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="shape_null"
-#!   FME_TYPE="fme_feature_table"
-#!   FORMAT="ESRISHAPE"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="true"
-#!   FORMAT_TYPE="shape_null"
-#!   FME_TYPE="fme_collection"
-#!   FORMAT="ESRISHAPE"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="mapinfo_point"
-#!   FME_TYPE="fme_point"
-#!   FORMAT="MAPINFO"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="mapinfo_custom_point"
-#!   FME_TYPE="fme_point"
-#!   FORMAT="MAPINFO"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="mapinfo_font_point"
-#!   FME_TYPE="fme_point"
-#!   FORMAT="MAPINFO"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="mapinfo_polyline"
-#!   FME_TYPE="fme_line"
-#!   FORMAT="MAPINFO"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="mapinfo_region"
-#!   FME_TYPE="fme_area"
-#!   FORMAT="MAPINFO"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="mapinfo_text"
-#!   FME_TYPE="fme_text"
-#!   FORMAT="MAPINFO"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="mapinfo_ellipse"
-#!   FME_TYPE="fme_ellipse"
-#!   FORMAT="MAPINFO"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="mapinfo_arc"
-#!   FME_TYPE="fme_arc"
-#!   FORMAT="MAPINFO"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="mapinfo_rectangle"
-#!   FME_TYPE="fme_rectangle"
-#!   FORMAT="MAPINFO"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="mapinfo_rounded_rectangle"
-#!   FME_TYPE="fme_rounded_rectangle"
-#!   FORMAT="MAPINFO"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="mapinfo_raster"
-#!   FME_TYPE="fme_raster"
-#!   FORMAT="MAPINFO"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="mapinfo_none"
-#!   FME_TYPE="fme_no_geom"
-#!   FORMAT="MAPINFO"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="mapinfo_collection"
-#!   FME_TYPE="fme_collection"
-#!   FORMAT="MAPINFO"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="mapinfo_polyline"
-#!   FME_TYPE="fme_surface"
-#!   FORMAT="MAPINFO"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="mapinfo_polyline"
-#!   FME_TYPE="fme_solid"
-#!   FORMAT="MAPINFO"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="mapinfo_region"
-#!   FME_TYPE="fme_point_cloud"
-#!   FORMAT="MAPINFO"
-#! />
-#! <GEOM_TYPE
-#!   IS_SOURCE="false"
-#!   FORMAT_TYPE="mapinfo_none"
-#!   FME_TYPE="fme_feature_table"
-#!   FORMAT="MAPINFO"
-#! />
-#! </GEOM_TYPES>
-#! <FEATURE_TYPES>
-#! <FEATURE_TYPE
-#!   IS_SOURCE="true"
-#!   NODE_NAME="dpt2"
-#!   FEATURE_TYPE_NAME=""
-#!   FEATURE_TYPE_NAME_QUALIFIER=""
-#!   IS_EDITABLE="false"
-#!   IDENTIFIER="1"
-#!   FEAT_GEOMTYPE="shape_polygon"
-#!   POSITION="100 -158.751"
-#!   BOUNDING_RECT="100 -158.751 -1 -1"
-#!   ORDER="5e+14"
-#!   COLLAPSED="false"
-#!   KEYWORD="ESRISHAPE_1"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   HIDDEN_USER_ATTRS=""
-#!   MERGE_FILTER="*"
-#!   MERGE_FILTER_TYPE="FILTER_TYPE_GLOB"
-#!   MERGE_FILTER_CASE_SENSITIVE="false"
-#!   DYNAMIC_SCHEMA="false"
-#! >
-#!     <FEAT_ATTRIBUTE ATTR_NAME="NUM_DEP" ATTR_TYPE="char(2)" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="NB_COMM" ATTR_TYPE="short" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="NOM_DEP" ATTR_TYPE="char(30)" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="POP_DEP" ATTR_TYPE="number(16,0)" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="SURF_KM2" ATTR_TYPE="number(16,2)" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="NUM_REG" ATTR_TYPE="short" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="NOM_REG" ATTR_TYPE="char(50)" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#! </FEATURE_TYPE>
-#! <FEATURE_TYPE
-#!   IS_SOURCE="false"
-#!   NODE_NAME="dpt2"
-#!   FEATURE_TYPE_NAME=""
-#!   FEATURE_TYPE_NAME_QUALIFIER=""
-#!   IS_EDITABLE="true"
-#!   IDENTIFIER="2"
-#!   FEAT_GEOMTYPE="All"
-#!   POSITION="1922.78 -158.751"
-#!   BOUNDING_RECT="1922.78 -158.751 -1 -1"
-#!   ORDER="5e+14"
-#!   COLLAPSED="false"
-#!   KEYWORD="MAPINFO_1"
-#!   PARMS_EDITED="true"
-#!   ENABLED="true"
-#!   SCHEMA_ATTRIBUTE_SOURCE="1"
-#! >
-#!     <FEAT_ATTRIBUTE ATTR_NAME="NUM_DEP" ATTR_TYPE="char(2)" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="NB_COMM" ATTR_TYPE="smallint" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="NOM_DEP" ATTR_TYPE="char(30)" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="POP_DEP" ATTR_TYPE="decimal(16,0)" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="SURF_KM2" ATTR_TYPE="decimal(16,2)" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="NUM_REG" ATTR_TYPE="smallint" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#!     <FEAT_ATTRIBUTE ATTR_NAME="NOM_REG" ATTR_TYPE="char(50)" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
-#! </FEATURE_TYPE>
-#! </FEATURE_TYPES>
-#! <FMESERVER>
-#! </FMESERVER>
-#! <GLOBAL_PARAMETERS>
-#! <GLOBAL_PARAMETER
-#!   GUI_LINE="GUI DIRNAME DestDataset_MAPINFO Nom du Dossier destination MapInfo :"
-#!   DEFAULT_VALUE="mlk"
-#!   IS_STAND_ALONE="false"
-#! />
-#! </GLOBAL_PARAMETERS>
-#! <COMMENTS>
-#! <COMMENT
-#!   IDENTIFIER="4"
-#!   COMMENT_VALUE="&lt;html&gt;&lt;body&gt;Types d&apos;entités source&lt;/body&gt;&lt;/html&gt;"
-#!   POSITION="100 -30"
-#!   TOP_LEFT="100 -30"
-#!   BOTTOM_RIGHT="99 -29"
-#!   BOUNDING_RECT="100 -30 -1 -1"
-#!   ORDER="5e+14"
-#!   FOLLOW_ANCHOR="true"
-#!   INFO_NODE="false"
-#!   COLOUR="1,1,0.784314,0.192157"
-#!   SIZE_POLICY="10"
-#!   COMMENT_TYPE="SOURCE_HEADER"
-#!   ANCHORED_NODE="0"
-#! />
-#! <COMMENT
-#!   IDENTIFIER="5"
-#!   COMMENT_VALUE="&lt;html&gt;&lt;body&gt;Flux de données&lt;/body&gt;&lt;/html&gt;"
-#!   POSITION="1315.64 -30"
-#!   TOP_LEFT="1315.64 -30"
-#!   BOTTOM_RIGHT="1314.64 -29"
-#!   BOUNDING_RECT="1315.64 -30 -1 -1"
-#!   ORDER="5e+14"
-#!   FOLLOW_ANCHOR="true"
-#!   INFO_NODE="false"
-#!   COLOUR="1,1,0.784314,0.192157"
-#!   SIZE_POLICY="10"
-#!   COMMENT_TYPE="DATAFLOW_HEADER"
-#!   ANCHORED_NODE="0"
-#! />
-#! <COMMENT
-#!   IDENTIFIER="6"
-#!   COMMENT_VALUE="&lt;html&gt;&lt;body&gt;Types d&apos;entités destination&lt;/body&gt;&lt;/html&gt;"
-#!   POSITION="2346.9 -30"
-#!   TOP_LEFT="2346.9 -30"
-#!   BOTTOM_RIGHT="2345.9 -29"
-#!   BOUNDING_RECT="2346.9 -30 -1 -1"
-#!   ORDER="5e+14"
-#!   FOLLOW_ANCHOR="true"
-#!   INFO_NODE="false"
-#!   COLOUR="1,1,0.784314,0.192157"
-#!   SIZE_POLICY="10"
-#!   COMMENT_TYPE="DEST_HEADER"
-#!   ANCHORED_NODE="0"
-#! />
-#! </COMMENTS>
-#! <CONSTANTS>
-#! </CONSTANTS>
-#! <BOOKMARKS>
-#! </BOOKMARKS>
-#! <TRANSFORMERS>
-#! </TRANSFORMERS>
-#! <FEAT_LINKS>
-#! <FEAT_LINK
-#!   IDENTIFIER="3"
-#!   SOURCE_NODE="1"
-#!   TARGET_NODE="2"
-#!   SOURCE_PORT_DESC="-1"
-#!   TARGET_PORT_DESC="-1"
-#!   ENABLED="true"
-#!   EXECUTION_IDX="0"
-#!   HIDDEN="false"
-#!   EXTRA_POINTS=""
-#! />
-#! </FEAT_LINKS>
-#! <BREAKPOINTS>
-#! </BREAKPOINTS>
-#! <ATTR_LINKS>
-#! <ATTR_LINK
-#!   IDENTIFIER="327683"
-#!   SOURCE_NODE="1"
-#!   TARGET_NODE="2"
-#!   SOURCE_PORT_DESC="4"
-#!   TARGET_PORT_DESC="4"
-#! />
-#! <ATTR_LINK
-#!   IDENTIFIER="393219"
-#!   SOURCE_NODE="1"
-#!   TARGET_NODE="2"
-#!   SOURCE_PORT_DESC="6"
-#!   TARGET_PORT_DESC="6"
-#! />
-#! <ATTR_LINK
-#!   IDENTIFIER="196611"
-#!   SOURCE_NODE="1"
-#!   TARGET_NODE="2"
-#!   SOURCE_PORT_DESC="0"
-#!   TARGET_PORT_DESC="0"
-#! />
-#! <ATTR_LINK
-#!   IDENTIFIER="65539"
-#!   SOURCE_NODE="1"
-#!   TARGET_NODE="2"
-#!   SOURCE_PORT_DESC="2"
-#!   TARGET_PORT_DESC="2"
-#! />
-#! <ATTR_LINK
-#!   IDENTIFIER="458755"
-#!   SOURCE_NODE="1"
-#!   TARGET_NODE="2"
-#!   SOURCE_PORT_DESC="1"
-#!   TARGET_PORT_DESC="1"
-#! />
-#! <ATTR_LINK
-#!   IDENTIFIER="262147"
-#!   SOURCE_NODE="1"
-#!   TARGET_NODE="2"
-#!   SOURCE_PORT_DESC="5"
-#!   TARGET_PORT_DESC="5"
-#! />
-#! <ATTR_LINK
-#!   IDENTIFIER="131075"
-#!   SOURCE_NODE="1"
-#!   TARGET_NODE="2"
-#!   SOURCE_PORT_DESC="3"
-#!   TARGET_PORT_DESC="3"
-#! />
-#! </ATTR_LINKS>
-#! <SUBDOCUMENTS>
-#! </SUBDOCUMENTS>
-#! <LOOKUP_TABLES>
-#! </LOOKUP_TABLES>
-#! </WORKSPACE>
-FME_PYTHON_VERSION 27
-GUI IGNORE SourceDataset_ESRISHAPE_1,ESRISHAPE_IN_SIMPLE_DONUT_GEOMETRY_ESRISHAPE_1,ESRISHAPE_IN_ENCODING_ESRISHAPE_1,ESRISHAPE_IN_EXPOSE_ATTRS_GROUP_ESRISHAPE_1,ESRISHAPE_IN_SEARCH_ENVELOPE_MINX_ESRISHAPE_1,ESRISHAPE_IN_SEARCH_ENVELOPE_MINY_ESRISHAPE_1,ESRISHAPE_IN_SEARCH_ENVELOPE_MAXX_ESRISHAPE_1,ESRISHAPE_IN_SEARCH_ENVELOPE_MAXY_ESRISHAPE_1,ESRISHAPE_IN_CLIP_TO_ENVELOPE_ESRISHAPE_1,ESRISHAPE_IN_NETWORK_AUTHENTICATION_ESRISHAPE_1,ESRISHAPE_IN_SEARCH_ENVELOPE_COORDINATE_SYSTEM_ESRISHAPE_1,_MEASURES_AS_Z_ESRISHAPE_1,ESRISHAPE_IN_DISSOLVE_HOLES_ESRISHAPE_1,ESRISHAPE_IN_REPORT_BAD_GEOMETRY_ESRISHAPE_1,ESRISHAPE_IN_TRIM_PRECEDING_SPACES_ESRISHAPE_1,DestDataset_MAPINFO_1,MAPINFO_OUT_VERSION_MAPINFO_1,MAPINFO_OUT__WRITE_REGION_CENTROIDS_MAPINFO_1,MAPINFO_OUT_TWO_POINT_LINE_AS_POLYLINE_MAPINFO_1,MAPINFO_OUT__STROKE_ARCS_MAPINFO_1,MAPINFO_OUT__COORDSYS_STATEMENT_MAPINFO_1,MAPINFO_OUT__MIF_MINX_MAPINFO_1,MAPINFO_OUT__MIF_MINY_MAPINFO_1,MAPINFO_OUT__MIF_MAXX_MAPINFO_1,MAPINFO_OUT__MIF_MAXY_MAPINFO_1
-DEFAULT_MACRO DestDataset_MAPINFO mlk
-GUI DIRNAME DestDataset_MAPINFO Nom du Dossier destination MapInfo :
-INCLUDE [ if {{$(DestDataset_MAPINFO)} == {}} { puts_real {Parameter 'DestDataset_MAPINFO' must be given a value.}; exit 1; }; ]
-#! START_HEADER
-#! encoding="utf-8"
-#! WORKSPACE_VERSION 1
-# ============================================================================ 
-# 
-# This mapping file was generated by FME Workbench
-# on 09/08/16 12:06:56 for translation between ESRISHAPE and MAPINFO
-# 
-# This workspace was generated with FME build 16494
-#
-# You may edit this mapping file to customize its operation.  Comments are 
-# placed throughout to assist you. 
-# 
-# Modification History:
-# 
-#     Name              Date     Description
-#     ================= ======== =============================================
-# 
-# 
-# ============================================================================ 
-# ============================================================================ 
-# The following line defines the title presented to the user when this
-# mapping file is run through the FME GUI.  You may modify this
-# if a more meaningful title would be appropriate.
-GUI TITLE ESRISHAPE to MAPINFO Translation 
-# ============================================================================ 
-# The following line names the log file to which useful statistics about
-# the translation will be written.  This line can be uncommented and
-# updated if you do wish to keep these statistics.
-# LOG_FILENAME translation.log
-# LOG_APPEND NO
-# ============================================================================ 
-# The following line instructs the FME to log any features that do not
-# match any of the source feature patterns listed further down in
-# this file.  If you are modifying this mapping file, this will be
-# useful to describe to you exactly which features you are losing
-# during translation, if the statistics indicate that features are
-# not being correlated or grouped.  Uncorrelated features do not
-# match any source specification, ungrouped features do not have
-# any corresponding _DEF line. 
-# FME_DEBUG UNGROUPED UNCORRELATED
-# ============================================================================ 
-# The following two lines define the type of reader and writer to be
-# used for this translation.  If you want to translate your data
-# back into its original format, you may make a copy of this file
-# and switch the reader and writer types.  If you rerun the FME, you
-# will get your original data back again (together with any modifications
-# you made in the meantime).  Note that several formats are NOT
-# bi-directional (for example, GIF can only be used as a WRITER)
-# so a reverse translation may not always be possible.
-#! START_WB_HEADER
-READER_TYPE ESRISHAPE
-READER_KEYWORD ESRISHAPE_1
-READER_GEN_DIRECTIVES DISSOLVE_HOLES,no,UPPER_CASE_ATTR_NAMES,No,SIMPLE_DONUT_GEOMETRY,simple,USE_SEARCH_ENVELOPE,NO,SEARCH_ENVELOPE_MINX,0,SEARCH_ENVELOPE_MINY,0,SEARCH_ENVELOPE_MAXX,0,SEARCH_ENVELOPE_MAXY,0,CLIP_TO_ENVELOPE,NO,CHECK_NUMERIC_FIELDS,yes,SourceDataset,E:<backslash>margot<backslash>gtf<backslash>2016<backslash>2016-09<backslash>dpt2.shp,FME_GEOMETRY_HANDLING,Enhanced
-
-WRITER_TYPE MULTI_WRITER
-MULTI_WRITER_DATASET_ORDER BY_ID
-MULTI_WRITER_FIRST_WRITER_ID 0
-MULTI_WRITER_TYPE{0} MAPINFO
-MULTI_WRITER_KEYWORD{0} MAPINFO_1
-#! END_WB_HEADER
-
-#! START_WB_HEADER
-MACRO WB_KEYWORD "ESRISHAPE_1"
-#! END_WB_HEADER
-#! START_SOURCE_HEADER ESRISHAPE ESRISHAPE_1
-# ============================================================================
-# The following GUI line prompts for the source shapefiles
-# The dataset this mapping file was generated from was:
-#! END_SOURCE_HEADER
-#! START_WB_HEADER
-DEFAULT_MACRO SourceDataset
-INCLUDE [ if {{$(SourceDataset)} != ""} {                        \
- puts {DEFAULT_MACRO SourceDataset_ESRISHAPE_1 $(SourceDataset)}     \
- } ]
-#! END_WB_HEADER
-#! START_SOURCE_HEADER ESRISHAPE ESRISHAPE_1
-DEFAULT_MACRO SourceDataset_ESRISHAPE_1 $(FME_MF_DIR_UNIX)\dpt2.shp
-GUI MULTIFILE SourceDataset_ESRISHAPE_1 Shapefiles(*.shp)|*.shp|Compressed_Shapefiles(*.shz)|*.shz|All_Files(*)|* Source Esri Shapefile(s):
-# =====================================================================
-# Provide some control over what attributes have the user-selected
-# encoding applied. Normally all attributes are updated after being
-# read, but the following lines exclude from this treatment all
-# attributes whose names start with fme_ or shape_.
-ESRISHAPE_1_UNENCODED_ATTR_PREFIX fme_ shape_
-#Added default value for dissolve holes so that default for DI is consistent with workbench
-DEFAULT_MACRO ESRISHAPE_IN_DISSOLVE_HOLES_ESRISHAPE_1 no
-ESRISHAPE_1_DISSOLVE_HOLES "$(ESRISHAPE_IN_DISSOLVE_HOLES_ESRISHAPE_1)"
-# ============================================================================
-# Determines whether the attribute names should be uppercased, or whether they
-# should stay as specified in the shapefile. Once the mapping file/workspace
-# has been generated, the value for this keyword should not be changed.
-DEFAULT_MACRO ESRISHAPE_IN_UPPER_CASE_ATTR_NAMES_ESRISHAPE_1 No
-ESRISHAPE_1_UPPER_CASE_ATTR_NAMES "$(ESRISHAPE_IN_UPPER_CASE_ATTR_NAMES_ESRISHAPE_1)"
-# ============================================================================
-# Option to use simple donut geometry creation, which is faster than the
-# original creation method, but less meticulous at detecting and correcting
-# geometric anomalies (i.e.holeswithinholes)
-DEFAULT_MACRO ESRISHAPE_IN_SIMPLE_DONUT_GEOMETRY_ESRISHAPE_1 simple
-ESRISHAPE_1_SIMPLE_DONUT_GEOMETRY "$(ESRISHAPE_IN_SIMPLE_DONUT_GEOMETRY_ESRISHAPE_1)"
-GUI LOOKUP_CHOICE ESRISHAPE_IN_SIMPLE_DONUT_GEOMETRY_ESRISHAPE_1 "Orientation Only",simple%"Orientation and Spatial Relationship",complex Donut Geometry Detection
-# ============================================================================
-# The following keyword allows the user to choose what encoding to
-# use for reading the shapefile, overrides dbf file LDID or .cpg
-# file if present.
-DEFAULT_MACRO ESRISHAPE_IN_ENCODING_ESRISHAPE_1 
-ESRISHAPE_1_ENCODING "$(ESRISHAPE_IN_ENCODING_ESRISHAPE_1)"
-GUI OPTIONAL ENCODING ESRISHAPE_IN_ENCODING_ESRISHAPE_1 ANSI%SYSTEM%BIG5%EUC%HKBIG5%ISO%OEM%SJIS%UTF-8%CP437%CP708%CP720%CP737%CP775%CP850%CP852%CP855%CP857%CP860%CP861%CP862%CP863%CP864%CP865%CP866%CP869%CP874%CP932%CP936%CP950%CP1250%CP1251%CP1252%CP1253%CP1254%CP1255%CP1256%CP1257%CP1258%ISO8859-1%ISO8859-2%ISO8859-3%ISO8859-4%ISO8859-5%ISO8859-6%ISO8859-7%ISO8859-8%ISO8859-9%ISO-8859-11%ISO8859-13%ISO8859-15%WINDOWS-874 Character Encoding:
-#Note: Using the search envelope requires the shape index files (.sbnand.sbx)
-DEFAULT_MACRO ESRISHAPE_IN_EXPOSE_ATTRS_GROUP_ESRISHAPE_1 
-ESRISHAPE_1_EXPOSE_ATTRS_GROUP "$(ESRISHAPE_IN_EXPOSE_ATTRS_GROUP_ESRISHAPE_1)"
-GUI DISCLOSUREGROUP ESRISHAPE_IN_EXPOSE_ATTRS_GROUP_ESRISHAPE_1 ESRISHAPE_EXPOSE_FORMAT_ATTRS Schema Attributes
-# Include this file in source setting section to add native search envelope processing
-# Zero as a default means we don't do any search -- this makes workbench happier
-# ===========================================================================
-DEFAULT_MACRO ESRISHAPE_IN_SEARCH_ENVELOPE_MINX_ESRISHAPE_1 0
-ESRISHAPE_1_SEARCH_ENVELOPE "$(ESRISHAPE_IN_SEARCH_ENVELOPE_MINX_ESRISHAPE_1)"
-GUI OPTIONAL FLOAT ESRISHAPE_IN_SEARCH_ENVELOPE_MINX_ESRISHAPE_1 Minimum X:
-# ===========================================================================
-DEFAULT_MACRO ESRISHAPE_IN_SEARCH_ENVELOPE_MINY_ESRISHAPE_1 0
-ESRISHAPE_1_SEARCH_ENVELOPE "$(ESRISHAPE_IN_SEARCH_ENVELOPE_MINY_ESRISHAPE_1)"
-GUI OPTIONAL FLOAT ESRISHAPE_IN_SEARCH_ENVELOPE_MINY_ESRISHAPE_1 Minimum Y:
-# ===========================================================================
-DEFAULT_MACRO ESRISHAPE_IN_SEARCH_ENVELOPE_MAXX_ESRISHAPE_1 0
-ESRISHAPE_1_SEARCH_ENVELOPE "$(ESRISHAPE_IN_SEARCH_ENVELOPE_MAXX_ESRISHAPE_1)"
-GUI OPTIONAL FLOAT ESRISHAPE_IN_SEARCH_ENVELOPE_MAXX_ESRISHAPE_1 Maximum X:
-# ===========================================================================
-DEFAULT_MACRO ESRISHAPE_IN_SEARCH_ENVELOPE_MAXY_ESRISHAPE_1 0
-ESRISHAPE_1_SEARCH_ENVELOPE "$(ESRISHAPE_IN_SEARCH_ENVELOPE_MAXY_ESRISHAPE_1)"
-GUI OPTIONAL FLOAT ESRISHAPE_IN_SEARCH_ENVELOPE_MAXY_ESRISHAPE_1 Maximum Y:
-# ===========================================================================
-DEFAULT_MACRO ESRISHAPE_IN_CLIP_TO_ENVELOPE_ESRISHAPE_1 NO
-ESRISHAPE_1_CLIP_TO_ENVELOPE "$(ESRISHAPE_IN_CLIP_TO_ENVELOPE_ESRISHAPE_1)"
-GUI OPTIONAL CHECKBOX ESRISHAPE_IN_CLIP_TO_ENVELOPE_ESRISHAPE_1 YES%NO Clip to Search Envelope
-DEFAULT_MACRO ESRISHAPE_IN_CHECK_NUMERIC_FIELDS_ESRISHAPE_1 yes
-ESRISHAPE_1_CHECK_NUMERIC_FIELDS "$(ESRISHAPE_IN_CHECK_NUMERIC_FIELDS_ESRISHAPE_1)"
-# ===========================================================================
-DEFAULT_MACRO ESRISHAPE_IN_NETWORK_AUTHENTICATION_ESRISHAPE_1 
-ESRISHAPE_1_NETWORK_AUTHENTICATION "$(ESRISHAPE_IN_NETWORK_AUTHENTICATION_ESRISHAPE_1)"
-GUI OPTIONAL AUTHENTICATOR ESRISHAPE_IN_NETWORK_AUTHENTICATION_ESRISHAPE_1 CONTAINER%GROUP%CONTAINER_TITLE%"Network Authentication"%PROMPT_TYPE%NETWORK Network Authentication
-# ===========================================================================
-DEFAULT_MACRO ESRISHAPE_IN_ATTRIBUTE_READING_ESRISHAPE_1 ALL
-ESRISHAPE_1_ATTRIBUTE_READING "$(ESRISHAPE_IN_ATTRIBUTE_READING_ESRISHAPE_1)"
-# ============================================================================
-# Search Envelope Coordinate System
-# BUG18999: Re-adding directive to allow specification of a search envelope
-# in a coordinate system other than what the data is in. Note that this
-# depends on the source coordinate system being set as well.
-DEFAULT_MACRO ESRISHAPE_IN_SEARCH_ENVELOPE_COORDINATE_SYSTEM_ESRISHAPE_1 
-GUI OPTIONAL COORDSYS ESRISHAPE_IN_SEARCH_ENVELOPE_COORDINATE_SYSTEM_ESRISHAPE_1 Search Envelope Coordinate System:
-ESRISHAPE_1_SEARCH_ENVELOPE_COORDINATE_SYSTEM "$(ESRISHAPE_IN_SEARCH_ENVELOPE_COORDINATE_SYSTEM_ESRISHAPE_1)"
-# ============================================================================
-# The following GUI line sets whether measure values in the shapefiles should
-# be treated as elevations.
-DEFAULT_MACRO _MEASURES_AS_Z_ESRISHAPE_1 no
-GUI CHOICE _MEASURES_AS_Z_ESRISHAPE_1 yes%no Treat Measures as Elevation:
-ESRISHAPE_1_MEASURES_AS_Z $(_MEASURES_AS_Z_ESRISHAPE_1)
-# ============================================================================
-# The following keyword sets whether the reader dissolves holes in donuts.
-GUI CHOICE ESRISHAPE_IN_DISSOLVE_HOLES_ESRISHAPE_1 yes%no Dissolve Adjacent Holes:
-ESRISHAPE_1_DISSOLVE_HOLES $(ESRISHAPE_IN_DISSOLVE_HOLES_ESRISHAPE_1)
-# ============================================================================
-# The following keyword sets whether bad geometry should be reported via
-# the shape_geometry_error{} list attribute.
-DEFAULT_MACRO ESRISHAPE_IN_REPORT_BAD_GEOMETRY_ESRISHAPE_1 no
-GUI CHOICE ESRISHAPE_IN_REPORT_BAD_GEOMETRY_ESRISHAPE_1 yes%no Report Geometry Anomalies:
-ESRISHAPE_1_REPORT_BAD_GEOMETRY $(ESRISHAPE_IN_REPORT_BAD_GEOMETRY_ESRISHAPE_1)
-DEFAULT_MACRO ESRISHAPE_IN_TRIM_PRECEDING_SPACES_ESRISHAPE_1 YES
-GUI CHOICE ESRISHAPE_IN_TRIM_PRECEDING_SPACES_ESRISHAPE_1 yes%no Trim Preceding Spaces:
-ESRISHAPE_1_TRIM_PRECEDING_SPACES $(ESRISHAPE_IN_TRIM_PRECEDING_SPACES_ESRISHAPE_1)
-ESRISHAPE_1_DATASET "$(SourceDataset_ESRISHAPE_1)"
-#! END_SOURCE_HEADER
-#! START_WB_HEADER
-MACRO WB_KEYWORD "MAPINFO_1"
-#! END_WB_HEADER
-#! START_DEST_HEADER MAPINFO MAPINFO_1
-# ============================================================================
-# The following GUI line prompts for a folder to be used as the
-# the destination for the Mapinfo TAB files.
-# The user input is stored in a macro, which is then used to define
-# the dataset to be written.
-# The dataset this mapping file was generated for was:
-#! END_DEST_HEADER
-#! START_WB_HEADER
-DEFAULT_MACRO DestDataset
-INCLUDE [ if {"$(DestDataset)" != ""} {                          \
- puts {DEFAULT_MACRO DestDataset_MAPINFO_1 $(DestDataset)}         \
- } ]
-#! END_WB_HEADER
-#! START_DEST_HEADER MAPINFO MAPINFO_1
-DEFAULT_MACRO DestDataset_MAPINFO_1 $(DestDataset_MAPINFO)
-GUI DIRNAME DestDataset_MAPINFO_1 Destination MapInfo Folder:
-# ============================================================================
-# By default, we'll NOT try to use any bounding box information that can be
-# read from the source data when the output coordinate system is unknown
-DEFAULT_MACRO _USE_SOURCE_BOUNDING_BOX_MAPINFO_1 no
-MAPINFO_1_USE_SOURCE_BOUNDING_BOX $(_USE_SOURCE_BOUNDING_BOX_MAPINFO_1)
-# ============================================================================
-# Specify the charset name to be used in the TAB file header. NOTE: This name
-# is just written out in the header and has no affect on the TAB file contents
-#
-# This is now for backward compatibility of MITAB. The MITAB writer now put
-# the MapInfo charset of the original encoding. Otherwise, it's default (Neutral)
-# PR#22004 [PL]
-#DEFAULT_MACRO MAPINFO_OUT_CHARSET Neutral
-#DEFAULT_MACRO MAPINFO_OUT_CHARSET
-#
-#MAPINFO_CHARSET $(MAPINFO_OUT_CHARSET_MAPINFO_1)
-# ============================================================================
-# Include the mapinfo macro package -- sets up a number of macros for
-# mapinfo colors and linestyles
-INCLUDE "$(FME_HOME)/metafile/mapinfoMacros.fmi"
-MAPINFO_1_PLUGIN_MAX_CHANNELS 100
-DEFAULT_MACRO MAPINFO_OUT_VERSION_MAPINFO_1 900
-MAPINFO_1_VERSION "$(MAPINFO_OUT_VERSION_MAPINFO_1)"
-GUI CHOICE MAPINFO_OUT_VERSION_MAPINFO_1 300%450%900%950%1000%1050%1100%1150 File Version:
-DEFAULT_MACRO MAPINFO_OUT__WRITE_REGION_CENTROIDS_MAPINFO_1 no
-MAPINFO_1__WRITE_REGION_CENTROIDS "$(MAPINFO_OUT__WRITE_REGION_CENTROIDS_MAPINFO_1)"
-GUI CHOICE MAPINFO_OUT__WRITE_REGION_CENTROIDS_MAPINFO_1 yes%no Generate and Write Region Centroids:
-DEFAULT_MACRO MAPINFO_OUT_TWO_POINT_LINE_AS_POLYLINE_MAPINFO_1 no
-MAPINFO_1_TWO_POINT_LINE_AS_POLYLINE "$(MAPINFO_OUT_TWO_POINT_LINE_AS_POLYLINE_MAPINFO_1)"
-GUI OPTIONAL CHOICE MAPINFO_OUT_TWO_POINT_LINE_AS_POLYLINE_MAPINFO_1 yes%no Write 2 Point Line as Polyline:
-DEFAULT_MACRO MAPINFO_OUT__STROKE_ARCS_MAPINFO_1 no
-MAPINFO_1__STROKE_ARCS "$(MAPINFO_OUT__STROKE_ARCS_MAPINFO_1)"
-GUI OPTIONAL CHOICE MAPINFO_OUT__STROKE_ARCS_MAPINFO_1 yes%no Stroke Arcs into Polyline:
-# ============================================================================
-# The following lines override the default coordinate system for features. This
-# provides a mapinfo-specific coordinate system line to the writer.
-DEFAULT_MACRO MAPINFO_OUT__COORDSYS_STATEMENT_MAPINFO_1 
-MAPINFO_1__COORDSYS_STATEMENT "$(MAPINFO_OUT__COORDSYS_STATEMENT_MAPINFO_1)"
-GUI OPTIONAL TEXT MAPINFO_OUT__COORDSYS_STATEMENT_MAPINFO_1 Coordinate System Statement:
-# ============================================================================
-# The following lines provide a bounding area for the output files. Because
-# MapInfo has a limited precision available for coordinate storage, providing
-# a tight bounds on the storage can preserve accuracy.
-DEFAULT_MACRO MAPINFO_OUT__MIF_MINX_MAPINFO_1 
-MAPINFO_1__MIF_MINX "$(MAPINFO_OUT__MIF_MINX_MAPINFO_1)"
-DEFAULT_MACRO MAPINFO_OUT__MIF_MINY_MAPINFO_1 
-MAPINFO_1__MIF_MINY "$(MAPINFO_OUT__MIF_MINY_MAPINFO_1)"
-DEFAULT_MACRO MAPINFO_OUT__MIF_MAXX_MAPINFO_1 
-MAPINFO_1__MIF_MAXX "$(MAPINFO_OUT__MIF_MAXX_MAPINFO_1)"
-DEFAULT_MACRO MAPINFO_OUT__MIF_MAXY_MAPINFO_1 
-MAPINFO_1__MIF_MAXY "$(MAPINFO_OUT__MIF_MAXY_MAPINFO_1)"
-GUI OPTIONAL FLOAT MAPINFO_OUT__MIF_MINX_MAPINFO_1 Bounds Min X:
-GUI OPTIONAL FLOAT MAPINFO_OUT__MIF_MINY_MAPINFO_1 Bounds Min Y:
-GUI OPTIONAL FLOAT MAPINFO_OUT__MIF_MAXX_MAPINFO_1 Bounds Max X:
-GUI OPTIONAL FLOAT MAPINFO_OUT__MIF_MAXY_MAPINFO_1 Bounds Max Y:
-# ============================================================================
-# Opt in for destination dataset type vs format type validation
-DEFAULT_MACRO MAPINFO_OUT_DESTINATION_DATASETTYPE_VALIDATION_MAPINFO_1 Yes
-MAPINFO_1_DESTINATION_DATASETTYPE_VALIDATION "$(MAPINFO_OUT_DESTINATION_DATASETTYPE_VALIDATION_MAPINFO_1)"
-DEFAULT_MACRO MAPINFO_OUT_COORDINATE_SYSTEM_GRANULARITY_MAPINFO_1 FEATURE_TYPE
-MAPINFO_1_COORDINATE_SYSTEM_GRANULARITY "$(MAPINFO_OUT_COORDINATE_SYSTEM_GRANULARITY_MAPINFO_1)"
-MAPINFO_1_BOUNDS $(MAPINFO_OUT__MIF_MINX_MAPINFO_1) $(MAPINFO_OUT__MIF_MINY_MAPINFO_1) $(MAPINFO_OUT__MIF_MAXX_MAPINFO_1) $(MAPINFO_OUT__MIF_MAXY_MAPINFO_1)
-MAPINFO_1_DATASET "$(DestDataset_MAPINFO_1)"
-#! END_DEST_HEADER
-#! START_WB_HEADER
-#! END_WB_HEADER
-
-#! END_HEADER
-
-LOG_FILENAME "$(FME_MF_DIR)ee aa.log"
-LOG_APPEND NO
-LOG_MAX_FEATURES 200
-LOG_MAX_RECORDED_FEATURES 200
-FME_REPROJECTION_ENGINE FME
-FME_IMPLICIT_CSMAP_REPROJECTION_MODE Auto
-FME_GEOMETRY_HANDLING Enhanced
-FME_STROKE_MAX_DEVIATION 0
-LOG_TIMINGS YES
-LOG_FILTER_MASK -17
-DEFAULT_MACRO DATASET_KEYWORD_ESRISHAPE_1 ESRISHAPE_1
-DEFAULT_MACRO DATASET_KEYWORD_MAPINFO_1 MAPINFO_1
-# -------------------------------------------------------------------------
-
-ESRISHAPE_1_READER_META_ATTRIBUTES fme_feature_type
-
-# -------------------------------------------------------------------------
-
-MULTI_READER_CONTINUE_ON_READER_FAILURE No
-
-# -------------------------------------------------------------------------
-
-MACRO WORKSPACE_NAME ee aa
-MACRO FME_VIEWER_APP fmedatainspector
-# -------------------------------------------------------------------------
-ESRISHAPE_1_DEF dpt2   SHAPE_GEOMETRY               shape_polygon   NUM_DEP                      char(2)   NB_COMM                      short   NOM_DEP                      char(30)   POP_DEP                      number(16,0)   SURF_KM2                     number(16,2)   NUM_REG                      short   NOM_REG                      char(50)
-# -------------------------------------------------------------------------
-
-FACTORY_DEF * RoutingFactory   FACTORY_NAME "Router and Unexpected Input Remover"   COMMAND_PARM_EVALUATION SINGLE_PASS   MULTI_READER_KEYWORD ESRISHAPE_1   INPUT FEATURE_TYPE *    ROUTE ESRISHAPE ESRISHAPE_1::dpt2 TO FME_GENERIC ::dpt2 ALIAS_GEOMETRY    MERGE_INPUT Yes   OUTPUT ROUTED FEATURE_TYPE *
-ESRISHAPE_1_MERGE_DEF ESRISHAPE_1::dpt2 EXACT dpt2
-# -------------------------------------------------------------------------
-
-FACTORY_DEF * TeeFactory    FACTORY_NAME "dpt2 (ESRISHAPE_1) Splitter"    INPUT FEATURE_TYPE dpt2    OUTPUT FEATURE_TYPE dpt2_ESRISHAPE_1
-DEFAULT_MACRO WB_CURRENT_CONTEXT
-# -------------------------------------------------------------------------
-
-FACTORY_DEF * RoutingFactory FACTORY_NAME "Destination Feature Type Routing Correlator"   COMMAND_PARM_EVALUATION SINGLE_PASS   INPUT FEATURE_TYPE *    ROUTE FME_GENERIC dpt2_ESRISHAPE_1 TO MAPINFO __GO_TO_FINAL_OUTPUT_ROUTER__ multi_writer_id,0,<at>SupplyAttributes<openparen>ENCODED<comma>__wb_out_feat_type__<comma>dpt2<closeparen> GEOMETRY   FEATURE_TYPE_ATTRIBUTE __wb_out_feat_type__   OUTPUT ROUTED FEATURE_TYPE *    OUTPUT NOT_ROUTED FEATURE_TYPE __nuke_me__ @Tcl2("FME_StatMessage 818059 [FME_GetAttribute fme_template_feature_type] 818060 818061 fme_warn")
-# -------------------------------------------------------------------------
-
-FACTORY_DEF * TeeFactory   FACTORY_NAME "Final Output Nuker"   INPUT FEATURE_TYPE __nuke_me__
-
-# -------------------------------------------------------------------------
-MAPINFO_1_DEF dpt2   NUM_DEP                      char(2)   NB_COMM                      smallint   NOM_DEP                      char(30)   POP_DEP                      decimal(16,0)   SURF_KM2                     decimal(16,2)   NUM_REG                      smallint   NOM_REG                      char(50)
+version https://git-lfs.github.com/spec/v1
+oid sha256:01d9e26d39a43dce1a94ba6ed54315fc1fac3b22f49abec2b87d4b8b442fe7ca
+size 43543
diff --git a/src/vitis/client/less/main.less b/src/vitis/client/less/main.less
index d567b91f34adfab804aee576cdf68409e253dda4..56042ea63502decf8696aff10e5c6dc4cc2020da 100644
--- a/src/vitis/client/less/main.less
+++ b/src/vitis/client/less/main.less
@@ -1046,3 +1046,24 @@ div[data-app-html-form]>div[app-form-reader]>.modal>.modal-dialog{
 /*@supports (-ms-accelerator:true) and (not (color:unset)) {
   .selector { property:value; }
 }*/
+
+.checkbox {
+    padding-left: 12px;
+}
+
+.checkbox_margin {
+    margin-left: 30px;
+}
+
+.checkbox-inline label::before{
+    top: 3px;
+    left: 1px
+}
+.checkbox-inline label::after{
+    top: 2px;
+}
+
+.checkbox label::before, .checkbox label::after{
+    width:13px;
+    height: 13px;
+}
diff --git a/src/vitis/vas/rest/ws/vitis/Versions.class.inc b/src/vitis/vas/rest/ws/vitis/Versions.class.inc
index 3a20a659f09122d360298d4fcc72dc131f54231b..62b9cfcc9ef13f02c3b310d0543c4d4228ee40e3 100755
--- a/src/vitis/vas/rest/ws/vitis/Versions.class.inc
+++ b/src/vitis/vas/rest/ws/vitis/Versions.class.inc
@@ -1,202 +1,204 @@
-<?php
-
-require_once 'Vitis.class.inc';
-require_once __DIR__ . '/../../class/vitis_lib/Connection.class.inc';
-require_once __DIR__ . '/../../class/vmlib/BdDataAccess.inc';
-
-/**
- * \file versions.class.inc
- * \class Versions
- *
- * \author Yoann Perollet <yoann.perollet@veremes.com>.
- *
- * 	\brief This file contains the Versions php class
- *
- * This class defines the rest api for versions
- * 
- */
-class Versions extends Vitis {
-    /**
-     * @SWG\Definition(
-     *   definition="/versions",
-     *   allOf={
-     *     @SWG\Schema(ref="#/definitions/versions")
-     *   }
-     * )
-     * @SWG\Tag(
-     *   name="Versions",
-     *   description="Operations about versions"
-     * )
-     */
-
-    /**
-     * construct
-     * @param type $aPath url of the request
-     * @param type $aValues parameters of the request
-     * @param type $versions ptroperties
-     */
-    function __construct($aPath, $aValues, $properties) {
-        $this->aValues = $aValues;
-        $this->aPath = $aPath;
-        $this->aProperties = $properties;
-        if (!empty($this->aValues['token'])) {
-            $this->oConnection = new Connection($this->aValues, $this->aProperties);
-        }
-    }
-
-    /**
-     * @SWG\Get(path="/versions",
-     *   tags={"Versions"},
-     *   summary="Get versions",
-     *   description="Request to get versions",
-     *   operationId="GET",
-     *   produces={"application/xml", "application/json", "application/x-vm-json"},
-     *   @SWG\Parameter(
-     *     name="token",
-     *     in="query",
-     *     description="user token",
-     *     required=false,
-     *     type="string"
-     *   ),
-     *  @SWG\Response(
-     *         response=200,
-     *         description="Poprerties Response",
-     *         @SWG\Schema(ref="#/definitions/versions")
-     *     )
-     *  )
-     */
-
-    /**
-     * 
-     * @return versions
-     */
-    function GET() {
-        if ($this->oConnection->oError == null) {
-            $this->getVersion();
-            if (!empty($this->aValues['token']) && in_array("vitis_admin", $this->oConnection->aPrivileges)) {
-
-                //$this->aFields = $this->aVersions;
-                $this->aFields['php_version'] = phpversion();
-
-                //*** PDO
-                $bPdo = false;
-                if (extension_loaded('pdo'))
-                    $bPdo = true;
-                else
-                    $bVeremap = false;
-                $this->aFields['pdo_extension_loaded'] = $bPdo;
-
-                //*** PDO Postgresql
-                $bPdoPgsql = false;
-                if (extension_loaded('pdo_pgsql'))
-                    $bPdoPgsql = true;
-                else
-                    $bVeremap = false;
-                $this->aFields['pdo_pgsql_extension_loaded'] = $bPdoPgsql;
-
-                //*** Curl
-                $bCurl = false;
-                if (extension_loaded('curl'))
-                    $bCurl = true;
-                else
-                    $bVeremap = false;
-                $this->aFields['curl_extension_loaded'] = $bCurl;
-
-                //*** Xsl
-                $bXsl = false;
-                if (extension_loaded('xsl'))
-                    $bXsl = true;
-                $this->aFields['xsl_extension_loaded'] = $bXsl;
-
-                //*** Ldap
-                $bLdap = false;
-                if (extension_loaded('ldap'))
-                    $bLdap = true;
-                $this->aFields['ldap_extension_loaded'] = $bLdap;
-
-                // OS.
-                $this->aFields['os_version'] = php_uname();
-
-                // Info disque.
-                $this->aFields['disk_free_space'] = round(disk_free_space("/") / 1073741824) . ' Go';
-                $this->aFields['disk_total_space'] = round(disk_total_space("/") / 1073741824) . ' Go';
-
-                //
-                $this->aFields['server_software'] = $_SERVER['SERVER_SOFTWARE'];
-                $this->aFields['server_addr'] = $_SERVER['SERVER_ADDR'];
-                $this->aFields['server_name'] = $_SERVER['SERVER_NAME'];
-                $this->aFields['server_port'] = $_SERVER['SERVER_PORT'];
-
-                //** Postgresql et Postgis
-                $bPostgresql = false;
-                $bPostgis = false;
-                if (!$this->oConnection->oBd->erreurRencontree) {
-                    $bPostgresql = true;
-                    $sSql = "SHOW server_version";
-                    $oPDOresult = $this->oConnection->oBd->executeWithParams($sSql, array());
-                    $oPgVersion = $this->oConnection->oBd->objetSuivant($oPDOresult);
-                    $sPostgresql = $oPgVersion->server_version;
-                    $this->aFields['postgresql_version'] = $sPostgresql;
-                    $this->oConnection->oBd->fermeResultat();
-
-                    $aVersion = explode(".", $sPostgresql);
-                    $bExtension = false;
-                    if ($aVersion[0] . $aVersion[1] >= 91) {
-                        $bExtension = true;
-                    }
-                    if ($bExtension == true) {
-                        $sSql = "SELECT default_version FROM pg_catalog.pg_available_extensions where name = 'postgis';";
-                        $oPDOresult = $this->oConnection->oBd->executeWithParams($sSql, array());
-                        if ($aPostgis = $this->oConnection->oBd->ligneSuivante($oPDOresult)) {
-                            $bPostgis = true;
-                            $sPostgis = $aPostgis['default_version'];
-                        } else {
-                            $bPostgis = false;
-                        }
-                    } else {
-                        $sSql = "SELECT datname FROM pg_catalog.pg_database where datname = 'template_postgis_20';";
-                        $oPDOresult = $this->oConnection->oBd->executeWithParams($sSql, array());
-                        if ($aPostgis = $this->oConnection->oBd->ligneSuivante($oPDOresult)) {
-                            $bPostgis = true;
-                            $sPostgis = '2.0';
-                        } else {
-                            $bPostgis = false;
-                        }
-                    }
-                    $this->aFields['postgis_version'] = $sPostgis;
-                    $this->oConnection->oBd->fermeResultat();
-                    $sSql = 'SELECT distinct module_id from [sSchemaFramework].vm_mode';
-                    $aParams['sSchemaFramework'] = array('value' => $this->aProperties['schema_framework'], 'type' => 'schema_name');
-                    $oPDOresult = $this->oConnection->oBd->executeWithParams($sSql, $aParams);
-                    while ($aLigne = $this->oConnection->oBd->ligneSuivante($oPDOresult)) {
-                        $aModules[] = $aLigne['module_id'];
-                    }
-                    $iRecordset = $this->oConnection->oBd->fermeResultat();
-                }
-                $this->aFields['postgresql'] = $bPostgresql;
-                $this->aFields['postgis'] = $bPostgis;
-
-                // Recherche de mise à jour
-                // 
-                if (!empty($this->aValues['app'])) {
-                    $sUrl = "http://update.veremes.net/vai/" . $this->aValues['app'] . ".json";
-                    $json = file_get_contents($sUrl);
-                    $data = json_decode($json, TRUE);
-                    $this->aFields['appVersion'] = $data['version'];
-                }
-            }
-            $aXmlRacineAttribute['status'] = 1;
-            $sMessage = $this->asDocument('', 'vitis', $this->aValues['sEncoding'], True, $aXmlRacineAttribute, $this->aValues['sSourceEncoding'], $this->aValues['output']);
-        } else {
-            http_response_code(403);
-            $aXmlRacineAttribute['status'] = 0;
-            $this->aFields['errorMessage'] = "ERROR : invalid token";
-            $sMessage = $this->asDocument('', 'vitis', $this->aValues['sEncoding'], True, $aXmlRacineAttribute, $this->aValues['sSourceEncoding'], $this->aValues['output']);
-        }
-
-        return $sMessage;
-    }
-
-}
-
+<?php
+
+require_once 'Vitis.class.inc';
+require_once __DIR__ . '/../../class/vitis_lib/Connection.class.inc';
+require_once __DIR__ . '/../../class/vmlib/BdDataAccess.inc';
+
+/**
+ * \file versions.class.inc
+ * \class Versions
+ *
+ * \author Yoann Perollet <yoann.perollet@veremes.com>.
+ *
+ * 	\brief This file contains the Versions php class
+ *
+ * This class defines the rest api for versions
+ * 
+ */
+class Versions extends Vitis {
+    /**
+     * @SWG\Definition(
+     *   definition="/versions",
+     *   allOf={
+     *     @SWG\Schema(ref="#/definitions/versions")
+     *   }
+     * )
+     * @SWG\Tag(
+     *   name="Versions",
+     *   description="Operations about versions"
+     * )
+     */
+
+    /**
+     * construct
+     * @param type $aPath url of the request
+     * @param type $aValues parameters of the request
+     * @param type $versions ptroperties
+     */
+    function __construct($aPath, $aValues, $properties) {
+        $this->aValues = $aValues;
+        $this->aPath = $aPath;
+        $this->aProperties = $properties;
+        if (!empty($this->aValues['token'])) {
+            $this->oConnection = new Connection($this->aValues, $this->aProperties);
+        }
+    }
+
+    /**
+     * @SWG\Get(path="/versions",
+     *   tags={"Versions"},
+     *   summary="Get versions",
+     *   description="Request to get versions",
+     *   operationId="GET",
+     *   produces={"application/xml", "application/json", "application/x-vm-json"},
+     *   @SWG\Parameter(
+     *     name="token",
+     *     in="query",
+     *     description="user token",
+     *     required=false,
+     *     type="string"
+     *   ),
+     *  @SWG\Response(
+     *         response=200,
+     *         description="Poprerties Response",
+     *         @SWG\Schema(ref="#/definitions/versions")
+     *     )
+     *  )
+     */
+
+    /**
+     * 
+     * @return versions
+     */
+    function GET() {
+        if ($this->oConnection->oError == null) {
+            $this->getVersion();
+            if (!empty($this->aValues['token']) && in_array("vitis_admin", $this->oConnection->aPrivileges)) {
+
+                //$this->aFields = $this->aVersions;
+                $this->aFields['php_version'] = phpversion();
+
+                //*** PDO
+                $bPdo = false;
+                if (extension_loaded('pdo'))
+                    $bPdo = true;
+                else
+                    $bVeremap = false;
+                $this->aFields['pdo_extension_loaded'] = $bPdo;
+
+                //*** PDO Postgresql
+                $bPdoPgsql = false;
+                if (extension_loaded('pdo_pgsql'))
+                    $bPdoPgsql = true;
+                else
+                    $bVeremap = false;
+                $this->aFields['pdo_pgsql_extension_loaded'] = $bPdoPgsql;
+
+                //*** Curl
+                $bCurl = false;
+                if (extension_loaded('curl'))
+                    $bCurl = true;
+                else
+                    $bVeremap = false;
+                $this->aFields['curl_extension_loaded'] = $bCurl;
+
+                //*** Xsl
+                $bXsl = false;
+                if (extension_loaded('xsl'))
+                    $bXsl = true;
+                $this->aFields['xsl_extension_loaded'] = $bXsl;
+
+                //*** Ldap
+                $bLdap = false;
+                if (extension_loaded('ldap'))
+                    $bLdap = true;
+                $this->aFields['ldap_extension_loaded'] = $bLdap;
+
+                // OS.
+                $this->aFields['os_version'] = php_uname();
+
+                // Info disque.
+                $this->aFields['disk_free_space'] = round(disk_free_space("/") / 1073741824) . ' Go';
+                $this->aFields['disk_total_space'] = round(disk_total_space("/") / 1073741824) . ' Go';
+
+                //
+                $this->aFields['server_software'] = $_SERVER['SERVER_SOFTWARE'];
+                $this->aFields['server_addr'] = $_SERVER['SERVER_ADDR'];
+                $this->aFields['server_name'] = $_SERVER['SERVER_NAME'];
+                $this->aFields['server_port'] = $_SERVER['SERVER_PORT'];
+
+                //** Postgresql et Postgis
+                $bPostgresql = false;
+                $bPostgis = false;
+                if (!$this->oConnection->oBd->erreurRencontree) {
+                    $bPostgresql = true;
+                    $sSql = "SHOW server_version";
+                    $oPDOresult = $this->oConnection->oBd->executeWithParams($sSql, array());
+                    $oPgVersion = $this->oConnection->oBd->objetSuivant($oPDOresult);
+                    $sPostgresql = $oPgVersion->server_version;
+                    $this->aFields['postgresql_version'] = $sPostgresql;
+                    $this->oConnection->oBd->fermeResultat();
+
+                    $aVersion = explode(".", $sPostgresql);
+                    $bExtension = false;
+                    if ($aVersion[0] >= 9) {
+                        if ($aVersion[1] >= 1) {
+                            $bExtension = true;
+                        }
+                    }
+                    if ($bExtension == true) {
+                        $sSql = "SELECT default_version FROM pg_catalog.pg_available_extensions where name = 'postgis';";
+                        $oPDOresult = $this->oConnection->oBd->executeWithParams($sSql, array());
+                        if ($aPostgis = $this->oConnection->oBd->ligneSuivante($oPDOresult)) {
+                            $bPostgis = true;
+                            $sPostgis = $aPostgis['default_version'];
+                        } else {
+                            $bPostgis = false;
+                        }
+                    } else {
+                        $sSql = "SELECT datname FROM pg_catalog.pg_database where datname = 'template_postgis_20';";
+                        $oPDOresult = $this->oConnection->oBd->executeWithParams($sSql, array());
+                        if ($aPostgis = $this->oConnection->oBd->ligneSuivante($oPDOresult)) {
+                            $bPostgis = true;
+                            $sPostgis = '2.0';
+                        } else {
+                            $bPostgis = false;
+                        }
+                    }
+                    $this->aFields['postgis_version'] = $sPostgis;
+                    $this->oConnection->oBd->fermeResultat();
+                    $sSql = 'SELECT distinct module_id from [sSchemaFramework].vm_mode';
+                    $aParams['sSchemaFramework'] = array('value' => $this->aProperties['schema_framework'], 'type' => 'schema_name');
+                    $oPDOresult = $this->oConnection->oBd->executeWithParams($sSql, $aParams);
+                    while ($aLigne = $this->oConnection->oBd->ligneSuivante($oPDOresult)) {
+                        $aModules[] = $aLigne['module_id'];
+                    }
+                    $iRecordset = $this->oConnection->oBd->fermeResultat();
+                }
+                $this->aFields['postgresql'] = $bPostgresql;
+                $this->aFields['postgis'] = $bPostgis;
+
+                // Recherche de mise à jour
+                // 
+                if (!empty($this->aValues['app'])) {
+                    $sUrl = "http://update.veremes.net/vai/" . $this->aValues['app'] . ".json";
+                    $json = file_get_contents($sUrl);
+                    $data = json_decode($json, TRUE);
+                    $this->aFields['appVersion'] = $data['version'];
+                }
+            }
+            $aXmlRacineAttribute['status'] = 1;
+            $sMessage = $this->asDocument('', 'vitis', $this->aValues['sEncoding'], True, $aXmlRacineAttribute, $this->aValues['sSourceEncoding'], $this->aValues['output']);
+        } else {
+            http_response_code(403);
+            $aXmlRacineAttribute['status'] = 0;
+            $this->aFields['errorMessage'] = "ERROR : invalid token";
+            $sMessage = $this->asDocument('', 'vitis', $this->aValues['sEncoding'], True, $aXmlRacineAttribute, $this->aValues['sSourceEncoding'], $this->aValues['output']);
+        }
+
+        return $sMessage;
+    }
+
+}
+
 ?>
\ No newline at end of file
diff --git a/src/vitis/vas/sql/sqlQueries.xml b/src/vitis/vas/sql/sqlQueries.xml
index 4e745ccc2419751dc9590cbf5e359dc3ed5fb6a2..15c2ea3f0f97657a07c50e83ddf323b6e5b5dd31 100644
--- a/src/vitis/vas/sql/sqlQueries.xml
+++ b/src/vitis/vas/sql/sqlQueries.xml
@@ -67,7 +67,7 @@
 				ALTER TABLE v_user OWNER TO u_vitis;
 				CREATE VIEW v_user_group AS SELECT user_group.group_id,    user_group.user_id   FROM ((user_group     LEFT JOIN "user" ON ((user_group.user_id = "user".user_id)))     LEFT JOIN "group" ON (("group".group_id = user_group.group_id)))  WHERE ((("user".login)::name)::text = ("current_user"())::text);
 				ALTER TABLE v_user_group OWNER TO u_vitis;
-				CREATE TABLE version (    version character varying(10) NOT NULL,    build integer NOT NULL,    date timestamp with time zone NOT NULL,    active boolean);
+				CREATE TABLE version (    version character varying(100) NOT NULL,    build integer NOT NULL,    date timestamp with time zone NOT NULL,    active boolean);
 				ALTER TABLE version OWNER TO u_vitis;
 				CREATE TABLE vm_application (    name character varying(100) NOT NULL);
 				ALTER TABLE vm_application OWNER TO u_vitis;
diff --git a/utils/copy_hooks.bat b/utils/copy_hooks.bat
new file mode 100644
index 0000000000000000000000000000000000000000..a24ac68b0f099047b546b33d77a4fab3d99c0247
--- /dev/null
+++ b/utils/copy_hooks.bat
@@ -0,0 +1,3 @@
+
+
+robocopy "githooks" "../.git/hooks" /E /NFL /NDL /NJH /NJS /nc /ns /np
diff --git a/utils/get_deps.sh b/utils/get_deps.sh
index 92b0273980ef5ae8db6eea7268fd3a5c406243b9..0a26177f9d9a4d746b39799eff421477c4d6ebd8 100755
--- a/utils/get_deps.sh
+++ b/utils/get_deps.sh
@@ -1,24 +1,23 @@
 #!/bin/bash
 #
 #	Récupère l'ensemble des dépendances depuis conf/_install/dependency.xml
-#	Nécessite xmllint : sudo apt install libxml2-utils
 #
 #
 #
 #
 
-
 if [ "../conf/_install/dependency.xml" ]; then
 
-	let depsCount=$(xmllint --xpath 'count(//dependenciesCollection/dependency/name)' ../conf/_install/dependency.xml)
 	declare -A aDeps
 	vitisVersion=master
+	depsCount=0
+	dependencies=($(cat "../conf/_install/dependency.xml" | tr -d '\040\011\012\015' | grep -oP '<dependency>([\s\S]*?)<\/dependency>'))
 
-	for (( i=1; i <= $depsCount; i++ )); do
+	for i in ${!dependencies[*]}; do
 
-		sName="$(xmllint --xpath 'string(//dependenciesCollection/dependency['$i']/name)' ../conf/_install/dependency.xml)"
-		sVersion="$(xmllint --xpath 'string(//dependenciesCollection/dependency['$i']/version)' ../conf/_install/dependency.xml)"
-		sNature="$(xmllint --xpath 'string(//dependenciesCollection/dependency['$i']/nature)' ../conf/_install/dependency.xml)"
+		sName=$(grep -oP '(?<=name>)[^<]+' <<< ${dependencies[$i]})
+		sVersion=$(grep -oP '(?<=version>)[^<]+' <<< ${dependencies[$i]})
+		sNature=$(grep -oP '(?<=nature>)[^<]+' <<< ${dependencies[$i]})
 
 		if [ $sName == "vitis" ]; then
 			vitisVersion=$sVersion
@@ -27,22 +26,22 @@ if [ "../conf/_install/dependency.xml" ]; then
 			aDeps[$i, name]=$sName
 			aDeps[$i, version]=$sVersion
 			aDeps[$i, nature]=$sNature
+			let depsCount++
 		fi
 
 	done
 
 	echo "[INFO] dependencies:"
 	echo "vitis : $vitisVersion"
-	for (( i=1; i <= $depsCount; i++ )); do
-
-		echo "name: ${aDeps[$i, name]}"
-		echo "version: ${aDeps[$i, version]}"
-
+	for i in ${!dependencies[*]}; do
+		echo "(${aDeps[$i, nature]}) ${aDeps[$i, name]} : ${aDeps[$i, version]}"
 	done
+	echo "depsCount : ${depsCount}"
 
 	export vitisVersion
 	export depsCount
 	export aDeps
+
 else
 	echo "[ERROR] ../conf/_install/dependency.xml not found"
 fi
diff --git a/utils/init_symlinks.sh b/utils/init_symlinks.sh
index c98ed30e162c2d81c8b90e5b6755bb5602941b5e..f073ab46f032a47293d4090920fd5d34000d5ae1 100755
--- a/utils/init_symlinks.sh
+++ b/utils/init_symlinks.sh
@@ -19,23 +19,69 @@ read APP_EXISTING_PATH
 
 cd ..
 
+# Supprime les anciens symlinks
+if [ -d "client" ]; then
+	rm -Rf client
+fi
+if [ -d "vas" ]; then
+	rm -Rf vas
+fi
+find src/vitis/client -type l -delete
+find src/vitis/vas/sql -type l -delete
+find src/vitis/vas/rest -type l -delete
+
 # Vitis
 echo "---- Link vitis ----"
 if ! [ -e "$(pwd)/client" ]; then
-	echo "---- Link vitis 2 ----"
-	ln -rsf src/vitis/client client
+
+	mkdir client
+	mkdir client/javascript
+	mkdir client/modules
+	ln -rsf src/vitis/client/css client/css
+	ln -rsf src/vitis/client/forms client/forms
+	ln -rsf src/vitis/client/images client/images
+	ln -rsf src/vitis/client/javascript/app client/javascript/app
+	ln -rsf src/vitis/client/javascript/externs client/javascript/externs
+	ln -rsf src/vitis/client/javascript/require client/javascript/require
+	ln -rsf src/vitis/client/lang client/lang
+	ln -rsf src/vitis/client/less client/less
+	ln -rsf src/vitis/client/modules/vitis client/modules/vitis
+	ln -rsf src/vitis/client/templates client/templates
+	ln -rsf src/vitis/client/.htaccess client/.htaccess
+	ln -rsf src/vitis/client/index.html client/index.html
 fi
 if ! [ -e "$(pwd)/vas" ]; then
-	ln -rsf src/vitis/vas vas
+
+	mkdir vas
+	mkdir vas/rest
+	mkdir vas/rest/ws
+	ln -rsf src/vitis/vas/doc vas/doc
+	ln -rsf src/vitis/vas/rest/class vas/rest/class
+	ln -rsf src/vitis/vas/rest/inc vas/rest/inc
+	ln -rsf src/vitis/vas/rest/ws/vitis vas/rest/ws/vitis
+	ln -rsf src/vitis/vas/rest/index.phtml vas/rest/index.phtml
+	ln -rsf src/vitis/vas/rest/index.vhtml vas/rest/index.vhtml
+	ln -rsf src/vitis/vas/sql vas/sql
+	ln -rsf src/vitis/vas/util vas/util
 fi
 
 # Conf
 echo "---- Link conf ----"
 if ! [ -e "src/vitis/client/conf" ]; then
-	ln -rsf conf src/vitis/client/conf
+	# ln -rsf conf client/conf
+
+	mkdir client/conf
+	for elem in $( ls "conf"); do
+		if [[ $elem != 'properties.json' ]]; then
+			if [[ -d "conf/${elem}" || -f "conf/${elem}" ]]; then
+				echo "---- Link conf/$elem"
+				ln -rsf conf/$elem client/conf/$elem
+			fi
+		fi
+	done
 fi
 if ! [ -e "conf/closure" ]; then
-	ln -rsf src/closure/conf conf/closure
+	ln -rsf src/closure/conf client/conf/closure
 fi
 
 # Modules
@@ -47,22 +93,17 @@ if [[ $depsCount > 0 ]]; then
 				echo "---- Link module_${module} ----"
 				if [ -d "$(pwd)/src/module_${module}/module" ]; then
 					if ! [ -e "src/vitis/client/modules/${module}" ]; then
-						ln -rsf src/module_${module}/module src/vitis/client/modules/${module}
+						ln -rsf src/module_${module}/module client/modules/${module}
 					fi
 				fi
 				if [ -d "$(pwd)/src/module_${module}/web_service/ws" ]; then
 					if ! [ -e "src/vitis/vas/rest/ws/${module}" ]; then
-						ln -rsf src/module_${module}/web_service/ws src/vitis/vas/rest/ws/${module}
-					fi
-				fi
-				if [ -d "$(pwd)/src/module_${module}/web_service/conf" ]; then
-					if ! [ -e "src/vitis/vas/rest/conf/${module}" ]; then
-						ln -rsf src/module_${module}/web_service/conf src/vitis/vas/rest/conf/${module}
+						ln -rsf src/module_${module}/web_service/ws vas/rest/ws/${module}
 					fi
 				fi
 				if [ -d "$(pwd)/src/module_${module}/web_service/sql" ]; then
 					if ! [ -e "src/vitis/vas/sql/${module}" ]; then
-						ln -rsf src/module_${module}/web_service/sql src/vitis/vas/sql/${module}
+						ln -rsf src/module_${module}/web_service/sql vas/sql/${module}
 					fi
 				fi
 				if [ -d "$(pwd)/src/module_${module}/web_service/class" ]; then
@@ -70,7 +111,7 @@ if [[ $depsCount > 0 ]]; then
 						if [ -d "$(pwd)/src/module_${module}/web_service/class/${class_dir}" ]; then
 							echo "---- Link module_${module}/${class_dir} ----"
 							if ! [ -e "src/vitis/vas/rest/class/${class_dir}" ]; then
-								ln -rsf src/module_${module}/web_service/class/${class_dir} src/vitis/vas/rest/class/${class_dir}
+								ln -rsf src/module_${module}/web_service/class/${class_dir} vas/rest/class/${class_dir}
 							fi
 						fi
 					done
@@ -84,6 +125,7 @@ if [[ $depsCount > 0 ]]; then
 		echo "---- Link exixting app ${APP_EXISTING_PATH} ----"
 
 		declare -a existing_folders_path=("vas/server"
+		                "vas/rest/conf"
 		                "vas/log"
 						"vas/public"
 						"vas/shared"
@@ -99,11 +141,6 @@ if [[ $depsCount > 0 ]]; then
 		done
 
 		declare -a existing_files_path=("client/conf/properties.json"
-										"vas/rest/conf/properties.inc"
-										"vas/rest/conf/properties_domain.inc"
-										"vas/rest/conf/properties_post.inc"
-										"vas/rest/conf/properties_server.inc"
-										"vas/rest/conf/version.inc"
 										"vas/rest/.htaccess")
 		for file_path in "${existing_files_path[@]}"; do
 			if [ -f "${APP_EXISTING_PATH}/$file_path" ]; then
@@ -114,15 +151,8 @@ if [[ $depsCount > 0 ]]; then
 
 		for properties_dir in $( ls "${APP_EXISTING_PATH}/vas/rest/conf"); do
 			if [ -d "${APP_EXISTING_PATH}/vas/rest/conf/${properties_dir}" ]; then
-				if [ -d "$(pwd)/vas/rest/conf/${properties_dir}" ]; then
-					for properties_file in $( ls "${APP_EXISTING_PATH}/vas/rest/conf/${properties_dir}"); do
-						# if [ ${properties_file:0:10}=="properties"  ||  ${properties_file}=="version.inc" ]; then
-						if [[ $properties_file == "properties"* ]] || [[ $properties_file == "version.inc" ]]; then
-							echo "copy vas/rest/conf/${properties_dir}/${properties_file}"
-							cp -f "${APP_EXISTING_PATH}/vas/rest/conf/${properties_dir}/${properties_file}" "$(pwd)/vas/rest/conf/${properties_dir}/${properties_file}"
-						fi
-					done
-				fi
+				echo "copy ${APP_EXISTING_PATH}/vas/rest/conf/${properties_dir}/ > $(pwd)/vas/rest/conf/"
+				cp -Rf "${APP_EXISTING_PATH}/vas/rest/conf/${properties_dir}/" "$(pwd)/vas/rest/conf/"
 			fi
 		done
 	fi
diff --git a/utils/init_tree.bat b/utils/init_tree.bat
new file mode 100644
index 0000000000000000000000000000000000000000..d8e6956ca21d8e9e7a4d4d46c77657f1153fb8b9
--- /dev/null
+++ b/utils/init_tree.bat
@@ -0,0 +1,99 @@
+@echo off
+title Install Vitis App
+setlocal EnableDelayedExpansion
+
+cd ..
+
+set /p existing_path="Existing app path: "
+
+REM Client Dir
+echo Create client directory
+if exist "client" (
+  rmdir /S /Q "client"
+)
+echo copy client
+robocopy "src/vitis/client" "client" /E /NFL /NDL /NJH /NJS /nc /ns /np
+echo copy client/conf
+robocopy "conf" "client/conf" /E /NFL /NDL /NJH /NJS /nc /ns /np
+echo copy client/conf/closure
+robocopy "src/closure/conf" "client/conf/closure" /E /NFL /NDL /NJH /NJS /nc /ns /np
+
+echo Copy client modules
+for /d %%g in ("src/module_*") do (
+  set x=%%g
+  echo !x:~7!
+  if exist "src/%%g/module" (
+    echo copy client/modules/!x:~7!
+    robocopy "src/%%g/module" "client/modules/!x:~7!" /E /NFL /NDL /NJH /NJS /nc /ns /np
+  )
+)
+
+REM VAS dir
+echo Create vas directory
+echo Create client directory
+if exist "vas" (
+  rmdir /S /Q "vas"
+)
+echo copy vas
+robocopy "src/vitis/vas" "vas" /E /NFL /NDL /NJH /NJS /nc /ns /np
+
+echo Copy vas web_services
+for /d %%g in ("src/module_*") do (
+  set x=%%g
+  echo !x:~7!
+  if exist "src/%%g/web_service/conf" (
+    echo copy vas/rest/conf/!x:~7!
+    robocopy "src/%%g/web_service/conf" "vas/rest/conf/!x:~7!" /E /NFL /NDL /NJH /NJS /nc /ns /np
+  )
+  if exist "src/%%g/web_service/sql" (
+    echo copy vas/sql/!x:~7!
+    robocopy "src/%%g/web_service/sql" "vas/sql/!x:~7!" /E /NFL /NDL /NJH /NJS /nc /ns /np
+  )
+  if exist "src/%%g/web_service/ws" (
+    echo copy vas/rest/ws/!x:~7!
+    robocopy "src/%%g/web_service/ws" "vas/rest/ws/!x:~7!" /E /NFL /NDL /NJH /NJS /nc /ns /np
+  )
+  if exist "src/%%g/web_service/class" (
+    echo copy vas/rest/class
+    robocopy "src/%%g/web_service/class" "vas/rest/class" /E /NFL /NDL /NJH /NJS /nc /ns /np
+  )
+  if exist "src/%%g/web_service/ws_data" (
+    echo copy vas/ws_data
+    robocopy "src/%%g/web_service/ws_data" "vas/ws_data" /E /NFL /NDL /NJH /NJS /nc /ns /np
+  )
+  if exist "src/%%g/web_service/public" (
+    echo copy vas/public
+    robocopy "src/%%g/web_service/public" "vas/public" /E /NFL /NDL /NJH /NJS /nc /ns /np
+  )
+  if exist "src/%%g/web_service/upload" (
+    echo copy vas/upload
+    robocopy "src/%%g/web_service/upload" "vas/upload" /E /NFL /NDL /NJH /NJS /nc /ns /np
+  )
+)
+
+REM Copy from existing path
+if exist %existing_path% (
+  echo copy properties from %existing_path%
+
+  for %%G in (vas\server,vas\rest\conf,vas\log,vas\public,vas\shared,vas\tmp,vas\upload,vas\ws_data) do (
+    echo %%G
+    if exist %existing_path%\%%G (
+      echo copy %%G
+      robocopy "%existing_path%\%%G" "%%G" /E /NFL /NDL /NJH /NJS /nc /ns /np
+    )
+  )
+
+  if exist %existing_path%\client\conf\properties.json (
+    echo copy properties.json
+    robocopy "%existing_path%\client\conf" "client\conf" "properties.json" /NFL /NDL /NJH /NJS /nc /ns /np
+  )
+  if exist %existing_path%\vas\rest\.htaccess (
+    echo copy .htaccess
+    robocopy "%existing_path%\vas\rest" "vas\rest" ".htaccess" /NFL /NDL /NJH /NJS /nc /ns /np
+  )
+
+  if exist "%existing_path%\vas\rest\conf" (
+    echo copy vas\rest\conf
+    robocopy "%existing_path%\vas\rest\conf" "vas\rest\conf" /E /NFL /NDL /NJH /NJS /nc /ns /np
+  )
+)
diff --git a/utils/pull_subtrees.sh b/utils/pull_subtrees.sh
index c2793f2ee9ad6e0f53da243fb1b6d26dd9baa20b..5cac1ba0c4a626761809103e822793ec694068a4 100755
--- a/utils/pull_subtrees.sh
+++ b/utils/pull_subtrees.sh
@@ -17,17 +17,7 @@ cd ..
 
 # Vitis
 echo "---- Pull vitis ----"
-git subtree pull --prefix src/vitis --squash -m "pull subtree"  "git@gitlab.veremes.net:Development/vitis_apps/sources/vitis.git" master
-
-# fichiers à ignorer
-git update-index --assume-unchanged conf/properties.json
-git update-index --assume-unchanged conf/package.json
-git update-index --assume-unchanged src/vitis/vas/rest/.htaccess
-git update-index --assume-unchanged src/vitis/vas/rest/conf/properties.inc
-git update-index --assume-unchanged src/vitis/vas/rest/conf/properties_domain.inc
-git update-index --assume-unchanged src/vitis/vas/rest/conf/properties_post.inc
-git update-index --assume-unchanged src/vitis/vas/rest/conf/properties_server.inc
-git update-index --assume-unchanged src/vitis/vas/rest/conf/version.inc
+git subtree pull --prefix src/vitis --squash -m "pull subtree"  "git@gitlab.veremes.net:Development/vitis_apps/sources/vitis.git" $vitisVersion
 
 # Modules
 if [[ $depsCount > 0 ]]; then
@@ -36,11 +26,7 @@ if [[ $depsCount > 0 ]]; then
 			echo "---- Pull ${aDeps[$i, name]} ----"
 
 			# Ajoute le dépôt
-			git subtree pull --prefix src/${aDeps[$i, name]} --squash -m "pull subtree" "git@gitlab.veremes.net:Development/vitis_apps/sources/${aDeps[$i, name]}.git" master
-			# fichiers à ignorer
-			git update-index --assume-unchanged src/${aDeps[$i, name]}/web_service/conf/properties.inc
-			git update-index --assume-unchanged src/${aDeps[$i, name]}/web_service/conf/properties_server.inc
-			git update-index --assume-unchanged src/${aDeps[$i, name]}/web_service/conf/version.inc
+			git subtree pull --prefix src/${aDeps[$i, name]} --squash -m "pull subtree" "git@gitlab.veremes.net:Development/vitis_apps/sources/${aDeps[$i, name]}.git" ${aDeps[$i, version]}
 		fi
 	done
 fi
diff --git a/utils/push_subtrees.sh b/utils/push_subtrees.sh
index b4949ea2dca1465c2cc0282d59442c158d7138e1..18a9d3bdac1f0d8d3f6af3e16af06d7337ddf9f6 100755
--- a/utils/push_subtrees.sh
+++ b/utils/push_subtrees.sh
@@ -17,7 +17,11 @@ cd ..
 
 # Vitis
 echo "---- Push vitis ----"
-git subtree push --prefix src/vitis "git@gitlab.veremes.net:Development/vitis_apps/sources/vitis.git" master
+{ # 'try' block
+	git subtree push --prefix src/vitis "git@gitlab.veremes.net:Development/vitis_apps/sources/vitis.git" $vitisVersion
+} || { # 'catch' block
+	echo "could not push vitis"
+}
 
 # Modules
 if [[ $depsCount > 0 ]]; then
@@ -28,7 +32,7 @@ if [[ $depsCount > 0 ]]; then
 			# Push le dépôt
 
 			{ # 'try' block
-				git subtree push --prefix src/${aDeps[$i, name]} "git@gitlab.veremes.net:Development/vitis_apps/sources/${aDeps[$i, name]}.git" master
+				git subtree push --prefix src/${aDeps[$i, name]} "git@gitlab.veremes.net:Development/vitis_apps/sources/${aDeps[$i, name]}.git" ${aDeps[$i, version]}
 			} || { # 'catch' block
 			    echo "could not push ${aDeps[$i, name]}"
 			}
diff --git a/utils/update_tree.bat b/utils/update_tree.bat
new file mode 100644
index 0000000000000000000000000000000000000000..3c3c5dc356d7cc5922c046ea95f6787f80faa363
--- /dev/null
+++ b/utils/update_tree.bat
@@ -0,0 +1,80 @@
+@echo off
+title Update Vitis tree
+echo Update Vitis tree
+setlocal EnableDelayedExpansion
+
+cd utils
+
+REM Pull repo
+"C:\Program Files\Git\bin\sh.exe" --login -i -c "git pull"
+
+REM Pull subtrees
+"C:\Program Files\Git\bin\sh.exe" --login -i -c "./pull_subtrees.sh"
+
+REM Save important files
+if exist "../vas/rest/sql" (
+  robocopy "../vas/rest/sql" "../vas/rest/sql_bak" /E /NFL /NDL /NJH /NJS /nc /ns /np
+)
+if exist "../vas/rest/conf" (
+  robocopy "../vas/rest/conf" "../vas/rest/conf_bak" /E /NFL /NDL /NJH /NJS /nc /ns /np
+)
+
+REM Replace Vitis files
+for /d %%g in ("../src/vitis/client/*") do (
+  set x=%%g
+  echo copy client/!x!
+  rmdir /S /Q "../client/!x!"
+  robocopy "../src/vitis/client/!x!" "../client/!x!" /E /NFL /NDL /NJH /NJS /nc /ns /np
+)
+for /d %%g in ("../src/vitis/vas/sql") do (
+  echo copy vas/sql
+  rmdir /S /Q "../vas/sql"
+  robocopy "../src/vitis/vas/sql" "../vas/sql" /E /NFL /NDL /NJH /NJS /nc /ns /np
+)
+for /d %%g in ("../src/vitis/vas/rest/class") do (
+  echo copy vas/rest/class
+  rmdir /S /Q "../vas/rest/class"
+  robocopy "../src/vitis/vas/rest/class" "../vas/rest/class" /E /NFL /NDL /NJH /NJS /nc /ns /np
+)
+for /d %%g in ("../src/vitis/vas/rest/conf") do (
+  echo copy vas/rest/conf
+  robocopy "../src/vitis/vas/rest/conf" "../vas/rest/conf_veremes" /E /NFL /NDL /NJH /NJS /nc /ns /np
+)
+for /d %%g in ("../src/vitis/vas/rest/inc") do (
+  echo copy vas/rest/inc
+  rmdir /S /Q "../vas/rest/inc"
+  robocopy "../src/vitis/vas/rest/inc" "../vas/rest/inc" /E /NFL /NDL /NJH /NJS /nc /ns /np
+)
+for /d %%g in ("../src/vitis/vas/rest/ws") do (
+  echo copy vas/rest/ws
+  rmdir /S /Q "../vas/rest/ws"
+  robocopy "../src/vitis/vas/rest/ws" "../vas/rest/ws" /E /NFL /NDL /NJH /NJS /nc /ns /np
+)
+
+REM Replace modules files
+for /d %%g in ("../src/module_*") do (
+  set x=%%g
+  if exist "../src/%%g/module" (
+    echo copy client/modules/!x:~7!
+    robocopy "../src/%%g/module" "../client/modules/!x:~7!" /E /NFL /NDL /NJH /NJS /nc /ns /np
+  )
+  if exist "../src/%%g/web_service/conf" (
+    echo copy vas/rest/conf_veremes/!x:~7!
+    robocopy "../src/%%g/web_service/conf" "../vas/rest/conf_veremes/!x:~7!" /E /NFL /NDL /NJH /NJS /nc /ns /np
+  )
+  if exist "../src/%%g/web_service/sql" (
+    echo copy vas/sql/!x:~7!
+    robocopy "../src/%%g/web_service/sql" "../vas/sql/!x:~7!" /E /NFL /NDL /NJH /NJS /nc /ns /np
+  )
+  if exist "../src/%%g/web_service/ws" (
+    echo copy vas/rest/ws/!x:~7!
+    robocopy "../src/%%g/web_service/ws" "../vas/rest/ws/!x:~7!" /E /NFL /NDL /NJH /NJS /nc /ns /np
+  )
+  if exist "../src/%%g/web_service/class" (
+    echo copy vas/rest/class
+    robocopy "../src/%%g/web_service/class" "../vas/rest/class" /E /NFL /NDL /NJH /NJS /nc /ns /np
+  )
+)
+
+
+cd ..