From 66ba353456423b702906de314599eadfa333829c Mon Sep 17 00:00:00 2001 From: Alex38Lyon <55714436+Alex38Lyon@users.noreply.github.com> Date: Mon, 16 Jun 2025 19:16:18 +0200 Subject: [PATCH] pyCreateTh --- Scripts/pyCreateTh.log | 52 + .../Lib/__pycache__/therion.cpython-313.pyc | Bin 14637 -> 15981 bytes Scripts/pyCreateTh/Lib/therion.py | 53 +- Scripts/pyCreateTh/Template/template.thconfig | 3 +- Scripts/pyCreateTh/Tests/Fulford.dat | 513 ++++++ Scripts/pyCreateTh/Tests/Fulfords.log | 1524 +++++++++++++++++ Scripts/pyCreateTh/Tests/Fulfords.mak | 18 + Scripts/pyCreateTh/Tests/Fulsurf.dat | 68 + .../__pycache__/pyCreateTh.cpython-313.pyc | Bin 0 -> 89991 bytes Scripts/pyCreateTh/pyCreateTh.py | 650 +++++-- Scripts/pyCreateTh/pyCreate_th2_Old.py | 993 ----------- 11 files changed, 2727 insertions(+), 1147 deletions(-) create mode 100644 Scripts/pyCreateTh.log create mode 100644 Scripts/pyCreateTh/Tests/Fulford.dat create mode 100644 Scripts/pyCreateTh/Tests/Fulfords.log create mode 100644 Scripts/pyCreateTh/Tests/Fulfords.mak create mode 100644 Scripts/pyCreateTh/Tests/Fulsurf.dat create mode 100644 Scripts/pyCreateTh/__pycache__/pyCreateTh.cpython-313.pyc delete mode 100644 Scripts/pyCreateTh/pyCreate_th2_Old.py diff --git a/Scripts/pyCreateTh.log b/Scripts/pyCreateTh.log new file mode 100644 index 0000000..4b57a4a --- /dev/null +++ b/Scripts/pyCreateTh.log @@ -0,0 +1,52 @@ +2025-06-16 10:43:06,687 - INFO - ******************************************************************************************************************************************** +2025-06-16 10:43:06,687 - INFO - * Conversion Th, Dat, Mak files to Therion files and folders +2025-06-16 10:43:06,687 - INFO - * Script pyCreateTh by : alexandre.pont@yahoo.fr +2025-06-16 10:43:06,687 - INFO - * Version : 2025.06.16 +2025-06-16 10:43:06,687 - INFO - * Input file : +2025-06-16 10:43:06,688 - INFO - * Output file : ~\. +2025-06-16 10:43:06,688 - INFO - * Log file : ~\..\pyCreateTh.log +2025-06-16 10:43:06,688 - INFO - * +2025-06-16 10:43:06,688 - INFO - * +2025-06-16 10:43:06,689 - INFO - * +2025-06-16 10:43:06,692 - INFO - ******************************************************************************************************************************************** +2025-06-16 10:43:06,694 - ERROR - !!! file not yet supported +2025-06-16 10:43:06,694 - ERROR - !!! There were 1 errors during 3.66 secondes, check the log file ~\..\pyCreateTh.log +2025-06-16 15:49:29,787 - INFO - ******************************************************************************************************************************************** +2025-06-16 15:49:29,788 - INFO - * Conversion Th, Dat, Mak files to Therion files and folders +2025-06-16 15:49:29,789 - INFO - * Script pyCreateTh by : alexandre.pont@yahoo.fr +2025-06-16 15:49:29,789 - INFO - * Version : 2025.06.16 +2025-06-16 15:49:29,789 - INFO - * Input file : +2025-06-16 15:49:29,789 - INFO - * Output file : ~\. +2025-06-16 15:49:29,789 - INFO - * Log file : ~\..\pyCreateTh.log +2025-06-16 15:49:29,790 - INFO - * +2025-06-16 15:49:29,790 - INFO - * +2025-06-16 15:49:29,790 - INFO - * +2025-06-16 15:49:29,790 - INFO - ******************************************************************************************************************************************** +2025-06-16 15:49:29,791 - ERROR - !!! file not yet supported +2025-06-16 15:49:29,792 - ERROR - !!! There were 1 errors during 8.04 secondes, check the log file ~\..\pyCreateTh.log +2025-06-16 16:18:18,921 - INFO - ******************************************************************************************************************************************** +2025-06-16 16:18:18,922 - INFO - * Conversion Th, Dat, Mak files to Therion files and folders +2025-06-16 16:18:18,922 - INFO - * Script pyCreateTh by : alexandre.pont@yahoo.fr +2025-06-16 16:18:18,922 - INFO - * Version : 2025.06.16 +2025-06-16 16:18:18,923 - INFO - * Input file : +2025-06-16 16:18:18,923 - INFO - * Output file : ~\. +2025-06-16 16:18:18,923 - INFO - * Log file : ~\..\pyCreateTh.log +2025-06-16 16:18:18,923 - INFO - * +2025-06-16 16:18:18,924 - INFO - * +2025-06-16 16:18:18,924 - INFO - * +2025-06-16 16:18:18,924 - INFO - ******************************************************************************************************************************************** +2025-06-16 16:18:18,925 - ERROR - !!! file not yet supported +2025-06-16 16:18:18,926 - ERROR - !!! There were 1 errors during 2.39 secondes, check the log file ~\..\pyCreateTh.log +2025-06-16 19:05:25,443 - INFO - ******************************************************************************************************************************************** +2025-06-16 19:05:25,445 - INFO - * Conversion Th, Dat, Mak files to Therion files and folders +2025-06-16 19:05:25,445 - INFO - * Script pyCreateTh by : alexandre.pont@yahoo.fr +2025-06-16 19:05:25,445 - INFO - * Version : 2025.06.16 +2025-06-16 19:05:25,445 - INFO - * Input file : +2025-06-16 19:05:25,446 - INFO - * Output file : ~\. +2025-06-16 19:05:25,446 - INFO - * Log file : ~\..\pyCreateTh.log +2025-06-16 19:05:25,446 - INFO - * +2025-06-16 19:05:25,446 - INFO - * +2025-06-16 19:05:25,446 - INFO - * +2025-06-16 19:05:25,447 - INFO - ******************************************************************************************************************************************** +2025-06-16 19:05:25,448 - ERROR - !!! file not yet supported +2025-06-16 19:05:25,448 - ERROR - !!! There were 1 errors during 13.29 secondes, check the log file ~\..\pyCreateTh.log diff --git a/Scripts/pyCreateTh/Lib/__pycache__/therion.cpython-313.pyc b/Scripts/pyCreateTh/Lib/__pycache__/therion.cpython-313.pyc index 51c52e76ad279854baee20ee33ff6c88d80b0d8c..c1c544f9c7f7701fbee67a9e750a9634d770c4d2 100644 GIT binary patch delta 3416 zcma)8eQZX8_(*Shiv2J?v|a{tJ98=)!VPPE{MX?(E%J3f?WzUG{v90W(=E+9VW#y8 zTCnwS8OcXFlNDAyo3xl!WL#zb&u>J`HWBSFy>3%dg2 z;{IURMa7U`4vxB{peq`Yq~LH!Tn&?OB>WI5>Zfv047uKa)1`{kH4<};AbnBh_owJ|Zcas9zpe^!{N<6?9{w9GDnU^bmlmFzxh* zVqy!W5vpjVXecNvf+R*2AsUHNtZl_G?3cu_f4`^*Au;SRQaFchP=m`M)rEnIqbW&u z&>s?GR59-N9~v4Fqp-3GDPX0tq!?2~6m?XTVj)@4sut!iu}w<;QE_M?ELsOEKLU@m z88UN>`_#l`W=~HXpO~IJJ~=BVEv3iW?^v=HHE+<WxT87?8T?{&P?t-+kCF| zOl#6sF=e`KEj-md(|vZ`xw38|fCv|_c*j`A#TLOE0AQiwdUdbtG zs^_lMH@jQwg%1jv3t;$F9RUn1v>Yz}Q{lG)X^uayFDGOp`>~;fY-LHqCT#%TZ;fXg z zxdQ=u6Gw3&+J&$UK`mkd>YjGvbUQ*10<<+w5oj!|XnHz&S`?kP@A2)vKI%o|PWGy; z#I*}WXi*#uB0!tt6iqNZ8linS_p#sG9Cf=<+=GDKmkuJRhx8;$dl7~Z)T7yl(s}^4 z#$G^%S-X9$_9#rn_%rq|G|aNnNc!W)9Bm|TzyWIY=i?STQ3h8dFk?|LEzPIL)AyHy zBd5zr%xp(-brwYKO<%SQWV1&-MJXGrEMB2X5t6~K6qgYTyy0dhXO#V=*v$_(*oV$q zA*)8q{_Av*Z!w3fgk%H7g{Bu>4J3zMb=43nzNIxl9D26ZS;)4!9b0VO57OYqq`^qI zG87qms5X|0fsR73eY6emf>sfr1Emi1DfX)SF`n*XAG!01%)W3xGf7K;ggu5+^dmuv zjYmykDy?eHv^|li7^W175`voSgDB|`@Zi)AqAmixMv~$FRVD8vZ)32J6U>(J5x=rn%7h|S!0P461cbI5fj`F+Qqdbg#yblL2zY~YtUHC$J zKYz!ZJ6k<(E!p zxV1*Lre-~bY;T35KDV1b3tqpnmatdQafELoESDCYj9;v9@MIUewkA)frucdG*EOyd z_2YdJ$=^Xx%SA1N<#JKkYQNYC6pscjP8tc&mypj8hS~PYX7Wk=rOJH-zK_qV3cJ6J z`YEIrE>|r*j#_LwsfvxF^rZr|q7F-$zJQP_WH!8Z)ubAgTEA-7Nj03OgP{;TflReb z@orowOprV#dJ+|1E>F~{CpCl8EP#>@eK#7Dhvac8`bX$6=p@XaYw5>~)wZJ!BAPS@qUewP&-JN*jrb>qP?h#cyisjdTst1=_{Z>NaXG!enKX(B?r{2S`Iw2SUtXoVp(8+QfM^ zZc*>k?MUQj7Ci+ zzBwmVTSskGCSLYqg1vYn!9H4o16#vPF3s*`@3L~=p3dOmgu)ZSsi<;xDmb7d9!sim zXc4bvne~pyc4j}e?O@CWVu_2%;3?^p4&tNgvNI)FYkMs{)kUZyxC!+H521k|6LuhU zmf{a!D>L2*hpNh13q-1%)rV-vqHwPAgwD8b3B{Y5TbgBoH`0}l!0)TZSrh!Hs*ZWV z<(L`pk(^IA`UP*M*iZN+p@q;&Xd{RST?{Kp-cH>PLMNdM{^}^V?5406K6kjP`zW*% zMhX20-5iO{sQf|d_dui5(XofZ0m2~RA%ZdYhbh`i*hesCydNXo!j;5aGzpiSRcr`e zaQdV$%Kh07oZp(QMHm+1`Q@GLa?Qg`7%hZ;0?@UP9VIt9P?}@Rr%3&{NyJb$GonIjiu98rv0B!#}D1M!9(a z=QhThkT)e=45g-X-*yZlo;{Xz;Zl(I!5=)8YyuWNPo#B0P3Y$MRB~3&n~w0<)Z>a# zzg$hb@GiO(P~%FB2QlWy2}Y$)P-G!E5PBY0qI4JIVOW4fl1JjY6jf7bF{8{AluQ25 z&8ewKl21~?JNEv zt@+^lGap8mqKgySql&g^=A-;D{IH`c{kH4Y$@y?5Jg;Wdh1u1>$XejYa^T2X;N)`P zq!yZ434~W#XSJ5d>Z$nJsWZ!`&S;U;U6bi78xp=UnGOo0!Z*~63t!|K92*jj3fLSI z9;N1}5TvI3IOW?WginjgpKn?&a$Y^~-Ce0ukhZNSDsg64_OX3t(~{YGpg~+J?k_#y z693|ouoL=m*}JW?F+u>5b00sIm6{v^ z>w_A9g~h0T9D4lKgT}9Zo{}#R3^y4L*>Drz@Cxt66xoapGgs@-zwe+m|%sb3IAXuMxUUolC~&l9Tx3C{xpX2(<+5 zIn^5n9Bs81UPmcQW0gYoT`IW4H&=E+$(zV3Yemdng)!nT}nS=P>-rl)cfR zFxK>JS6hKDMwOT>@>b~W>X2T;VJUm5%fcF)Fx2xC=Mo`R<HJ81jgorzUn8YnNdWGJ!5|MbE<(HXMnC`EN)m!2N6p z1zgSy>lkLG$#B|R_)`Qb6Q@b&c_H=jcqFQDT max_depth: + result = os.path.join("~\\" , *parts[-max_depth:]) + + return result + + ################################################################################################# def compile_template(template, template_args, **kwargs): global error_count @@ -61,8 +95,9 @@ def compile_template(template, template_args, **kwargs): except Exception as e: log.error(f"Therion template compilation error: {Colors.ENDC}{e}") error_count += 1 + - +################################################################################################# def compile_template2(template, template_args, **kwargs): global error_count @@ -128,7 +163,7 @@ def compile_template2(template, template_args, **kwargs): except Exception as cleanup_err: log.warning(f"Could not delete temp directory: {Colors.ENDC}{cleanup_err}") - + ################################################################################################# def compile_file(filename, **kwargs): global error_count @@ -147,7 +182,7 @@ def compile_file(filename, **kwargs): bufsize=1 # ligne par ligne ) - log.info(f"Start therion compilation file : {Colors.ENDC}~\\{os.path.relpath(filename)}") + log.info(f"Start therion compilation file : {Colors.ENDC}{safe_relpath(filename)}") # Lecture en temps réel for line in process.stdout: line = line.rstrip() @@ -167,15 +202,14 @@ def compile_file(filename, **kwargs): log.error(f"Error during Therion compilation, stderr : \n{Colors.ENDC}{process.stderr.decode()}") error_count += 1 - log.info(f"Therion file : {Colors.ENDC}~\\{os.path.relpath(filename)}{Colors.GREEN} succeeded") + log.info(f"Therion file : {Colors.ENDC}{safe_relpath(filename)}{Colors.GREEN} succeeded") except Exception as e: - log.error(f"Therion file {Colors.ENDC}~\\{os.path.relpath(filename, os.path.expanduser('~'))}{Colors.ERROR} compilation error: {Colors.ENDC}{e}") + log.error(f"Therion file {Colors.ENDC}{safe_relpath(filename, os.path.expanduser('~'))}{Colors.ERROR} compilation error: {Colors.ENDC}{e}") error_count += 1 - - +################################################################################################# def compile_file2(filename, **kwargs): global error_count @@ -232,14 +266,13 @@ def compile_file2(filename, **kwargs): error_count += 1 else: - log.info(f"Therion file : {Colors.ENDC}~\\{os.path.relpath(filename)}{Colors.GREEN} compilation succeeded") + log.info(f"Therion file : {Colors.ENDC}{safe_relpath(filename)}{Colors.GREEN} compilation succeeded") except Exception as e: - log.error(f"Therion file {Colors.ENDC}~\\{os.path.relpath(filename)}{Colors.ERROR} compilation error: {Colors.ENDC}{e}") + log.error(f"Therion file {Colors.ENDC}{safe_relpath(filename)}{Colors.ERROR} compilation error: {Colors.ENDC}{e}") error_count += 1 - ################################################################################################# def compile_file_th(filepath, **kwargs): template = """source {filepath} diff --git a/Scripts/pyCreateTh/Template/template.thconfig b/Scripts/pyCreateTh/Template/template.thconfig index 816ce73..7c2a7ef 100644 --- a/Scripts/pyCreateTh/Template/template.thconfig +++ b/Scripts/pyCreateTh/Template/template.thconfig @@ -35,7 +35,8 @@ encoding utf-8 source {fileName}-tot.th ## Add config file -input config.thc +input {configPath}config.thc + ############################################################################################### ## 2-LAYOUT diff --git a/Scripts/pyCreateTh/Tests/Fulford.dat b/Scripts/pyCreateTh/Tests/Fulford.dat new file mode 100644 index 0000000..1a8ad8a --- /dev/null +++ b/Scripts/pyCreateTh/Tests/Fulford.dat @@ -0,0 +1,513 @@ +Fulford Cave +SURVEY NAME: A +SURVEY DATE: 6 29 1987 COMMENT:Entrance Passage +SURVEY TEAM: + , , , , +DECLINATION: 11.18 FORMAT: DDDDUDLRLADN CORRECTIONS: 0.00 0.00 0.00 + + FROM TO LENGTH BEARING INC LEFT UP DOWN RIGHT FLAGS COMMENTS + + A1 A2 21.75 63.50 -28.00 2.60 2.60 2.60 2.60 + A2 A3 23.75 15.50 -17.00 8.00 0.00 2.10 2.70 + A3 A4 13.35 303.00 -13.50 11.80 3.00 6.00 9.20 + A4 A5 14.00 51.00 -14.00 -9999.00 6.00 4.20 -9999.00 + A5 A6 32.90 105.50 -8.00 8.00 6.60 5.00 -9999.00 + A6 A7 21.10 123.00 22.00 4.00 22.00 4.90 0.00 + A6 A8 32.85 76.00 11.00 4.00 22.00 4.90 0.00 + A8 A9 19.20 16.00 4.00 6.00 12.00 0.00 2.50 + A9 A10 23.75 276.50 -33.50 3.00 6.00 4.50 0.00 + A10 A11 9.25 3.50 -16.00 5.80 3.90 0.50 -9999.00 + A11 A12 16.60 20.00 -8.00 1.40 0.00 3.90 3.80 + A12 A13 30.80 13.00 0.00 5.00 0.00 4.70 3.30 + +Fulford Cave +SURVEY NAME: A+ +SURVEY DATE: 6 20 1987 COMMENT:Big Meander Area +SURVEY TEAM: +Steve Reames,Stan Allison, , , +DECLINATION: 11.18 FORMAT: DDDDUDLRLADN CORRECTIONS: 0.00 0.00 0.00 + + FROM TO LENGTH BEARING INC LEFT UP DOWN RIGHT FLAGS COMMENTS + + A13 A14 18.20 8.50 6.00 6.90 6.00 2.00 4.00 + A14 A15 17.70 333.00 7.00 0.60 3.00 4.30 3.40 + A15 A16 20.50 7.50 -5.00 -9999.00 4.00 2.20 1.00 + A13 A17 27.20 303.00 -17.00 6.90 6.00 2.00 4.00 + A17 A18 14.80 272.00 -31.00 3.00 6.00 4.00 4.20 + A18 A19 12.30 346.00 -13.00 2.20 0.90 1.30 -9999.00 + A19 A20 22.00 18.00 16.00 2.90 -9999.00 5.60 5.30 + A20 A21 33.20 89.00 19.00 2.90 4.00 4.00 5.30 + A21 A22 10.10 65.00 32.00 4.00 5.00 5.00 9.00 + A16 A22 14.50 97.00 3.00 -9999.00 2.70 2.70 -9999.00 + A22 A23 43.40 15.00 3.00 4.00 5.00 5.00 9.00 + A23 A24 20.60 21.00 0.00 -9999.00 12.00 5.00 -9999.00 + A24 A25 11.80 28.00 4.00 -9999.00 10.00 2.00 -9999.00 + A25 A26 10.70 29.00 9.00 3.00 2.00 2.00 2.00 + A26 A27 17.80 55.00 19.00 3.00 2.00 2.00 2.00 + A27 A28 21.70 110.00 9.00 3.80 6.00 3.70 3.00 + A28 A29 11.40 177.00 26.00 0.50 1.30 3.30 5.30 + A29 A30 12.40 150.00 34.00 3.50 0.00 3.90 2.00 + A30 A31 15.60 172.00 -48.00 0.00 1.00 2.00 1.80 + A31 A32 18.60 38.00 -28.00 3.50 5.70 0.00 1.00 + +Fulford Cave +SURVEY NAME: B +SURVEY DATE: 9 5 1987 COMMENT:Stream Gallery +SURVEY TEAM: +Steve Reames,Paul Burger,Todd Warren, , +DECLINATION: 11.18 FORMAT: DDDDUDLRLADN CORRECTIONS: 0.00 0.00 0.00 + + FROM TO LENGTH BEARING INC LEFT UP DOWN RIGHT FLAGS COMMENTS + + B2 A32 46.10 146.50 27.00 14.60 4.00 1.50 11.00 + B2 B1 14.20 240.00 -31.00 14.60 4.00 1.50 11.00 + B2 B2A 21.70 352.00 -9.00 14.60 4.00 1.50 11.00 + A32 B3 57.40 159.50 16.00 11.00 3.50 1.50 -9999.00 + B3 B4 41.20 131.00 16.00 15.00 5.00 12.00 3.00 + B4 B5 11.60 26.00 -8.00 12.00 14.00 4.00 8.00 + B5 B6 30.40 125.00 9.00 10.00 16.00 0.00 10.00 + B6 B7 38.50 61.00 30.00 4.00 20.00 4.00 1.00 + B7 B8 30.50 154.00 18.00 5.00 3.00 4.00 -9999.00 + B8 B9 11.90 148.00 -5.00 0.00 9.00 5.50 6.00 + B9 B10 21.80 122.50 -5.00 2.00 3.00 4.00 4.00 + B10 B11 8.40 33.00 0.00 -9999.00 3.00 1.00 6.50 + B4 B12 25.60 143.00 45.00 4.00 20.00 4.00 1.00 + B12 B13 90.10 120.50 25.00 23.00 15.00 5.00 8.00 + B14 B13 27.60 33.00 35.00 0.00 30.00 15.00 24.00 + B14 B15 61.20 86.00 21.50 22.00 20.00 5.00 2.00 + B15 B16 45.60 115.00 18.00 4.00 13.00 5.00 0.00 + B16 B17 36.00 135.50 25.00 3.00 5.00 0.00 5.00 + B17 B18 11.70 128.00 13.00 4.00 5.00 5.00 4.00 + B18 B19 16.70 138.00 9.50 5.00 4.00 0.00 3.00 + B19 B20 8.80 180.00 50.00 3.00 5.50 3.00 1.00 + B20 B21 15.10 56.00 45.00 4.50 6.50 4.00 0.00 + B21 B21 0.00 0.00 0.00 6.00 12.00 5.00 7.00 + +Fulford Cave +SURVEY NAME: C +SURVEY DATE: 7 16 1988 COMMENT:Breakdown Room +SURVEY TEAM: +Steve Reames,Paul Burger, , , +DECLINATION: 11.18 FORMAT: DDDDUDLRLADN CORRECTIONS: 0.00 0.00 0.00 + + FROM TO LENGTH BEARING INC LEFT UP DOWN RIGHT FLAGS COMMENTS + + A24 C1 20.85 72.00 26.00 -9999.00 10.00 2.00 -9999.00 + C1 C2 21.35 76.50 38.00 0.50 7.00 1.00 9.00 + C2 C3 8.15 67.50 24.00 6.00 0.00 3.00 -9999.00 + C3 C4 7.00 158.00 8.50 3.00 0.50 2.00 4.00 + C4 C5 11.55 32.00 61.00 2.00 2.50 1.00 2.50 + C5A C5 9.55 18.00 56.00 3.00 0.00 5.00 5.00 + C5A C5B 4.10 0.00 -90.00 -9999.00 -9999.00 -9999.00 -9999.00 + A30 C5B 4.00 260.00 16.00 0.00 1.10 2.00 1.80 + C6 C5 16.70 342.00 -39.00 30.00 0.00 5.50 7.00 + C6 C6A 30.40 304.50 -11.00 30.00 0.00 5.50 7.00 + C6 C6B 17.00 151.00 31.00 30.00 0.00 5.50 7.00 + C6 C6C 26.50 80.00 22.00 30.00 0.00 5.50 7.00 + C6 C7 33.30 270.00 -7.00 30.00 0.00 5.50 7.00 + C7 C8 46.85 171.00 13.50 30.00 0.00 5.50 7.00 + C8 C9 25.15 189.00 4.00 15.00 3.00 2.00 20.00 + C9 C10 39.35 203.00 -12.00 15.00 2.00 0.00 14.00 + C10 C11 74.65 181.00 -2.00 34.00 1.00 3.00 15.00 + +Fulford Cave +SURVEY NAME: C+ +SURVEY DATE: 7 17 1988 COMMENT:Moon Milk Corridor +SURVEY TEAM: +Steve Reames,Paul Burger , , , +DECLINATION: 11.18 FORMAT: DDDDUDLRLADN CORRECTIONS: 0.00 0.00 0.00 + + FROM TO LENGTH BEARING INC LEFT UP DOWN RIGHT FLAGS COMMENTS + + C11 C12 63.60 203.50 2.00 4.00 10.00 6.00 18.00 + C12 C13 30.35 70.00 -1.50 0.00 8.00 2.00 12.00 + C13 C14 41.10 42.50 20.50 7.00 10.00 2.00 0.00 + C14 CA1 13.80 21.00 11.00 10.00 5.00 8.00 5.00 + CA1 CA2 26.25 357.00 -21.00 4.00 3.50 2.00 10.00 + CA2 CA3 30.45 4.00 3.00 3.00 4.00 2.00 4.00 + CA3 CA4 15.55 266.00 0.00 -9999.00 6.00 0.50 -9999.00 + CA4 C10 34.60 325.00 -13.00 6.00 0.00 5.00 7.00 + +Fulford Cave +SURVEY NAME: C++ +SURVEY DATE: 8 27 1988 COMMENT:Stalagmite Room +SURVEY TEAM: +Steve Reames,Garry Petrie,Paul Burger,Ted Lappin, +DECLINATION: 11.18 FORMAT: DDDDUDLRLADN CORRECTIONS: 0.00 0.00 0.00 + + FROM TO LENGTH BEARING INC LEFT UP DOWN RIGHT FLAGS COMMENTS + + C14 C15 30.30 43.00 21.00 10.00 5.00 8.00 5.00 + C15 C15A 21.10 153.00 12.50 3.00 0.50 2.50 12.00 + C15 C16 16.70 62.00 2.00 3.00 0.50 2.50 12.00 + C16 C17 3.80 55.50 45.00 2.50 1.00 2.00 1.00 + C17 C18 9.15 131.00 46.00 3.00 2.00 2.00 2.00 + C18 C19 8.70 63.00 54.50 0.00 2.00 5.00 3.00 + C19 C20 16.85 123.00 20.50 -9999.00 8.00 4.00 -9999.00 + C20 C21 40.50 349.00 2.00 14.00 10.00 2.00 9.00 + C21 C21A 26.35 303.00 -11.00 13.00 2.00 5.00 11.00 + C21 C22 27.50 351.50 13.50 13.00 2.00 5.00 11.00 + C22 C23 6.00 32.00 -25.00 1.00 3.00 1.00 5.00 + C23 C24 2.50 0.00 -90.00 0.75 1.50 3.00 1.00 + C25 C24 21.60 183.00 0.00 -9999.00 27.00 2.00 -9999.00 + C25 C26 15.85 65.00 11.00 -9999.00 27.00 2.00 -9999.00 + C26 C27 11.45 48.00 -5.00 -9999.00 -9999.00 -9999.00 3.00 + C28 C27 34.80 86.00 -25.50 18.00 5.00 -9999.00 10.00 + C28 C29 14.90 193.00 8.50 18.00 5.00 -9999.00 10.00 + C30 C29 51.40 155.00 30.00 9.00 10.00 3.00 0.00 + C6 C30 69.10 164.00 38.00 30.00 0.00 5.50 7.00 + CB1 C29 46.70 131.00 24.00 3.00 3.00 5.00 0.00 + CB1 CB2 9.25 244.00 1.00 3.00 3.00 5.00 0.00 + CB2 CB3 9.30 301.00 -6.50 0.00 2.50 5.00 2.50 + CB3 CB4 15.85 202.00 7.00 3.00 2.50 5.00 0.00 + CB4 CB5 4.50 5.50 0.00 0.00 4.50 5.50 4.00 + CB5 CB6 10.10 221.00 6.00 3.00 3.00 3.00 0.00 + CB6 CB7 15.30 302.00 -1.00 0.00 1.00 9.00 2.00 + CB7 CB8 19.95 8.00 -6.00 1.00 1.50 7.00 1.00 + CB8 CB9 13.60 102.00 20.50 0.00 4.00 4.50 3.00 + CB9 CB10 13.55 346.00 4.00 -9999.00 4.50 4.50 3.00 + CB10 CB11 18.90 33.00 25.00 0.00 7.50 4.50 1.50 + CB11 CB12 8.05 12.00 0.00 1.50 6.00 5.00 0.00 + CB12 CB13 3.05 322.00 9.00 1.50 5.50 6.00 2.00 + +Fulford Cave +SURVEY NAME: A3 +SURVEY DATE: 8 28 1988 COMMENT:Upper Entrance Connection +SURVEY TEAM: +Steve Reames,Garry Petrie,Ted Lappin,Brent Hymel, +DECLINATION: 11.18 FORMAT: DDDDUDLRLADN CORRECTIONS: 0.00 0.00 0.00 + + FROM TO LENGTH BEARING INC LEFT UP DOWN RIGHT FLAGS COMMENTS + + A3A A3 25.80 303.00 -51.00 0.00 20.00 5.00 4.10 + A3A AM11 14.80 239.00 47.50 -9999.00 -9999.00 -9999.00 -9999.00 + +Fulford Cave +SURVEY NAME: AN +SURVEY DATE: 8 27 1988 COMMENT:North Entrance +SURVEY TEAM: +Mike Roberts,Rick Rhinehart, , , +DECLINATION: 11.18 FORMAT: DDDDUDLRLADN CORRECTIONS: 0.00 0.00 0.00 + + FROM TO LENGTH BEARING INC LEFT UP DOWN RIGHT FLAGS COMMENTS + + A1 S2 13.00 170.00 35.00 2.60 2.60 2.60 2.60 #|P# + S2 AN1 76.71 4.00 11.00 -9999.00 -9999.00 -9999.00 -9999.00 #|P# + AN1 AN2 4.92 121.50 -23.00 -9999.00 -9999.00 -9999.00 -9999.00 + AN2 AN3 11.96 17.50 -26.00 -9999.00 3.50 0.00 1.50 + AN3 AN4 21.75 301.00 -30.00 4.00 3.00 3.00 0.00 + AN4 AN5 9.92 340.50 -29.00 0.00 4.00 3.00 5.00 + AN5 AN6 17.13 24.00 -16.00 0.00 7.00 4.00 2.00 + AN6 AN7 21.08 330.50 0.00 4.00 3.00 5.00 0.00 + AN7 AN8 7.13 218.50 -8.00 3.50 2.00 1.50 2.00 + AN8 AN9 9.21 340.00 0.00 1.00 1.00 2.50 -9999.00 + +Fulford Cave +SURVEY NAME: AA +SURVEY DATE: 8 27 1988 COMMENT:Lower Room +SURVEY TEAM: +Ken Kreager,Ben Longwell,Tamara Beltran,Brent Hymel, +DECLINATION: 11.18 FORMAT: DDDDUDLRLADN CORRECTIONS: 0.00 0.00 0.00 + + FROM TO LENGTH BEARING INC LEFT UP DOWN RIGHT FLAGS COMMENTS + + A13 A13A 30.40 203.00 -9.00 6.90 6.00 2.00 4.00 + A13A A13B 17.00 183.00 12.00 7.00 -9999.00 -9999.00 -9999.00 + A13B A13C 17.50 205.00 30.50 7.00 -9999.00 -9999.00 -9999.00 + A13B AA1 14.90 236.00 -6.60 7.00 -9999.00 -9999.00 -9999.00 + AA1 AA2 6.25 147.00 -3.00 7.00 -9999.00 -9999.00 -9999.00 + AA2 AA3 12.40 293.00 -21.00 12.00 0.00 3.00 2.00 + AA3 AA4 8.50 289.00 -38.00 10.00 4.00 3.00 -9999.00 + AA4 AA5 26.00 314.00 -52.00 2.00 1.00 10.00 10.00 + AA5 AA6 32.60 298.00 -39.00 9.00 8.00 25.00 20.00 + AA6 AA7 30.30 283.00 -23.00 15.00 30.00 4.00 20.00 + AA7 AA7A 25.00 219.00 14.00 20.00 25.00 0.00 20.00 + AA7 AA8 21.70 336.00 -11.00 20.00 25.00 0.00 20.00 + AA8 AA9 17.50 324.00 -11.00 4.00 1.00 1.50 4.00 + +Fulford Cave +SURVEY NAME: AM +SURVEY DATE: 8 28 1988 COMMENT:North Entrance To Main Cave +SURVEY TEAM: +Mike Roberts,Rick Rhinehart, , , +DECLINATION: 11.18 FORMAT: DDDDUDLRLADN CORRECTIONS: 0.00 0.00 0.00 + + FROM TO LENGTH BEARING INC LEFT UP DOWN RIGHT FLAGS COMMENTS + + AN1 AM1 17.90 102.50 3.00 -9999.00 -9999.00 -9999.00 -9999.00 + AM1 AM2 12.20 130.50 12.00 0.00 1.00 3.50 3.50 + AM2 AM3 8.88 93.00 -24.00 3.00 0.00 4.00 2.00 + AM3 AM4 4.60 91.00 15.00 0.00 2.50 1.50 2.50 + AM4 AM5 7.80 39.00 -16.00 3.00 1.00 3.00 0.00 + AM5 AM6 6.90 135.00 -21.50 0.50 4.00 2.00 -9999.00 + AM6 AM7 17.60 127.00 11.50 0.00 6.00 1.50 3.00 + AM7 AM8 14.55 198.50 11.50 1.50 2.50 4.00 -9999.00 + AM8 AM9 10.90 192.00 9.00 0.00 5.00 5.00 2.00 + AM9 AM10 8.10 208.50 -25.00 0.00 4.00 4.00 3.00 + AM10 AM11 17.10 273.00 -16.50 -9999.00 4.00 5.00 4.00 + AM10 AL1 17.05 122.00 0.00 -9999.00 4.00 5.00 4.00 + +Fulford Cave +SURVEY NAME: CD +SURVEY DATE: 8 28 1988 COMMENT:Upper Level +SURVEY TEAM: +Steve Reames,Garry Petrie,Ted Lappin,Brent Hymel, +DECLINATION: 11.18 FORMAT: DDDDUDLRLADN CORRECTIONS: 0.00 0.00 0.00 + + FROM TO LENGTH BEARING INC LEFT UP DOWN RIGHT FLAGS COMMENTS + + AM7 CD1 30.00 15.20 -56.00 1.50 2.50 4.00 -9999.00 + CD1 AD1 6.75 343.50 -34.00 5.00 12.00 3.00 0.00 + AD1 AD2 21.40 274.00 -43.00 5.00 14.00 3.00 0.50 + XA6 AD2 7.75 287.00 17.00 -9999.00 -9999.00 -9999.00 -9999.00 + CD1 CD2 12.30 107.00 49.00 5.00 12.30 3.00 0.00 + CD2 CD3 16.85 39.00 38.50 3.00 12.00 4.00 8.00 + CD3 CD4 22.80 67.00 5.50 8.00 4.00 7.00 6.00 + XC11 CD4 19.45 276.50 -6.00 -9999.00 -9999.00 -9999.00 -9999.00 + +Fulford Cave +SURVEY NAME: XS +SURVEY DATE: 8 28 1988 COMMENT:Entrance To Upper Entrance Connection +SURVEY TEAM: +Mike Roberts,Ken Kreager,Rick Rhinehart, , +DECLINATION: 11.18 FORMAT: DDDDUDLRLADN CORRECTIONS: 0.00 0.00 0.00 + + FROM TO LENGTH BEARING INC LEFT UP DOWN RIGHT FLAGS COMMENTS + + A1 XS2 18.30 126.00 39.00 -9999.00 -9999.00 -9999.00 -9999.00 #|P# + XS2 S4 23.96 60.00 20.00 -9999.00 -9999.00 -9999.00 -9999.00 #|P# + S4 AM11 12.46 1.00 -35.00 -9999.00 -9999.00 -9999.00 -9999.00 + +Fulford Cave +SURVEY NAME: AL +SURVEY DATE: 8 28 1988 COMMENT:Upper Level Side Passage +SURVEY TEAM: +Mike Roberts,Ken Kreager,Rick Rhinehart, , +DECLINATION: 11.18 FORMAT: DDDDUDLRLADN CORRECTIONS: 0.00 0.00 0.00 + + FROM TO LENGTH BEARING INC LEFT UP DOWN RIGHT FLAGS COMMENTS + + AL1 AL2 9.85 140.50 -1.50 2.00 6.00 0.00 9.00 + AL2 AL3 21.85 186.50 3.50 4.00 8.00 3.50 4.00 + AL3 AL4 13.40 156.00 27.50 3.50 2.50 0.50 2.00 + AL4 AL4 0.00 0.00 0.00 2.00 1.00 3.00 0.00 + +Fulford Cave +SURVEY NAME: CC +SURVEY DATE: 10 8 1988 COMMENT:Attic, Stove Pipe, Two Level Room +SURVEY TEAM: +Bethany Jablonsky,Paul Burger,June Miller,Clarence Williams, +DECLINATION: 11.18 FORMAT: DDDDUDLRLADN CORRECTIONS: 0.00 0.00 0.00 + + FROM TO LENGTH BEARING INC LEFT UP DOWN RIGHT FLAGS COMMENTS + + CC1 C29 28.30 23.00 -2.50 19.60 6.00 2.00 4.00 + CC1 CC2 39.45 119.00 35.00 19.60 6.00 2.00 4.00 + CC2 CC3 8.60 151.00 8.00 5.50 4.00 4.00 2.00 + CC3 CC4 6.00 161.00 22.00 0.20 0.50 0.00 0.00 + CC4 CC5 5.70 205.00 21.00 0.20 0.50 0.00 0.20 + CC5 CC6 3.40 142.00 18.00 0.20 2.00 2.00 0.20 + CC6 CC7 4.90 237.00 -1.00 0.00 1.00 8.50 8.00 + CC7 CC8 5.70 169.00 9.00 0.80 1.50 1.30 0.00 + CC8 CC9 16.70 200.00 15.00 0.00 2.70 2.10 1.50 + CC9 CC10 35.50 124.50 -17.00 0.10 3.00 7.50 1.00 + CC10 CCCP1 19.70 163.00 24.00 16.00 7.60 0.50 -9999.00 + CCCP1 CCCP2 9.70 171.00 54.00 3.20 2.80 1.00 1.50 + CCCP2 CCCP3 11.20 246.00 22.50 0.00 2.50 1.40 2.00 + CCCP3 ACCP3 12.50 134.00 -8.50 0.00 3.90 0.50 4.50 + CCCP3 CCCP4 6.10 359.00 -16.00 -9999.00 -9999.00 -9999.00 -9999.00 + CCCP4 CCCP5 6.70 0.00 -90.00 3.00 0.00 -9999.00 3.00 + CCCP5 CCCP6 22.90 338.50 -36.00 -9999.00 -9999.00 -9999.00 -9999.00 + CCCP6 CC10 12.90 69.00 8.50 -9999.00 -9999.00 -9999.00 -9999.00 + CC10 CC11 16.90 266.00 -10.50 -9999.00 -9999.00 -9999.00 -9999.00 + CC11 CC12 12.60 0.00 -90.00 -9999.00 11.00 -9999.00 -9999.00 + CC12 CC13 16.40 186.00 -40.00 -9999.00 -9999.00 -9999.00 -9999.00 + CC13 CC14 11.80 314.00 -11.00 6.50 7.30 0.50 -9999.00 + CC14 CC15 23.00 0.00 -2.00 5.00 1.50 1.50 4.00 + +Fulford Cave +SURVEY NAME: CE +SURVEY DATE: 10 8 1988 COMMENT:Cathedral Room +SURVEY TEAM: +Steve Reames,Garry Petrie,Ted Lappin, , +DECLINATION: 11.18 FORMAT: DDDDUDLRLADN CORRECTIONS: 0.00 0.00 0.00 + + FROM TO LENGTH BEARING INC LEFT UP DOWN RIGHT FLAGS COMMENTS + + C25 CE1 25.08 147.00 9.00 -9999.00 27.00 2.00 -9999.00 + CE1 CE2 16.42 51.00 49.00 -9999.00 3.00 5.00 0.00 + CE2 CE3 20.54 209.00 47.00 4.00 4.50 4.00 2.00 + CE3 CE4 26.67 101.00 9.00 -9999.00 4.00 4.00 -9999.00 + CE4 CE5 18.25 77.00 30.00 10.00 2.00 1.00 5.00 + CE5 CE6 22.75 108.00 18.00 4.80 1.50 1.60 0.00 + CE6 CE7 31.00 119.00 -18.00 5.00 15.00 0.00 7.00 + CE7 CE8 14.67 319.00 -20.00 7.00 21.00 3.00 1.00 + CE9 CE8 60.10 160.00 87.00 -9999.00 -9999.00 -9999.00 -9999.00 + B14 CE9 20.80 14.00 12.50 -9999.00 -9999.00 -9999.00 -9999.00 + +Fulford Cave +SURVEY NAME: BS +SURVEY DATE: 2 11 1989 COMMENT:Upper Stream +SURVEY TEAM: +Steve Reames,Paul Burger,Stan Allison,Ted Lappin, +DECLINATION: 11.18 FORMAT: DDDDUDLRLADN CORRECTIONS: 0.00 0.00 0.00 + + FROM TO LENGTH BEARING INC LEFT UP DOWN RIGHT FLAGS COMMENTS + + BS1 B5 22.10 0.00 -39.00 -9999.00 8.00 6.00 -9999.00 + BS2 BS1 15.85 134.00 -31.50 7.00 9.00 3.00 8.00 + BS2 BS3 10.20 7.50 55.00 7.00 9.00 3.00 8.00 + BS3 BS4 27.35 110.50 31.00 2.50 1.50 2.50 -9999.00 + BS4 BSA1 17.30 142.00 -1.50 -9999.00 4.00 2.00 -9999.00 + BS4 BS5 2.10 91.00 -27.00 -9999.00 4.00 2.00 -9999.00 + BS5 BS6 7.70 0.00 90.00 -9999.00 9.50 0.00 -9999.00 + BS7 BS6 9.95 10.00 -52.50 4.00 0.50 3.00 1.00 + BS7 BS8 19.80 242.50 37.00 4.00 0.50 3.00 1.00 + BS8 C27 6.25 15.50 -1.00 5.00 3.00 0.00 -9999.00 + BS7 BSB1 20.90 109.00 -9.50 4.00 0.50 3.00 1.00 + BSB2 BSB1 21.75 325.00 -29.50 7.00 4.00 7.00 0.00 + BSB2 XCE8 44.40 134.00 -27.00 7.00 4.00 7.00 0.00 + BSA1 BSA2 22.05 159.00 -48.00 -9999.00 -9999.00 -9999.00 -9999.00 + BSA2 BS1 37.85 307.00 -23.00 -9999.00 -9999.00 -9999.00 -9999.00 + +Fulford Cave +SURVEY NAME: CF +SURVEY DATE: 2 11 1989 COMMENT:Hidden Pit +SURVEY TEAM: +Steve Reames,Stan Allison,Ted Lappin,Paul Burger, +DECLINATION: 11.18 FORMAT: DDDDUDLRLADN CORRECTIONS: 0.00 0.00 0.00 + + FROM TO LENGTH BEARING INC LEFT UP DOWN RIGHT FLAGS COMMENTS + + C12 CF1 17.00 311.00 -18.00 0.00 8.00 2.00 12.00 + CF1 CF2 7.10 353.00 -19.00 3.00 1.50 1.00 4.00 + CF2 CF3 10.60 7.00 2.00 2.00 1.00 2.50 0.00 + CF3 CF4 15.80 356.00 -66.00 2.00 -9999.00 -9999.00 2.00 + CF5 CF4 22.50 111.00 54.50 4.00 4.00 1.00 2.00 + A7 CF5 3.40 270.00 24.00 -9999.00 -9999.00 -9999.00 -9999.00 + +Fulford Cave +SURVEY NAME: CG +SURVEY DATE: 2 11 1989 COMMENT:Moon Milk Side Passage +SURVEY TEAM: +Steve Reames,Stan Allison,Ted Lappin,Paul Burger, +DECLINATION: 11.18 FORMAT: DDDDUDLRLADN CORRECTIONS: 0.00 0.00 0.00 + + FROM TO LENGTH BEARING INC LEFT UP DOWN RIGHT FLAGS COMMENTS + + C15 CG1 23.10 169.00 -2.00 -9999.00 -9999.00 -9999.00 -9999.00 + CG1 CG2 28.00 194.00 -4.00 6.00 6.00 5.00 2.50 + CG2 CG3 20.90 164.00 2.00 3.00 2.00 1.50 9.00 + +Fulford Cave +SURVEY NAME: CH +SURVEY DATE: 2 12 1989 COMMENT:Devils Washboard Connection +SURVEY TEAM: +Steve Reames,Stan Allison,Paul Burger,Ted Lappin, +DECLINATION: 11.18 FORMAT: DDDDUDLRLADN CORRECTIONS: 0.00 0.00 0.00 + + FROM TO LENGTH BEARING INC LEFT UP DOWN RIGHT FLAGS COMMENTS + + C6 CH1 37.50 172.00 32.00 30.00 0.00 5.50 7.00 + CH1 CH2 21.25 82.00 31.00 -9999.00 8.00 4.00 -9999.00 + CH2 CH3 25.10 144.00 20.00 -9999.00 -9999.00 -9999.00 -9999.00 + CH3 CH4 11.30 137.00 49.00 18.00 6.00 4.00 5.00 + CH4 CH5 12.15 172.00 34.00 4.00 3.00 5.00 2.50 + CH6 CH5 8.60 9.00 -4.00 -9999.00 19.00 3.00 10.00 + CH6 C25 21.25 194.00 -16.00 -9999.00 19.00 3.00 10.00 + +Fulford Cave +SURVEY NAME: AAA +SURVEY DATE: 6 10 1989 COMMENT:Lower Room + +SURVEY TEAM: +Steve Reames,Paul Burger,Stan Allison,Dave Fazzina, +DECLINATION: 11.18 FORMAT: DDDDUDLRLADN CORRECTIONS: 0.00 0.00 0.00 + + FROM TO LENGTH BEARING INC LEFT UP DOWN RIGHT FLAGS COMMENTS + + AA7 AAA1 29.50 224.00 17.50 20.00 25.00 0.00 20.00 + AAA1 AAA2 8.50 205.50 1.50 4.50 3.00 4.00 0.50 + AAA2 AAA3 14.35 205.00 -49.50 2.00 0.00 -9999.00 1.00 + AAA3 AAA4 25.15 125.00 -71.50 3.50 5.00 -9999.00 0.00 + +Fulford Cave +SURVEY NAME: AB +SURVEY DATE: 6 10 1989 COMMENT:JFK Room +SURVEY TEAM: +Steve Reames,Paul Burger,Stan Allison,Dave Fazzina, +DECLINATION: 11.18 FORMAT: DDDDUDLRLADN CORRECTIONS: 0.00 0.00 0.00 + + FROM TO LENGTH BEARING INC LEFT UP DOWN RIGHT FLAGS COMMENTS + + A13 AB1 26.40 164.50 22.50 6.90 6.00 2.00 4.00 + AB1A AB1 15.60 179.50 -27.00 12.00 5.00 0.00 4.00 + AB1A AB1B 14.30 11.00 18.00 5.00 8.00 5.00 0.00 + AB1B AB1C 14.60 60.50 24.50 -9999.00 -9999.00 -9999.00 -9999.00 + AB1C AB1D 12.95 354.00 21.00 -9999.00 -9999.00 -9999.00 -9999.00 + AB1 AB2 16.55 121.00 40.00 -9999.00 -9999.00 -9999.00 -9999.00 + AB2 AB3 17.00 208.00 8.50 0.00 10.00 7.00 5.00 + AB3 AB4 4.00 253.00 -21.00 0.50 1.00 1.00 2.00 + AB5 AB4 8.45 16.50 25.50 -9999.00 -9999.00 -9999.00 -9999.00 + +Fulford Cave +SURVEY NAME: AC +SURVEY DATE: 6 10 1989 COMMENT:Big Meander Side Passage +SURVEY TEAM: +Steve Reames,Paul Burger,Stan Allison,Dave Fazzina, +DECLINATION: 11.18 FORMAT: DDDDUDLRLADN CORRECTIONS: 0.00 0.00 0.00 + + FROM TO LENGTH BEARING INC LEFT UP DOWN RIGHT FLAGS COMMENTS + + A20 AC1 13.10 126.00 -8.50 -9999.00 -9999.00 -9999.00 -9999.00 + AC1 AC2 33.70 27.50 5.00 -9999.00 -9999.00 -9999.00 -9999.00 + AC2 AC3 20.95 342.00 -11.50 -9999.00 -9999.00 -9999.00 -9999.00 + AC3 AC4 21.60 56.00 25.00 5.00 0.00 1.50 4.00 + AC4 AC5 29.85 21.50 5.50 -9999.00 -9999.00 -9999.00 -9999.00 + AC5 AC6 37.45 343.50 -15.50 -9999.00 -9999.00 -9999.00 -9999.00 + AC6 AC7 40.90 18.00 12.00 -9999.00 -9999.00 -9999.00 -9999.00 + +Fulford Cave +SURVEY NAME: CJ +SURVEY DATE: 6 10 1989 COMMENT:Balconies +SURVEY TEAM: +Steve Reames,Paul Burger,Stan Allison,Dave Fazzina, +DECLINATION: 11.18 FORMAT: DDDDUDLRLADN CORRECTIONS: 0.00 0.00 0.00 + + FROM TO LENGTH BEARING INC LEFT UP DOWN RIGHT FLAGS COMMENTS + + C6 CJ1 27.20 110.00 28.50 30.00 0.00 5.50 7.00 + CJ1 CJ2 41.15 152.50 34.50 -9999.00 -9999.00 -9999.00 -9999.00 + CJ2 CJ3 14.40 137.00 -42.50 -9999.00 -9999.00 -9999.00 -9999.00 + CJ3 CJ4 26.75 73.50 -43.50 -9999.00 -9999.00 -9999.00 -9999.00 + CJ4 CJ5 6.80 268.00 -22.50 -9999.00 -9999.00 -9999.00 -9999.00 + CJ5 CJ6 36.50 151.00 -10.00 -9999.00 -9999.00 -9999.00 -9999.00 + B5 CJ6 26.85 124.00 26.00 -9999.00 -9999.00 -9999.00 -9999.00 + +Fulford Cave +SURVEY NAME: CK +SURVEY DATE: 6 10 1989 COMMENT:Hidden Room +SURVEY TEAM: +Steve Reames,Paul Burger,Stan Allison,Dave Fazzina, +DECLINATION: 11.18 FORMAT: DDDDUDLRLADN CORRECTIONS: 0.00 0.00 0.00 + + FROM TO LENGTH BEARING INC LEFT UP DOWN RIGHT FLAGS COMMENTS + + C28 CK1 39.80 40.00 20.00 -9999.00 -9999.00 -9999.00 -9999.00 + CK1 CK2 15.30 334.00 -1.50 -9999.00 -9999.00 -9999.00 -9999.00 + +Fulford Cave +SURVEY NAME: CL +SURVEY DATE: 6 10 1989 COMMENT:Moon Milk Side Passage +SURVEY TEAM: +Steve Reames,Paul Burger,Stan Allison,Dave Fazzina, +DECLINATION: 11.18 FORMAT: DDDDUDLRLADN CORRECTIONS: 0.00 0.00 0.00 + + FROM TO LENGTH BEARING INC LEFT UP DOWN RIGHT FLAGS COMMENTS + + CA3 CL1 16.25 93.00 31.50 -9999.00 -9999.00 -9999.00 -9999.00 + CL1 CL2 12.70 199.00 0.00 -9999.00 -9999.00 -9999.00 -9999.00 + CL2 CL3 15.45 138.50 0.00 -9999.00 -9999.00 -9999.00 -9999.00 + CL3 CL4 14.75 163.50 21.50 -9999.00 -9999.00 -9999.00 -9999.00 + CL4 C15 12.50 217.50 8.00 -9999.00 -9999.00 -9999.00 -9999.00 + + \ No newline at end of file diff --git a/Scripts/pyCreateTh/Tests/Fulfords.log b/Scripts/pyCreateTh/Tests/Fulfords.log new file mode 100644 index 0000000..e2a6b7d --- /dev/null +++ b/Scripts/pyCreateTh/Tests/Fulfords.log @@ -0,0 +1,1524 @@ +2025-06-16 08:05:34,912 - INFO - ******************************************************************************************************************************************** +2025-06-16 08:05:34,912 - INFO - * Conversion Th, Dat, Mak files to Therion files and folders +2025-06-16 08:05:34,912 - INFO - * Script pyCreateTh by : alexandre.pont@yahoo.fr +2025-06-16 08:05:34,913 - INFO - * Version : 2025.06.16 +2025-06-16 08:05:34,913 - INFO - * Input file : ~\Tests\Fulfords.mak +2025-06-16 08:05:34,913 - INFO - * Output file : ~\Tests\Fulfords +2025-06-16 08:05:34,913 - INFO - * Log file : ~\Tests\Fulfords.log +2025-06-16 08:05:34,914 - INFO - * +2025-06-16 08:05:34,914 - INFO - * +2025-06-16 08:05:34,914 - INFO - * +2025-06-16 08:05:34,914 - INFO - ******************************************************************************************************************************************** +2025-06-16 08:05:34,918 - INFO - Reading mak file : ~\Tests\Fulfords.mak, fixed station : 4, files 2, UTM Zone : 13, Datum : North American 1983, SCR : EPSG:26913 +2025-06-16 08:05:34,930 - INFO - The folder './template' has been copied to '~\Tests\Fulfords +2025-06-16 08:05:34,940 - INFO - ~\Tests\Fulfords\Data\FULSURF.DAT, encodage : ascii conversion utf-8 +2025-06-16 08:05:34,944 - INFO - Read dat file : ~\Tests\Fulfords\Data\FULSURF.DAT with 4 survey +2025-06-16 08:05:34,957 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\Fulford_Cave +2025-06-16 08:05:34,974 - WARNING - Flags exclude from plot #|P# not implemented in therion, line 2 in ~\Tests\Fulfords\Data\FULSURF.DAT +2025-06-16 08:05:34,974 - WARNING - Flags exclude from plot #|P# not implemented in therion, line 3 in ~\Tests\Fulfords\Data\FULSURF.DAT +2025-06-16 08:05:34,975 - WARNING - Flags exclude from plot #|P# not implemented in therion, line 4 in ~\Tests\Fulfords\Data\FULSURF.DAT +2025-06-16 08:05:34,975 - WARNING - Flags exclude from plot #|P# not implemented in therion, line 5 in ~\Tests\Fulfords\Data\FULSURF.DAT +2025-06-16 08:05:34,976 - WARNING - Flags exclude from plot #|P# not implemented in therion, line 6 in ~\Tests\Fulfords\Data\FULSURF.DAT +2025-06-16 08:05:34,976 - WARNING - Flags exclude from plot #|P# not implemented in therion, line 7 in ~\Tests\Fulfords\Data\FULSURF.DAT +2025-06-16 08:05:34,978 - INFO - Therion file : ~\Tests\Fulfords\Data\Fulford_Cave\Data\SS.th created from ~\Tests\Fulfords\Data\FULSURF.DAT +2025-06-16 08:05:34,978 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\Fulford_Cave\Data\SS.th +2025-06-16 08:05:34,979 - INFO - Parsing survey target: SS +2025-06-16 08:05:34,991 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\Fulford_Cave\Data\SS +2025-06-16 08:05:34,997 - INFO - Update template successfully: ~\Tests\Fulfords\Data\Fulford_Cave\Data\SS\SS.thconfig +2025-06-16 08:05:34,999 - INFO - Update template successfully: ~\Tests\Fulfords\Data\Fulford_Cave\Data\SS\SS-tot.th +2025-06-16 08:05:35,002 - INFO - Update template successfully: ~\Tests\Fulfords\Data\Fulford_Cave\Data\SS\readme.md +2025-06-16 08:05:35,003 - INFO - Compiling 2D XVI file: SS +2025-06-16 08:05:35,773 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\Fulford_Cave\Data\SS\Data\SS-Plan.xvi +2025-06-16 08:05:35,775 - INFO - Writing output to: ~\Tests\Fulfords\Data\Fulford_Cave\Data\SS\Data\SS-Plan.th2 +2025-06-16 08:05:35,779 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\Fulford_Cave\Data\SS\Data\SS-Extended.xvi +2025-06-16 08:05:35,782 - INFO - Writing output to: ~\Tests\Fulfords\Data\Fulford_Cave\Data\SS\Data\SS-Extended.th2 +2025-06-16 08:05:35,785 - INFO - Update template successfully: ~\Tests\Fulfords\Data\Fulford_Cave\Data\SS\SS-maps.th +2025-06-16 08:05:35,795 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\Fulford_Cave\Data\SS\SS.thconfig +2025-06-16 08:05:36,075 - ERROR - !!! [Therion_Compile] average loop error: 31.15% +2025-06-16 08:05:36,174 - INFO - Therion file : ~\Tests\Fulfords\Data\Fulford_Cave\Data\SS\SS.thconfig succeeded +2025-06-16 08:05:36,187 - WARNING - Flags exclude from plot #|P# not implemented in therion, line 2 in ~\Tests\Fulfords\Data\FULSURF.DAT +2025-06-16 08:05:36,187 - WARNING - Flags exclude from plot #|P# not implemented in therion, line 3 in ~\Tests\Fulfords\Data\FULSURF.DAT +2025-06-16 08:05:36,188 - WARNING - Flags exclude from plot #|P# not implemented in therion, line 4 in ~\Tests\Fulfords\Data\FULSURF.DAT +2025-06-16 08:05:36,189 - INFO - Therion file : ~\Tests\Fulfords\Data\Fulford_Cave\Data\SC.th created from ~\Tests\Fulfords\Data\FULSURF.DAT +2025-06-16 08:05:36,190 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\Fulford_Cave\Data\SC.th +2025-06-16 08:05:36,191 - INFO - Parsing survey target: SC +2025-06-16 08:05:36,200 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\Fulford_Cave\Data\SC +2025-06-16 08:05:36,204 - INFO - Update template successfully: ~\Tests\Fulfords\Data\Fulford_Cave\Data\SC\SC.thconfig +2025-06-16 08:05:36,206 - INFO - Update template successfully: ~\Tests\Fulfords\Data\Fulford_Cave\Data\SC\SC-tot.th +2025-06-16 08:05:36,208 - INFO - Update template successfully: ~\Tests\Fulfords\Data\Fulford_Cave\Data\SC\readme.md +2025-06-16 08:05:36,209 - INFO - Compiling 2D XVI file: SC +2025-06-16 08:05:36,568 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\Fulford_Cave\Data\SC\Data\SC-Plan.xvi +2025-06-16 08:05:36,569 - INFO - Writing output to: ~\Tests\Fulfords\Data\Fulford_Cave\Data\SC\Data\SC-Plan.th2 +2025-06-16 08:05:36,570 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\Fulford_Cave\Data\SC\Data\SC-Extended.xvi +2025-06-16 08:05:36,571 - INFO - Writing output to: ~\Tests\Fulfords\Data\Fulford_Cave\Data\SC\Data\SC-Extended.th2 +2025-06-16 08:05:36,573 - INFO - Update template successfully: ~\Tests\Fulfords\Data\Fulford_Cave\Data\SC\SC-maps.th +2025-06-16 08:05:36,581 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\Fulford_Cave\Data\SC\SC.thconfig +2025-06-16 08:05:36,832 - ERROR - !!! [Therion_Compile] average loop error: 2.89% +2025-06-16 08:05:36,927 - INFO - Therion file : ~\Tests\Fulfords\Data\Fulford_Cave\Data\SC\SC.thconfig succeeded +2025-06-16 08:05:36,941 - INFO - Therion file : ~\Tests\Fulfords\Data\Fulford_Cave\Data\Z.th created from ~\Tests\Fulfords\Data\FULSURF.DAT +2025-06-16 08:05:36,942 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\Fulford_Cave\Data\Z.th +2025-06-16 08:05:36,942 - INFO - Parsing survey target: Z +2025-06-16 08:05:36,953 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\Fulford_Cave\Data\Z +2025-06-16 08:05:36,957 - INFO - Update template successfully: ~\Tests\Fulfords\Data\Fulford_Cave\Data\Z\Z.thconfig +2025-06-16 08:05:36,959 - INFO - Update template successfully: ~\Tests\Fulfords\Data\Fulford_Cave\Data\Z\Z-tot.th +2025-06-16 08:05:36,961 - INFO - Update template successfully: ~\Tests\Fulfords\Data\Fulford_Cave\Data\Z\readme.md +2025-06-16 08:05:36,962 - INFO - Compiling 2D XVI file: Z +2025-06-16 08:05:37,204 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\Fulford_Cave\Data\Z\Data\Z-Plan.xvi +2025-06-16 08:05:37,205 - INFO - Writing output to: ~\Tests\Fulfords\Data\Fulford_Cave\Data\Z\Data\Z-Plan.th2 +2025-06-16 08:05:37,206 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\Fulford_Cave\Data\Z\Data\Z-Extended.xvi +2025-06-16 08:05:37,207 - INFO - Writing output to: ~\Tests\Fulfords\Data\Fulford_Cave\Data\Z\Data\Z-Extended.th2 +2025-06-16 08:05:37,209 - INFO - Update template successfully: ~\Tests\Fulfords\Data\Fulford_Cave\Data\Z\Z-maps.th +2025-06-16 08:05:37,218 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\Fulford_Cave\Data\Z\Z.thconfig +2025-06-16 08:05:37,459 - WARNING - [Therion_Compile] C:\Program Files\Therion\therion.exe: warning -- data not georeferenced -- unable to export KML file +2025-06-16 08:05:37,470 - INFO - Therion file : ~\Tests\Fulfords\Data\Fulford_Cave\Data\Z\Z.thconfig succeeded +2025-06-16 08:05:37,482 - INFO - Therion file : ~\Tests\Fulfords\Data\Fulford_Cave\Data\Z_.th created from ~\Tests\Fulfords\Data\FULSURF.DAT +2025-06-16 08:05:37,483 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\Fulford_Cave\Data\Z_.th +2025-06-16 08:05:37,483 - INFO - Parsing survey target: Z_ +2025-06-16 08:05:37,494 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\Fulford_Cave\Data\Z_ +2025-06-16 08:05:37,498 - INFO - Update template successfully: ~\Tests\Fulfords\Data\Fulford_Cave\Data\Z_\Z_.thconfig +2025-06-16 08:05:37,500 - INFO - Update template successfully: ~\Tests\Fulfords\Data\Fulford_Cave\Data\Z_\Z_-tot.th +2025-06-16 08:05:37,502 - INFO - Update template successfully: ~\Tests\Fulfords\Data\Fulford_Cave\Data\Z_\readme.md +2025-06-16 08:05:37,503 - INFO - Compiling 2D XVI file: Z_ +2025-06-16 08:05:37,761 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\Fulford_Cave\Data\Z_\Data\Z_-Plan.xvi +2025-06-16 08:05:37,762 - INFO - Writing output to: ~\Tests\Fulfords\Data\Fulford_Cave\Data\Z_\Data\Z_-Plan.th2 +2025-06-16 08:05:37,765 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\Fulford_Cave\Data\Z_\Data\Z_-Extended.xvi +2025-06-16 08:05:37,767 - INFO - Writing output to: ~\Tests\Fulfords\Data\Fulford_Cave\Data\Z_\Data\Z_-Extended.th2 +2025-06-16 08:05:37,769 - INFO - Update template successfully: ~\Tests\Fulfords\Data\Fulford_Cave\Data\Z_\Z_-maps.th +2025-06-16 08:05:37,776 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\Fulford_Cave\Data\Z_\Z_.thconfig +2025-06-16 08:05:37,989 - WARNING - [Therion_Compile] C:\Program Files\Therion\therion.exe: warning -- data not georeferenced -- unable to export KML file +2025-06-16 08:05:37,999 - INFO - Therion file : ~\Tests\Fulfords\Data\Fulford_Cave\Data\Z_\Z_.thconfig succeeded +2025-06-16 08:05:38,007 - INFO - Total 'equats' : 2 in ~\Tests\Fulfords\Data\FULSURF.DAT +2025-06-16 08:05:38,010 - INFO - Update template successfully: ~\Tests\Fulfords\Data\Fulford_Cave\Fulford_Cave.thconfig +2025-06-16 08:05:38,011 - INFO - Update template successfully: ~\Tests\Fulfords\Data\Fulford_Cave\Fulford_Cave-tot.th +2025-06-16 08:05:38,013 - INFO - Update template successfully: ~\Tests\Fulfords\Data\Fulford_Cave\Fulford_Cave-maps.th +2025-06-16 08:05:38,015 - INFO - Update template successfully: ~\Tests\Fulfords\Data\Fulford_Cave\readme.md +2025-06-16 08:05:38,025 - INFO - ~\Tests\Fulfords\Data\FULFORD.DAT, encodage : ascii conversion utf-8 +2025-06-16 08:05:38,031 - INFO - Read dat file : ~\Tests\Fulfords\Data\FULFORD.DAT with 25 survey +2025-06-16 08:05:38,042 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\FULFORD +2025-06-16 08:05:38,054 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\A.th created from ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:05:38,054 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\FULFORD\Data\A.th +2025-06-16 08:05:38,055 - INFO - Parsing survey target: A +2025-06-16 08:05:38,066 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\FULFORD\Data\A +2025-06-16 08:05:38,070 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\A\A.thconfig +2025-06-16 08:05:38,071 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\A\A-tot.th +2025-06-16 08:05:38,073 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\A\readme.md +2025-06-16 08:05:38,074 - INFO - Compiling 2D XVI file: A +2025-06-16 08:05:38,459 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\A\Data\A-Plan.xvi +2025-06-16 08:05:38,460 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\A\Data\A-Plan.th2 +2025-06-16 08:05:38,461 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\A\Data\A-Extended.xvi +2025-06-16 08:05:38,463 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\A\Data\A-Extended.th2 +2025-06-16 08:05:38,464 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\A\A-maps.th +2025-06-16 08:05:38,472 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\FULFORD\Data\A\A.thconfig +2025-06-16 08:05:38,804 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\A\A.thconfig succeeded +2025-06-16 08:05:38,816 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\A_.th created from ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:05:38,816 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\FULFORD\Data\A_.th +2025-06-16 08:05:38,817 - INFO - Parsing survey target: A_ +2025-06-16 08:05:38,827 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\FULFORD\Data\A_ +2025-06-16 08:05:38,831 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\A_\A_.thconfig +2025-06-16 08:05:38,833 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\A_\A_-tot.th +2025-06-16 08:05:38,835 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\A_\readme.md +2025-06-16 08:05:38,836 - INFO - Compiling 2D XVI file: A_ +2025-06-16 08:05:39,068 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\A_\Data\A_-Plan.xvi +2025-06-16 08:05:39,069 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\A_\Data\A_-Plan.th2 +2025-06-16 08:05:39,070 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\A_\Data\A_-Extended.xvi +2025-06-16 08:05:39,072 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\A_\Data\A_-Extended.th2 +2025-06-16 08:05:39,074 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\A_\A_-maps.th +2025-06-16 08:05:39,082 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\FULFORD\Data\A_\A_.thconfig +2025-06-16 08:05:39,204 - ERROR - !!! [Therion_Compile] average loop error: 2.03% +2025-06-16 08:05:39,284 - WARNING - [Therion_Compile] C:\Program Files\Therion\therion.exe: warning -- data not georeferenced -- unable to export KML file +2025-06-16 08:05:39,294 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\A_\A_.thconfig succeeded +2025-06-16 08:05:39,308 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\B.th created from ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:05:39,309 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\FULFORD\Data\B.th +2025-06-16 08:05:39,309 - INFO - Parsing survey target: B +2025-06-16 08:05:39,321 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\FULFORD\Data\B +2025-06-16 08:05:39,324 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\B\B.thconfig +2025-06-16 08:05:39,326 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\B\B-tot.th +2025-06-16 08:05:39,328 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\B\readme.md +2025-06-16 08:05:39,328 - INFO - Compiling 2D XVI file: B +2025-06-16 08:05:39,567 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\B\Data\B-Plan.xvi +2025-06-16 08:05:39,568 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\B\Data\B-Plan.th2 +2025-06-16 08:05:39,569 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\B\Data\B-Extended.xvi +2025-06-16 08:05:39,572 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\B\Data\B-Extended.th2 +2025-06-16 08:05:39,576 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\B\B-maps.th +2025-06-16 08:05:39,585 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\FULFORD\Data\B\B.thconfig +2025-06-16 08:05:39,793 - WARNING - [Therion_Compile] C:\Program Files\Therion\therion.exe: warning -- data not georeferenced -- unable to export KML file +2025-06-16 08:05:39,803 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\B\B.thconfig succeeded +2025-06-16 08:05:39,823 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\C.th created from ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:05:39,824 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\FULFORD\Data\C.th +2025-06-16 08:05:39,825 - INFO - Parsing survey target: C +2025-06-16 08:05:39,835 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\FULFORD\Data\C +2025-06-16 08:05:39,840 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\C\C.thconfig +2025-06-16 08:05:39,842 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\C\C-tot.th +2025-06-16 08:05:39,844 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\C\readme.md +2025-06-16 08:05:39,844 - INFO - Compiling 2D XVI file: C +2025-06-16 08:05:40,084 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\C\Data\C-Plan.xvi +2025-06-16 08:05:40,085 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\C\Data\C-Plan.th2 +2025-06-16 08:05:40,086 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\C\Data\C-Extended.xvi +2025-06-16 08:05:40,088 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\C\Data\C-Extended.th2 +2025-06-16 08:05:40,090 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\C\C-maps.th +2025-06-16 08:05:40,099 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\FULFORD\Data\C\C.thconfig +2025-06-16 08:05:40,303 - WARNING - [Therion_Compile] C:\Program Files\Therion\therion.exe: warning -- data not georeferenced -- unable to export KML file +2025-06-16 08:05:40,314 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\C\C.thconfig succeeded +2025-06-16 08:05:40,327 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\C_.th created from ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:05:40,328 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\FULFORD\Data\C_.th +2025-06-16 08:05:40,328 - INFO - Parsing survey target: C_ +2025-06-16 08:05:40,337 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\FULFORD\Data\C_ +2025-06-16 08:05:40,342 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\C_\C_.thconfig +2025-06-16 08:05:40,343 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\C_\C_-tot.th +2025-06-16 08:05:40,344 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\C_\readme.md +2025-06-16 08:05:40,345 - INFO - Compiling 2D XVI file: C_ +2025-06-16 08:05:40,595 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\C_\Data\C_-Plan.xvi +2025-06-16 08:05:40,596 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\C_\Data\C_-Plan.th2 +2025-06-16 08:05:40,597 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\C_\Data\C_-Extended.xvi +2025-06-16 08:05:40,599 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\C_\Data\C_-Extended.th2 +2025-06-16 08:05:40,601 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\C_\C_-maps.th +2025-06-16 08:05:40,610 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\FULFORD\Data\C_\C_.thconfig +2025-06-16 08:05:40,820 - WARNING - [Therion_Compile] C:\Program Files\Therion\therion.exe: warning -- data not georeferenced -- unable to export KML file +2025-06-16 08:05:40,831 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\C_\C_.thconfig succeeded +2025-06-16 08:05:40,847 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\C__.th created from ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:05:40,847 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\FULFORD\Data\C__.th +2025-06-16 08:05:40,848 - INFO - Parsing survey target: C__ +2025-06-16 08:05:40,860 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\FULFORD\Data\C__ +2025-06-16 08:05:40,863 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\C__\C__.thconfig +2025-06-16 08:05:40,865 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\C__\C__-tot.th +2025-06-16 08:05:40,866 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\C__\readme.md +2025-06-16 08:05:40,867 - INFO - Compiling 2D XVI file: C__ +2025-06-16 08:05:41,111 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\C__\Data\C__-Plan.xvi +2025-06-16 08:05:41,112 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\C__\Data\C__-Plan.th2 +2025-06-16 08:05:41,113 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\C__\Data\C__-Extended.xvi +2025-06-16 08:05:41,115 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\C__\Data\C__-Extended.th2 +2025-06-16 08:05:41,118 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\C__\C__-maps.th +2025-06-16 08:05:41,126 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\FULFORD\Data\C__\C__.thconfig +2025-06-16 08:05:41,336 - WARNING - [Therion_Compile] C:\Program Files\Therion\therion.exe: warning -- data not georeferenced -- unable to export KML file +2025-06-16 08:05:41,347 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\C__\C__.thconfig succeeded +2025-06-16 08:05:41,360 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\A3.th created from ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:05:41,361 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\FULFORD\Data\A3.th +2025-06-16 08:05:41,361 - INFO - Parsing survey target: A3 +2025-06-16 08:05:41,372 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\FULFORD\Data\A3 +2025-06-16 08:05:41,376 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\A3\A3.thconfig +2025-06-16 08:05:41,377 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\A3\A3-tot.th +2025-06-16 08:05:41,379 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\A3\readme.md +2025-06-16 08:05:41,380 - INFO - Compiling 2D XVI file: A3 +2025-06-16 08:05:41,622 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\A3\Data\A3-Plan.xvi +2025-06-16 08:05:41,623 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\A3\Data\A3-Plan.th2 +2025-06-16 08:05:41,624 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\A3\Data\A3-Extended.xvi +2025-06-16 08:05:41,625 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\A3\Data\A3-Extended.th2 +2025-06-16 08:05:41,627 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\A3\A3-maps.th +2025-06-16 08:05:41,635 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\FULFORD\Data\A3\A3.thconfig +2025-06-16 08:05:41,833 - WARNING - [Therion_Compile] C:\Program Files\Therion\therion.exe: warning -- data not georeferenced -- unable to export KML file +2025-06-16 08:05:41,844 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\A3\A3.thconfig succeeded +2025-06-16 08:05:41,858 - WARNING - Flags exclude from plot #|P# not implemented in therion, line 2 in ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:05:41,859 - WARNING - Flags exclude from plot #|P# not implemented in therion, line 3 in ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:05:41,861 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\AN.th created from ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:05:41,862 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\FULFORD\Data\AN.th +2025-06-16 08:05:41,862 - INFO - Parsing survey target: AN +2025-06-16 08:05:41,874 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\FULFORD\Data\AN +2025-06-16 08:05:41,878 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AN\AN.thconfig +2025-06-16 08:05:41,879 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AN\AN-tot.th +2025-06-16 08:05:41,881 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AN\readme.md +2025-06-16 08:05:41,882 - INFO - Compiling 2D XVI file: AN +2025-06-16 08:05:42,233 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\AN\Data\AN-Plan.xvi +2025-06-16 08:05:42,233 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\AN\Data\AN-Plan.th2 +2025-06-16 08:05:42,234 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\AN\Data\AN-Extended.xvi +2025-06-16 08:05:42,236 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\AN\Data\AN-Extended.th2 +2025-06-16 08:05:42,237 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AN\AN-maps.th +2025-06-16 08:05:42,244 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\FULFORD\Data\AN\AN.thconfig +2025-06-16 08:05:42,570 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\AN\AN.thconfig succeeded +2025-06-16 08:05:42,580 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\AA.th created from ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:05:42,581 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\FULFORD\Data\AA.th +2025-06-16 08:05:42,581 - INFO - Parsing survey target: AA +2025-06-16 08:05:42,590 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\FULFORD\Data\AA +2025-06-16 08:05:42,594 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AA\AA.thconfig +2025-06-16 08:05:42,595 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AA\AA-tot.th +2025-06-16 08:05:42,597 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AA\readme.md +2025-06-16 08:05:42,598 - INFO - Compiling 2D XVI file: AA +2025-06-16 08:05:42,830 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\AA\Data\AA-Plan.xvi +2025-06-16 08:05:42,831 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\AA\Data\AA-Plan.th2 +2025-06-16 08:05:42,833 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\AA\Data\AA-Extended.xvi +2025-06-16 08:05:42,834 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\AA\Data\AA-Extended.th2 +2025-06-16 08:05:42,836 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AA\AA-maps.th +2025-06-16 08:05:42,847 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\FULFORD\Data\AA\AA.thconfig +2025-06-16 08:05:43,123 - WARNING - [Therion_Compile] C:\Program Files\Therion\therion.exe: warning -- data not georeferenced -- unable to export KML file +2025-06-16 08:05:43,133 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\AA\AA.thconfig succeeded +2025-06-16 08:05:43,146 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\AM.th created from ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:05:43,147 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\FULFORD\Data\AM.th +2025-06-16 08:05:43,147 - INFO - Parsing survey target: AM +2025-06-16 08:05:43,157 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\FULFORD\Data\AM +2025-06-16 08:05:43,165 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AM\AM.thconfig +2025-06-16 08:05:43,167 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AM\AM-tot.th +2025-06-16 08:05:43,168 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AM\readme.md +2025-06-16 08:05:43,169 - INFO - Compiling 2D XVI file: AM +2025-06-16 08:05:43,419 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\AM\Data\AM-Plan.xvi +2025-06-16 08:05:43,420 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\AM\Data\AM-Plan.th2 +2025-06-16 08:05:43,421 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\AM\Data\AM-Extended.xvi +2025-06-16 08:05:43,423 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\AM\Data\AM-Extended.th2 +2025-06-16 08:05:43,427 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AM\AM-maps.th +2025-06-16 08:05:43,437 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\FULFORD\Data\AM\AM.thconfig +2025-06-16 08:05:43,642 - WARNING - [Therion_Compile] C:\Program Files\Therion\therion.exe: warning -- data not georeferenced -- unable to export KML file +2025-06-16 08:05:43,652 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\AM\AM.thconfig succeeded +2025-06-16 08:05:43,663 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\CD.th created from ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:05:43,664 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\FULFORD\Data\CD.th +2025-06-16 08:05:43,665 - INFO - Parsing survey target: CD +2025-06-16 08:05:43,676 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\FULFORD\Data\CD +2025-06-16 08:05:43,679 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CD\CD.thconfig +2025-06-16 08:05:43,680 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CD\CD-tot.th +2025-06-16 08:05:43,682 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CD\readme.md +2025-06-16 08:05:43,683 - INFO - Compiling 2D XVI file: CD +2025-06-16 08:05:43,921 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\CD\Data\CD-Plan.xvi +2025-06-16 08:05:43,922 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\CD\Data\CD-Plan.th2 +2025-06-16 08:05:43,923 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\CD\Data\CD-Extended.xvi +2025-06-16 08:05:43,925 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\CD\Data\CD-Extended.th2 +2025-06-16 08:05:43,928 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CD\CD-maps.th +2025-06-16 08:05:43,937 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\FULFORD\Data\CD\CD.thconfig +2025-06-16 08:05:44,144 - WARNING - [Therion_Compile] C:\Program Files\Therion\therion.exe: warning -- data not georeferenced -- unable to export KML file +2025-06-16 08:05:44,154 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\CD\CD.thconfig succeeded +2025-06-16 08:05:44,165 - WARNING - Flags exclude from plot #|P# not implemented in therion, line 2 in ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:05:44,165 - WARNING - Flags exclude from plot #|P# not implemented in therion, line 3 in ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:05:44,166 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\XS.th created from ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:05:44,167 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\FULFORD\Data\XS.th +2025-06-16 08:05:44,167 - INFO - Parsing survey target: XS +2025-06-16 08:05:44,177 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\FULFORD\Data\XS +2025-06-16 08:05:44,180 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\XS\XS.thconfig +2025-06-16 08:05:44,182 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\XS\XS-tot.th +2025-06-16 08:05:44,184 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\XS\readme.md +2025-06-16 08:05:44,185 - INFO - Compiling 2D XVI file: XS +2025-06-16 08:05:44,553 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\XS\Data\XS-Plan.xvi +2025-06-16 08:05:44,554 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\XS\Data\XS-Plan.th2 +2025-06-16 08:05:44,555 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\XS\Data\XS-Extended.xvi +2025-06-16 08:05:44,556 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\XS\Data\XS-Extended.th2 +2025-06-16 08:05:44,560 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\XS\XS-maps.th +2025-06-16 08:05:44,569 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\FULFORD\Data\XS\XS.thconfig +2025-06-16 08:05:44,802 - ERROR - !!! [Therion_Compile] average loop error: 5.56% +2025-06-16 08:05:44,890 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\XS\XS.thconfig succeeded +2025-06-16 08:05:44,902 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\AL.th created from ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:05:44,902 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\FULFORD\Data\AL.th +2025-06-16 08:05:44,903 - INFO - Parsing survey target: AL +2025-06-16 08:05:44,912 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\FULFORD\Data\AL +2025-06-16 08:05:44,916 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AL\AL.thconfig +2025-06-16 08:05:44,917 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AL\AL-tot.th +2025-06-16 08:05:44,919 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AL\readme.md +2025-06-16 08:05:44,919 - INFO - Compiling 2D XVI file: AL +2025-06-16 08:05:45,164 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\AL\Data\AL-Plan.xvi +2025-06-16 08:05:45,165 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\AL\Data\AL-Plan.th2 +2025-06-16 08:05:45,166 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\AL\Data\AL-Extended.xvi +2025-06-16 08:05:45,168 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\AL\Data\AL-Extended.th2 +2025-06-16 08:05:45,170 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AL\AL-maps.th +2025-06-16 08:05:45,177 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\FULFORD\Data\AL\AL.thconfig +2025-06-16 08:05:45,381 - WARNING - [Therion_Compile] C:\Program Files\Therion\therion.exe: warning -- data not georeferenced -- unable to export KML file +2025-06-16 08:05:45,391 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\AL\AL.thconfig succeeded +2025-06-16 08:05:45,405 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\CC.th created from ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:05:45,406 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\FULFORD\Data\CC.th +2025-06-16 08:05:45,406 - INFO - Parsing survey target: CC +2025-06-16 08:05:45,418 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\FULFORD\Data\CC +2025-06-16 08:05:45,421 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CC\CC.thconfig +2025-06-16 08:05:45,423 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CC\CC-tot.th +2025-06-16 08:05:45,424 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CC\readme.md +2025-06-16 08:05:45,425 - INFO - Compiling 2D XVI file: CC +2025-06-16 08:05:45,665 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\CC\Data\CC-Plan.xvi +2025-06-16 08:05:45,666 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\CC\Data\CC-Plan.th2 +2025-06-16 08:05:45,667 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\CC\Data\CC-Extended.xvi +2025-06-16 08:05:45,669 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\CC\Data\CC-Extended.th2 +2025-06-16 08:05:45,670 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CC\CC-maps.th +2025-06-16 08:05:45,679 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\FULFORD\Data\CC\CC.thconfig +2025-06-16 08:05:45,802 - ERROR - !!! [Therion_Compile] average loop error: 2.06% +2025-06-16 08:05:45,887 - WARNING - [Therion_Compile] C:\Program Files\Therion\therion.exe: warning -- data not georeferenced -- unable to export KML file +2025-06-16 08:05:45,897 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\CC\CC.thconfig succeeded +2025-06-16 08:05:45,910 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\CE.th created from ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:05:45,911 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\FULFORD\Data\CE.th +2025-06-16 08:05:45,911 - INFO - Parsing survey target: CE +2025-06-16 08:05:45,923 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\FULFORD\Data\CE +2025-06-16 08:05:45,928 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CE\CE.thconfig +2025-06-16 08:05:45,930 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CE\CE-tot.th +2025-06-16 08:05:45,932 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CE\readme.md +2025-06-16 08:05:45,933 - INFO - Compiling 2D XVI file: CE +2025-06-16 08:05:46,184 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\CE\Data\CE-Plan.xvi +2025-06-16 08:05:46,185 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\CE\Data\CE-Plan.th2 +2025-06-16 08:05:46,186 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\CE\Data\CE-Extended.xvi +2025-06-16 08:05:46,188 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\CE\Data\CE-Extended.th2 +2025-06-16 08:05:46,191 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CE\CE-maps.th +2025-06-16 08:05:46,200 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\FULFORD\Data\CE\CE.thconfig +2025-06-16 08:05:46,408 - WARNING - [Therion_Compile] C:\Program Files\Therion\therion.exe: warning -- data not georeferenced -- unable to export KML file +2025-06-16 08:05:46,418 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\CE\CE.thconfig succeeded +2025-06-16 08:05:46,430 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\BS.th created from ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:05:46,431 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\FULFORD\Data\BS.th +2025-06-16 08:05:46,431 - INFO - Parsing survey target: BS +2025-06-16 08:05:46,442 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\FULFORD\Data\BS +2025-06-16 08:05:46,448 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\BS\BS.thconfig +2025-06-16 08:05:46,449 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\BS\BS-tot.th +2025-06-16 08:05:46,450 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\BS\readme.md +2025-06-16 08:05:46,451 - INFO - Compiling 2D XVI file: BS +2025-06-16 08:05:46,687 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\BS\Data\BS-Plan.xvi +2025-06-16 08:05:46,687 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\BS\Data\BS-Plan.th2 +2025-06-16 08:05:46,688 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\BS\Data\BS-Extended.xvi +2025-06-16 08:05:46,690 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\BS\Data\BS-Extended.th2 +2025-06-16 08:05:46,692 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\BS\BS-maps.th +2025-06-16 08:05:46,700 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\FULFORD\Data\BS\BS.thconfig +2025-06-16 08:05:46,821 - ERROR - !!! [Therion_Compile] average loop error: 1.17% +2025-06-16 08:05:46,898 - WARNING - [Therion_Compile] C:\Program Files\Therion\therion.exe: warning -- data not georeferenced -- unable to export KML file +2025-06-16 08:05:46,909 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\BS\BS.thconfig succeeded +2025-06-16 08:05:46,922 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\CF.th created from ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:05:46,923 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\FULFORD\Data\CF.th +2025-06-16 08:05:46,923 - INFO - Parsing survey target: CF +2025-06-16 08:05:46,933 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\FULFORD\Data\CF +2025-06-16 08:05:46,937 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CF\CF.thconfig +2025-06-16 08:05:46,938 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CF\CF-tot.th +2025-06-16 08:05:46,940 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CF\readme.md +2025-06-16 08:05:46,940 - INFO - Compiling 2D XVI file: CF +2025-06-16 08:05:47,175 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\CF\Data\CF-Plan.xvi +2025-06-16 08:05:47,175 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\CF\Data\CF-Plan.th2 +2025-06-16 08:05:47,178 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\CF\Data\CF-Extended.xvi +2025-06-16 08:05:47,179 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\CF\Data\CF-Extended.th2 +2025-06-16 08:05:47,182 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CF\CF-maps.th +2025-06-16 08:05:47,191 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\FULFORD\Data\CF\CF.thconfig +2025-06-16 08:05:47,415 - WARNING - [Therion_Compile] C:\Program Files\Therion\therion.exe: warning -- data not georeferenced -- unable to export KML file +2025-06-16 08:05:47,426 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\CF\CF.thconfig succeeded +2025-06-16 08:05:47,445 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\CG.th created from ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:05:47,445 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\FULFORD\Data\CG.th +2025-06-16 08:05:47,446 - INFO - Parsing survey target: CG +2025-06-16 08:05:47,457 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\FULFORD\Data\CG +2025-06-16 08:05:47,461 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CG\CG.thconfig +2025-06-16 08:05:47,463 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CG\CG-tot.th +2025-06-16 08:05:47,464 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CG\readme.md +2025-06-16 08:05:47,465 - INFO - Compiling 2D XVI file: CG +2025-06-16 08:05:47,707 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\CG\Data\CG-Plan.xvi +2025-06-16 08:05:47,708 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\CG\Data\CG-Plan.th2 +2025-06-16 08:05:47,709 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\CG\Data\CG-Extended.xvi +2025-06-16 08:05:47,710 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\CG\Data\CG-Extended.th2 +2025-06-16 08:05:47,712 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CG\CG-maps.th +2025-06-16 08:05:47,721 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\FULFORD\Data\CG\CG.thconfig +2025-06-16 08:05:47,918 - WARNING - [Therion_Compile] C:\Program Files\Therion\therion.exe: warning -- data not georeferenced -- unable to export KML file +2025-06-16 08:05:47,927 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\CG\CG.thconfig succeeded +2025-06-16 08:05:47,938 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\CH.th created from ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:05:47,939 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\FULFORD\Data\CH.th +2025-06-16 08:05:47,939 - INFO - Parsing survey target: CH +2025-06-16 08:05:47,951 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\FULFORD\Data\CH +2025-06-16 08:05:47,955 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CH\CH.thconfig +2025-06-16 08:05:47,957 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CH\CH-tot.th +2025-06-16 08:05:47,959 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CH\readme.md +2025-06-16 08:05:47,960 - INFO - Compiling 2D XVI file: CH +2025-06-16 08:05:48,196 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\CH\Data\CH-Plan.xvi +2025-06-16 08:05:48,196 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\CH\Data\CH-Plan.th2 +2025-06-16 08:05:48,197 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\CH\Data\CH-Extended.xvi +2025-06-16 08:05:48,199 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\CH\Data\CH-Extended.th2 +2025-06-16 08:05:48,201 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CH\CH-maps.th +2025-06-16 08:05:48,209 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\FULFORD\Data\CH\CH.thconfig +2025-06-16 08:05:48,407 - WARNING - [Therion_Compile] C:\Program Files\Therion\therion.exe: warning -- data not georeferenced -- unable to export KML file +2025-06-16 08:05:48,417 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\CH\CH.thconfig succeeded +2025-06-16 08:05:48,431 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\AAA.th created from ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:05:48,432 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\FULFORD\Data\AAA.th +2025-06-16 08:05:48,432 - INFO - Parsing survey target: AAA +2025-06-16 08:05:48,444 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\FULFORD\Data\AAA +2025-06-16 08:05:48,449 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AAA\AAA.thconfig +2025-06-16 08:05:48,451 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AAA\AAA-tot.th +2025-06-16 08:05:48,453 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AAA\readme.md +2025-06-16 08:05:48,453 - INFO - Compiling 2D XVI file: AAA +2025-06-16 08:05:48,688 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\AAA\Data\AAA-Plan.xvi +2025-06-16 08:05:48,689 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\AAA\Data\AAA-Plan.th2 +2025-06-16 08:05:48,690 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\AAA\Data\AAA-Extended.xvi +2025-06-16 08:05:48,692 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\AAA\Data\AAA-Extended.th2 +2025-06-16 08:05:48,694 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AAA\AAA-maps.th +2025-06-16 08:05:48,702 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\FULFORD\Data\AAA\AAA.thconfig +2025-06-16 08:05:48,903 - WARNING - [Therion_Compile] C:\Program Files\Therion\therion.exe: warning -- data not georeferenced -- unable to export KML file +2025-06-16 08:05:48,913 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\AAA\AAA.thconfig succeeded +2025-06-16 08:05:48,924 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\AB.th created from ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:05:48,924 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\FULFORD\Data\AB.th +2025-06-16 08:05:48,925 - INFO - Parsing survey target: AB +2025-06-16 08:05:48,936 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\FULFORD\Data\AB +2025-06-16 08:05:48,941 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AB\AB.thconfig +2025-06-16 08:05:48,943 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AB\AB-tot.th +2025-06-16 08:05:48,944 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AB\readme.md +2025-06-16 08:05:48,945 - INFO - Compiling 2D XVI file: AB +2025-06-16 08:05:49,185 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\AB\Data\AB-Plan.xvi +2025-06-16 08:05:49,185 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\AB\Data\AB-Plan.th2 +2025-06-16 08:05:49,186 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\AB\Data\AB-Extended.xvi +2025-06-16 08:05:49,188 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\AB\Data\AB-Extended.th2 +2025-06-16 08:05:49,190 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AB\AB-maps.th +2025-06-16 08:05:49,197 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\FULFORD\Data\AB\AB.thconfig +2025-06-16 08:05:49,393 - WARNING - [Therion_Compile] C:\Program Files\Therion\therion.exe: warning -- data not georeferenced -- unable to export KML file +2025-06-16 08:05:49,402 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\AB\AB.thconfig succeeded +2025-06-16 08:05:49,413 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\AC.th created from ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:05:49,413 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\FULFORD\Data\AC.th +2025-06-16 08:05:49,414 - INFO - Parsing survey target: AC +2025-06-16 08:05:49,425 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\FULFORD\Data\AC +2025-06-16 08:05:49,430 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AC\AC.thconfig +2025-06-16 08:05:49,431 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AC\AC-tot.th +2025-06-16 08:05:49,433 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AC\readme.md +2025-06-16 08:05:49,434 - INFO - Compiling 2D XVI file: AC +2025-06-16 08:05:49,660 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\AC\Data\AC-Plan.xvi +2025-06-16 08:05:49,661 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\AC\Data\AC-Plan.th2 +2025-06-16 08:05:49,663 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\AC\Data\AC-Extended.xvi +2025-06-16 08:05:49,665 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\AC\Data\AC-Extended.th2 +2025-06-16 08:05:49,667 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AC\AC-maps.th +2025-06-16 08:05:49,675 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\FULFORD\Data\AC\AC.thconfig +2025-06-16 08:05:49,873 - WARNING - [Therion_Compile] C:\Program Files\Therion\therion.exe: warning -- data not georeferenced -- unable to export KML file +2025-06-16 08:05:49,883 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\AC\AC.thconfig succeeded +2025-06-16 08:05:49,899 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\CJ.th created from ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:05:49,900 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\FULFORD\Data\CJ.th +2025-06-16 08:05:49,901 - INFO - Parsing survey target: CJ +2025-06-16 08:05:49,913 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\FULFORD\Data\CJ +2025-06-16 08:05:49,918 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CJ\CJ.thconfig +2025-06-16 08:05:49,920 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CJ\CJ-tot.th +2025-06-16 08:05:49,923 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CJ\readme.md +2025-06-16 08:05:49,924 - INFO - Compiling 2D XVI file: CJ +2025-06-16 08:05:50,186 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\CJ\Data\CJ-Plan.xvi +2025-06-16 08:05:50,186 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\CJ\Data\CJ-Plan.th2 +2025-06-16 08:05:50,188 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\CJ\Data\CJ-Extended.xvi +2025-06-16 08:05:50,189 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\CJ\Data\CJ-Extended.th2 +2025-06-16 08:05:50,193 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CJ\CJ-maps.th +2025-06-16 08:05:50,202 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\FULFORD\Data\CJ\CJ.thconfig +2025-06-16 08:05:50,410 - WARNING - [Therion_Compile] C:\Program Files\Therion\therion.exe: warning -- data not georeferenced -- unable to export KML file +2025-06-16 08:05:50,420 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\CJ\CJ.thconfig succeeded +2025-06-16 08:05:50,433 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\CK.th created from ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:05:50,433 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\FULFORD\Data\CK.th +2025-06-16 08:05:50,434 - INFO - Parsing survey target: CK +2025-06-16 08:05:50,445 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\FULFORD\Data\CK +2025-06-16 08:05:50,450 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CK\CK.thconfig +2025-06-16 08:05:50,452 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CK\CK-tot.th +2025-06-16 08:05:50,454 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CK\readme.md +2025-06-16 08:05:50,454 - INFO - Compiling 2D XVI file: CK +2025-06-16 08:05:50,695 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\CK\Data\CK-Plan.xvi +2025-06-16 08:05:50,696 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\CK\Data\CK-Plan.th2 +2025-06-16 08:05:50,697 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\CK\Data\CK-Extended.xvi +2025-06-16 08:05:50,699 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\CK\Data\CK-Extended.th2 +2025-06-16 08:05:50,701 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CK\CK-maps.th +2025-06-16 08:05:50,709 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\FULFORD\Data\CK\CK.thconfig +2025-06-16 08:05:50,910 - WARNING - [Therion_Compile] C:\Program Files\Therion\therion.exe: warning -- data not georeferenced -- unable to export KML file +2025-06-16 08:05:50,921 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\CK\CK.thconfig succeeded +2025-06-16 08:05:50,935 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\CL.th created from ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:05:50,935 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\FULFORD\Data\CL.th +2025-06-16 08:05:50,936 - INFO - Parsing survey target: CL +2025-06-16 08:05:50,946 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\FULFORD\Data\CL +2025-06-16 08:05:50,951 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CL\CL.thconfig +2025-06-16 08:05:50,953 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CL\CL-tot.th +2025-06-16 08:05:50,955 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CL\readme.md +2025-06-16 08:05:50,956 - INFO - Compiling 2D XVI file: CL +2025-06-16 08:05:51,218 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\CL\Data\CL-Plan.xvi +2025-06-16 08:05:51,218 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\CL\Data\CL-Plan.th2 +2025-06-16 08:05:51,219 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\CL\Data\CL-Extended.xvi +2025-06-16 08:05:51,221 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\CL\Data\CL-Extended.th2 +2025-06-16 08:05:51,224 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CL\CL-maps.th +2025-06-16 08:05:51,231 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\FULFORD\Data\CL\CL.thconfig +2025-06-16 08:05:51,439 - WARNING - [Therion_Compile] C:\Program Files\Therion\therion.exe: warning -- data not georeferenced -- unable to export KML file +2025-06-16 08:05:51,448 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\CL\CL.thconfig succeeded +2025-06-16 08:05:51,454 - INFO - Total 'equats' : 25 in ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:05:51,458 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\FULFORD.thconfig +2025-06-16 08:05:51,460 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\FULFORD-tot.th +2025-06-16 08:05:51,461 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\FULFORD-maps.th +2025-06-16 08:05:51,463 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\readme.md +2025-06-16 08:05:51,466 - INFO - All files processed successfully in 39.10 secondes, without errors +2025-06-16 08:12:25,246 - INFO - ******************************************************************************************************************************************** +2025-06-16 08:12:25,246 - INFO - * Conversion Th, Dat, Mak files to Therion files and folders +2025-06-16 08:12:25,246 - INFO - * Script pyCreateTh by : alexandre.pont@yahoo.fr +2025-06-16 08:12:25,247 - INFO - * Version : 2025.06.16 +2025-06-16 08:12:25,247 - INFO - * Input file : ~\Tests\Fulfords.mak +2025-06-16 08:12:25,247 - INFO - * Output file : ~\Tests\Fulfords +2025-06-16 08:12:25,247 - INFO - * Log file : ~\Tests\Fulfords.log +2025-06-16 08:12:25,247 - INFO - * +2025-06-16 08:12:25,247 - INFO - * +2025-06-16 08:12:25,247 - INFO - * +2025-06-16 08:12:25,248 - INFO - ******************************************************************************************************************************************** +2025-06-16 08:12:25,249 - INFO - Reading mak file : ~\Tests\Fulfords.mak, fixed station : 4, files 2, UTM Zone : 13, Datum : North American 1983, SCR : EPSG:26913 +2025-06-16 08:12:25,257 - INFO - The folder './template' has been copied to '~\Tests\Fulfords +2025-06-16 08:12:25,264 - INFO - ~\Tests\Fulfords\Data\FULSURF.DAT, encodage : ascii conversion utf-8 +2025-06-16 08:12:25,267 - INFO - Read dat file : ~\Tests\Fulfords\Data\FULSURF.DAT with 4 survey +2025-06-16 08:12:25,274 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\Fulford_Cave +2025-06-16 08:12:25,287 - WARNING - Flags exclude from plot #|P# not implemented in therion, line 2 in ~\Tests\Fulfords\Data\FULSURF.DAT +2025-06-16 08:12:25,287 - WARNING - Flags exclude from plot #|P# not implemented in therion, line 3 in ~\Tests\Fulfords\Data\FULSURF.DAT +2025-06-16 08:12:25,287 - WARNING - Flags exclude from plot #|P# not implemented in therion, line 4 in ~\Tests\Fulfords\Data\FULSURF.DAT +2025-06-16 08:12:25,288 - WARNING - Flags exclude from plot #|P# not implemented in therion, line 5 in ~\Tests\Fulfords\Data\FULSURF.DAT +2025-06-16 08:12:25,288 - WARNING - Flags exclude from plot #|P# not implemented in therion, line 6 in ~\Tests\Fulfords\Data\FULSURF.DAT +2025-06-16 08:12:25,289 - WARNING - Flags exclude from plot #|P# not implemented in therion, line 7 in ~\Tests\Fulfords\Data\FULSURF.DAT +2025-06-16 08:12:25,289 - INFO - Therion file : ~\Tests\Fulfords\Data\Fulford_Cave\Data\SS.th created from ~\Tests\Fulfords\Data\FULSURF.DAT +2025-06-16 08:12:25,290 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\Fulford_Cave\Data\SS.th +2025-06-16 08:12:25,291 - INFO - Parsing survey target: SS +2025-06-16 08:12:25,300 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\Fulford_Cave\Data\SS +2025-06-16 08:12:25,304 - INFO - Update template successfully: ~\Tests\Fulfords\Data\Fulford_Cave\Data\SS\SS.thconfig +2025-06-16 08:12:25,305 - INFO - Update template successfully: ~\Tests\Fulfords\Data\Fulford_Cave\Data\SS\SS-tot.th +2025-06-16 08:12:25,307 - INFO - Update template successfully: ~\Tests\Fulfords\Data\Fulford_Cave\Data\SS\readme.md +2025-06-16 08:12:25,307 - INFO - Compiling 2D XVI file: SS +2025-06-16 08:12:25,687 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\Fulford_Cave\Data\SS\Data\SS-Plan.xvi +2025-06-16 08:12:25,689 - INFO - Writing output to: ~\Tests\Fulfords\Data\Fulford_Cave\Data\SS\Data\SS-Plan.th2 +2025-06-16 08:12:25,690 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\Fulford_Cave\Data\SS\Data\SS-Extended.xvi +2025-06-16 08:12:25,692 - INFO - Writing output to: ~\Tests\Fulfords\Data\Fulford_Cave\Data\SS\Data\SS-Extended.th2 +2025-06-16 08:12:25,697 - INFO - Update template successfully: ~\Tests\Fulfords\Data\Fulford_Cave\Data\SS\SS-maps.th +2025-06-16 08:12:25,704 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\Fulford_Cave\Data\SS\SS.thconfig +2025-06-16 08:12:26,038 - ERROR - !!! [Therion_Compile] average loop error: 31.15% +2025-06-16 08:12:26,115 - INFO - Therion file : ~\Tests\Fulfords\Data\Fulford_Cave\Data\SS\SS.thconfig succeeded +2025-06-16 08:12:26,124 - WARNING - Flags exclude from plot #|P# not implemented in therion, line 2 in ~\Tests\Fulfords\Data\FULSURF.DAT +2025-06-16 08:12:26,124 - WARNING - Flags exclude from plot #|P# not implemented in therion, line 3 in ~\Tests\Fulfords\Data\FULSURF.DAT +2025-06-16 08:12:26,124 - WARNING - Flags exclude from plot #|P# not implemented in therion, line 4 in ~\Tests\Fulfords\Data\FULSURF.DAT +2025-06-16 08:12:26,125 - INFO - Therion file : ~\Tests\Fulfords\Data\Fulford_Cave\Data\SC.th created from ~\Tests\Fulfords\Data\FULSURF.DAT +2025-06-16 08:12:26,126 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\Fulford_Cave\Data\SC.th +2025-06-16 08:12:26,126 - INFO - Parsing survey target: SC +2025-06-16 08:12:26,136 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\Fulford_Cave\Data\SC +2025-06-16 08:12:26,139 - INFO - Update template successfully: ~\Tests\Fulfords\Data\Fulford_Cave\Data\SC\SC.thconfig +2025-06-16 08:12:26,140 - INFO - Update template successfully: ~\Tests\Fulfords\Data\Fulford_Cave\Data\SC\SC-tot.th +2025-06-16 08:12:26,141 - INFO - Update template successfully: ~\Tests\Fulfords\Data\Fulford_Cave\Data\SC\readme.md +2025-06-16 08:12:26,142 - INFO - Compiling 2D XVI file: SC +2025-06-16 08:12:26,435 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\Fulford_Cave\Data\SC\Data\SC-Plan.xvi +2025-06-16 08:12:26,436 - INFO - Writing output to: ~\Tests\Fulfords\Data\Fulford_Cave\Data\SC\Data\SC-Plan.th2 +2025-06-16 08:12:26,436 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\Fulford_Cave\Data\SC\Data\SC-Extended.xvi +2025-06-16 08:12:26,438 - INFO - Writing output to: ~\Tests\Fulfords\Data\Fulford_Cave\Data\SC\Data\SC-Extended.th2 +2025-06-16 08:12:26,440 - INFO - Update template successfully: ~\Tests\Fulfords\Data\Fulford_Cave\Data\SC\SC-maps.th +2025-06-16 08:12:26,443 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\Fulford_Cave\Data\SC\SC.thconfig +2025-06-16 08:12:26,632 - ERROR - !!! [Therion_Compile] average loop error: 2.89% +2025-06-16 08:12:26,708 - INFO - Therion file : ~\Tests\Fulfords\Data\Fulford_Cave\Data\SC\SC.thconfig succeeded +2025-06-16 08:12:26,716 - INFO - Therion file : ~\Tests\Fulfords\Data\Fulford_Cave\Data\Z.th created from ~\Tests\Fulfords\Data\FULSURF.DAT +2025-06-16 08:12:26,716 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\Fulford_Cave\Data\Z.th +2025-06-16 08:12:26,717 - INFO - Parsing survey target: Z +2025-06-16 08:12:26,724 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\Fulford_Cave\Data\Z +2025-06-16 08:12:26,727 - INFO - Update template successfully: ~\Tests\Fulfords\Data\Fulford_Cave\Data\Z\Z.thconfig +2025-06-16 08:12:26,730 - INFO - Update template successfully: ~\Tests\Fulfords\Data\Fulford_Cave\Data\Z\Z-tot.th +2025-06-16 08:12:26,732 - INFO - Update template successfully: ~\Tests\Fulfords\Data\Fulford_Cave\Data\Z\readme.md +2025-06-16 08:12:26,733 - INFO - Compiling 2D XVI file: Z +2025-06-16 08:12:26,926 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\Fulford_Cave\Data\Z\Data\Z-Plan.xvi +2025-06-16 08:12:26,926 - INFO - Writing output to: ~\Tests\Fulfords\Data\Fulford_Cave\Data\Z\Data\Z-Plan.th2 +2025-06-16 08:12:26,927 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\Fulford_Cave\Data\Z\Data\Z-Extended.xvi +2025-06-16 08:12:26,928 - INFO - Writing output to: ~\Tests\Fulfords\Data\Fulford_Cave\Data\Z\Data\Z-Extended.th2 +2025-06-16 08:12:26,930 - INFO - Update template successfully: ~\Tests\Fulfords\Data\Fulford_Cave\Data\Z\Z-maps.th +2025-06-16 08:12:26,933 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\Fulford_Cave\Data\Z\Z.thconfig +2025-06-16 08:12:27,086 - WARNING - [Therion_Compile] C:\Program Files\Therion\therion.exe: warning -- data not georeferenced -- unable to export KML file +2025-06-16 08:12:27,093 - INFO - Therion file : ~\Tests\Fulfords\Data\Fulford_Cave\Data\Z\Z.thconfig succeeded +2025-06-16 08:12:27,101 - INFO - Therion file : ~\Tests\Fulfords\Data\Fulford_Cave\Data\Z_.th created from ~\Tests\Fulfords\Data\FULSURF.DAT +2025-06-16 08:12:27,102 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\Fulford_Cave\Data\Z_.th +2025-06-16 08:12:27,103 - INFO - Parsing survey target: Z_ +2025-06-16 08:12:27,113 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\Fulford_Cave\Data\Z_ +2025-06-16 08:12:27,116 - INFO - Update template successfully: ~\Tests\Fulfords\Data\Fulford_Cave\Data\Z_\Z_.thconfig +2025-06-16 08:12:27,117 - INFO - Update template successfully: ~\Tests\Fulfords\Data\Fulford_Cave\Data\Z_\Z_-tot.th +2025-06-16 08:12:27,118 - INFO - Update template successfully: ~\Tests\Fulfords\Data\Fulford_Cave\Data\Z_\readme.md +2025-06-16 08:12:27,118 - INFO - Compiling 2D XVI file: Z_ +2025-06-16 08:12:27,305 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\Fulford_Cave\Data\Z_\Data\Z_-Plan.xvi +2025-06-16 08:12:27,306 - INFO - Writing output to: ~\Tests\Fulfords\Data\Fulford_Cave\Data\Z_\Data\Z_-Plan.th2 +2025-06-16 08:12:27,307 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\Fulford_Cave\Data\Z_\Data\Z_-Extended.xvi +2025-06-16 08:12:27,309 - INFO - Writing output to: ~\Tests\Fulfords\Data\Fulford_Cave\Data\Z_\Data\Z_-Extended.th2 +2025-06-16 08:12:27,311 - INFO - Update template successfully: ~\Tests\Fulfords\Data\Fulford_Cave\Data\Z_\Z_-maps.th +2025-06-16 08:12:27,316 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\Fulford_Cave\Data\Z_\Z_.thconfig +2025-06-16 08:12:27,468 - WARNING - [Therion_Compile] C:\Program Files\Therion\therion.exe: warning -- data not georeferenced -- unable to export KML file +2025-06-16 08:12:27,476 - INFO - Therion file : ~\Tests\Fulfords\Data\Fulford_Cave\Data\Z_\Z_.thconfig succeeded +2025-06-16 08:12:27,482 - INFO - Total 'equats' : 2 in ~\Tests\Fulfords\Data\FULSURF.DAT +2025-06-16 08:12:27,485 - INFO - Update template successfully: ~\Tests\Fulfords\Data\Fulford_Cave\Fulford_Cave.thconfig +2025-06-16 08:12:27,486 - INFO - Update template successfully: ~\Tests\Fulfords\Data\Fulford_Cave\Fulford_Cave-tot.th +2025-06-16 08:12:27,487 - INFO - Update template successfully: ~\Tests\Fulfords\Data\Fulford_Cave\Fulford_Cave-maps.th +2025-06-16 08:12:27,488 - INFO - Update template successfully: ~\Tests\Fulfords\Data\Fulford_Cave\readme.md +2025-06-16 08:12:27,495 - INFO - ~\Tests\Fulfords\Data\FULFORD.DAT, encodage : ascii conversion utf-8 +2025-06-16 08:12:27,501 - INFO - Read dat file : ~\Tests\Fulfords\Data\FULFORD.DAT with 25 survey +2025-06-16 08:12:27,509 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\FULFORD +2025-06-16 08:12:27,518 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\A.th created from ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:12:27,518 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\FULFORD\Data\A.th +2025-06-16 08:12:27,519 - INFO - Parsing survey target: A +2025-06-16 08:12:27,530 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\FULFORD\Data\A +2025-06-16 08:12:27,533 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\A\A.thconfig +2025-06-16 08:12:27,534 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\A\A-tot.th +2025-06-16 08:12:27,536 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\A\readme.md +2025-06-16 08:12:27,536 - INFO - Compiling 2D XVI file: A +2025-06-16 08:12:27,818 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\A\Data\A-Plan.xvi +2025-06-16 08:12:27,819 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\A\Data\A-Plan.th2 +2025-06-16 08:12:27,820 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\A\Data\A-Extended.xvi +2025-06-16 08:12:27,821 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\A\Data\A-Extended.th2 +2025-06-16 08:12:27,822 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\A\A-maps.th +2025-06-16 08:12:27,826 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\FULFORD\Data\A\A.thconfig +2025-06-16 08:12:28,084 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\A\A.thconfig succeeded +2025-06-16 08:12:28,092 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\A_.th created from ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:12:28,093 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\FULFORD\Data\A_.th +2025-06-16 08:12:28,093 - INFO - Parsing survey target: A_ +2025-06-16 08:12:28,103 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\FULFORD\Data\A_ +2025-06-16 08:12:28,106 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\A_\A_.thconfig +2025-06-16 08:12:28,107 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\A_\A_-tot.th +2025-06-16 08:12:28,108 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\A_\readme.md +2025-06-16 08:12:28,108 - INFO - Compiling 2D XVI file: A_ +2025-06-16 08:12:28,298 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\A_\Data\A_-Plan.xvi +2025-06-16 08:12:28,298 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\A_\Data\A_-Plan.th2 +2025-06-16 08:12:28,299 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\A_\Data\A_-Extended.xvi +2025-06-16 08:12:28,300 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\A_\Data\A_-Extended.th2 +2025-06-16 08:12:28,302 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\A_\A_-maps.th +2025-06-16 08:12:28,305 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\FULFORD\Data\A_\A_.thconfig +2025-06-16 08:12:28,441 - ERROR - !!! [Therion_Compile] average loop error: 2.03% +2025-06-16 08:12:28,502 - WARNING - [Therion_Compile] C:\Program Files\Therion\therion.exe: warning -- data not georeferenced -- unable to export KML file +2025-06-16 08:12:28,511 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\A_\A_.thconfig succeeded +2025-06-16 08:12:28,521 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\B.th created from ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:12:28,522 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\FULFORD\Data\B.th +2025-06-16 08:12:28,522 - INFO - Parsing survey target: B +2025-06-16 08:12:28,531 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\FULFORD\Data\B +2025-06-16 08:12:28,534 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\B\B.thconfig +2025-06-16 08:12:28,536 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\B\B-tot.th +2025-06-16 08:12:28,537 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\B\readme.md +2025-06-16 08:12:28,538 - INFO - Compiling 2D XVI file: B +2025-06-16 08:12:28,725 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\B\Data\B-Plan.xvi +2025-06-16 08:12:28,726 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\B\Data\B-Plan.th2 +2025-06-16 08:12:28,728 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\B\Data\B-Extended.xvi +2025-06-16 08:12:28,730 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\B\Data\B-Extended.th2 +2025-06-16 08:12:28,731 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\B\B-maps.th +2025-06-16 08:12:28,736 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\FULFORD\Data\B\B.thconfig +2025-06-16 08:12:28,890 - WARNING - [Therion_Compile] C:\Program Files\Therion\therion.exe: warning -- data not georeferenced -- unable to export KML file +2025-06-16 08:12:28,898 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\B\B.thconfig succeeded +2025-06-16 08:12:28,909 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\C.th created from ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:12:28,910 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\FULFORD\Data\C.th +2025-06-16 08:12:28,910 - INFO - Parsing survey target: C +2025-06-16 08:12:28,922 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\FULFORD\Data\C +2025-06-16 08:12:28,926 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\C\C.thconfig +2025-06-16 08:12:28,928 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\C\C-tot.th +2025-06-16 08:12:28,929 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\C\readme.md +2025-06-16 08:12:28,930 - INFO - Compiling 2D XVI file: C +2025-06-16 08:12:29,152 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\C\Data\C-Plan.xvi +2025-06-16 08:12:29,153 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\C\Data\C-Plan.th2 +2025-06-16 08:12:29,154 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\C\Data\C-Extended.xvi +2025-06-16 08:12:29,156 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\C\Data\C-Extended.th2 +2025-06-16 08:12:29,158 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\C\C-maps.th +2025-06-16 08:12:29,162 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\FULFORD\Data\C\C.thconfig +2025-06-16 08:12:29,317 - WARNING - [Therion_Compile] C:\Program Files\Therion\therion.exe: warning -- data not georeferenced -- unable to export KML file +2025-06-16 08:12:29,324 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\C\C.thconfig succeeded +2025-06-16 08:12:29,337 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\C_.th created from ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:12:29,338 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\FULFORD\Data\C_.th +2025-06-16 08:12:29,338 - INFO - Parsing survey target: C_ +2025-06-16 08:12:29,349 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\FULFORD\Data\C_ +2025-06-16 08:12:29,353 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\C_\C_.thconfig +2025-06-16 08:12:29,354 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\C_\C_-tot.th +2025-06-16 08:12:29,356 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\C_\readme.md +2025-06-16 08:12:29,356 - INFO - Compiling 2D XVI file: C_ +2025-06-16 08:12:29,543 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\C_\Data\C_-Plan.xvi +2025-06-16 08:12:29,543 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\C_\Data\C_-Plan.th2 +2025-06-16 08:12:29,544 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\C_\Data\C_-Extended.xvi +2025-06-16 08:12:29,546 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\C_\Data\C_-Extended.th2 +2025-06-16 08:12:29,548 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\C_\C_-maps.th +2025-06-16 08:12:29,553 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\FULFORD\Data\C_\C_.thconfig +2025-06-16 08:12:29,709 - WARNING - [Therion_Compile] C:\Program Files\Therion\therion.exe: warning -- data not georeferenced -- unable to export KML file +2025-06-16 08:12:29,716 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\C_\C_.thconfig succeeded +2025-06-16 08:12:29,732 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\C__.th created from ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:12:29,733 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\FULFORD\Data\C__.th +2025-06-16 08:12:29,733 - INFO - Parsing survey target: C__ +2025-06-16 08:12:29,741 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\FULFORD\Data\C__ +2025-06-16 08:12:29,744 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\C__\C__.thconfig +2025-06-16 08:12:29,745 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\C__\C__-tot.th +2025-06-16 08:12:29,747 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\C__\readme.md +2025-06-16 08:12:29,747 - INFO - Compiling 2D XVI file: C__ +2025-06-16 08:12:29,934 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\C__\Data\C__-Plan.xvi +2025-06-16 08:12:29,934 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\C__\Data\C__-Plan.th2 +2025-06-16 08:12:29,935 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\C__\Data\C__-Extended.xvi +2025-06-16 08:12:29,937 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\C__\Data\C__-Extended.th2 +2025-06-16 08:12:29,940 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\C__\C__-maps.th +2025-06-16 08:12:29,944 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\FULFORD\Data\C__\C__.thconfig +2025-06-16 08:12:30,115 - WARNING - [Therion_Compile] C:\Program Files\Therion\therion.exe: warning -- data not georeferenced -- unable to export KML file +2025-06-16 08:12:30,123 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\C__\C__.thconfig succeeded +2025-06-16 08:12:30,132 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\A3.th created from ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:12:30,133 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\FULFORD\Data\A3.th +2025-06-16 08:12:30,134 - INFO - Parsing survey target: A3 +2025-06-16 08:12:30,145 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\FULFORD\Data\A3 +2025-06-16 08:12:30,148 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\A3\A3.thconfig +2025-06-16 08:12:30,150 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\A3\A3-tot.th +2025-06-16 08:12:30,152 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\A3\readme.md +2025-06-16 08:12:30,152 - INFO - Compiling 2D XVI file: A3 +2025-06-16 08:12:30,335 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\A3\Data\A3-Plan.xvi +2025-06-16 08:12:30,336 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\A3\Data\A3-Plan.th2 +2025-06-16 08:12:30,337 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\A3\Data\A3-Extended.xvi +2025-06-16 08:12:30,338 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\A3\Data\A3-Extended.th2 +2025-06-16 08:12:30,339 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\A3\A3-maps.th +2025-06-16 08:12:30,342 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\FULFORD\Data\A3\A3.thconfig +2025-06-16 08:12:30,496 - WARNING - [Therion_Compile] C:\Program Files\Therion\therion.exe: warning -- data not georeferenced -- unable to export KML file +2025-06-16 08:12:30,503 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\A3\A3.thconfig succeeded +2025-06-16 08:12:30,513 - WARNING - Flags exclude from plot #|P# not implemented in therion, line 2 in ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:12:30,514 - WARNING - Flags exclude from plot #|P# not implemented in therion, line 3 in ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:12:30,515 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\AN.th created from ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:12:30,516 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\FULFORD\Data\AN.th +2025-06-16 08:12:30,516 - INFO - Parsing survey target: AN +2025-06-16 08:12:30,526 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\FULFORD\Data\AN +2025-06-16 08:12:30,530 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AN\AN.thconfig +2025-06-16 08:12:30,531 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AN\AN-tot.th +2025-06-16 08:12:30,532 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AN\readme.md +2025-06-16 08:12:30,533 - INFO - Compiling 2D XVI file: AN +2025-06-16 08:12:30,811 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\AN\Data\AN-Plan.xvi +2025-06-16 08:12:30,812 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\AN\Data\AN-Plan.th2 +2025-06-16 08:12:30,814 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\AN\Data\AN-Extended.xvi +2025-06-16 08:12:30,815 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\AN\Data\AN-Extended.th2 +2025-06-16 08:12:30,817 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AN\AN-maps.th +2025-06-16 08:12:30,821 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\FULFORD\Data\AN\AN.thconfig +2025-06-16 08:12:31,094 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\AN\AN.thconfig succeeded +2025-06-16 08:12:31,103 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\AA.th created from ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:12:31,104 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\FULFORD\Data\AA.th +2025-06-16 08:12:31,104 - INFO - Parsing survey target: AA +2025-06-16 08:12:31,114 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\FULFORD\Data\AA +2025-06-16 08:12:31,118 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AA\AA.thconfig +2025-06-16 08:12:31,119 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AA\AA-tot.th +2025-06-16 08:12:31,121 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AA\readme.md +2025-06-16 08:12:31,122 - INFO - Compiling 2D XVI file: AA +2025-06-16 08:12:31,309 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\AA\Data\AA-Plan.xvi +2025-06-16 08:12:31,309 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\AA\Data\AA-Plan.th2 +2025-06-16 08:12:31,310 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\AA\Data\AA-Extended.xvi +2025-06-16 08:12:31,311 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\AA\Data\AA-Extended.th2 +2025-06-16 08:12:31,314 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AA\AA-maps.th +2025-06-16 08:12:31,320 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\FULFORD\Data\AA\AA.thconfig +2025-06-16 08:12:31,474 - WARNING - [Therion_Compile] C:\Program Files\Therion\therion.exe: warning -- data not georeferenced -- unable to export KML file +2025-06-16 08:12:31,481 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\AA\AA.thconfig succeeded +2025-06-16 08:12:31,491 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\AM.th created from ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:12:31,491 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\FULFORD\Data\AM.th +2025-06-16 08:12:31,492 - INFO - Parsing survey target: AM +2025-06-16 08:12:31,502 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\FULFORD\Data\AM +2025-06-16 08:12:31,507 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AM\AM.thconfig +2025-06-16 08:12:31,508 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AM\AM-tot.th +2025-06-16 08:12:31,510 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AM\readme.md +2025-06-16 08:12:31,511 - INFO - Compiling 2D XVI file: AM +2025-06-16 08:12:31,693 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\AM\Data\AM-Plan.xvi +2025-06-16 08:12:31,693 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\AM\Data\AM-Plan.th2 +2025-06-16 08:12:31,694 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\AM\Data\AM-Extended.xvi +2025-06-16 08:12:31,695 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\AM\Data\AM-Extended.th2 +2025-06-16 08:12:31,696 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AM\AM-maps.th +2025-06-16 08:12:31,700 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\FULFORD\Data\AM\AM.thconfig +2025-06-16 08:12:31,857 - WARNING - [Therion_Compile] C:\Program Files\Therion\therion.exe: warning -- data not georeferenced -- unable to export KML file +2025-06-16 08:12:31,864 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\AM\AM.thconfig succeeded +2025-06-16 08:12:31,873 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\CD.th created from ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:12:31,873 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\FULFORD\Data\CD.th +2025-06-16 08:12:31,874 - INFO - Parsing survey target: CD +2025-06-16 08:12:31,884 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\FULFORD\Data\CD +2025-06-16 08:12:31,887 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CD\CD.thconfig +2025-06-16 08:12:31,888 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CD\CD-tot.th +2025-06-16 08:12:31,889 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CD\readme.md +2025-06-16 08:12:31,889 - INFO - Compiling 2D XVI file: CD +2025-06-16 08:12:32,069 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\CD\Data\CD-Plan.xvi +2025-06-16 08:12:32,070 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\CD\Data\CD-Plan.th2 +2025-06-16 08:12:32,072 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\CD\Data\CD-Extended.xvi +2025-06-16 08:12:32,074 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\CD\Data\CD-Extended.th2 +2025-06-16 08:12:32,075 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CD\CD-maps.th +2025-06-16 08:12:32,079 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\FULFORD\Data\CD\CD.thconfig +2025-06-16 08:12:32,236 - WARNING - [Therion_Compile] C:\Program Files\Therion\therion.exe: warning -- data not georeferenced -- unable to export KML file +2025-06-16 08:12:32,246 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\CD\CD.thconfig succeeded +2025-06-16 08:12:32,258 - WARNING - Flags exclude from plot #|P# not implemented in therion, line 2 in ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:12:32,258 - WARNING - Flags exclude from plot #|P# not implemented in therion, line 3 in ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:12:32,259 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\XS.th created from ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:12:32,259 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\FULFORD\Data\XS.th +2025-06-16 08:12:32,260 - INFO - Parsing survey target: XS +2025-06-16 08:12:32,270 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\FULFORD\Data\XS +2025-06-16 08:12:32,273 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\XS\XS.thconfig +2025-06-16 08:12:32,274 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\XS\XS-tot.th +2025-06-16 08:12:32,275 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\XS\readme.md +2025-06-16 08:12:32,276 - INFO - Compiling 2D XVI file: XS +2025-06-16 08:12:32,564 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\XS\Data\XS-Plan.xvi +2025-06-16 08:12:32,564 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\XS\Data\XS-Plan.th2 +2025-06-16 08:12:32,565 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\XS\Data\XS-Extended.xvi +2025-06-16 08:12:32,566 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\XS\Data\XS-Extended.th2 +2025-06-16 08:12:32,568 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\XS\XS-maps.th +2025-06-16 08:12:32,571 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\FULFORD\Data\XS\XS.thconfig +2025-06-16 08:12:32,797 - ERROR - !!! [Therion_Compile] average loop error: 5.56% +2025-06-16 08:12:32,870 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\XS\XS.thconfig succeeded +2025-06-16 08:12:32,877 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\AL.th created from ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:12:32,878 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\FULFORD\Data\AL.th +2025-06-16 08:12:32,878 - INFO - Parsing survey target: AL +2025-06-16 08:12:32,887 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\FULFORD\Data\AL +2025-06-16 08:12:32,890 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AL\AL.thconfig +2025-06-16 08:12:32,891 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AL\AL-tot.th +2025-06-16 08:12:32,892 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AL\readme.md +2025-06-16 08:12:32,893 - INFO - Compiling 2D XVI file: AL +2025-06-16 08:12:33,083 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\AL\Data\AL-Plan.xvi +2025-06-16 08:12:33,083 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\AL\Data\AL-Plan.th2 +2025-06-16 08:12:33,084 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\AL\Data\AL-Extended.xvi +2025-06-16 08:12:33,085 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\AL\Data\AL-Extended.th2 +2025-06-16 08:12:33,086 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AL\AL-maps.th +2025-06-16 08:12:33,090 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\FULFORD\Data\AL\AL.thconfig +2025-06-16 08:12:33,242 - WARNING - [Therion_Compile] C:\Program Files\Therion\therion.exe: warning -- data not georeferenced -- unable to export KML file +2025-06-16 08:12:33,249 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\AL\AL.thconfig succeeded +2025-06-16 08:12:33,260 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\CC.th created from ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:12:33,261 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\FULFORD\Data\CC.th +2025-06-16 08:12:33,262 - INFO - Parsing survey target: CC +2025-06-16 08:12:33,271 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\FULFORD\Data\CC +2025-06-16 08:12:33,274 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CC\CC.thconfig +2025-06-16 08:12:33,275 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CC\CC-tot.th +2025-06-16 08:12:33,276 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CC\readme.md +2025-06-16 08:12:33,277 - INFO - Compiling 2D XVI file: CC +2025-06-16 08:12:33,464 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\CC\Data\CC-Plan.xvi +2025-06-16 08:12:33,464 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\CC\Data\CC-Plan.th2 +2025-06-16 08:12:33,467 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\CC\Data\CC-Extended.xvi +2025-06-16 08:12:33,469 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\CC\Data\CC-Extended.th2 +2025-06-16 08:12:33,471 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CC\CC-maps.th +2025-06-16 08:12:33,475 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\FULFORD\Data\CC\CC.thconfig +2025-06-16 08:12:33,577 - ERROR - !!! [Therion_Compile] average loop error: 2.06% +2025-06-16 08:12:33,640 - WARNING - [Therion_Compile] C:\Program Files\Therion\therion.exe: warning -- data not georeferenced -- unable to export KML file +2025-06-16 08:12:33,648 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\CC\CC.thconfig succeeded +2025-06-16 08:12:33,660 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\CE.th created from ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:12:33,660 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\FULFORD\Data\CE.th +2025-06-16 08:12:33,661 - INFO - Parsing survey target: CE +2025-06-16 08:12:33,669 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\FULFORD\Data\CE +2025-06-16 08:12:33,673 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CE\CE.thconfig +2025-06-16 08:12:33,674 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CE\CE-tot.th +2025-06-16 08:12:33,675 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CE\readme.md +2025-06-16 08:12:33,675 - INFO - Compiling 2D XVI file: CE +2025-06-16 08:12:33,861 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\CE\Data\CE-Plan.xvi +2025-06-16 08:12:33,862 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\CE\Data\CE-Plan.th2 +2025-06-16 08:12:33,863 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\CE\Data\CE-Extended.xvi +2025-06-16 08:12:33,864 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\CE\Data\CE-Extended.th2 +2025-06-16 08:12:33,868 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CE\CE-maps.th +2025-06-16 08:12:33,872 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\FULFORD\Data\CE\CE.thconfig +2025-06-16 08:12:34,030 - WARNING - [Therion_Compile] C:\Program Files\Therion\therion.exe: warning -- data not georeferenced -- unable to export KML file +2025-06-16 08:12:34,038 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\CE\CE.thconfig succeeded +2025-06-16 08:12:34,049 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\BS.th created from ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:12:34,050 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\FULFORD\Data\BS.th +2025-06-16 08:12:34,050 - INFO - Parsing survey target: BS +2025-06-16 08:12:34,061 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\FULFORD\Data\BS +2025-06-16 08:12:34,064 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\BS\BS.thconfig +2025-06-16 08:12:34,065 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\BS\BS-tot.th +2025-06-16 08:12:34,065 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\BS\readme.md +2025-06-16 08:12:34,066 - INFO - Compiling 2D XVI file: BS +2025-06-16 08:12:34,247 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\BS\Data\BS-Plan.xvi +2025-06-16 08:12:34,248 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\BS\Data\BS-Plan.th2 +2025-06-16 08:12:34,249 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\BS\Data\BS-Extended.xvi +2025-06-16 08:12:34,250 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\BS\Data\BS-Extended.th2 +2025-06-16 08:12:34,252 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\BS\BS-maps.th +2025-06-16 08:12:34,255 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\FULFORD\Data\BS\BS.thconfig +2025-06-16 08:12:34,357 - ERROR - !!! [Therion_Compile] average loop error: 1.17% +2025-06-16 08:12:34,419 - WARNING - [Therion_Compile] C:\Program Files\Therion\therion.exe: warning -- data not georeferenced -- unable to export KML file +2025-06-16 08:12:34,429 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\BS\BS.thconfig succeeded +2025-06-16 08:12:34,440 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\CF.th created from ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:12:34,441 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\FULFORD\Data\CF.th +2025-06-16 08:12:34,441 - INFO - Parsing survey target: CF +2025-06-16 08:12:34,452 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\FULFORD\Data\CF +2025-06-16 08:12:34,454 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CF\CF.thconfig +2025-06-16 08:12:34,455 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CF\CF-tot.th +2025-06-16 08:12:34,456 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CF\readme.md +2025-06-16 08:12:34,457 - INFO - Compiling 2D XVI file: CF +2025-06-16 08:12:34,645 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\CF\Data\CF-Plan.xvi +2025-06-16 08:12:34,646 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\CF\Data\CF-Plan.th2 +2025-06-16 08:12:34,647 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\CF\Data\CF-Extended.xvi +2025-06-16 08:12:34,648 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\CF\Data\CF-Extended.th2 +2025-06-16 08:12:34,649 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CF\CF-maps.th +2025-06-16 08:12:34,653 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\FULFORD\Data\CF\CF.thconfig +2025-06-16 08:12:34,809 - WARNING - [Therion_Compile] C:\Program Files\Therion\therion.exe: warning -- data not georeferenced -- unable to export KML file +2025-06-16 08:12:34,817 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\CF\CF.thconfig succeeded +2025-06-16 08:12:34,829 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\CG.th created from ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:12:34,830 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\FULFORD\Data\CG.th +2025-06-16 08:12:34,830 - INFO - Parsing survey target: CG +2025-06-16 08:12:34,839 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\FULFORD\Data\CG +2025-06-16 08:12:34,842 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CG\CG.thconfig +2025-06-16 08:12:34,843 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CG\CG-tot.th +2025-06-16 08:12:34,844 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CG\readme.md +2025-06-16 08:12:34,845 - INFO - Compiling 2D XVI file: CG +2025-06-16 08:12:35,021 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\CG\Data\CG-Plan.xvi +2025-06-16 08:12:35,022 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\CG\Data\CG-Plan.th2 +2025-06-16 08:12:35,023 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\CG\Data\CG-Extended.xvi +2025-06-16 08:12:35,024 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\CG\Data\CG-Extended.th2 +2025-06-16 08:12:35,027 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CG\CG-maps.th +2025-06-16 08:12:35,030 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\FULFORD\Data\CG\CG.thconfig +2025-06-16 08:12:35,186 - WARNING - [Therion_Compile] C:\Program Files\Therion\therion.exe: warning -- data not georeferenced -- unable to export KML file +2025-06-16 08:12:35,193 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\CG\CG.thconfig succeeded +2025-06-16 08:12:35,202 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\CH.th created from ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:12:35,203 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\FULFORD\Data\CH.th +2025-06-16 08:12:35,203 - INFO - Parsing survey target: CH +2025-06-16 08:12:35,212 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\FULFORD\Data\CH +2025-06-16 08:12:35,215 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CH\CH.thconfig +2025-06-16 08:12:35,216 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CH\CH-tot.th +2025-06-16 08:12:35,217 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CH\readme.md +2025-06-16 08:12:35,217 - INFO - Compiling 2D XVI file: CH +2025-06-16 08:12:35,407 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\CH\Data\CH-Plan.xvi +2025-06-16 08:12:35,408 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\CH\Data\CH-Plan.th2 +2025-06-16 08:12:35,409 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\CH\Data\CH-Extended.xvi +2025-06-16 08:12:35,410 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\CH\Data\CH-Extended.th2 +2025-06-16 08:12:35,412 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CH\CH-maps.th +2025-06-16 08:12:35,415 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\FULFORD\Data\CH\CH.thconfig +2025-06-16 08:12:35,572 - WARNING - [Therion_Compile] C:\Program Files\Therion\therion.exe: warning -- data not georeferenced -- unable to export KML file +2025-06-16 08:12:35,579 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\CH\CH.thconfig succeeded +2025-06-16 08:12:35,591 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\AAA.th created from ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:12:35,591 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\FULFORD\Data\AAA.th +2025-06-16 08:12:35,592 - INFO - Parsing survey target: AAA +2025-06-16 08:12:35,601 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\FULFORD\Data\AAA +2025-06-16 08:12:35,605 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AAA\AAA.thconfig +2025-06-16 08:12:35,606 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AAA\AAA-tot.th +2025-06-16 08:12:35,607 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AAA\readme.md +2025-06-16 08:12:35,608 - INFO - Compiling 2D XVI file: AAA +2025-06-16 08:12:35,797 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\AAA\Data\AAA-Plan.xvi +2025-06-16 08:12:35,798 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\AAA\Data\AAA-Plan.th2 +2025-06-16 08:12:35,801 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\AAA\Data\AAA-Extended.xvi +2025-06-16 08:12:35,802 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\AAA\Data\AAA-Extended.th2 +2025-06-16 08:12:35,803 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AAA\AAA-maps.th +2025-06-16 08:12:35,807 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\FULFORD\Data\AAA\AAA.thconfig +2025-06-16 08:12:35,959 - WARNING - [Therion_Compile] C:\Program Files\Therion\therion.exe: warning -- data not georeferenced -- unable to export KML file +2025-06-16 08:12:35,968 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\AAA\AAA.thconfig succeeded +2025-06-16 08:12:35,981 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\AB.th created from ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:12:35,981 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\FULFORD\Data\AB.th +2025-06-16 08:12:35,982 - INFO - Parsing survey target: AB +2025-06-16 08:12:35,991 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\FULFORD\Data\AB +2025-06-16 08:12:35,994 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AB\AB.thconfig +2025-06-16 08:12:35,996 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AB\AB-tot.th +2025-06-16 08:12:35,997 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AB\readme.md +2025-06-16 08:12:35,998 - INFO - Compiling 2D XVI file: AB +2025-06-16 08:12:36,183 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\AB\Data\AB-Plan.xvi +2025-06-16 08:12:36,183 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\AB\Data\AB-Plan.th2 +2025-06-16 08:12:36,184 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\AB\Data\AB-Extended.xvi +2025-06-16 08:12:36,185 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\AB\Data\AB-Extended.th2 +2025-06-16 08:12:36,187 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AB\AB-maps.th +2025-06-16 08:12:36,190 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\FULFORD\Data\AB\AB.thconfig +2025-06-16 08:12:36,343 - WARNING - [Therion_Compile] C:\Program Files\Therion\therion.exe: warning -- data not georeferenced -- unable to export KML file +2025-06-16 08:12:36,351 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\AB\AB.thconfig succeeded +2025-06-16 08:12:36,360 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\AC.th created from ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:12:36,361 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\FULFORD\Data\AC.th +2025-06-16 08:12:36,361 - INFO - Parsing survey target: AC +2025-06-16 08:12:36,370 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\FULFORD\Data\AC +2025-06-16 08:12:36,373 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AC\AC.thconfig +2025-06-16 08:12:36,374 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AC\AC-tot.th +2025-06-16 08:12:36,375 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AC\readme.md +2025-06-16 08:12:36,376 - INFO - Compiling 2D XVI file: AC +2025-06-16 08:12:36,566 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\AC\Data\AC-Plan.xvi +2025-06-16 08:12:36,566 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\AC\Data\AC-Plan.th2 +2025-06-16 08:12:36,567 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\AC\Data\AC-Extended.xvi +2025-06-16 08:12:36,568 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\AC\Data\AC-Extended.th2 +2025-06-16 08:12:36,569 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AC\AC-maps.th +2025-06-16 08:12:36,572 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\FULFORD\Data\AC\AC.thconfig +2025-06-16 08:12:36,728 - WARNING - [Therion_Compile] C:\Program Files\Therion\therion.exe: warning -- data not georeferenced -- unable to export KML file +2025-06-16 08:12:36,736 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\AC\AC.thconfig succeeded +2025-06-16 08:12:36,750 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\CJ.th created from ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:12:36,750 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\FULFORD\Data\CJ.th +2025-06-16 08:12:36,751 - INFO - Parsing survey target: CJ +2025-06-16 08:12:36,758 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\FULFORD\Data\CJ +2025-06-16 08:12:36,761 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CJ\CJ.thconfig +2025-06-16 08:12:36,762 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CJ\CJ-tot.th +2025-06-16 08:12:36,763 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CJ\readme.md +2025-06-16 08:12:36,764 - INFO - Compiling 2D XVI file: CJ +2025-06-16 08:12:36,947 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\CJ\Data\CJ-Plan.xvi +2025-06-16 08:12:36,948 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\CJ\Data\CJ-Plan.th2 +2025-06-16 08:12:36,949 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\CJ\Data\CJ-Extended.xvi +2025-06-16 08:12:36,952 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\CJ\Data\CJ-Extended.th2 +2025-06-16 08:12:36,955 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CJ\CJ-maps.th +2025-06-16 08:12:36,958 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\FULFORD\Data\CJ\CJ.thconfig +2025-06-16 08:12:37,114 - WARNING - [Therion_Compile] C:\Program Files\Therion\therion.exe: warning -- data not georeferenced -- unable to export KML file +2025-06-16 08:12:37,121 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\CJ\CJ.thconfig succeeded +2025-06-16 08:12:37,133 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\CK.th created from ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:12:37,134 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\FULFORD\Data\CK.th +2025-06-16 08:12:37,134 - INFO - Parsing survey target: CK +2025-06-16 08:12:37,143 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\FULFORD\Data\CK +2025-06-16 08:12:37,146 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CK\CK.thconfig +2025-06-16 08:12:37,147 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CK\CK-tot.th +2025-06-16 08:12:37,149 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CK\readme.md +2025-06-16 08:12:37,149 - INFO - Compiling 2D XVI file: CK +2025-06-16 08:12:37,329 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\CK\Data\CK-Plan.xvi +2025-06-16 08:12:37,329 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\CK\Data\CK-Plan.th2 +2025-06-16 08:12:37,330 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\CK\Data\CK-Extended.xvi +2025-06-16 08:12:37,332 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\CK\Data\CK-Extended.th2 +2025-06-16 08:12:37,334 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CK\CK-maps.th +2025-06-16 08:12:37,337 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\FULFORD\Data\CK\CK.thconfig +2025-06-16 08:12:37,526 - WARNING - [Therion_Compile] C:\Program Files\Therion\therion.exe: warning -- data not georeferenced -- unable to export KML file +2025-06-16 08:12:37,536 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\CK\CK.thconfig succeeded +2025-06-16 08:12:37,547 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\CL.th created from ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:12:37,547 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\FULFORD\Data\CL.th +2025-06-16 08:12:37,548 - INFO - Parsing survey target: CL +2025-06-16 08:12:37,557 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\FULFORD\Data\CL +2025-06-16 08:12:37,563 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CL\CL.thconfig +2025-06-16 08:12:37,565 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CL\CL-tot.th +2025-06-16 08:12:37,566 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CL\readme.md +2025-06-16 08:12:37,567 - INFO - Compiling 2D XVI file: CL +2025-06-16 08:12:37,764 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\CL\Data\CL-Plan.xvi +2025-06-16 08:12:37,765 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\CL\Data\CL-Plan.th2 +2025-06-16 08:12:37,767 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\CL\Data\CL-Extended.xvi +2025-06-16 08:12:37,768 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\CL\Data\CL-Extended.th2 +2025-06-16 08:12:37,770 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CL\CL-maps.th +2025-06-16 08:12:37,774 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\FULFORD\Data\CL\CL.thconfig +2025-06-16 08:12:37,928 - WARNING - [Therion_Compile] C:\Program Files\Therion\therion.exe: warning -- data not georeferenced -- unable to export KML file +2025-06-16 08:12:37,936 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\CL\CL.thconfig succeeded +2025-06-16 08:12:37,940 - INFO - Total 'equats' : 25 in ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:12:37,944 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\FULFORD.thconfig +2025-06-16 08:12:37,945 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\FULFORD-tot.th +2025-06-16 08:12:37,946 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\FULFORD-maps.th +2025-06-16 08:12:37,948 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\readme.md +2025-06-16 08:12:37,951 - INFO - All files processed successfully in 15.59 secondes, without errors +2025-06-16 08:55:33,210 - INFO - ******************************************************************************************************************************************** +2025-06-16 08:55:33,210 - INFO - * Conversion Th, Dat, Mak files to Therion files and folders +2025-06-16 08:55:33,210 - INFO - * Script pyCreateTh by : alexandre.pont@yahoo.fr +2025-06-16 08:55:33,210 - INFO - * Version : 2025.06.16 +2025-06-16 08:55:33,211 - INFO - * Input file : ~\Tests\Fulfords.mak +2025-06-16 08:55:33,211 - INFO - * Output file : ~\Tests\Fulfords +2025-06-16 08:55:33,211 - INFO - * Log file : ~\Tests\Fulfords.log +2025-06-16 08:55:33,211 - INFO - * +2025-06-16 08:55:33,211 - INFO - * +2025-06-16 08:55:33,211 - INFO - * +2025-06-16 08:55:33,212 - INFO - ******************************************************************************************************************************************** +2025-06-16 08:55:33,213 - INFO - Reading mak file : ~\Tests\Fulfords.mak, fixed station : 4, files 2, UTM Zone : 13, Datum : North American 1983, SCR : EPSG:26913 +2025-06-16 08:55:33,224 - INFO - The folder './template' has been copied to '~\Tests\Fulfords +2025-06-16 08:55:33,232 - INFO - ~\Tests\Fulfords\Data\FULSURF.DAT, encodage : ascii conversion utf-8 +2025-06-16 08:55:33,235 - INFO - Read dat file : ~\Tests\Fulfords\Data\FULSURF.DAT with 4 survey +2025-06-16 08:55:33,243 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\Fulford_Cave +2025-06-16 08:55:33,254 - WARNING - Flags exclude from plot #|P# not implemented in therion, line 2 in ~\Tests\Fulfords\Data\FULSURF.DAT +2025-06-16 08:55:33,254 - WARNING - Flags exclude from plot #|P# not implemented in therion, line 3 in ~\Tests\Fulfords\Data\FULSURF.DAT +2025-06-16 08:55:33,254 - WARNING - Flags exclude from plot #|P# not implemented in therion, line 4 in ~\Tests\Fulfords\Data\FULSURF.DAT +2025-06-16 08:55:33,255 - WARNING - Flags exclude from plot #|P# not implemented in therion, line 5 in ~\Tests\Fulfords\Data\FULSURF.DAT +2025-06-16 08:55:33,255 - WARNING - Flags exclude from plot #|P# not implemented in therion, line 6 in ~\Tests\Fulfords\Data\FULSURF.DAT +2025-06-16 08:55:33,255 - WARNING - Flags exclude from plot #|P# not implemented in therion, line 7 in ~\Tests\Fulfords\Data\FULSURF.DAT +2025-06-16 08:55:33,256 - INFO - Therion file : ~\Tests\Fulfords\Data\Fulford_Cave\Data\SS.th created from ~\Tests\Fulfords\Data\FULSURF.DAT +2025-06-16 08:55:33,257 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\Fulford_Cave\Data\SS.th +2025-06-16 08:55:33,257 - INFO - Parsing survey target: SS +2025-06-16 08:55:33,266 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\Fulford_Cave\Data\SS +2025-06-16 08:55:33,269 - INFO - Update template successfully: ~\Tests\Fulfords\Data\Fulford_Cave\Data\SS\SS.thconfig +2025-06-16 08:55:33,270 - INFO - Update template successfully: ~\Tests\Fulfords\Data\Fulford_Cave\Data\SS\SS-tot.th +2025-06-16 08:55:33,271 - INFO - Update template successfully: ~\Tests\Fulfords\Data\Fulford_Cave\Data\SS\readme.md +2025-06-16 08:55:33,271 - INFO - Compiling 2D XVI file: SS +2025-06-16 08:55:33,648 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\Fulford_Cave\Data\SS\Data\SS-Plan.xvi +2025-06-16 08:55:33,650 - INFO - Writing output to: ~\Tests\Fulfords\Data\Fulford_Cave\Data\SS\Data\SS-Plan.th2 +2025-06-16 08:55:33,652 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\Fulford_Cave\Data\SS\Data\SS-Extended.xvi +2025-06-16 08:55:33,654 - INFO - Writing output to: ~\Tests\Fulfords\Data\Fulford_Cave\Data\SS\Data\SS-Extended.th2 +2025-06-16 08:55:33,658 - INFO - Update template successfully: ~\Tests\Fulfords\Data\Fulford_Cave\Data\SS\SS-maps.th +2025-06-16 08:55:33,664 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\Fulford_Cave\Data\SS\SS.thconfig +2025-06-16 08:55:33,966 - ERROR - !!! [Therion_Compile] average loop error: 31.15% +2025-06-16 08:55:34,044 - INFO - Therion file : ~\Tests\Fulfords\Data\Fulford_Cave\Data\SS\SS.thconfig succeeded +2025-06-16 08:55:34,052 - WARNING - Flags exclude from plot #|P# not implemented in therion, line 2 in ~\Tests\Fulfords\Data\FULSURF.DAT +2025-06-16 08:55:34,052 - WARNING - Flags exclude from plot #|P# not implemented in therion, line 3 in ~\Tests\Fulfords\Data\FULSURF.DAT +2025-06-16 08:55:34,053 - WARNING - Flags exclude from plot #|P# not implemented in therion, line 4 in ~\Tests\Fulfords\Data\FULSURF.DAT +2025-06-16 08:55:34,053 - INFO - Therion file : ~\Tests\Fulfords\Data\Fulford_Cave\Data\SC.th created from ~\Tests\Fulfords\Data\FULSURF.DAT +2025-06-16 08:55:34,054 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\Fulford_Cave\Data\SC.th +2025-06-16 08:55:34,054 - INFO - Parsing survey target: SC +2025-06-16 08:55:34,062 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\Fulford_Cave\Data\SC +2025-06-16 08:55:34,065 - INFO - Update template successfully: ~\Tests\Fulfords\Data\Fulford_Cave\Data\SC\SC.thconfig +2025-06-16 08:55:34,066 - INFO - Update template successfully: ~\Tests\Fulfords\Data\Fulford_Cave\Data\SC\SC-tot.th +2025-06-16 08:55:34,068 - INFO - Update template successfully: ~\Tests\Fulfords\Data\Fulford_Cave\Data\SC\readme.md +2025-06-16 08:55:34,068 - INFO - Compiling 2D XVI file: SC +2025-06-16 08:55:34,358 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\Fulford_Cave\Data\SC\Data\SC-Plan.xvi +2025-06-16 08:55:34,359 - INFO - Writing output to: ~\Tests\Fulfords\Data\Fulford_Cave\Data\SC\Data\SC-Plan.th2 +2025-06-16 08:55:34,360 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\Fulford_Cave\Data\SC\Data\SC-Extended.xvi +2025-06-16 08:55:34,361 - INFO - Writing output to: ~\Tests\Fulfords\Data\Fulford_Cave\Data\SC\Data\SC-Extended.th2 +2025-06-16 08:55:34,363 - INFO - Update template successfully: ~\Tests\Fulfords\Data\Fulford_Cave\Data\SC\SC-maps.th +2025-06-16 08:55:34,368 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\Fulford_Cave\Data\SC\SC.thconfig +2025-06-16 08:55:34,558 - ERROR - !!! [Therion_Compile] average loop error: 2.89% +2025-06-16 08:55:34,638 - INFO - Therion file : ~\Tests\Fulfords\Data\Fulford_Cave\Data\SC\SC.thconfig succeeded +2025-06-16 08:55:34,645 - INFO - Therion file : ~\Tests\Fulfords\Data\Fulford_Cave\Data\Z.th created from ~\Tests\Fulfords\Data\FULSURF.DAT +2025-06-16 08:55:34,645 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\Fulford_Cave\Data\Z.th +2025-06-16 08:55:34,646 - INFO - Parsing survey target: Z +2025-06-16 08:55:34,654 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\Fulford_Cave\Data\Z +2025-06-16 08:55:34,657 - INFO - Update template successfully: ~\Tests\Fulfords\Data\Fulford_Cave\Data\Z\Z.thconfig +2025-06-16 08:55:34,658 - INFO - Update template successfully: ~\Tests\Fulfords\Data\Fulford_Cave\Data\Z\Z-tot.th +2025-06-16 08:55:34,659 - INFO - Update template successfully: ~\Tests\Fulfords\Data\Fulford_Cave\Data\Z\readme.md +2025-06-16 08:55:34,660 - INFO - Compiling 2D XVI file: Z +2025-06-16 08:55:34,858 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\Fulford_Cave\Data\Z\Data\Z-Plan.xvi +2025-06-16 08:55:34,858 - INFO - Writing output to: ~\Tests\Fulfords\Data\Fulford_Cave\Data\Z\Data\Z-Plan.th2 +2025-06-16 08:55:34,859 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\Fulford_Cave\Data\Z\Data\Z-Extended.xvi +2025-06-16 08:55:34,860 - INFO - Writing output to: ~\Tests\Fulfords\Data\Fulford_Cave\Data\Z\Data\Z-Extended.th2 +2025-06-16 08:55:34,861 - INFO - Update template successfully: ~\Tests\Fulfords\Data\Fulford_Cave\Data\Z\Z-maps.th +2025-06-16 08:55:34,865 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\Fulford_Cave\Data\Z\Z.thconfig +2025-06-16 08:55:35,042 - WARNING - [Therion_Compile] C:\Program Files\Therion\therion.exe: warning -- data not georeferenced -- unable to export KML file +2025-06-16 08:55:35,050 - INFO - Therion file : ~\Tests\Fulfords\Data\Fulford_Cave\Data\Z\Z.thconfig succeeded +2025-06-16 08:55:35,064 - INFO - Therion file : ~\Tests\Fulfords\Data\Fulford_Cave\Data\Z_.th created from ~\Tests\Fulfords\Data\FULSURF.DAT +2025-06-16 08:55:35,065 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\Fulford_Cave\Data\Z_.th +2025-06-16 08:55:35,065 - INFO - Parsing survey target: Z_ +2025-06-16 08:55:35,073 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\Fulford_Cave\Data\Z_ +2025-06-16 08:55:35,077 - INFO - Update template successfully: ~\Tests\Fulfords\Data\Fulford_Cave\Data\Z_\Z_.thconfig +2025-06-16 08:55:35,079 - INFO - Update template successfully: ~\Tests\Fulfords\Data\Fulford_Cave\Data\Z_\Z_-tot.th +2025-06-16 08:55:35,080 - INFO - Update template successfully: ~\Tests\Fulfords\Data\Fulford_Cave\Data\Z_\readme.md +2025-06-16 08:55:35,081 - INFO - Compiling 2D XVI file: Z_ +2025-06-16 08:55:35,276 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\Fulford_Cave\Data\Z_\Data\Z_-Plan.xvi +2025-06-16 08:55:35,277 - INFO - Writing output to: ~\Tests\Fulfords\Data\Fulford_Cave\Data\Z_\Data\Z_-Plan.th2 +2025-06-16 08:55:35,279 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\Fulford_Cave\Data\Z_\Data\Z_-Extended.xvi +2025-06-16 08:55:35,280 - INFO - Writing output to: ~\Tests\Fulfords\Data\Fulford_Cave\Data\Z_\Data\Z_-Extended.th2 +2025-06-16 08:55:35,282 - INFO - Update template successfully: ~\Tests\Fulfords\Data\Fulford_Cave\Data\Z_\Z_-maps.th +2025-06-16 08:55:35,286 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\Fulford_Cave\Data\Z_\Z_.thconfig +2025-06-16 08:55:35,442 - WARNING - [Therion_Compile] C:\Program Files\Therion\therion.exe: warning -- data not georeferenced -- unable to export KML file +2025-06-16 08:55:35,449 - INFO - Therion file : ~\Tests\Fulfords\Data\Fulford_Cave\Data\Z_\Z_.thconfig succeeded +2025-06-16 08:55:35,455 - INFO - Total 'equats' : 2 in ~\Tests\Fulfords\Data\FULSURF.DAT +2025-06-16 08:55:35,457 - INFO - Update template successfully: ~\Tests\Fulfords\Data\Fulford_Cave\Fulford_Cave.thconfig +2025-06-16 08:55:35,458 - INFO - Update template successfully: ~\Tests\Fulfords\Data\Fulford_Cave\Fulford_Cave-tot.th +2025-06-16 08:55:35,460 - INFO - Update template successfully: ~\Tests\Fulfords\Data\Fulford_Cave\Fulford_Cave-maps.th +2025-06-16 08:55:35,462 - INFO - Update template successfully: ~\Tests\Fulfords\Data\Fulford_Cave\readme.md +2025-06-16 08:55:35,468 - INFO - ~\Tests\Fulfords\Data\FULFORD.DAT, encodage : ascii conversion utf-8 +2025-06-16 08:55:35,474 - INFO - Read dat file : ~\Tests\Fulfords\Data\FULFORD.DAT with 25 survey +2025-06-16 08:55:35,483 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\FULFORD +2025-06-16 08:55:35,491 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\A.th created from ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:55:35,492 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\FULFORD\Data\A.th +2025-06-16 08:55:35,492 - INFO - Parsing survey target: A +2025-06-16 08:55:35,502 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\FULFORD\Data\A +2025-06-16 08:55:35,504 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\A\A.thconfig +2025-06-16 08:55:35,505 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\A\A-tot.th +2025-06-16 08:55:35,507 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\A\readme.md +2025-06-16 08:55:35,507 - INFO - Compiling 2D XVI file: A +2025-06-16 08:55:35,860 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\A\Data\A-Plan.xvi +2025-06-16 08:55:35,861 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\A\Data\A-Plan.th2 +2025-06-16 08:55:35,862 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\A\Data\A-Extended.xvi +2025-06-16 08:55:35,863 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\A\Data\A-Extended.th2 +2025-06-16 08:55:35,864 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\A\A-maps.th +2025-06-16 08:55:35,867 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\FULFORD\Data\A\A.thconfig +2025-06-16 08:55:36,129 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\A\A.thconfig succeeded +2025-06-16 08:55:36,137 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\A_.th created from ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:55:36,138 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\FULFORD\Data\A_.th +2025-06-16 08:55:36,138 - INFO - Parsing survey target: A_ +2025-06-16 08:55:36,146 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\FULFORD\Data\A_ +2025-06-16 08:55:36,149 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\A_\A_.thconfig +2025-06-16 08:55:36,150 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\A_\A_-tot.th +2025-06-16 08:55:36,151 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\A_\readme.md +2025-06-16 08:55:36,151 - INFO - Compiling 2D XVI file: A_ +2025-06-16 08:55:36,343 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\A_\Data\A_-Plan.xvi +2025-06-16 08:55:36,344 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\A_\Data\A_-Plan.th2 +2025-06-16 08:55:36,344 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\A_\Data\A_-Extended.xvi +2025-06-16 08:55:36,346 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\A_\Data\A_-Extended.th2 +2025-06-16 08:55:36,347 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\A_\A_-maps.th +2025-06-16 08:55:36,350 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\FULFORD\Data\A_\A_.thconfig +2025-06-16 08:55:36,445 - ERROR - !!! [Therion_Compile] average loop error: 2.03% +2025-06-16 08:55:36,514 - WARNING - [Therion_Compile] C:\Program Files\Therion\therion.exe: warning -- data not georeferenced -- unable to export KML file +2025-06-16 08:55:36,522 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\A_\A_.thconfig succeeded +2025-06-16 08:55:36,533 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\B.th created from ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:55:36,534 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\FULFORD\Data\B.th +2025-06-16 08:55:36,534 - INFO - Parsing survey target: B +2025-06-16 08:55:36,543 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\FULFORD\Data\B +2025-06-16 08:55:36,549 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\B\B.thconfig +2025-06-16 08:55:36,550 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\B\B-tot.th +2025-06-16 08:55:36,551 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\B\readme.md +2025-06-16 08:55:36,552 - INFO - Compiling 2D XVI file: B +2025-06-16 08:55:36,738 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\B\Data\B-Plan.xvi +2025-06-16 08:55:36,739 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\B\Data\B-Plan.th2 +2025-06-16 08:55:36,740 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\B\Data\B-Extended.xvi +2025-06-16 08:55:36,741 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\B\Data\B-Extended.th2 +2025-06-16 08:55:36,745 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\B\B-maps.th +2025-06-16 08:55:36,748 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\FULFORD\Data\B\B.thconfig +2025-06-16 08:55:36,904 - WARNING - [Therion_Compile] C:\Program Files\Therion\therion.exe: warning -- data not georeferenced -- unable to export KML file +2025-06-16 08:55:36,911 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\B\B.thconfig succeeded +2025-06-16 08:55:36,921 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\C.th created from ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:55:36,922 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\FULFORD\Data\C.th +2025-06-16 08:55:36,923 - INFO - Parsing survey target: C +2025-06-16 08:55:36,932 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\FULFORD\Data\C +2025-06-16 08:55:36,934 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\C\C.thconfig +2025-06-16 08:55:36,935 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\C\C-tot.th +2025-06-16 08:55:36,936 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\C\readme.md +2025-06-16 08:55:36,937 - INFO - Compiling 2D XVI file: C +2025-06-16 08:55:37,132 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\C\Data\C-Plan.xvi +2025-06-16 08:55:37,133 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\C\Data\C-Plan.th2 +2025-06-16 08:55:37,134 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\C\Data\C-Extended.xvi +2025-06-16 08:55:37,135 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\C\Data\C-Extended.th2 +2025-06-16 08:55:37,138 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\C\C-maps.th +2025-06-16 08:55:37,143 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\FULFORD\Data\C\C.thconfig +2025-06-16 08:55:37,302 - WARNING - [Therion_Compile] C:\Program Files\Therion\therion.exe: warning -- data not georeferenced -- unable to export KML file +2025-06-16 08:55:37,309 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\C\C.thconfig succeeded +2025-06-16 08:55:37,320 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\C_.th created from ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:55:37,320 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\FULFORD\Data\C_.th +2025-06-16 08:55:37,321 - INFO - Parsing survey target: C_ +2025-06-16 08:55:37,329 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\FULFORD\Data\C_ +2025-06-16 08:55:37,331 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\C_\C_.thconfig +2025-06-16 08:55:37,332 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\C_\C_-tot.th +2025-06-16 08:55:37,334 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\C_\readme.md +2025-06-16 08:55:37,334 - INFO - Compiling 2D XVI file: C_ +2025-06-16 08:55:37,515 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\C_\Data\C_-Plan.xvi +2025-06-16 08:55:37,515 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\C_\Data\C_-Plan.th2 +2025-06-16 08:55:37,518 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\C_\Data\C_-Extended.xvi +2025-06-16 08:55:37,520 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\C_\Data\C_-Extended.th2 +2025-06-16 08:55:37,521 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\C_\C_-maps.th +2025-06-16 08:55:37,525 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\FULFORD\Data\C_\C_.thconfig +2025-06-16 08:55:37,678 - WARNING - [Therion_Compile] C:\Program Files\Therion\therion.exe: warning -- data not georeferenced -- unable to export KML file +2025-06-16 08:55:37,687 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\C_\C_.thconfig succeeded +2025-06-16 08:55:37,697 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\C__.th created from ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:55:37,698 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\FULFORD\Data\C__.th +2025-06-16 08:55:37,698 - INFO - Parsing survey target: C__ +2025-06-16 08:55:37,706 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\FULFORD\Data\C__ +2025-06-16 08:55:37,711 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\C__\C__.thconfig +2025-06-16 08:55:37,712 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\C__\C__-tot.th +2025-06-16 08:55:37,713 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\C__\readme.md +2025-06-16 08:55:37,713 - INFO - Compiling 2D XVI file: C__ +2025-06-16 08:55:37,896 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\C__\Data\C__-Plan.xvi +2025-06-16 08:55:37,896 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\C__\Data\C__-Plan.th2 +2025-06-16 08:55:37,897 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\C__\Data\C__-Extended.xvi +2025-06-16 08:55:37,899 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\C__\Data\C__-Extended.th2 +2025-06-16 08:55:37,901 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\C__\C__-maps.th +2025-06-16 08:55:37,906 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\FULFORD\Data\C__\C__.thconfig +2025-06-16 08:55:38,068 - WARNING - [Therion_Compile] C:\Program Files\Therion\therion.exe: warning -- data not georeferenced -- unable to export KML file +2025-06-16 08:55:38,076 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\C__\C__.thconfig succeeded +2025-06-16 08:55:38,084 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\A3.th created from ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:55:38,085 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\FULFORD\Data\A3.th +2025-06-16 08:55:38,085 - INFO - Parsing survey target: A3 +2025-06-16 08:55:38,095 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\FULFORD\Data\A3 +2025-06-16 08:55:38,098 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\A3\A3.thconfig +2025-06-16 08:55:38,099 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\A3\A3-tot.th +2025-06-16 08:55:38,100 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\A3\readme.md +2025-06-16 08:55:38,100 - INFO - Compiling 2D XVI file: A3 +2025-06-16 08:55:38,284 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\A3\Data\A3-Plan.xvi +2025-06-16 08:55:38,285 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\A3\Data\A3-Plan.th2 +2025-06-16 08:55:38,285 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\A3\Data\A3-Extended.xvi +2025-06-16 08:55:38,287 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\A3\Data\A3-Extended.th2 +2025-06-16 08:55:38,288 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\A3\A3-maps.th +2025-06-16 08:55:38,291 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\FULFORD\Data\A3\A3.thconfig +2025-06-16 08:55:38,446 - WARNING - [Therion_Compile] C:\Program Files\Therion\therion.exe: warning -- data not georeferenced -- unable to export KML file +2025-06-16 08:55:38,453 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\A3\A3.thconfig succeeded +2025-06-16 08:55:38,460 - WARNING - Flags exclude from plot #|P# not implemented in therion, line 2 in ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:55:38,461 - WARNING - Flags exclude from plot #|P# not implemented in therion, line 3 in ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:55:38,464 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\AN.th created from ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:55:38,464 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\FULFORD\Data\AN.th +2025-06-16 08:55:38,465 - INFO - Parsing survey target: AN +2025-06-16 08:55:38,476 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\FULFORD\Data\AN +2025-06-16 08:55:38,481 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AN\AN.thconfig +2025-06-16 08:55:38,482 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AN\AN-tot.th +2025-06-16 08:55:38,483 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AN\readme.md +2025-06-16 08:55:38,484 - INFO - Compiling 2D XVI file: AN +2025-06-16 08:55:38,771 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\AN\Data\AN-Plan.xvi +2025-06-16 08:55:38,772 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\AN\Data\AN-Plan.th2 +2025-06-16 08:55:38,773 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\AN\Data\AN-Extended.xvi +2025-06-16 08:55:38,774 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\AN\Data\AN-Extended.th2 +2025-06-16 08:55:38,775 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AN\AN-maps.th +2025-06-16 08:55:38,778 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\FULFORD\Data\AN\AN.thconfig +2025-06-16 08:55:39,058 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\AN\AN.thconfig succeeded +2025-06-16 08:55:39,066 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\AA.th created from ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:55:39,067 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\FULFORD\Data\AA.th +2025-06-16 08:55:39,067 - INFO - Parsing survey target: AA +2025-06-16 08:55:39,075 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\FULFORD\Data\AA +2025-06-16 08:55:39,081 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AA\AA.thconfig +2025-06-16 08:55:39,082 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AA\AA-tot.th +2025-06-16 08:55:39,083 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AA\readme.md +2025-06-16 08:55:39,083 - INFO - Compiling 2D XVI file: AA +2025-06-16 08:55:39,282 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\AA\Data\AA-Plan.xvi +2025-06-16 08:55:39,283 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\AA\Data\AA-Plan.th2 +2025-06-16 08:55:39,284 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\AA\Data\AA-Extended.xvi +2025-06-16 08:55:39,285 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\AA\Data\AA-Extended.th2 +2025-06-16 08:55:39,286 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AA\AA-maps.th +2025-06-16 08:55:39,290 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\FULFORD\Data\AA\AA.thconfig +2025-06-16 08:55:39,447 - WARNING - [Therion_Compile] C:\Program Files\Therion\therion.exe: warning -- data not georeferenced -- unable to export KML file +2025-06-16 08:55:39,455 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\AA\AA.thconfig succeeded +2025-06-16 08:55:39,467 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\AM.th created from ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:55:39,468 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\FULFORD\Data\AM.th +2025-06-16 08:55:39,468 - INFO - Parsing survey target: AM +2025-06-16 08:55:39,476 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\FULFORD\Data\AM +2025-06-16 08:55:39,479 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AM\AM.thconfig +2025-06-16 08:55:39,481 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AM\AM-tot.th +2025-06-16 08:55:39,482 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AM\readme.md +2025-06-16 08:55:39,482 - INFO - Compiling 2D XVI file: AM +2025-06-16 08:55:39,669 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\AM\Data\AM-Plan.xvi +2025-06-16 08:55:39,670 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\AM\Data\AM-Plan.th2 +2025-06-16 08:55:39,671 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\AM\Data\AM-Extended.xvi +2025-06-16 08:55:39,672 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\AM\Data\AM-Extended.th2 +2025-06-16 08:55:39,673 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AM\AM-maps.th +2025-06-16 08:55:39,677 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\FULFORD\Data\AM\AM.thconfig +2025-06-16 08:55:39,832 - WARNING - [Therion_Compile] C:\Program Files\Therion\therion.exe: warning -- data not georeferenced -- unable to export KML file +2025-06-16 08:55:39,841 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\AM\AM.thconfig succeeded +2025-06-16 08:55:39,852 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\CD.th created from ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:55:39,852 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\FULFORD\Data\CD.th +2025-06-16 08:55:39,853 - INFO - Parsing survey target: CD +2025-06-16 08:55:39,861 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\FULFORD\Data\CD +2025-06-16 08:55:39,865 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CD\CD.thconfig +2025-06-16 08:55:39,866 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CD\CD-tot.th +2025-06-16 08:55:39,866 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CD\readme.md +2025-06-16 08:55:39,867 - INFO - Compiling 2D XVI file: CD +2025-06-16 08:55:40,053 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\CD\Data\CD-Plan.xvi +2025-06-16 08:55:40,053 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\CD\Data\CD-Plan.th2 +2025-06-16 08:55:40,056 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\CD\Data\CD-Extended.xvi +2025-06-16 08:55:40,057 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\CD\Data\CD-Extended.th2 +2025-06-16 08:55:40,058 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CD\CD-maps.th +2025-06-16 08:55:40,063 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\FULFORD\Data\CD\CD.thconfig +2025-06-16 08:55:40,223 - WARNING - [Therion_Compile] C:\Program Files\Therion\therion.exe: warning -- data not georeferenced -- unable to export KML file +2025-06-16 08:55:40,231 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\CD\CD.thconfig succeeded +2025-06-16 08:55:40,243 - WARNING - Flags exclude from plot #|P# not implemented in therion, line 2 in ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:55:40,243 - WARNING - Flags exclude from plot #|P# not implemented in therion, line 3 in ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:55:40,244 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\XS.th created from ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:55:40,244 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\FULFORD\Data\XS.th +2025-06-16 08:55:40,245 - INFO - Parsing survey target: XS +2025-06-16 08:55:40,255 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\FULFORD\Data\XS +2025-06-16 08:55:40,258 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\XS\XS.thconfig +2025-06-16 08:55:40,259 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\XS\XS-tot.th +2025-06-16 08:55:40,260 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\XS\readme.md +2025-06-16 08:55:40,260 - INFO - Compiling 2D XVI file: XS +2025-06-16 08:55:40,543 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\XS\Data\XS-Plan.xvi +2025-06-16 08:55:40,543 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\XS\Data\XS-Plan.th2 +2025-06-16 08:55:40,544 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\XS\Data\XS-Extended.xvi +2025-06-16 08:55:40,546 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\XS\Data\XS-Extended.th2 +2025-06-16 08:55:40,547 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\XS\XS-maps.th +2025-06-16 08:55:40,551 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\FULFORD\Data\XS\XS.thconfig +2025-06-16 08:55:40,740 - ERROR - !!! [Therion_Compile] average loop error: 5.56% +2025-06-16 08:55:40,818 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\XS\XS.thconfig succeeded +2025-06-16 08:55:40,826 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\AL.th created from ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:55:40,826 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\FULFORD\Data\AL.th +2025-06-16 08:55:40,827 - INFO - Parsing survey target: AL +2025-06-16 08:55:40,835 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\FULFORD\Data\AL +2025-06-16 08:55:40,839 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AL\AL.thconfig +2025-06-16 08:55:40,840 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AL\AL-tot.th +2025-06-16 08:55:40,841 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AL\readme.md +2025-06-16 08:55:40,841 - INFO - Compiling 2D XVI file: AL +2025-06-16 08:55:41,032 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\AL\Data\AL-Plan.xvi +2025-06-16 08:55:41,032 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\AL\Data\AL-Plan.th2 +2025-06-16 08:55:41,035 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\AL\Data\AL-Extended.xvi +2025-06-16 08:55:41,036 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\AL\Data\AL-Extended.th2 +2025-06-16 08:55:41,037 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AL\AL-maps.th +2025-06-16 08:55:41,040 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\FULFORD\Data\AL\AL.thconfig +2025-06-16 08:55:41,199 - WARNING - [Therion_Compile] C:\Program Files\Therion\therion.exe: warning -- data not georeferenced -- unable to export KML file +2025-06-16 08:55:41,206 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\AL\AL.thconfig succeeded +2025-06-16 08:55:41,217 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\CC.th created from ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:55:41,218 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\FULFORD\Data\CC.th +2025-06-16 08:55:41,218 - INFO - Parsing survey target: CC +2025-06-16 08:55:41,226 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\FULFORD\Data\CC +2025-06-16 08:55:41,228 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CC\CC.thconfig +2025-06-16 08:55:41,229 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CC\CC-tot.th +2025-06-16 08:55:41,230 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CC\readme.md +2025-06-16 08:55:41,231 - INFO - Compiling 2D XVI file: CC +2025-06-16 08:55:41,415 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\CC\Data\CC-Plan.xvi +2025-06-16 08:55:41,416 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\CC\Data\CC-Plan.th2 +2025-06-16 08:55:41,417 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\CC\Data\CC-Extended.xvi +2025-06-16 08:55:41,418 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\CC\Data\CC-Extended.th2 +2025-06-16 08:55:41,419 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CC\CC-maps.th +2025-06-16 08:55:41,424 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\FULFORD\Data\CC\CC.thconfig +2025-06-16 08:55:41,526 - ERROR - !!! [Therion_Compile] average loop error: 2.06% +2025-06-16 08:55:41,588 - WARNING - [Therion_Compile] C:\Program Files\Therion\therion.exe: warning -- data not georeferenced -- unable to export KML file +2025-06-16 08:55:41,595 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\CC\CC.thconfig succeeded +2025-06-16 08:55:41,606 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\CE.th created from ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:55:41,606 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\FULFORD\Data\CE.th +2025-06-16 08:55:41,607 - INFO - Parsing survey target: CE +2025-06-16 08:55:41,617 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\FULFORD\Data\CE +2025-06-16 08:55:41,621 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CE\CE.thconfig +2025-06-16 08:55:41,622 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CE\CE-tot.th +2025-06-16 08:55:41,623 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CE\readme.md +2025-06-16 08:55:41,623 - INFO - Compiling 2D XVI file: CE +2025-06-16 08:55:41,810 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\CE\Data\CE-Plan.xvi +2025-06-16 08:55:41,810 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\CE\Data\CE-Plan.th2 +2025-06-16 08:55:41,811 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\CE\Data\CE-Extended.xvi +2025-06-16 08:55:41,812 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\CE\Data\CE-Extended.th2 +2025-06-16 08:55:41,814 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CE\CE-maps.th +2025-06-16 08:55:41,817 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\FULFORD\Data\CE\CE.thconfig +2025-06-16 08:55:41,980 - WARNING - [Therion_Compile] C:\Program Files\Therion\therion.exe: warning -- data not georeferenced -- unable to export KML file +2025-06-16 08:55:41,991 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\CE\CE.thconfig succeeded +2025-06-16 08:55:42,005 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\BS.th created from ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:55:42,005 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\FULFORD\Data\BS.th +2025-06-16 08:55:42,006 - INFO - Parsing survey target: BS +2025-06-16 08:55:42,021 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\FULFORD\Data\BS +2025-06-16 08:55:42,025 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\BS\BS.thconfig +2025-06-16 08:55:42,026 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\BS\BS-tot.th +2025-06-16 08:55:42,028 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\BS\readme.md +2025-06-16 08:55:42,028 - INFO - Compiling 2D XVI file: BS +2025-06-16 08:55:42,220 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\BS\Data\BS-Plan.xvi +2025-06-16 08:55:42,221 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\BS\Data\BS-Plan.th2 +2025-06-16 08:55:42,222 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\BS\Data\BS-Extended.xvi +2025-06-16 08:55:42,224 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\BS\Data\BS-Extended.th2 +2025-06-16 08:55:42,225 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\BS\BS-maps.th +2025-06-16 08:55:42,228 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\FULFORD\Data\BS\BS.thconfig +2025-06-16 08:55:42,324 - ERROR - !!! [Therion_Compile] average loop error: 1.17% +2025-06-16 08:55:42,388 - WARNING - [Therion_Compile] C:\Program Files\Therion\therion.exe: warning -- data not georeferenced -- unable to export KML file +2025-06-16 08:55:42,396 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\BS\BS.thconfig succeeded +2025-06-16 08:55:42,407 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\CF.th created from ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:55:42,408 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\FULFORD\Data\CF.th +2025-06-16 08:55:42,409 - INFO - Parsing survey target: CF +2025-06-16 08:55:42,415 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\FULFORD\Data\CF +2025-06-16 08:55:42,418 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CF\CF.thconfig +2025-06-16 08:55:42,419 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CF\CF-tot.th +2025-06-16 08:55:42,420 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CF\readme.md +2025-06-16 08:55:42,420 - INFO - Compiling 2D XVI file: CF +2025-06-16 08:55:42,603 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\CF\Data\CF-Plan.xvi +2025-06-16 08:55:42,603 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\CF\Data\CF-Plan.th2 +2025-06-16 08:55:42,604 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\CF\Data\CF-Extended.xvi +2025-06-16 08:55:42,605 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\CF\Data\CF-Extended.th2 +2025-06-16 08:55:42,608 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CF\CF-maps.th +2025-06-16 08:55:42,612 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\FULFORD\Data\CF\CF.thconfig +2025-06-16 08:55:42,771 - WARNING - [Therion_Compile] C:\Program Files\Therion\therion.exe: warning -- data not georeferenced -- unable to export KML file +2025-06-16 08:55:42,780 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\CF\CF.thconfig succeeded +2025-06-16 08:55:42,792 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\CG.th created from ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:55:42,792 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\FULFORD\Data\CG.th +2025-06-16 08:55:42,793 - INFO - Parsing survey target: CG +2025-06-16 08:55:42,801 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\FULFORD\Data\CG +2025-06-16 08:55:42,804 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CG\CG.thconfig +2025-06-16 08:55:42,805 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CG\CG-tot.th +2025-06-16 08:55:42,806 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CG\readme.md +2025-06-16 08:55:42,806 - INFO - Compiling 2D XVI file: CG +2025-06-16 08:55:42,992 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\CG\Data\CG-Plan.xvi +2025-06-16 08:55:42,992 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\CG\Data\CG-Plan.th2 +2025-06-16 08:55:42,993 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\CG\Data\CG-Extended.xvi +2025-06-16 08:55:42,994 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\CG\Data\CG-Extended.th2 +2025-06-16 08:55:42,996 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CG\CG-maps.th +2025-06-16 08:55:42,999 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\FULFORD\Data\CG\CG.thconfig +2025-06-16 08:55:43,213 - WARNING - [Therion_Compile] C:\Program Files\Therion\therion.exe: warning -- data not georeferenced -- unable to export KML file +2025-06-16 08:55:43,221 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\CG\CG.thconfig succeeded +2025-06-16 08:55:43,230 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\CH.th created from ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:55:43,231 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\FULFORD\Data\CH.th +2025-06-16 08:55:43,231 - INFO - Parsing survey target: CH +2025-06-16 08:55:43,240 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\FULFORD\Data\CH +2025-06-16 08:55:43,242 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CH\CH.thconfig +2025-06-16 08:55:43,244 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CH\CH-tot.th +2025-06-16 08:55:43,245 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CH\readme.md +2025-06-16 08:55:43,246 - INFO - Compiling 2D XVI file: CH +2025-06-16 08:55:43,446 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\CH\Data\CH-Plan.xvi +2025-06-16 08:55:43,447 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\CH\Data\CH-Plan.th2 +2025-06-16 08:55:43,448 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\CH\Data\CH-Extended.xvi +2025-06-16 08:55:43,449 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\CH\Data\CH-Extended.th2 +2025-06-16 08:55:43,451 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CH\CH-maps.th +2025-06-16 08:55:43,455 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\FULFORD\Data\CH\CH.thconfig +2025-06-16 08:55:43,618 - WARNING - [Therion_Compile] C:\Program Files\Therion\therion.exe: warning -- data not georeferenced -- unable to export KML file +2025-06-16 08:55:43,627 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\CH\CH.thconfig succeeded +2025-06-16 08:55:43,638 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\AAA.th created from ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:55:43,638 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\FULFORD\Data\AAA.th +2025-06-16 08:55:43,639 - INFO - Parsing survey target: AAA +2025-06-16 08:55:43,646 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\FULFORD\Data\AAA +2025-06-16 08:55:43,649 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AAA\AAA.thconfig +2025-06-16 08:55:43,650 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AAA\AAA-tot.th +2025-06-16 08:55:43,651 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AAA\readme.md +2025-06-16 08:55:43,652 - INFO - Compiling 2D XVI file: AAA +2025-06-16 08:55:43,893 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\AAA\Data\AAA-Plan.xvi +2025-06-16 08:55:43,894 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\AAA\Data\AAA-Plan.th2 +2025-06-16 08:55:43,895 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\AAA\Data\AAA-Extended.xvi +2025-06-16 08:55:43,897 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\AAA\Data\AAA-Extended.th2 +2025-06-16 08:55:43,900 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AAA\AAA-maps.th +2025-06-16 08:55:43,906 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\FULFORD\Data\AAA\AAA.thconfig +2025-06-16 08:55:44,118 - WARNING - [Therion_Compile] C:\Program Files\Therion\therion.exe: warning -- data not georeferenced -- unable to export KML file +2025-06-16 08:55:44,128 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\AAA\AAA.thconfig succeeded +2025-06-16 08:55:44,141 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\AB.th created from ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:55:44,141 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\FULFORD\Data\AB.th +2025-06-16 08:55:44,142 - INFO - Parsing survey target: AB +2025-06-16 08:55:44,152 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\FULFORD\Data\AB +2025-06-16 08:55:44,156 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AB\AB.thconfig +2025-06-16 08:55:44,158 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AB\AB-tot.th +2025-06-16 08:55:44,160 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AB\readme.md +2025-06-16 08:55:44,161 - INFO - Compiling 2D XVI file: AB +2025-06-16 08:55:44,391 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\AB\Data\AB-Plan.xvi +2025-06-16 08:55:44,392 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\AB\Data\AB-Plan.th2 +2025-06-16 08:55:44,393 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\AB\Data\AB-Extended.xvi +2025-06-16 08:55:44,394 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\AB\Data\AB-Extended.th2 +2025-06-16 08:55:44,396 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AB\AB-maps.th +2025-06-16 08:55:44,401 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\FULFORD\Data\AB\AB.thconfig +2025-06-16 08:55:44,579 - WARNING - [Therion_Compile] C:\Program Files\Therion\therion.exe: warning -- data not georeferenced -- unable to export KML file +2025-06-16 08:55:44,587 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\AB\AB.thconfig succeeded +2025-06-16 08:55:44,597 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\AC.th created from ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:55:44,598 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\FULFORD\Data\AC.th +2025-06-16 08:55:44,598 - INFO - Parsing survey target: AC +2025-06-16 08:55:44,607 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\FULFORD\Data\AC +2025-06-16 08:55:44,610 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AC\AC.thconfig +2025-06-16 08:55:44,612 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AC\AC-tot.th +2025-06-16 08:55:44,613 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AC\readme.md +2025-06-16 08:55:44,614 - INFO - Compiling 2D XVI file: AC +2025-06-16 08:55:44,826 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\AC\Data\AC-Plan.xvi +2025-06-16 08:55:44,827 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\AC\Data\AC-Plan.th2 +2025-06-16 08:55:44,829 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\AC\Data\AC-Extended.xvi +2025-06-16 08:55:44,831 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\AC\Data\AC-Extended.th2 +2025-06-16 08:55:44,832 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\AC\AC-maps.th +2025-06-16 08:55:44,837 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\FULFORD\Data\AC\AC.thconfig +2025-06-16 08:55:45,019 - WARNING - [Therion_Compile] C:\Program Files\Therion\therion.exe: warning -- data not georeferenced -- unable to export KML file +2025-06-16 08:55:45,029 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\AC\AC.thconfig succeeded +2025-06-16 08:55:45,040 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\CJ.th created from ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:55:45,041 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\FULFORD\Data\CJ.th +2025-06-16 08:55:45,041 - INFO - Parsing survey target: CJ +2025-06-16 08:55:45,050 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\FULFORD\Data\CJ +2025-06-16 08:55:45,053 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CJ\CJ.thconfig +2025-06-16 08:55:45,054 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CJ\CJ-tot.th +2025-06-16 08:55:45,055 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CJ\readme.md +2025-06-16 08:55:45,055 - INFO - Compiling 2D XVI file: CJ +2025-06-16 08:55:45,273 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\CJ\Data\CJ-Plan.xvi +2025-06-16 08:55:45,274 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\CJ\Data\CJ-Plan.th2 +2025-06-16 08:55:45,275 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\CJ\Data\CJ-Extended.xvi +2025-06-16 08:55:45,276 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\CJ\Data\CJ-Extended.th2 +2025-06-16 08:55:45,279 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CJ\CJ-maps.th +2025-06-16 08:55:45,283 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\FULFORD\Data\CJ\CJ.thconfig +2025-06-16 08:55:45,462 - WARNING - [Therion_Compile] C:\Program Files\Therion\therion.exe: warning -- data not georeferenced -- unable to export KML file +2025-06-16 08:55:45,470 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\CJ\CJ.thconfig succeeded +2025-06-16 08:55:45,479 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\CK.th created from ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:55:45,480 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\FULFORD\Data\CK.th +2025-06-16 08:55:45,481 - INFO - Parsing survey target: CK +2025-06-16 08:55:45,489 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\FULFORD\Data\CK +2025-06-16 08:55:45,492 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CK\CK.thconfig +2025-06-16 08:55:45,493 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CK\CK-tot.th +2025-06-16 08:55:45,494 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CK\readme.md +2025-06-16 08:55:45,494 - INFO - Compiling 2D XVI file: CK +2025-06-16 08:55:45,707 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\CK\Data\CK-Plan.xvi +2025-06-16 08:55:45,707 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\CK\Data\CK-Plan.th2 +2025-06-16 08:55:45,708 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\CK\Data\CK-Extended.xvi +2025-06-16 08:55:45,710 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\CK\Data\CK-Extended.th2 +2025-06-16 08:55:45,711 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CK\CK-maps.th +2025-06-16 08:55:45,715 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\FULFORD\Data\CK\CK.thconfig +2025-06-16 08:55:45,893 - WARNING - [Therion_Compile] C:\Program Files\Therion\therion.exe: warning -- data not georeferenced -- unable to export KML file +2025-06-16 08:55:45,902 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\CK\CK.thconfig succeeded +2025-06-16 08:55:45,912 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\CL.th created from ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:55:45,912 - INFO - Parsing survey entry file: ~\Tests\Fulfords\Data\FULFORD\Data\CL.th +2025-06-16 08:55:45,913 - INFO - Parsing survey target: CL +2025-06-16 08:55:45,923 - INFO - The folder './template' has been copied to '~\Tests\Fulfords\Data\FULFORD\Data\CL +2025-06-16 08:55:45,926 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CL\CL.thconfig +2025-06-16 08:55:45,927 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CL\CL-tot.th +2025-06-16 08:55:45,928 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CL\readme.md +2025-06-16 08:55:45,929 - INFO - Compiling 2D XVI file: CL +2025-06-16 08:55:46,142 - INFO - Parsing plan XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\CL\Data\CL-Plan.xvi +2025-06-16 08:55:46,142 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\CL\Data\CL-Plan.th2 +2025-06-16 08:55:46,144 - INFO - Parsing extended XVI file: ~\Tests\Fulfords\Data\FULFORD\Data\CL\Data\CL-Extended.xvi +2025-06-16 08:55:46,145 - INFO - Writing output to: ~\Tests\Fulfords\Data\FULFORD\Data\CL\Data\CL-Extended.th2 +2025-06-16 08:55:46,146 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\Data\CL\CL-maps.th +2025-06-16 08:55:46,150 - INFO - Start therion compilation file : ~\Tests\Fulfords\Data\FULFORD\Data\CL\CL.thconfig +2025-06-16 08:55:46,331 - WARNING - [Therion_Compile] C:\Program Files\Therion\therion.exe: warning -- data not georeferenced -- unable to export KML file +2025-06-16 08:55:46,341 - INFO - Therion file : ~\Tests\Fulfords\Data\FULFORD\Data\CL\CL.thconfig succeeded +2025-06-16 08:55:46,346 - INFO - Total 'equats' : 25 in ~\Tests\Fulfords\Data\FULFORD.DAT +2025-06-16 08:55:46,352 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\FULFORD.thconfig +2025-06-16 08:55:46,353 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\FULFORD-tot.th +2025-06-16 08:55:46,354 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\FULFORD-maps.th +2025-06-16 08:55:46,355 - INFO - Update template successfully: ~\Tests\Fulfords\Data\FULFORD\readme.md +2025-06-16 08:55:46,357 - INFO - All files processed successfully in 18.38 secondes, without errors diff --git a/Scripts/pyCreateTh/Tests/Fulfords.mak b/Scripts/pyCreateTh/Tests/Fulfords.mak new file mode 100644 index 0000000..fe1455c --- /dev/null +++ b/Scripts/pyCreateTh/Tests/Fulfords.mak @@ -0,0 +1,18 @@ +@357715.717,5627162.426,3048.000,13,1.050; +&North American 1983; +!gAVotScxpl; + +/ +$13; +&North American 1983; +*0.00; +#FULSURF.DAT, + A1[f,1173607.995,14346579.967,10000.000], + SC3[f,1173537.730,14346710.958,9938.648], + S4[f,1173638.451,14346578.084,10020.013], + SS6[f,1173818.570,14346406.496,10018.701]; + +/ +*0.00; +#FULFORD.DAT; + \ No newline at end of file diff --git a/Scripts/pyCreateTh/Tests/Fulsurf.dat b/Scripts/pyCreateTh/Tests/Fulsurf.dat new file mode 100644 index 0000000..6be4f98 --- /dev/null +++ b/Scripts/pyCreateTh/Tests/Fulsurf.dat @@ -0,0 +1,68 @@ +Fulford Cave +SURVEY NAME: SS +SURVEY DATE: 8 28 1988 COMMENT:Surface to shelter +SURVEY TEAM: +Mike Roberts,Ken Kreager,Rick Rhinehart, , +DECLINATION: 11.18 FORMAT: DDDDUDLRLADN CORRECTIONS: 0.00 0.00 0.00 + + FROM TO LENGTH BEARING INC LEFT UP DOWN RIGHT FLAGS COMMENTS + + A1 SS1 62.45 104.00 34.50 -9999.00 -9999.00 -9999.00 -9999.00 #|P# + SS1 SS2 35.35 120.50 22.00 -9999.00 -9999.00 -9999.00 -9999.00 #|P# + SS2 SS3 25.35 150.50 10.50 -9999.00 -9999.00 -9999.00 -9999.00 #|P# + SS3 SS4 67.20 117.00 29.50 -9999.00 -9999.00 -9999.00 -9999.00 #|P# + SS4 SS5 60.10 123.50 16.00 -9999.00 -9999.00 -9999.00 -9999.00 #|P# + SS5 SS6 54.50 112.00 11.00 -9999.00 -9999.00 -9999.00 -9999.00 #|P# + SS6 SS7 36.30 89.00 21.00 -9999.00 -9999.00 -9999.00 -9999.00 + SS6 SS8 41.70 333.50 -2.50 -9999.00 -9999.00 -9999.00 -9999.00 + +Fulford Cave +SURVEY NAME: SC +SURVEY DATE: 8 28 1988 COMMENT:Surface to Centipede +SURVEY TEAM: +Paul Burger,Fred Luiszer, , , +DECLINATION: 11.18 FORMAT: DDDDUDLRLADN CORRECTIONS: 0.00 0.00 0.00 + + FROM TO LENGTH BEARING INC LEFT UP DOWN RIGHT FLAGS COMMENTS + + SC1 A1 14.63 93.00 1.00 -9999.00 -9999.00 -9999.00 -9999.00 #|P# + SC1 SC2 55.94 332.00 -23.00 -9999.00 -9999.00 -9999.00 -9999.00 #|P# + SC2 SC3 96.56 321.00 -24.00 -9999.00 -9999.00 -9999.00 -9999.00 #|P# + SC3 Z1 13.19 9.00 -37.00 -9999.00 -9999.00 -9999.00 -9999.00 + Z1 ZZZ1 1.00 0.00 0.00 -9999.00 -9999.00 -9999.00 -9999.00 + +CENTIPEDE +SURVEY NAME: Z +SURVEY DATE: 8 28 1988 COMMENT:Centipede +SURVEY TEAM: +F.LUISZER,P.BURGER +DECLINATION: 11.18 FORMAT: DDDDUDLRLADN CORRECTIONS: 0.00 0.00 0.00 + + FROM TO LENGTH BEARING INC LEFT UP DOWN RIGHT FLAGS COMMENTS + + Z1 Z2 2.17 138.00 -43.00 0.00 0.00 2.50 3.00 + Z2 Z3 7.58 87.00 27.00 2.00 0.00 1.00 1.00 + Z3 Z3A 4.02 22.00 -4.00 0.00 1.00 4.00 0.00 + Z3A Z3B 16.50 31.00 0.00 1.00 1.50 2.00 3.00 + Z3 Z4 9.38 126.00 -53.00 0.00 1.00 4.00 0.00 + Z4 Z5 9.00 33.00 -44.00 2.00 1.50 0.50 1.50 + +CENTIPEDE +SURVEY NAME: Z+ +SURVEY DATE: 8 27 1989 COMMENT:Centiipede + +SURVEY TEAM: +F.LUISZER,T.LAPPIN,P.BURGER +DECLINATION: 11.18 FORMAT: DDDDUDLRLADN CORRECTIONS: 0.00 0.00 0.00 + + FROM TO LENGTH BEARING INC LEFT UP DOWN RIGHT FLAGS COMMENTS + + Z5 Z6 9.40 114.00 -40.00 1.00 1.00 1.00 1.00 + Z6 Z7 6.32 43.00 3.00 1.50 0.50 2.50 0.00 + Z7 Z8 3.35 9.45 27.00 0.00 3.00 1.00 3.00 + Z8 Z9 7.90 16.00 20.50 3.50 2.00 5.00 1.00 + Z6 Z10 11.50 242.00 -28.00 1.50 1.00 0.50 0.50 + Z10 Z11 5.45 46.00 -31.00 1.50 1.00 2.50 3.00 + Z11 Z12 10.52 337.00 -37.00 2.50 0.50 2.50 1.50 + Z12 Z13 6.05 320.00 -2.00 0.50 4.00 0.50 1.50 + + \ No newline at end of file diff --git a/Scripts/pyCreateTh/__pycache__/pyCreateTh.cpython-313.pyc b/Scripts/pyCreateTh/__pycache__/pyCreateTh.cpython-313.pyc new file mode 100644 index 0000000000000000000000000000000000000000..48391b0bc9e2afe405ff901eeeb0f96b85a58be5 GIT binary patch literal 89991 zcmeFa33MDsb|9E_p)TB2xUa;0-ylE$yg=L}0g#m_UIh{=0tK*0APdYY@F79*#d0&&3B}61W87m&lpG)E!PdWaiAo zPk%V+P%@WH?1sZBhf=vzVmBU6JCx3)AIjh|$anPN%tKjR)}d@J`%n&-L)>Bx(}!}o zT(HMp%46a#Q?`91MFWX4iM3h=F{*8s-Zkh^GODw~yD z?@*)VhoVc!9O~Vr5Wa?bCk~75L%o)JqCI3XRZKNg#MCsaXle_HTBeRE+!msqX<&9S zjoaX8Vs$+RL;uDa@W`^_D5w3o!d4!0cxZNcqXO{6Q$Eq76#54a)pS;&;dd zpH%P(ALigz^~6+c8K!;9csjPl7CvpATZZYXPlTEt5OV_c_?l=BnNk})HgwGLddOY0 zF-6$U?a|Q6_k~*Y(6I@N2r;CEb{qx2u;IlvCz^~>0|A-tN_cb3P%eaHhU&zTh#MSI zTK+`D95R_6k_r=~LTPz3OV66=P^;H|WlS8MVoQ{jW zCaNa|>h|=|pyge$enRHZ$)VHO0z_z<>Pw?2BSll$)KC+YL2bwqCI3Xr*VAhRzjNz+Y1<5#550K zn!6SDQAqWHoupbUr)d?G_9*Az#-P>zO(;#G&EgYnAv1EBh}fAk*i*N_>wMFRv zNgj(}A99JIOM;$u;5i}u|NJa0GGzZsCK zh<%p}mb{oJ7`MA%HyRt3+{#l&B8;sU#L@1iFjfpUfqcVn~ zF4afk4Tm}^VJ=|#-^6esQyk5>%QCD=QZm(0GGRwoW^BtmUS`JQFc<$vC@I#!yX+tHxEi)XSspns4qv5VisQ!dtX;F|rs%T+bTl}3nYs~92#dk$}m zq2vAgV@?)|eFBT!IX3qGea^vp;N!BLbK1`lXFKbr$DAYQoeok_W6tp^2oo`;-);^N zyVY$UchD{L)HTm}sJW?Y?VQ8zaSWcXnz|M-dD{ZW)86iyoP-L6GQpVSQB+o*cT7xe zizuw89D7)RFYQRW*l%@^Ftl^;-?w|P$6$+xUgV(bYU*~;HH~ylGu>jqJQ$8UI5&cb zKDCWdi1360kGa?pf@LIFcU`WDQ3yp71PHtNX}jQ>#tsjSG8on^3?h>bj|aM)gQX{2 z;}~j76rt#$<4@QnL^Pyfw9kIA%Q@lLGVsQ~^hmf3WdMX%H@NfsgV6cO*Fl-5-?9(0xjGt~N z?U=yM3PTJjnkko)^|*0NoSbIeL9FK{TqD?HaHMoj2$cu*Mut7az;S>}OhG8^(^EpE zSmZcZjzQ_T=@QTR3dn<}f`)Op^x04_q~k~dV=Nirp;qjdT~Iieri-Vcui81;^#AGd$|L!j9P89w$3KSgHuR=sLxu+Zx4p)`?Vzt*$ zRXrF?@yBK;Y;SUVOLZ`y1n;=&`1oJp@fw1a3B!KZh$6)0P&nbnS;?n0@ctoXle{cJ zu3d5f3#+iH#cvC+F`FNYezOZjS*7_rtNa3?6?+xpTx2u}XHGI4WTkv#jG=WXkso7K z*|1733l%Qiz>jZ!PO8Lt3(oFXwN+g}ck+`K4=1}rB5U$jcH>Z)J@&J1y@cD&T_!N*V%!A=Kk^OwjMo<7i5F z=V@S_0UQVi&^4gX0y{V2s4{q!FAj0oCre`jYCAXX4j2WxGEBx-rOO>qCY+f)#%5BpAwW zQJ)#8grt>t+80mX>RpRVc=^ihD=)uv`=vRLKd#_bkKE0<82jA-blioi)?2p@h zt7lyuuVECc3CTaod$ssp@vGJMsuv3U>CL``=9#F~xTKkw|MIs5L} zJ7-@%_(s=jUH+u<8N-@6`EK`}?z;nb2IhPH=BgEQgU{UXj^*9sZy)!Y_sr=3If{x) z`=e6}EsOU1dzX42*nfP)U*5ACo&0kD?f$vi<>;){=%knXZuiaQE=Onnv*sD-UzYd$ zvyQ54`W{E}b>llX=1%i*B_HZ6?;ZR}_m8_*_8jr;Ir3=GzsCY@>uH$Mr*7ya)WeGW zgYnc);}5oWC8_>0rU2jdIq?1~vjX1X>3|uEG!h+v`K|)`M36#Qu*Ge9a3@gm$EL99 z35^;oWz&hCmaro_qh>S^TX5}c2k=qP39sD3~32l5DekGcY?RBxxCXbkNW4rKf6 zwA;f0hXONPWS<^ME1M)rs%nk9gj{uk8ag4%Or zfx8=LU7W)kYumH0C9isD=*IrCq2eOeN=lL2LRP@M79v9^FtS z6wMXGJCNYEvrZ2LlyGy6;LgF%eFa`HP^40E=_|4MAI9d-cP(`LV;fdtTYa&uOWhAn z`eXZ7Vy(VdD}VfqKlbdc?$4m(CcHfMoiRSCXhF4b!XLZqR`*(LJUY#um>ZdI^2e4- zE__n)f@xvgAKQ4Vdp(MZHmw*-_~a5^UGgbJO>O9F*xm`xHA{FdD`ml4YPHmEqcxHDXCw)v9^)iSEF|f+M3&MUvAILixVVt&^#1gT} z)?;lrJtB`KEN93VM2?!K#;Hph_9v{(i# z0d;48M|(iiZRzan52z0wv33S@!$1Zg3GP6wkgj22P<972Q$UJ5Fg9KTCeU%!=_%C& zqJSfF!_-%galqvEswa>zf)iWED2Y~ZiV{!;RDjWqbeu43!gvbv-w-&5Vj^ ztwCre3Mbei45LLiblK#t+vt8tEyaN;(u?7rNs*qUNV5UjuqCvCKu2wWHf{-RB+%Lo z(9v5$M-yn>2I!bAp<@WNegkyume8>T+OPpSZcFGm0&QgCWp$bW(DCRlD?#$jBoOFm z2|69hJ8=Uv)POAmf|5t{VG=Q%IJ91h-4Na+LXp@oJWg21Bl<9=4dLUZ@L1nw5$c)L znn`LCYy~1dCW$Oy0DcJrOmCUw4H)7{3l#F3j2M^{5()?^lRBVa(k><1iZ)@)lVOD1 zGwB;JLMp{?COs@h(>RbD{434qf2x`Gj8*Qw56hi|>4lj^z$h$P4tF419Mv`rTO=^s zmX;Q40}6xevrcBO55!4e!wdxT1dNmRsbS#fk#GgnBNNl-0y@umJA2XXaRoHUd3yqy zD^o!B0?HA0Aiix17HCJv3bT-a7;$}6nEl7QAp{Vk;d9r9-6OEW7f678DEq{4aH(<_ zmL3Dq;s;rnKr$Riai4d2hROQ*u#*MoI>N034ePQ`0KGzflxsoAG%*I8C2W8#HRIYW zE=~t&Ty#76Ix0{+HSPg$#}J2JDhBR2B0hmH5T>EHQ}{ZKFB`sw@O2hm0TobEZWwLq zb1v5e_X7IZ@mq7Gx4)AKX!_gwIvH4EHVSDF)?cE84>zWt4o*mnm=Gv*OeyCAkJsVn z<^cqzB1Kee`btdEhcQL|n37vvt7^ly4}b0OtZ{z))?uHz>ao^57v4OZkaJkAdL&h7yEpb2mSd6VWnku(ic}Sf7};WF{741S{9R+Vtln-{`{_0Q`%gm z&s4II?lU#a=p>M)g|WpmzN&VAe*0>C^6X7teBu1KFTQF<^E@C83yq7FzVZY9`~#~o zrrADUOx}EhFQ#Nh`BuPE?pHu5gty|phOKqQt5rO!U zmZdSi^Mr5TNq@=7wT$e!%Y4ypUrsaMa>SR@=g;Wpb*UlX)}_mQ*Gb?0Q~r`uYnk+X zGKBZ#w(@%he7Q&cna6ltnh3lQyHv!tF}{{Tf63r#N*148<4dVstn#I_%|t)ZM$an0 zaedX8HJ|J^7V{OIkCOSL=X|{*{)&;+v>cwU^QG1E4Sl|}e%^A*pLXg_8$bNQOy@HJ zyB{_3mQmkfhrhxh3pn6QJIW8*{Ao4_Xg_zmb6rJMjwyI!F<5jaff2#BFFq*AL>Q4h z;QB+5;KObvJmGd0!mS}$rIqfIV93#nKq#aYUrU(zK^}EdA+9^Yd_bDDTEeXG!~9s9 zX@#3r#ljjR%y>dDVOH|V95@64WMuOL7^GG6P>x{ktrbZl&N^f%P1%eANK3?&hL1y* z_S9#w;_P~ZY!3zd8$jHJ2lhAi!fa6~OIeoa7cv>OERL|bw<Efr!#q@c*n?C1&9mx^bloJ-KU{$NwTU<=rCveEU1{;%3 zx5r&Y_q&37omXHXI|y9mO+uFcR(*~IRX|AW|AY2 z)J}jcRS9GV*2QqgQ=qA2#a`iXV+Vo>nJ^v8z}Tf-%3=E%=Ilt?^%nEd%5R!&+LuYyWTkb+F=;6 zvlin%i27Od!|0_K`M#0m(F-f1F5jq&ADLRdbQ7q-ONs%UoN$VxNE_yIp5$po*98Kql&{AH0=lp z+Nb=FYew^@loHacGrk;sJDN|a5GRI9xl1NKY45Ub-H+uC2RYXDSOF{)lE z8@=S|)8dM{l)iBLf-;G;%_&4CGncBMq;vr0F(pmqP&EAY+XdOQts%xm=`~${K*4c+ zkXf!DUK^&KYH+BB-=|&h$_KnZgz>WndK0T)fEC_ujT4H6x=j600}|gb{@_Z^xS~k~ z(sIgx9$P)xO7DkdU(JLIdh&f`Kv`82P!lc^D_HCz`aR8D6(F`u(0BR zasX9(P<~>RYF-M?bo?=$Xytc!a&_IB*-rMa_wX2rrmKD~Nb zR|9L_v5B*#bId~1hcWewp4I61mj`YS%ylnE7XYT%20o^K-AF|rP<*ZjyuZ{}Km9xr zoPQZp|J03y>w5`pyHyV}6A$WD4|f|5MrnVlHyljSj>tO{F8q;h_&Q+?z5rt&%__wP zZT}T827p$0!igrp2Czb0%aB3JhX*lqxXz`B5C++uO;2dkSnSfQ$|fy(hFjzX=0(~x zgJC5>M0ip<1Ou)T6B2f-U1gJ&IKv(817;*c#2QK;xQ0SyivA%J1}3!(A}lK*!z;0E zJHV@ngtvaf;;bz9(t1HColI0DY_e2JZDhxxg#p9mrmT088z=#A=v zzDyT$mjKqAS1jzy!CV(PjG)|)FyPS8c^#uw-b}*4U?3Ey8g;>59}sVWO`*wjw=^Nd zcyJux4d`%Nan#AV$@V;l>Ehhzp(e552*6F_w`SCFZhBnCh+wZE+(>;hH>{XG^BEP=FEVjXFj}cQ832n4Bx); zwJYC#@oO*6j<0C5ecJ3NI>XDx?-+S=!Gh;QT>}g+NhxHz{K%and~WSKb?-L4-Lz8Q z?yGNq(Cx23;y3rr=+|_y7-+V8Syv1p^jUMKmUT@}fHTnF*3WkRsPWa-d#!VoZ$>Yk z@Rz`<@V@sh|K!GxZ!EF=k#ox<&Xp0?H^TDgT+358fX8@I(T_aKC173PYYJEw`3meA zoZTK1mR^r4&mzcKuim?OytLLHPK83?}*Z!$-Mk`$f|90~6F z$ioF;B#uN4JLK>u4l^`TTZtzTF~U+@&)oBIZ@MsRj$gJTg*F7&WVF(~U!GLQ^*LjPga+zhyTv#mssIFwHJG)Sqq-DA@e6W3a3Z>%VhN|4cB z1EF$bC~`}PoVTo(bx)7MQ3NM2x-`f~PdY)`4Yo8f`Gj32iNoxBi`rOWYEHXGMy5fs zd6X`h5^6)51%q@;X%crE(>xBZfCd=uNjF!I_9%yY#12t3;D-vfN@0B)8FE52xyu+P zGV^5d zUaGl(QC1h+EC#=W!Bqee(0~x#v?HK}89$_q35xXoUdG*=|z zSu{=$%IDk*Cq9hXwPeQW!J*rSX0I$q=U^0#NUoz_*4@_errLLk-YtK-d@<|28;=hA z_n+kVo#GQtFY9aw1El;r`q|1~>gdmNA!WaeX?ps(8N&ZEX4kJji>IQqa4{ea7Xy&w z_rKowM(b;>^OcJ+3onVp{?Q>m@x-$3q)1@DV|-#vmj~m``<8VF;bq+s5&CzHWQ`&1se2HL`Rm3GBlWup?WL+eYAXfnPqm5dEvlcU zwZ*~5`=y5VChhz6TC}$qI&|6()M)>}*cRO#rTWXXVtD_RQjc$AZMQ=8Gld518>Y_E zjEEinCp)cCaFlx+Hip##n@r8`0PlblzfiM;3r_5nekrQ<=?L1an@K5!!&qMJlJCtxkS1;kF>9^@G0 z@oXmdUTx6VtD`GDP7m-m{ay_cLfUH#(ef&RnCEUs%yCVO_LhgE;kZjHZ4(O-x`B|R zFcoG4NP2=m(ox(9gw;XLb}C?i-C&R~$2n*K*2~yYSc8YPwB+{{-(CXV`bL!pxJN%HTB<;JXf)s%8~|DFBw%`2u#zo~Mu?1B21bsdlMiry%Ft#qN+pV#=FY3bBo zWc%{EXAiH^1#jqI(=U|y>0PtE0JPZ5=j~m|Yxm`~`|~;hz)Y{0i+$$e1>;BNhEGgX zS~e{3#Wt+(rlM1Mb;{?>@UaYQf5Goxf0nVCNO%6I=+*Lj<#SoD-&pMR7w_YX_KSN7 zk8I1QhF4CF`c94VCmnp^*s^Y1q_nq<>&ZeKpP8uWjEw|**E?hHUVQuF;+YTj@JCPi z+fVZcZG7U;vhIv5cx*5@EK7o%eu!=0&6oh=L*vrTN5>wuFCRU=a&*Xdbm-BG{29mc z*u=`%CEwU3-oY)qUxGP(oAMB@6L^H33Af@1t_7I-aJ4|+uN33^o)Lw6u}FTsZiKj= zx{pF_e$&_Jwj?lqTBZZ{pEelURob8KQ-S?`6?sRs6?PY@KB$5< zhCK5RfvB3<7)VrbpO!t(VvchoUsf zTWsi>4xTfGVGd?4mtl!rCWDW%8X(qgfaNW%K{7TgkyXH0+>+&Lk?q*E?{uNfgR}oZ~%t80BPjD4lg(g!wF(1 zfdr7aCxW1Z*QSJ%HNu2~j5a`AsZs^E0ES#f9mW%G*y9=|q9yNx=ZiQHIKd*Upe4>0 z{>Ut>ovp^1XQEfN(cixQwd>!w$*0!(wY95prd56H%Ne&bzMI9T*ZcML0QDp`c_p^w z!`PBHyWTo-|H#5VzImgJqT>QTdXX=k@W)Q_x=CRj3SyKVtao5MsZU>oSLCxF;yMx= zp>+Xsfo+#O;rHqp1>BvcJO;vq%}NwOgi{vkes4Sjha5*d^fkO!04YMLrc~)oXqV1C z;9+(+!0L@J!`0L>a*aS4ULpWsy1|~HuNr;9Mc>gj7^*4+2^4m2JW$7O*z!?&E(Vl?7Xvz^M5CPj3Wt3l5NCH^#LXZ~7&+CT45&Gm z%flg&*(em`Cb<(9V1EI=zl$xP2`sRUV~lxu*LQY(x9L{LW3}$veP8SQ=D?Hq^p*Is z597;LW9eThDHF)!XjBOXkhwL$fXA!Nq(0$ThKqFss1d2e0U1W1B?P2n)t;=MZhUd9zw|r;bfFJk+2fcQCN+X#=)@p*%lM5 zF-fCTxD`hbsRSty*q4QB!UtOQ_V8-l$$buZ4Uv%8IsPcC>bdZ1QEvY^(xbCRJr}&* zs(mha1G4Gz^uRPOK`2}KTO4H=W6KqwJTMQJm3z49K}5zL>qW-=huy|vBCaTIm}X^& zDQ042?PL4am?ee@nW1(q((lnd5%U`-%S-r)jI>1-!Ve{{lBG0k`mHJ^z7<-#y*6SR z5+bERUeBS;w+*Eg>P@+!5)o}oVx$;C@>b33 zl7_#@ICFLoC(`2IWSsO4;zWA>n~XDe2XP`#Adho<8W)D++P+taqb~4rU$#f&?I1VE zvB-1tW#i1>L7d3-$l`=Ct^nx|-0KM=vMkqOcDhlP_%7`v17=t9Ygkrkk)9XfT^+_62GAYs%=NaFH65@ z3z?xKa+YHuSJB4Qi1h+>t7dAe;@B7)Bl=pkOdXd0$rbr*g{en3Q4Rv?OAg-<27cEz z@Qp$ErcE&0x98oFS}V4M5Iu(0(#*z+G}#Vx6LKb-e=#i>yVYm`9)0t(5z?w=TC3D- z+yD*kdq^lUgNuMc1}S2&oe*O>`5&0QHt0vf!|ZETPeWf|)4}Y=xY@)3 z6`Ug!Ksg_>;3D3p$C}0TTBLdnd0KNo6!oxL zS__fNk+x=7Gp%&B%4%YcgvAK{A~Z7ceXGI-r`2QuPI>bqmbQsHp6gat!$MRKP^%qsl&*TjQ1~o5$vU39O{%#B!2h&6me+!$Wc8vF3@eqRAG7Qfa%i4P2oN zE`%>%#3Pz)kqj<`?^(EFYoWCOZ{B4~ti{$MVk@<#hHWSEUi05Wh{(OB?>EqE$|AIM zq1Tj0fD(F5MFc3J*HmuN8q2KZVryipwt%UyO4OaLwpLk9$XM8Q(DzK%D(sUCNeLXX zrPvy4^#=dyP5!l3v&Aj8g^+25bXXxCYmK$GTE=7b{UW&izv;w=L>XY+awBD6>jrci zX#!hktph%xpPbL=C2MaQw%#@^#x5HdOk!KJT^4;SffE*8nOM@68X{1af#;wu^&;+# z^cq%hg!!}D4(rd%QFa$|jBR8rY!kzQ(BT(1PmYcF{1g+M6Vky#;wKZ(In|2Z>r1vCgucw-2 zl-{~0EXKMoj&aKp*idRx3G9D9c%ih2h|j;@vc&ewN-T{zO>#})I_)UzH*_odz~MPd zazomoBn6ybrX+WO5mI_u7$I!Zs;pJ&Qxcy5e2lEmqJ-q8Ct{BUo=AAY?oWiNt1F}4Yn{y6D!Ybo(WvP|V8)V$=H^dZ&%9lAK zwoy2Bhy3lgM3|6i-6d;j;UOBs_M`*Cm=cHe`n8#$Re)d{)fci2`Q05=Mg)g+a3@ zXch;}k`txO3s#fuWibu5JEF~M60wLT8D|Jp!ucCxCo{G|!x!I3^y0%&O?wmfK2=)XR zCn~IMf_5dw5l1m&^;%2;yO$Yf4{p)>4sO@C{)=g|QqSIyzw^y9k-fe@iogjzyGGz7 zrSt3>LC{?`dWKsgxbPgKr_?Ssa&cd+5nzA+YK=e`2Si%Qezis*&8WUwBM@ms=yadJ z_po2B5rm3{*q(Qdzy`bj!ejY;(H1h{tY3mim4R*t_p9wYUr)G5RuWXOk^q!Pcr4-Q z$i#EdkuA7z*=hjHa>#1Hq--^S-N9;r3#ABPmak&lznbNLHOv2MmM`|%kO}kj|FUNJ zCBKpDv z%YWD;`3{>TzhUbUN6`~|p$t8tH7MXYrgxmjVA@Y5*0*7gzd2Xp%|aFLnhWvt+4?C4|$hmW=m_P~ds?I07hgHD_YJL@$uaD4w-1r4X@FTl|f zxN!jP3rs2|M;fnzDmEvm{&L{exQ^gO1vz+O&xXU5qs~#bICy0b91l_kRB(4KsLz@3 zc*~B$(IYpi<8Zmau)`V4DO8LGHx>x@ytkm%HHaNxGw_mHyelGj(h}l?n;giwM?LpH zKy`a-`aq?b6Vej|0kt1^c_Fz)p(0$0y(yb;!bwR`|I?!P=E41k!FWh;@uDI-oSY)3 zP@q)&7-u3a-s~W0hYKk5-nii5NK788{R=2)Z=Afg;D!QkoV>z_gIH(qfsZ#%tUBQv z9D+3%{00Z9CIu&NoUA_4$r~4{Qv$;M4W>J<9d0KIT}Lq{ToH-qYVD);DGzF8@oK8^ z0_CUCdM67vV$k?e?X7~dLFAqcAwJMFsL#)*kK&0V$SSrOgB*VPAjDRA6r3Sk-BtnZ za4rp${?ViF-@ojba7|5t!oUq^yt^tpufiQ~cqdd?JaFqW=z~HveQ;f~TMYYDUx}ZX zWDW->xR7JmTb@sMVYT3mcW{FTw6)EO=;#tSBS(}sdUd6!=nsyyc@qjxRTWNF6^_z{ zJuQWOErm>JTtJ5v+z&@t;c`m*WpaRt+@H*yhu8ud2JXxQEi8kiS#5uZGTbfY@?a4M z5?pY#2`AhQ4Z5SC=z>?^;jNiZ6RX8*R3KNvJtR-{A#1$kT?zQW{i#;8m_lB7#(2_E zH97j!P%YWLS$I&)31@i6>ADX3-TP5+cK+ zVK=KLTvvq%MHu@OT`3!yu&_1;5t`oB%g#Kya$_pR?@DqB7#xTsm$_78M1s=DE#iQ4 z=cFBOibramUns7pDyXVbHTMVDY;%`q0gBV(`54p=qD)$eKmJe0ItMr-A65H7WXUa=U_O~1W z>yZ2AnX=N-{Q!3JW2E9At1zL8DzE1H%>&nOa%RK|_NwbQz1;v_7BPbDqlZ(4Hv@`F zujvHd01NF?xEKcRzJakiPQ3S>rpZ{>9Gko5}uCc)r)Loo6^EI=6y(?B1?k4ni;rk{8As6-$b)b@`RD{C){J{~( za9vRQDhxCR5~o}IAlDKEKcMfDjChF_Y7&UPj`e=+rZ@)BWDtOnOBfPvdJp0d7#383 ztb}vW<1FprApd08yXuBpAYh=7;TT37m=Jopg~6NrnUK<3^up)*)mltQt&mi~4PEQd zwQi#;89@;Q2US4pRq7e95$eF8KL^eHBA(|~Uabu%ufgwX9hh|=tD#$h;#S2~?k}*v zYJ(a47~f%)+~G|YIlEv7#QT=%7X4G@mGY+&fvgk>DsCq$ca~ZllE%p8v6RpQd2;UZHJIcqG$lL?-2F9+@E0zHDojfMTrvk z8NmCTf}E(({NN@FLBWF>n@>O+>?{E__L6{xG-hKP*U5Q6oZ!;I8=d-PW$^QIwI)&!9xe5sMS z{R<4lQa%3X8H9(h_dGi)3XN6lSvwsTgCn8TL%nJ}(_RUBVS*f6K+*1fNAeZ1i>BCr zrBZzE?kdLfWeM7|T~#A=RnkF^OT9E2y6V%io%0b-wLu1=G?x22#DWVy!qEFaqHPUd zcsyilMK6C3zJa6-6BIGm+&_Td(}d6@BRKPVsuSm6a1}7&SWEi_^^&O=RT{pc@I}Kb zpoM#T2}OXVGK#y4udn0Fi?3LG;VCKMF2PQ;A?HbS2M8Av{yBcWg)dw`3dF;7emFQ6 z2YoxvQ4Ti^xdZr0##aiyZsO}KzCcJQSR#ASMha-#5(#LJ3sXf-3jqQu)^!E=cMms) zde_NSg8>6h=TPAf#2$lKk!u(3X+nZb?qB3!e~}8_zUT%rHgX;m5pysnb_b$_m5@Lb zxnBj;{ftexK;@7MI6rvVuX2kR6jmN7LHQ0SCkBN?u#N&M>{M`zGIs^NuHtJRU$5bd zG@^@Wo4^+i`ap@HDnT~`T&Eb&aCR1SwY$L+?sc3*)eYPW2#NBJrJVsoXe}dP2rXm4 zRF|we1)_w73zz}pic=uUdKB&w=>+}k!n#vHFRfApbmIDiq?Q@4-3mlOE>Qt}lu&zQ zdJGiZE-4R!OCa5#iAmHwAJVb}lWliE3wkDSZXSs8Oin?Y3K(GufDLOH$QafTneDj+ zHbXHMFoH8G9Kw6#1JU>)f&}#Bi_Dh3h2^1{w0lO*bDv>x5I!n42s#V|^BgJ;BwWiB zD5ed>NmiJAaQ185KVhf^M5DVp9IR2@HPNOa41E9%kZAO?JCuMQJ_KA^oOSh)Xy zxYqIY3BG=XSk)ID!0_R_PReDiWCJ%?Jt5`5{nrQ{O?Y9vR|i^3APzmT)PlGE3(%w( z_2@-dGrlB4l1ZP`gP?S z+Sjxzbd8U$c_;DRl($n>YTJCZZ4b))wS9iN|IsBMeas(gxz+t7KJl*hj`nWcow#{} zKfZin#1~(?*zJpN-Ka_1>yInD)$;^Y5B7eocQ$(N^xP3XwscuthS~_XaMH~s&*}Ks z++}s12o=UjJExhw!pG(;t7#ERKUX}L#>eI_s|!RY<6Q4tD<50DtS%9q40F5Z%0N@( zvbyN8Hep4Z;?t)1gSwg|H6mqiHonz*zjdK<$*_3igRY+)d3fZ(KK|I)^7!P+IOiMZ z_%S!1?SrD9l|L+hki{nrEbER2!Qci|jqck$U+dxH%HhtY z!}kv_?0qlu!3BTwF@Cp&k71V8gHIBR7YzQy`df$L!ZBU!Y_eaQvSy5(x$ZY+%-Q|M z9Ms-&9y$i*@W+PKZ(hnyS`9+??r!1)vYe9I1*p+n^A8W?;GcD zE*@X(;bZnLtM@&LNt-M4#}tANvKZ4!Oo1<^VBWTv@Y-2_Ov9}%P(2=Tzu`~{24x>ep%NLbf2yJ!Pwo4 zcP`GJnXeXah+VROpk6s})OX-0zyBDYU|H5N+d@AuEZyJ}jx6i?ej{K}OIP`Xo@HGx z-sTQT51+&b64>^UYL>3>32=3N&-P&2rE7db@3QWYOo9CC9V-P5zJdn7c^BS-zg=SV zOV{}X;l|qSz;sJqKH<=^?(ljvHloCD-axc)r!H@9T-NPg)8)V3x7fU_+qwRSBzb1f}zH8}&6maSzLuO+3erRA=qmHN_37xEXT{b{?_k~8j3 z-kF?lUr6#NS8w_}qCyn@xt?q6shT;q>I`?If{a(sBo;XgILa%#$VY6_?ar|87% z`%Wvm@ZP>tif%MAKnH71e2QVl_*ns^PlG|Fu-TW^ywu7Mp7?njZ#(DfImbJud_7ak zx=U-iR0L@9r8O;O@D}Ss7k}ynU)Kx#$b_$JVp%sC1ZeT4wJaUxt#)6peOY%7?nD+l zbLE?3Z(Y29apBBT(^4rP)3L1XTvr?7b+>xfQ?dAyzVXuI6neh?&Pxj^zLc89UA~mv zphzyLH&^Dfnw0*DUXy0H9Rq4=Q*-Bc`%=mm#(gQfmNdSUy&Hl^USgP;7|<1)Qape4 zk!E@5yf4}LwSimRGslGn04Z3N#k1JzOWAkZh>4Q$EE#<%?K8$_M~rud9+dlc_45q_ ze9X~h^|8ls3AcJyqhoJ%g7%s3jn20EV{^#e)B2{R+STNgyJL68UO7KwT+ORo$*cF} z)h{0M=k53Da%Q4uozQfWa#zenK6BB$=Oc5)Ob7OZ-tYJF*+cxX*yPBE%>XCa#{;+?c)|Xj1tN;6! z_W9B`s$Z*K%wNuHe3UpFx0+rut6eiC&%We06))uaP35cEg|D*r*oCu8%ui1K_~Zi@ zfBXc0@-*LN^Y0zVzdrzQnA3CTYgnJal^5;QB% zXx8GBWMA9+K2A)TE4))Vqg@p((0r1z?+)AQR^nBkb*>_*O^Wyxug*<;sC0tIr>HBd_!;;Qlb6{@we8;_g3%MU=R6H1+ z)va#f9G`SI`cCxRx%oWAxNv?+$7i*D6o2rOG%Bg=^J5CiuzP(%5$sW`rp!4vT!ebU zXR5fZdkkM!eNeB(K2z(=2XrsN;E=XSqxbGZ<@ z;4Z(Zaq*JRwENZ(&|xC><$O^o+B=y`7yY$|_?p9f%#mevAGBQT%HMoxHNAQ!Ze49M zN6+Zi%c!Id#f*N{JOm$Vb&_dD2LnUA>ATZ2>Q!?x_#~yw7zA5(?tIz8vDcti?DFO9 z^5-@2xx1GXOGQhm53>2pqoDKgi8*biV>LQyB|6g=ojG^%)!}=?i|WN=Z)=x29whv@ z`;q$5v7c-C!IS){)4oC5+%TUtv>bhAH96}pdxxDLT*!Ux#KP!e?fr3oa^p<*!~^w%V-L0bF)MTd-?5W? zULBuzYB~P&YJA#CJnf68=TqOvc`awLVM+0J)6(dJ+8>WU^6-P!pI@2J;d4(c$DiCL z5if%#y1CK$+I!>ko`ts8uK44s7d^j>Yu%78Q_7s;PSf1z@9$qVXRnwGq1VqlSBe^a zMU6}5CHs$49&|iPc-YNbPw}U1KI;%))W{c|SvH?tHD|4uLE~w`{K+?lUmITZEVaFT zeqLR`-%LCSCwtU5y?K5U0I|a(?B;_*7x3u@Q zD#LoMFdf#Sf#1r4A$UV-qW^(g-t zbmD>1?YVT@(!Thn;>gT!nlJz($w|1S<YSsSLy6)8y%QADCx7c8+kM@3ew6ifv&%Xc@EN$W^Nky8#>{!O z-&n9_O1j&0r-^8XXz`n>7EL}=!{Qa6Y2O2|bvyuDKYwhPZjE@p3|Ic5+)gaIK-cSj?Pu*|B zdiOu%v?a9-?@~S9-L6OTi6W(KxIF4fs+oLMz*kMw|Drk=ji3K$I#`b8KgIPlw7sBJ z{c9}*ej#7=u+0FW(b8c`X?r0p>S0HjS@_-u-`P{2}( zE;k^~hr_!JZ7-;`4`0xNnG9wcm;m@fKA3gz4gPkuc7whJ+{(l4xK9tjCfg4wxD6+Q z@>jSEO%8#(VVfT5>@M8F1xjEgUkgf|ZF&HkQU=JSb*|4;ux_qon%> zKzWp;R2J^p&|0VKbJ+X9;VxowUx64moVrwRpE?$9HI`Cnfinw+aC#xd+)jh| z(A0ZVf6vB&=E;Oj$%oIA?}byiD~7hEh#{;oVhUw$((T|fw>S~5T6XpVY6RQgriXd9 z#9>bpU^6xW!Y3o$U@hhS48k%7#s~_vaEEr&!$^7=*?8HVF7aaem>6;=MGIijgew_q zyl`(*xbv%G`ABJjwqeT`6Cj2ZV;WFzcA+ts;Yvg*JrQ&8OrmS&qx0mFSluxW3kXma1!1|9J^Vu+A7RK`GV7=HmuM9c(b5erNN2a_?`YQ#@V zooEZ0aPqK8{0f~d0oPC{>4c65M}bZQ#w>#fi3b}^0QuZh`RW$aY2CL6Q};j!%(ZJ|COwxaFm(01dlrA@>cGMQ#ZBT-zl)eJWZ z!Unk=Mx6*X(PA~jIWhTd@nPGUZ2ZzNNkBHF`zV+sGExHd*cygSVp`ecfrPCg%HTFE zW)GXp7_3Qd9i*`{60V)~v>n9M6)7fb8nl8GvG3B< zNs~3LLA9Mq&2Cly*TvI;8}vpOfq0C(EtiMtTeLCpsKJ0q*gyd)BwqtjaG9J#K^*Ud zZkY$Ak}&qNiL#a&4tHY2ye2|krM3iV4HGlmT$H{V;mr~4qB{7onvEgVi6QPci27Clc22&6+qKY zmi8uB&?9(K5~T6z^KeXW!ZDf)Cp*YdP;VCNLdnkQ$xr|(L4coz!;Ii9Bv3*rhrr{G zW6rC>83$RkG8oVSJ?`G!5Kz_EHG+m{59i+998lHm+8u~?Omm>Y%g)v|@2UZ(`kH{+ zF$z|Y-XE=N0++_7Kr#y_Mb4wBzjFkVkBO~q2G4{I?!*a$?XJgQ&EbQA=jLDt&w9on zP}8ny-!_mHHDhS*YHn>Ahn?a+flN-0Y>uPFhxR0Q$z42D|A_%^+LbHWt z8Bp{G6wJpcL+dTX{$U;LqrGr|gr3B+SLZZZLh6(o++7zcP5Dx|a^5Yuh}*V24J!WIM& z@th+xg5K`_0ZV6l8`H_<0;eMg<-!CXB!uy^0d0%;%D_(|h@6eK{|4MZt{jdMp)xx` zco*g`AinH$kAg~is38oMkFbA?wrPCf8F-=qo#;`ONi!4SW@LN=x^_$NU@yqba-9fV zfCvilMZ}RWqZ{&qrRiJ=xCV64EO8V8$;+S~^bQaW)<0`)URDtLR8Ee`BwiKXfCf~wdO#YPU?PfK12K@A zX*?S@?3i+o2aLk!gbPk#2Xt8bC?Fd!oOgik`YDi!b_9$FI6TEUAjP007C%Oyzk!G- z=N`Ut(c?~sv~4Z?DM)r2Wy2}=r%)`vQh`+G-vCbrDq@AbxU~e+-SqFL^O;reDBq2F zJI0@|@7AHmuuIpwmXdbY`+YB;=UTqxUb*z5@6wC@l$Ss`;A2Ddt@bA|@!z%H>RMOl z2pVR~=0=ud^5#d^QZrFjL#9(UYsHlBGv&{Bte8rDrqU+`MQ?Qdn=Zb*b;ff5UKk=um z&s;uxXufSBH?%{4;oXwAOa9xk_Z$z}{^I;EG>`0mty{L>9=+dk8g}TH%|nla`fcl1 zOd!fpywLGh-~GO&{FRD*zKVUTne=?ZeBIokmCOoXW(A0uW!BDiuBD{U?Rv#Kf9#c) zR#P)xHQX~Sc7jYp&q_mwuc2e5q086M^?LpMG{|0DeSPnvPTs=&yk|MpDvxS;LsZKZ z`yOwM%AZ*^+qr5^zkBG;p}A=gPxz#qO3V6OMaAZS)&Yyd#+k-%T%SGm4I%~^eLI>@ zX@0NhC*?mbU&{L620wV#-#yHCy|8Q_U$Ia5>{I*;m)4;(D0)!MY_DSNr!dCY0+V@in}2{9W7Iw#B{=Djs?L z2T${DHaA(z*t0&}j7uvxVzgv`16=lsV0M4BBHUecY^OJr3<=N*@pKNoY@| z^ttne>nUhYrSzF|*7Y>BrwcF{XwMX2ve2H5Fpl*cw1aqG?9B9fA=-;5ec8gU^jXUYXm6nOMf20^yU^Y!;A}$sZULql?JZPEB`)tLB(IiLuNIa;hElUu zQ!>F!OhJzig`hf-QyA`o>N5JF0e()^6*R7>+SCAYP~D>j zkb~+zHGrT2er@W0^czq!Xbh@PqT?y`uo@CSsD1&B0ks_+`_<UWJ#jOL9Bwgy{;h&vwMLUKFo|hUP?VI>8w1SqWW378Q=A#@P3r31CNhV49APKALXjh zUPRud6(_S)E2(;X=hmJ~RjsCKz&-**QhKDFo8vI6JPUg_jDl4$N>&Z~AwW=tXHZ(L zVKuOxEe{`r5SL(C(1LXi_CH|VS1pDPnIpK;3DjA5EYg09=mP6CDw&?^=#aZ;gPC}o zXb+`o(`++AgkWSk5XQGi({}qCpjjqmdSI16CxZxE=BTY!1`{5OzFyjKf%WY{Sv`l@KapVz z8)NudmW9gRlnwaYX-?!C<+5={EX*2*Ra(7Z4X|TqWMbH8CZ3Ifo)HVbxX_A*rRv#~ zz|LI)lUNPfQkxZQJYxpES_arbRP}gpb;X)!seLw#*mk5*^rjs|WU}`|KSSFM}4rvEqVyQ6{u7!`nc#b~AMM+l2 z+rW<&p=BdNQs&#^;g)R{Q$XUHfAA4}wr@LP{X!d3_Wf6pVkA&YK@C1w4CE1G7jZFa>>p&eU)2Za z<3UqpxOB<&a6~gPxU0ZMcdPoY2>7i=A~$mf$8}ln55o^Il@WV?GLt6s{tY_|A#O4p z)~X#~4UQ?#fwg)ESji~3i7(wgtu;Hqn*ZD-P`d-Hh0l$(ZUfN6>tbJ!V@EL3>@ zeYXrEEd7<`$Qa6tEL3>B&GnLW6%FHvKox|(931^_Zs625K#1|M`5_(2mIJ{-OJ-Qw zWgkInXnq*fm78A)KA`_%p9mWkQ>W+~GOf>2b&x2CfTueYUbMj+l44pzI!xL8fxO=Y zmIyeWr)+Sgfjprbg(3Ga7r_VX4@UH;p1*@~EChLrB5MJ&7fV&fX%`Aynpkt_%j_d1 z4_ZQno&dU4lY_cdO-LJnzJ=jNL~ax`p#l$u{evw5I#Pit!6*F8%UUAF%$CYvj|gGp zZ_r0k8cu&T&TZxglM$ek|6_E>K$gnFC^p?>G!- zJr=`&9uozWaJgGqi`r{-P{QTba-rWjm3^S4m6T-#xRzPV{-5@~1iG#3IuHOs5*rCF z*tiNLxUZr}iQ*;+;=WUaAc~?S2qeKpBti0nlt^e}lD2`8PE6WO1ty*fN<1}`xHX)* zH8m&am`ZadbS7>7_h$?kRvLEdw&R)U3?+NoG|f!s-v6aT1z5Cv~ zZ-4JD@AmdRiGjYzUx)b|tOIjFNKJ-4??OtxcGuOH1Zu-v91<^l3&iP*;hZefHB|B7 zr2ML$Q^D0WC37wcE^@&-D$iUx(C^3ZDJ=nGD%e_nyv_TcF`lml1M$lA`+MPBxAUhj z3qTz3*DhllI4-ny^#^c6#n^!anN58m^xOnrZI_!1L*~zb)e)bZ=oCPg>Y5pgA&T+{ zW*=3mF9+LYu=iqGkJ*LlT9~tent^Whw<&WrE7Y~IYZ#o?3U%$i_YQdP^t~&}g>1T= zFoM9JO|gqPxgo6q&SZc?*i?1h#gK?EA13X9PaubYPfsA93vAh;XE3X_Z{|P2lmSkd zU|Y4KyL3mWE)aSWLe)CGxgume)a+~*Nad8jWz?LYlnlEUolOj+&XzWqcc1xSNZxGd z=|J9%5USSon-A`h_nBwPo2{{6-o55SA$hZ*q2)dVc@LNm?UDD{-SUQ!QyD0GC-wl{ zIi_^52h~^V&NK6IW%t1yFf5KNjKK$^*#X01%EDam!Nl)?F*12UwvZQN`7Z>Up=ZE` zh1ne&7G`&BSeV_g8GZ(ASeV_hVPSU1hK1P;8`Cpj!@}&24GXh7HZ06;*o-jPun^GR zx>0?luf3ZC?ajiB`TLe`JOC5yTP#cfW8K97Ot5dUFcX1vCIc|RzQw{!`TLg6?1u?p zGyM!0voO13%);!BF$=Rh#w^Tk7|%Qd#w^V47_%_DW6Z+rjxh@p24meUTiZJ3I(2hp zkTWu%^UuoqT>qS;v*<#3CFlGQ!KXf_*AV>jzYSanybb!_dQm`V$1jr;*j0`02!c=D zoF5P98O-?}p3I3Hp4nLA{vM;R&>z$v(&JoN$oQAwt`NQt`mI?&hz3K#?$qXWm;Adf zSUVNrEPv`QCu43(CXIL#k9wiAhP+=X zk7QQ*n2;4D+)46k$k|QuBxa$!wqVOXMtu!`;=A_j=?2eeKr0E=nwawAqt6{M``>$K z{BOZ$NGK8X^}p$^S4BWw<-)n^2A`u_V&<>Idz_bmcDM7V-z!d-(_XO7{H%I^^P27JsbB%DOf$+~f znWulWAx`>g-4~cq`MIaVVYs<=k8$+HJ^Oo*&Kj_G_1HN2ttT;n-S+S9nQmB0Pv|(( z*YyO<3HpW`8+ z{&z(=OBs*p%xCfLZ1Fwsv(N6lJ$l&kUOnL?U=&Kh28>tq8o=^--)S-iG@D+~Ye4hp z_w<^uYuT4|V*ktoP`@9v%MM?+27Z^R5OCnj9x~^KnUMivRreKezdG=xkXSDcEQfsk z`+?^}zWyL+ITYgE9{Bx`Fo&K8es}aS;C@XX3+~tTQgC0={fFRg0ZRIZ1B3oppJc}X z^~g7H&Gmb%5xdjWtjzq#(iA*4B$HkGlDQ=yoSR!HYDG$J1f2L zvH3qdZqmI{318~a`9EBVK;K5F6+*eLvu{Do8=uWGMZhvzVd&egcFbDXw)Le@6NqiB&VPn|o6T1i(@BpV4e#?bdWbTM?b$ zpp-uY02WqI%0C{=Mwvl%hB4K|*nVNPaX|2#O^sDghye>^L5&FOHVOd08v5vh%x(k$A;DfQ|VZaYiAOa18$@wX> zM4@LC(Z5}m&HRAay4Wa~+|4O{H{LJMqx5B7fS`tHt7xLP~ld$Lj6=>-#Q^&PEU zTD0s&6mmgYUtHha3wjIaq4V+~s@5B&>(=+yH!=o&i2n#cO~kjrwfeGFGv?mB+-l-a zLVYpUYOBDPZ8h;a28vL#Lk-qk_Lo@`v~zeRHe6p`q1j<^s);{iyg~|9O}v3#(LQTuR!KH#5C$J_E9B9R*!8Xv{oRaRCE!FeR9A0>S(BP5Cg& znVBI!A{dQHC0|SkA-0!~*U}T~%#X5K z158UsZ!~kQziHST$!OYmBjBobZ>-PLK$t8riU=O`DKCG{WSsH}F_wXtzHG4wAW^?E z46FJgW8xV=g$m4Df$2gvi-ORJtfY2w8f+3-j+BIhJqW$Qf@OjW&_S?0{l#HAL1T;F zl4m$_Hs$%Y#s|_Qd-h8*w={>6<~R?z^xr%Rg8a7@R~8*jYW?JhblN&eVnjXZZ*k|EV%;&`q zV>pTexNS8#)fVf?EqVFcooj!1gOX@&cGynZ^F5Meww$rCrq2hM%r< zGMf0^yM`OY<4hH{`C1?B?pC%u%{%eI&C+0GkkI%y4)y z>`@Tf$C+%$PZuD#=>)|G89cf`V!K;U=c+UopIX@dDrW|e^)=82BWS3`4 ziD|W%PtKJwSai_o~R8uN{x&KYo)Dxw`nt~eNeTT~5txa@EzFl6J)3`1< z*vI!u!-q+@R8o>bjZ>Fe#oINFhzcI20ki=;>nHj9WAN$U`GUZyu%+8a8Mqk~JJ1Wm z?spj_0e^2Wi*#vv5wk-E*1L{d${k4Y=b#Vlx^O28Dt_r8oXp^)j}CX`qdq|DR&$;L zA?$@y#Ll0;9DbbCyW=6z?E{s+-S7xpJqfBDQQhsJVD+pe%=na)F!L8EVPv;gr(sJt zj6z6RzS92fp6!|aDJgBvvzK;2?e9Hd*&w+C0Y*V@jvq4kglp(Tz*Y#t_{oVu5M*5D zg+PQ)MWBm7HqbMqmA_Y70|CMAlQRDZ0J>qwSZd~Xf1oSywd!~FY}LX~Nvjt9(pt56 zuR4T_Xn)o15ugOXoWk$U(3L!Mdz5}k+GGDOtv$*?`&>RD2JLa+!y)@+171(K1gK89` zU>?=^20kn&=V194Vnuk*AR#txve%l(Z4BB%`C#lN%M?dlNSK8AY&0!_jAr*E*i zVcx$$O6g2W(Qp=*0=)t1%PfU)@xiYU_sm}!?ipcm|KhI@_ncoE?%82+FWwXP_Ru!} zh5F2XCPz5KeBwS+%A^D**kGUOCVz#P7yZ&OFARgZ8!3VL-52&FPB;d7?uAEBuA>6Nb$%@hSNQ=(HeXbC@lmt~OlRg62Fx0;jHv5xrxD z_&{`tL%a>-%D?|Vpa1AR_h;y%qwLhZebgJpiV_h29eljJ`5AB2&@^!8QHU>Sh&*&&7JO%M?nZR6$o@}A z>@LsCn*j+OxNO^Oyvt=SzO^8^Rn3as2x=#dQ-j0CBi`!pqBbZ}1o9ih1{6_fB0wlG zD2C&Y`yE(rEJzky;%ttNyGN(r25Xozv+hxX8YRff3*?on^yRB?k>oaD%5A`V8S8n> z1HTw~7cYMpZe9NMR1o2X3LxG?=dZvCsSe^N=(z>Xe}W=?SjQG=V#+;Xd3(Y_&ds|g zE>RPgpgd57V>~ThG>qG;9-I*T;b8oV;=a$7A=w(A03$c5FHX6FK=%81C$^M-zpa&BvcSGIQVwED>5)JVL}Yv zH5rTxL-jHY06+U&E^_<@v8X-r==%I0PYK9(~Ss&bp--uXmAsa43JA=#A&SOP~1lieW z3tk>Cdbs)Marw&KJ?{^W89X~(6fm!=tu6v3^5|a*4gCp2#eR^Inr}KR? zBu?jEzG2Kb2(pq6=3^XW44K-8X*&XC6`{BICd=UL@CfVQ2mwo+*X!3J-W1#ufJtsK zjWYlNtqYHhiNH5g>M8C3|7A8YKO)e!`O5{DZmlqkjWa)exf-A zzZbyiG*+<>Zf4TBXqARQF&+SOT4Rj_7n1aa4$sd_f>DDxlQl629`uZELSqu@T&pIR z5keoInwd0Bp{O5Y*#RWq2}Zga<^I$^<1^MCAe$bIHBX~v6ErOhP0kO4gggvPHAwcM zeF=3)I@TgTB$j7S=p!sfPr_lYd*g@|TCcGd`ty7&ouSETs85uweGI`;KkyR>J|%*d z#SwFQyg)(txzHT2+8(b;Y^5G(C3tiIx>5KAPoCzgHQkTRyw7gI4s0|1;fU>1V5BU9 z{?J^j>WStpQZsF8ds%*;$KveO;f1n>&RL7EYV9PuiqseZn2n5=k7A#AbH8!eM4< zH+p!45jG}Vh#|jy+BD)7m`#@%No8-u`0xU;jUkbs2~oD+EA|aCCax5!)e!0-01E(@ zm>`MY3;|Q3vzS8k&^&=QQM^%LpaN7c0%(9Vwl^B!4DiC3L$Ju92q+u6^S8uq+Y+AK zmU;7@bp!WDID1(^2L7jDRY1T=kljjJNwSx}kZwB;*Lx?Y-d3(E9r3Hlwl??#qXMHV zqjsZxaCyS5$e|QDv?9;eyrocwex+qN`o3ydIposV8n&cLdnGN+^wc%HdG_Af?`LfE zq0IntV2JJ&#T0d2@P>uA3(pu2OYZm!oe_DZ*w(`K=|CedTuiCluB4@EPtEZ+Ywy*5pSw}{!@9TX$bJLeet|R&Qtg9e z%OF)V zA%+W7>jg?{Brg(Fxy6Ug2(2o18YxvN6}R70Uj1g>y}AtrUDE?L@2Q$zs$AzT@2AT9 zp&$dWiG_kxwE7G3SX8OPo=ZzJJhk<2cHHaue*8xB4?ExL1lzQ9#~?X0Omz&Ct;1BU z$z3~1)lP0s5p=DEykwNlK>RiwLVewnVaJ=fVLAj&Tq1J+o8J5-BH;e8SeP?#V*KB9$HZaR< zpxO*%vw^C<@CowVF<`edIbe(4ykd6fXhpuQ8K$Ys{FhVjq<+KbigylE8RhPbDhmFp zFVh(dw&v$LZgzYn-mbOFC`mfZcmSMsC+*$1MUPyu9m&Zo-R4AO#_oiZa8${*maS9` zYhc8kTCyToj(DI-vDe>jS#5EgSZ$|Od0@mMiX%(5>t8tP(d0O?U(q;+zL`g59$0So zWLGS=JGd)deoHCso3i~|KC3D9FSp%k`+CQwtZXZ{z+rl2$ffz_7?pEqx!aRpyWH*2 zQnDO>yzX~o6_AS})jt1%;mKSetB;dQ^=`R1qg@B-yu(jscIe|}c4TK}o3e@rGUcuI zm3Bw&D><(g-Ys;dx#nG?-yV6>e9uhQb&{Pko3oeQvsbCvtK`fzIDFpV9`}6g()~0kc5RYTga)o z&G{=(j!RH}CE!9KsGYpi2!am)>EQWVd<4Hnd9zs5Gdw64wm8$&8FNfg z=b56WIU;F!_HR1-j?Vs@YI$-F5O5Uf4mmB)`PKCnnC-XZNwA`vdoqv4k2m@{pECMd zS6Us?*Q4GLzb1BGThp&Kf4Av-UH7}ldL5~o*qkKXlb5N<%jCoYxp);QgVf@6a^VJy zIxVjmN1Ya|Rl%sk2aK#^Fzdjh2PR(t0d-&m(Zj3@Aozf=lRP7a4f;*>EaJc%|IjAe;OCST@y6v`Jh_OY)P zzoW?Yr01+oEH`^pNnjHx@}&qz%hzLI$BQd>vqQVu_Eo7Hw(zQAT2)GxH_@sl3~6!3 z-_fsj!}dP41OnWugOutZt*Tr*N~_v1sS~SFU*UR^Q|!jo?3Xl-v9A}?$)(}bY@k&Q zyQW!3t6F}+G+Q9bZfTM=9ki4hh2#%R@;FVWR!EWMFd8Fx?AM5|1{ zV4{7rs&Ds12WZtmAki&VmRnUw!Evp5Q&r*fwsW_uI7$`UPuz-JN|E~z3?8MGZZGgT z3YD!1`dPBtk@a%^o%~noUypE|p^J{unOZ7IYisjJ5}xb4*=aA>lw^MhM!>Q_Ll}T7 zUaq=R^@{HGMAy(a&(WG1D!FDk+7qX^6|)j!AAKh-=V2tkg6T7v>Q>cCmHiZ*m_iXa{5hEtkoVr-e zD1nN++y-yduxXSqnY`RyFtbS*hb`WidRC3qz%Zb!`+c8av(iZ5)f7k!QRmLi11wAP zS%f4*$ZEM1iZfMyTg!tdVMD5rG;s!%p#XJHQ9I4+LykI3EBbn)3ljFmOHq#ZS0^!Kc{k zpAlc_A*NyzAu}tubo#pmAuz7vkj(Tg5&fRPQDJ8`Sp)z+mH86OniXL_lDJ zO|oRmxoN8iS^}aX?UR5>jzjzu94|N1%gud^td2~+a`^wS02~cR4WxBFrv)%Hb9Ed& z7ulniIA4wghNOgLNRDzVBSyHu1^6F;K-XOk@i_poAXin*a_orTfp_n|@U))VQIi=I zrimkRs0oV#AU^;SHF;o+Y9C#%a8;~j{aMZ1?W6x}K?>Pt;}g00Qg5_R^_#hTqmj8& zBjnlu=8leNpANJ)iq(?#Ml#CJaGOU^^Er5}1#?e^R}|FbX72DH+>j+ff@2jF&rQ#j z%#DexQZT5BB;&y4B(drtFoB8mWQITtRCzQGN)(|}49*At2Nd3|g0s5mdEl%9L0s6` zQ*0F#_e>hinCdY?3{dD@Uu=ynZe(sWFby+7-WZ+lW|R4;K@$OKe}u^*)sIL62d*{= z-h5)PCW?X=rI=uZ%$eY(lt2=|2Q?h9#-E&?gIi>YH zmUm4D0RyIsttm`4+L;*>7)>@=z)tLpMI>ZyW>FI!th0B~@uGv>g*buE7&`Bv1NY!@ zhyu)|58qCs(~r&>bdak|oJHry==>Er@d*4Ae3Rl^96DS0`PbMCX0{ z{9ADHxeW6=zmvd0=H(BXfM5x#EIzBSR(uQ6XBpCLBl>+7otx+&yPUX$&QWx3fdhtD z8;|RoS?jWP^hMreh;>;cDH9C&SP0#oWkRzIvOmI*L+D&aX91l6?U+#ECo19)GAIQQ zrNN*rL8#H=8akk34g_YnHUl^w3M9M)o*V^#l&A46(hers1#H}O+UI0v0z*LZ4Q z_y%N`-^7lpuV9>SU_$Z!dp#^Bu!U=!n^($yJ5eC1 z{oZI_qQref_*$`g7B1{!n!Q)`z*Jw7w z@)*m&K)YWu5p&}vZ``mcxH4f>=m#M_myDBMF-vb}684IG9~dAVg1TZaMX?ybgV+TG2rAGs7(u)G4@J~las(*U{+s?HvxGn zV4rwuYT9gIaQuvotz zJNL1(6>?69|BX>1fPDf@$xN{pFZUvG5Q9q5`4@03O#pOZC%fZgeX}eQNkhmTScDm> z>T@tAElV<%?@`1_+DG!`p4hmh=50|D7)6dxwpY{fIkqT|JmuEF%D@ZfY@#i(oD!!w zlHC~<6#msdkVui5NTwY5_N6zk+`F_H`I zZgD0h&ZNaz&S+X(ig~u&Y~`l%=V_@y|*gT{#&;JpudwBBreQE@wEHN_tD z(xj`J&N)J6AN_9B_ayfvYu7iReqxF(+9Oq9LeJf}dE;G)3@EjUsbJ>Wld=#0RH?ofMKXHIl^$i%L#0F|vPr-U zFi@#+%RNlTX>5^O8F@Cz@@YztzLl0q3X=a$9QRjJrKhyQb>i;AtJm*dr%R76OYG;V zxFU}#4VhbZ;c}!WMZF@}3i;jx{(V`JtpS?(R`p8t3$^enO+?J?*WJ<*N?P)uj}1`A2Iynw=#uk*!#O&x&=W7ewQpsgBi$XppNiiP^_QM` z`^@SYXN29lHh+A%8a*n08?1a&WqJjx75#>zFfvVc++(8?k( z=AD(t(w3>XjAj1vu)WcfmG7u@W;h$*)}we=g)4{5s9KKol+({7iJ=s4%R}Xj&99iygq*1a`AF-Cq4A_=lFWR_99Y05E&ut%FC!x}a-gmMS>mF6g5Q`sjjwyVP^2(JpbE+fR zBQZx-26supv61OrjstXJwnwIRC@5K;TUH7!;^My{dQJ2v61S{w3&6k_`K^wJ{alVb z8O=~jq_(T}CQ7P-S;R5>jyTUFiF>a7X1iSi2Uw3pZjZm&^~KhQ6FiPA^&^lMjF;Q^ zXe3&AQ@Gsax905PyUtVl8_3c|zad{1p!21imkaL{I?|kTu1>1-I9XCpCNyjc8vQBk z3DElD$nA;M3Hv!`g-dw%C|OYBH!S?i%Aw`OQ@00J2kf2BEa$@A5;DJvOsL)z)I2ka z?Jq^WEWRVQUwcL8lDS4+OQnmCkVQw=2r}WgTTuTn5$f!bS`nH4Q7@MhDfoQLXIe<< zzCfh2YXx+1BU#k+-AmuQdjIOWnLK$WbPC-Zn;<7==&@OHl-RT^x-B;-%MBPd7MQi+ zp=G5AV;OpWBuL%Ga=^~J_A{4l*Qw}qM*($rUyAQ?q)iT&TJ}uzbogB!q*DdjQ0lDGuBMhfd(?Ikxp!KC!V4bf$nnJop_c? zJnK#zrV>F8VT`#i54o+;!eCmC0-$~Vgnop+9nWQWGy_K;IE4hL7DINI~teg z?I(V3;cmZ8Oe!ipi7EEex6iGfbJoylm1Jrqm3Y`Dz$%-3e$tboft3U%&6LuIkr7#< z4>=J^u}%Du2xTe8pC5OmI44MT^@fa6blJrJ6g3|q%-&vzhK124fb}sc)!uZweYO1? zTxXe+Po)BxvcwkiK#^q6xm~zg_%)+5-Z4xi7t)F%o7khwVrPCpL|JK*JdENT0F?S( zOL9i8nbx)U#x{zmBd2bgUQ2>ykWA|XEF@A=nn8;*9Y$K5>ygOpxsF^%k~5P8qNt?U z*79CbA*_XoDtr9OVY>y`nzB^KVP~T&<8F(y+I7M;zjora1=q!OF0>@~ejcnuWgB|n zxW9FJqm4Xun#|~@Wc|;#c;v}or2e!c@ymv=DXd4mc7r_Bygs`j-bsSEf0m94dO7307mRw_N3Z&AyDQOF)f;*ob*fsvY%oY_7|?-b_`t z-z^9i(n3{sgb%?u&VsGq)7dX%0GFL>&n`|ODU;UnDd4f*JbTqgs-;SwSn+5v+ z?da8LkSdG46Z@c`>_K+%%V)oK_Uq@}*|k)5Em_w?XP@wtl*3-8hlL>ILIcz?Zt86p2H$H&+Wv`#vHc`9|_&KV;A=DK9X>RD#ygP zE8eWWSH0PD(%mya^$ff%IOkDjI?5f#NoB6HkWwDBNgkx6-L71%yj{Cm>y*4c_{QjK zqwYgZ)S;&JEA$~9opO>Cs2&JnpA&yUyxdM^lx+$QYzY$Wa{IjF9JQ~UOs{aYtv9S5Chl%|r*JiHdWKEH8}Y91h)&XQ+G$&@ilF!n|1 z!>Jfff@0em!-7q3~C=;eRxzxTarTA(% zTFTXKSvDohc6P2GB?rbxSvDyfU+UbdYI0X~ypG#}M>eM>R;TVQ8eyQC{ zotyk5h#n~+<8ml|?o#tsw8CEOPA;XAOE;rSw^Z3~RT-r!qgCa$7*A4;axYcIxm!9%MpX{(17G(cL)s!a|6?4(PXBre+r0ql+&rEL-g5zqbJJ zwq{ac{Ro)eDKD1WFMqZ69eLg|_d!y+eb!O7I{(s;GxzJ0?ozjBnc_D?C*a2?#(HGw4)Jybylvr|TU}0p*k}D(BCW35js$P09C_M{BiqsVjveBq zq-`O-!^)ic;_&T@s~5M$_$>iA`@(h%zQ=OpnJ=|(OYuF9BTsqp*5DihSxMIb6?bf@^?kliEPaf6@m52aO8X#Cp|+<^ECfl#!}8 zlEY@I-n_}5_CXw?;2@3b5!HGP5yZp1R}|Esb5H49;SsUOUI!NfNs?KPXh{| zgS``T2(Yi)FCGg;EI!Tmwb4~yO^+DL~XLME6t1tSjx ziOaK;K=noO`(jyWd{TDk^-FJDdF_g8YF)ct9z2H(j`9lE@-?7!eqNiaZ7Jv6FU`iscVzL}mW+t+WFP0?=XZ0o ziTK>AOwx96qW&f?R@)I7^><2%wnG&4cezpc_^9A`mbOD0`SWTB%;4WYmH@ChQTLCP zrZP{hRLDGAGDO;z{n7VZ3I$AtE#+E;w!JRmew#$dKIPgpZTsPf`|XD#8IKOBNZXMv z^a>1yDdV`=V6cwXGi*7vQEizpO`7JAWyesp8Mg1-SP^I}9ALP37WS5E%Mbx%ewK?@ zP%>qlC{h=c0NouQaNTk!-_KH{20}a>BtQ2+}aAM`R>GK8HstA2j&!#Z$6r609^!3OKmC{Em7x|l={$Ml7T3> zkTZYGG&uu00jv>#kgSmYZY|ScxzzZs&Kn<5508(Gm{6pjEop8DTEI^SsC?jd7PEwY zE3c%~n$XQi{`+fh#yB?y%wA;h5 zPz+Pas??1E$DDa*)kb`ckRJheuA}M&Cdwp_aS$PkHN|J`!NMSDc`P1c%QB{{%Fb!f z(_ue~)YD8;U@KeWdw}w90b>csFo3>bQd`w*y(6-ar)AmGh| zf{HXoVidGLpt`E9Nxtr4f&MgvFwk+#z~Q%utir|xBPMOBwthn-JffaioEwAinMJl2 zo*XNgSyV&o0awCO+6c@LlL(`=fa8C$e~I@6-ju)mC9nwU%g#I^>+2afJs zsT!j(RgE?K)Z7BOJPkr5vhqtNr$>=%V;P6Lxl#Rt@bZ9(7cn$xu?~xV4L|F0!Kdh# zGO&NjT3Zk*vT_oJCGcg6)Sbo&U;D$bd~7ygW)yaEu~_#N_&7i??qD_u=>qD(MYLw3 zgh8?Zq9=r@WMnF|BQ9Cm zNsv$hdWX@r9NNv@H`_gWK9o=2(msy6U^)c{hlp#ex#R=yj|ii03m_~#~X2Q|9-|+ zPX2;7+F%%-9x@nMjydw@z0uQ_5}XAI6qRAP<^-rGaR`*>AsWyr2ge&V1C4C7uwnor zbjE_tCMS!*JnE7$bUaVjPVS5Z^<86y@=Xfd%QCY%Bz02_s=>%t&BrtbEV7 z72p}s22scOUO&;i!Bc}M!>FtXa+jc zoPk+oC17sH;9nA0fskVe9A%mTHQZ5v#k>&0LMRYjC5DRF37jeWJo^5OiDOv=lSWfS zJ@WxL!>YhaMIdvU6*);oXp~bR7)h0&Xv&|WABtrV)wo{TF-AZ-A}B&as1c+eL6+eS zxcNBR7`;cYKzm%rvhs2765y5-7~^Z`)G#UI8;Z982OUL+4D2wpcm*)Pn3a+^hHzQv zR3dOL0t;%VribSzO-Bd^1ORp%ixztNb_AEpeaKJe^0$w1IU>bU^oIftSM(E3In615 zk0W}IBYcmO=;81_AM@E5GPcM$yovq^?{TE>abkYVNrTY$IId^(Rm}}-fN*8nGA7yq6xz&%x654s( zyzN0gr?A)scU#Pfxv|@GN)BIQyRsRPyp@oQyyh25mfGM<7pri`WW61eSNWKzsiEQRQ7HT9X zW+8;)6OdA**cVOYY#=M!8UK#0Kw?5N@92ht@$CsFB6Nz$Y8`pbzyw^_5zt2(hnRrj zV1S6sKfZCC@$H6OLBh56X05G+ROLJU8aWr&72iv}pSm7PcA3fPdH1xHnzoYWE98}H z9&x-MKF{epmXim&NxX^x$weF2$g}4WsODykt$2CSp?EpvPKqN2l&wl~w<9BkdD{_C z(%ybS?#1OZ9L#7l=N8`7@W7bLr?L`|;bYUukuW z{wTG?BNRWUys2Dn_~JhMf!kGIsdDIllv4PvNV+WA6s2tQIdMZgPi&hfw%9rH>crg% z=Q*7tHw(PiD_{vJ|t!V{b2 z@KJVNE4sJvRy2upv-4vw5 zI2K5J)ycC*kkP5`=u9d)la9`E^6BWJcLmCKlhh8GJEM%sD5H}Oc;rcLc{T;=Ff3CU zzEK+HBOza?!AT+3Eli?>N%l;;h7_i|g;|s^ix%cMvp0pM@8%wOt#YlxUDHn0wA1As zNbVA3*#yh^_CDZf_*s*8`kW`-#dTD19i4rImLFZ$0E2Ra_rvJ7qTMa0DfsIL4v@)h zoTZGjbU#72AZ?1Azf86)Q1S(v=&uEumpWYqn}WK(k)?v*g-mg)d8HXO1nx9D8{9>; zR8cLRRY%K?tjj1_0p)VRO*OplS ~GXyJ`PhsXY@Gj!aiw_7p&zr!nN!|i}E%NFkKE$sE zRK}a&HR2<&DFWn{gv}A#rU(u{<)_@&#^=2N literal 0 HcmV?d00001 diff --git a/Scripts/pyCreateTh/pyCreateTh.py b/Scripts/pyCreateTh/pyCreateTh.py index b207952..ef352ef 100644 --- a/Scripts/pyCreateTh/pyCreateTh.py +++ b/Scripts/pyCreateTh/pyCreateTh.py @@ -50,9 +50,10 @@ import tkinter as tk from tkinter import filedialog from collections import defaultdict from charset_normalizer import from_path +from copy import deepcopy from Lib.survey import SurveyLoader, NoSurveysFoundException -from Lib.therion import compile_template, Colors, compile_file +from Lib.therion import compile_template, Colors, compile_file, safe_relpath from Lib.logger_config import setup_logger @@ -77,8 +78,8 @@ therion_path = "C:/Therion/therion.exe" LINES = -1 NAMES = -1 -configIni = "config.ini" # Default config file name -debug_log = False # Mode debug des messages +configIni = "config.ini" # Default config file name +debug_log = False # Mode debug des messages error_count = 0 # Compteur d'erreurs @@ -210,9 +211,9 @@ def copy_template_if_not_exists(template_path, destination_path): if not os.path.exists(destination_path): # If the destination folder does not exist, copy the template shutil.copytree(template_path, destination_path) - log.info(f"The folder '{Colors.ENDC}{template_path}{Colors.GREEN}' has been copied to '{Colors.ENDC}~\\{os.path.relpath(destination_path)}") + log.info(f"The folder '{Colors.ENDC}{template_path}{Colors.GREEN}' has been copied to '{Colors.ENDC}{safe_relpath(destination_path)}") else: - log.warning(f"The folder '{Colors.ENDC}~\\{os.path.relpath(destination_path)}{Colors.WARNING}' already exists. No files were copied.") + log.warning(f"The folder '{Colors.ENDC}{safe_relpath(destination_path)}{Colors.WARNING}' already exists. No files were copied.") except Exception as e: log.critical(f"Copy template error: {Colors.ENDC}{e}") exit(0) @@ -250,9 +251,9 @@ def copy_file_with_copyright(th_file, destination_path, copyright_text): # Ajouter le copyright dans l'en-tête si nécessaire add_copyright_header(dest_file, copyright_text) - log.debug(f"File '{Colors.ENDC}~\\{os.path.relpath(th_file)}{Colors.GREEN}' has been copied to '{Colors.ENDC}~\\{os.path.relpath(destination_path)}{Colors.GREEN}' with the copyright header added.{Colors.ENDC}") + log.debug(f"File '{Colors.ENDC}{safe_relpath(th_file)}{Colors.GREEN}' has been copied to '{Colors.ENDC}{safe_relpath(destination_path)}{Colors.GREEN}' with the copyright header added.{Colors.ENDC}") else: - log.error(f"The file .th does not exist {Colors.ENDC}~\\{os.path.relpath(th_file)}") + log.error(f"The file .th does not exist {Colors.ENDC}{safe_relpath(th_file)}") error_count += 1 @@ -284,7 +285,7 @@ def process_template(template_path, variables, output_path): with open(output_path, 'w', encoding='utf-8') as file: file.write(content) - log.info(f"Update template successfully: {Colors.ENDC}~\\{os.path.relpath(output_path)}") + log.info(f"Update template successfully: {Colors.ENDC}{safe_relpath(output_path)}") # Delete the original template file os.remove(template_path) @@ -335,15 +336,15 @@ def parse_therion_surveys(file_path): survey_names.append(survey_name) except FileNotFoundError: - log.error(f"File {Colors.ENDC}~\\{os.path.relpath(file_path)}{Colors.ERROR} not found.{Colors.ENDC}") + log.error(f"File {Colors.ENDC}{safe_relpath(file_path)}{Colors.ERROR} not found.{Colors.ENDC}") error_count += 1 except PermissionError: - log.error(f"Insufficient permissions to read {Colors.ENDC}~\\{os.path.relpath(file_path)}") + log.error(f"Insufficient permissions to read {Colors.ENDC}{safe_relpath(file_path)}") error_count += 1 except Exception as e: - log.error(f"An error occurred (parse_therion_surveys): {Colors.ENDC}{e}{Colors.ERROR}, file: {Colors.ENDC}~\\{os.path.relpath(file_path)}") + log.error(f"An error occurred (parse_therion_surveys): {Colors.ENDC}{e}{Colors.ERROR}, file: {Colors.ENDC}{safe_relpath(file_path)}") error_count += 1 @@ -383,7 +384,7 @@ def select_file(): ################################################################################################# # Création des dossiers à partir d'un th file # ################################################################################################# -def createThFolders(ENTRY_FILE, PROJECTION = "Plan", TARGET = "None", FORMAT = "th2", SCALE = "500", UPDATE = "") : +def createThFolders(ENTRY_FILE, PROJECTION = "Plan", TARGET = "None", FORMAT = "th2", SCALE = "500", UPDATE = "", CONFIG_PATH = "") : #""" # Entrées : # ENTRY_FILE : input th file @@ -435,7 +436,7 @@ def createThFolders(ENTRY_FILE, PROJECTION = "Plan", TARGET = "None", FORMAT = " exit(1) if not os.path.isfile(ENTRY_FILE): - log.critical(f"The Therion file didn't exist: {Colors.ENDC}~\\{os.path.relpath(ENTRY_FILE)}") + log.critical(f"The Therion file didn't exist: {Colors.ENDC}{safe_relpath(ENTRY_FILE)}") exit(1) if FORMAT not in ["th2", "plt"]: @@ -443,7 +444,7 @@ def createThFolders(ENTRY_FILE, PROJECTION = "Plan", TARGET = "None", FORMAT = " exit(1) # Normalise name, namespace, key, file path - log.info(f"Parsing survey entry file:\t{Colors.ENDC}~\\{os.path.relpath(ENTRY_FILE)}") + log.info(f"Parsing survey entry file:\t{Colors.ENDC}{safe_relpath(ENTRY_FILE)}") survey_list = parse_therion_surveys(ENTRY_FILE) # print(survey_list) @@ -463,7 +464,7 @@ def createThFolders(ENTRY_FILE, PROJECTION = "Plan", TARGET = "None", FORMAT = " # print(survey.name) if not survey: - raise NoSurveysFoundException(f"{Colors.ERROR}No survey found with that selector{Colors.ENDC}") + raise NoSurveysFoundException(f"No survey found with that selector") if UPDATE == "th2": @@ -489,7 +490,6 @@ def createThFolders(ENTRY_FILE, PROJECTION = "Plan", TARGET = "None", FORMAT = " copy_template_if_not_exists(template_path, DEST_PATH) copy_file_with_copyright(ENTRY_FILE, DEST_PATH + "/Data", Copyright) - totdata = f"""\tinput Data/{TH_NAME}.th \t## Pour le plan @@ -516,6 +516,7 @@ def createThFolders(ENTRY_FILE, PROJECTION = "Plan", TARGET = "None", FORMAT = " 'datat' : datat.replace("_", r"\_"), 'wpage' : wpage.replace("_", r"\_"), 'cs' : cs, + 'configPath' : CONFIG_PATH, 'totData' : totdata, 'other_scraps_plan' : "", 'file_info' : f'# File generated by pyCreateTh.py (version {Version}) date: {datetime.now().strftime("%Y.%m.%d %H:%M:%S")}', @@ -538,7 +539,7 @@ def createThFolders(ENTRY_FILE, PROJECTION = "Plan", TARGET = "None", FORMAT = " select {selector} - export model -o "{th_name}.lox" + #export model -o "{th_name}.lox" export map -projection plan -o "{th_name}-Plan.xvi" -layout minimal -layout-debug station-names export map -projection extended -o "{th_name}-Extended.xvi" -layout minimal -layout-debug station-names """ @@ -570,7 +571,7 @@ def createThFolders(ENTRY_FILE, PROJECTION = "Plan", TARGET = "None", FORMAT = " else : th_name_xvi = DEST_PATH + "/Data/" + TH_NAME + "-Plan.xvi" - log.info(f"Parsing plan XVI file:\t{Colors.ENDC}~\\{os.path.relpath(th_name_xvi)}") + log.info(f"Parsing plan XVI file:\t{Colors.ENDC}{safe_relpath(th_name_xvi)}") stations = {} lines = [] @@ -639,7 +640,7 @@ def createThFolders(ENTRY_FILE, PROJECTION = "Plan", TARGET = "None", FORMAT = " # log.debug(stations) - log.info(f"Writing output to:\t{Colors.ENDC}~\\{os.path.relpath(output_path)}") + log.info(f"Writing output to:\t{Colors.ENDC}{safe_relpath(output_path)}") # Write TH2 if FORMAT == "th2": @@ -703,7 +704,7 @@ endscrap""" else : name = TARGET, - log.debug(f"Therion output path :\t{Colors.ENDC}~\\{os.path.relpath(output_path)}") + log.debug(f"Therion output path :\t{Colors.ENDC}{safe_relpath(output_path)}") with open(str(output_path), "w+") as f: f.write(th2_file_header) @@ -762,7 +763,7 @@ endscrap else : th_name_xvi = DEST_PATH + "/Data/" + TH_NAME + "-Extended.xvi" - log.info(f"Parsing extended XVI file:\t{Colors.ENDC}~\\{os.path.relpath(th_name_xvi)}") + log.info(f"Parsing extended XVI file:\t{Colors.ENDC}{safe_relpath(th_name_xvi)}") # Parse the Extended XVI file stations = {} @@ -829,7 +830,7 @@ endscrap th2_name = DEST_PATH + "/Data/" + TH_NAME output_path = f'{th2_name}-Extended.{FORMAT}' - log.info(f"Writing output to:\t\t{Colors.ENDC}~\\{os.path.relpath(output_path)}") + log.info(f"Writing output to:\t\t{Colors.ENDC}{safe_relpath(output_path)}") # Write TH2 if FORMAT == "th2": @@ -957,6 +958,7 @@ endscrap 'datat' : datat, 'wpage' : wpage, 'cs' : cs, + 'configPath' : CONFIG_PATH, 'other_scraps_plan' : other_scraps_plan, 'other_scraps_extended' : other_scraps_extended, 'file_info' : f"# File generated by pyCreateTh.py version {Version} date: {datetime.now().strftime("%Y.%m.%d-%H:%M:%S")}", @@ -973,7 +975,7 @@ endscrap if UPDATE == "": if final_therion_exe == True: FILE = os.path.dirname(ENTRY_FILE) + "/" + TH_NAME + "/" + TH_NAME + ".thconfig" - # log.info(f"Final therion compilation: {Colors.ENDC}~\\{os.path.relpath(FILE)}") + # log.info(f"Final therion compilation: {Colors.ENDC}{safe_relpath(FILE)}") compile_file(FILE, therion_path=therion_path) ################################################################################################# @@ -1028,16 +1030,16 @@ def readMakFile (ENTRY_FILE) : # Vérification des valeurs if len(Datums) > 1: - log.critical(f"Several different Datums found in {Colors.ENDC}~\\{os.path.relpath(ENTRY_FILE)}{Colors.CRITICAL}, case not handled! : {Colors.ENDC}{Datums}") + log.critical(f"Several different Datums found in {Colors.ENDC}{safe_relpath(ENTRY_FILE)}{Colors.CRITICAL}, case not handled! : {Colors.ENDC}{Datums}") exit(0) elif not Datums : - log.critical(f"no datum found in mak file : {Colors.ENDC}~\\{os.path.relpath(ENTRY_FILE)}") + log.critical(f"no datum found in mak file : {Colors.ENDC}{safe_relpath(ENTRY_FILE)}") exit(0) elif not datFiles : - log.critical(f"No dat file found in mak file : {Colors.ENDC}~\\{os.path.relpath(ENTRY_FILE)}") + log.critical(f"No dat file found in mak file : {Colors.ENDC}{safe_relpath(ENTRY_FILE)}") exit(0) elif not fixPoints : - log.critical(f"No fix points found in mak file : {Colors.ENDC}~\\{os.path.relpath(ENTRY_FILE)}") + log.critical(f"No fix points found in mak file : {Colors.ENDC}{safe_relpath(ENTRY_FILE)}") exit(0) datum_to_epsg = { @@ -1114,7 +1116,7 @@ def readMakFile (ENTRY_FILE) : # Génération du CRS QGIS (format WKT) crs_wkt = f'EPSG:{epsg_code}' - log.info(f"Reading mak file : {Colors.ENDC}~\\{os.path.relpath(ENTRY_FILE)}{Colors.GREEN}, fixed station : {Colors.ENDC}{len(fixPoints)}{Colors.GREEN}, files {Colors.ENDC}{len(datFiles)}{Colors.GREEN}, UTM Zone : {Colors.ENDC}{UTM[0]}{Colors.GREEN}, Datum : {Colors.ENDC}{next(iter(Datums))}{Colors.GREEN}, SCR : {Colors.ENDC}{crs_wkt}") + log.info(f"Reading mak file : {Colors.ENDC}{safe_relpath(ENTRY_FILE)}{Colors.GREEN}, fixed station : {Colors.ENDC}{len(fixPoints)}{Colors.GREEN}, files {Colors.ENDC}{len(datFiles)}{Colors.GREEN}, UTM Zone : {Colors.ENDC}{UTM[0]}{Colors.GREEN}, Datum : {Colors.ENDC}{next(iter(Datums))}{Colors.GREEN}, SCR : {Colors.ENDC}{crs_wkt}") # log.debug(datFiles) # log.debug(fixPoints) @@ -1124,7 +1126,7 @@ def readMakFile (ENTRY_FILE) : ################################################################################################# # Création des dossiers Th à partir d'un dat # ################################################################################################# -def DatToThFiles (ENTRY_FILE, fixPoints = [], crs_wkt ="") : +def DatToThFiles (ENTRY_FILE, fixPoints = [], crs_wkt = "", CONFIG_PATH = "") : # Input : Dat file for conversion # Outputs : Th files by survey global Author @@ -1144,6 +1146,25 @@ def DatToThFiles (ENTRY_FILE, fixPoints = [], crs_wkt ="") : global NAMES global error_count + def station_List(data, list) : + # Création d'un DataFrame à partir des données + rows1 = [line.split() for line in data['DATA']] + dfDATA = pd.DataFrame(rows1) + + stations = pd.concat([dfDATA.iloc[1:, 0], dfDATA.iloc[1:, 1]]).drop_duplicates().str.replace('[', '__').str.replace(']', '___') + + fixed_names = {point[0] for point in fixPoints} + stations = stations[~stations.isin(fixed_names)] + + new_entries = pd.DataFrame({ + 'StationName': stations, + 'Survey_Name_01': data['SURVEY_NAME'] + }) + + list = pd.concat([list, new_entries], ignore_index=True) + + return list, dfDATA + # Détecter la fin de section (FF CR LF qui correspond à \x0c\r\n) section_separator = '\x0c' @@ -1157,7 +1178,7 @@ def DatToThFiles (ENTRY_FILE, fixPoints = [], crs_wkt ="") : best_guess = result.best() if best_guess is None or best_guess.encoding is None: - log.critical(f"Unable to detect the file encoding {Colors.ENDC}~\\{os.path.relpath(ENTRY_FILE)}") + log.critical(f"Unable to detect the file encoding {Colors.ENDC}{safe_relpath(ENTRY_FILE)}") exit(0) return None @@ -1167,16 +1188,16 @@ def DatToThFiles (ENTRY_FILE, fixPoints = [], crs_wkt ="") : content = f.read() if encoding_detected.lower() != 'utf-8': - log.info(f"{Colors.ENDC}~\\{os.path.relpath(ENTRY_FILE)}{Colors.GREEN}, encodage : {Colors.ENDC}{encoding_detected}{Colors.GREEN} conversion utf-8") + log.info(f"{Colors.ENDC}{safe_relpath(ENTRY_FILE)}{Colors.GREEN}, encodage : {Colors.ENDC}{encoding_detected}{Colors.GREEN} conversion utf-8") else : - log.debug(f"{Colors.ENDC}~\\{os.path.relpath(ENTRY_FILE)}{Colors.DEBUG}, encodage : {Colors.ENDC}{encoding_detected}") + log.debug(f"{Colors.ENDC}{safe_relpath(ENTRY_FILE)}{Colors.DEBUG}, encodage : {Colors.ENDC}{encoding_detected}") except FileNotFoundError: - log.error(f"The dat file {Colors.ENDC}~\\{os.path.relpath(ENTRY_FILE)} {Colors.ERROR}did not exist") + log.error(f"The dat file {Colors.ENDC}{safe_relpath(ENTRY_FILE)} {Colors.ERROR}did not exist") error_count += 1 except Exception as e: - log.error(f"An error occurred (DatToThFiles): {Colors.ENDC}{e}{Colors.ERROR}, file : {Colors.ENDC}~\\{os.path.relpath(ENTRY_FILE)}") + log.error(f"An error occurred (DatToThFiles): {Colors.ENDC}{e}{Colors.ERROR}, file : {Colors.ENDC}{safe_relpath(ENTRY_FILE)}") error_count += 1 @@ -1193,11 +1214,14 @@ def DatToThFiles (ENTRY_FILE, fixPoints = [], crs_wkt ="") : totMapsExtended = "" # Tableau global pour stocker toutes les stations - stationList = pd.DataFrame(columns=['StationName', 'Survey_Name']) - + stationList = pd.DataFrame(columns=['StationName', 'Survey_Name_01', 'Survey_Name_02']) + section0 = True; for section in sections: + + listStationSection = pd.DataFrame(columns=['StationName', 'Survey_Name']) + if not section.strip(): continue # ignorer les sections vides @@ -1212,7 +1236,8 @@ def DatToThFiles (ENTRY_FILE, fixPoints = [], crs_wkt ="") : 'DECLINATION': None, 'FORMAT': None, 'CORRECTIONS' : None, - 'DATA' : [], + 'DATA' : [], + 'STATION': [], 'SOURCE' : [] } @@ -1281,70 +1306,259 @@ def DatToThFiles (ENTRY_FILE, fixPoints = [], crs_wkt ="") : # Ajouter les données de la section à la liste if len(section_data['DATA']) > 0 : - data.append(section_data) + listStationSection, dfDATA = station_List(section_data, listStationSection) + section_data['STATION'] = listStationSection + data.append(section_data) unique_id += 1 - + + ################################################################################################# + # Détecter les survey avec plusieurs points de départ # + ################################################################################################# + def pointsUniques(data, crs_wkt): + # Création d'un DataFrame à partir des lignes de données + rows = [line.split() for line in data['DATA']] + dfDATA = pd.DataFrame(rows) + + # Extraction des colonnes 0 et 1, en ignorant la première ligne (souvent en-tête) + col0 = dfDATA.iloc[1:, 0] + col1 = dfDATA.iloc[1:, 1] + + # Nettoyage des noms (remplacement des crochets) + col0_clean = col0.str.replace('[', '__', regex=False).str.replace(']', '___', regex=False) + col1_clean = col1.str.replace('[', '__', regex=False).str.replace(']', '___', regex=False) + + # Exclure les points présents dans la colonne 1 + uniques_col0 = col0_clean[~col0_clean.isin(col1_clean)] + + # Supprimer les doublons + uniques_col0 = uniques_col0.drop_duplicates() + + # Exclure les points présents dans la liste crs_wkt + if isinstance(crs_wkt, (set, list)): + uniques_col0 = uniques_col0[~uniques_col0.isin(crs_wkt)] + + return uniques_col0.reset_index(drop=True).tolist() + + points = pointsUniques(section_data, crs_wkt) + + if len(points) > 1 : + log.warning(f"Points {Colors.ENDC}{points}{Colors.ERROR} uniques dans la section {Colors.ENDC}{section_data['SURVEY_NAME']}: ") + # error_count += 1 + + else : + log.debug(f"Points {Colors.ENDC}{points}{Colors.DEBUG} uniques dans la section {section_data['SURVEY_NAME']}") + + - # print(len(data)) - for line in data : - log.debug(f"SURVEY TITLE: {Colors.ENDC}{line['SURVEY_TITLE']}") - log.debug(f"SURVEY NAME: {Colors.ENDC}{line['SURVEY_NAME']}") - log.debug(f"SURVEY DATE: {Colors.ENDC}{line['SURVEY_DATE']}") - log.debug(f"COMMENT: {Colors.ENDC}{line['COMMENT']}") - log.debug(f"SURVEY TEAM: {Colors.ENDC}{line['SURVEY_TEAM']}") - log.debug(f"DECLINATION: {Colors.ENDC}{line['DECLINATION']}") - log.debug(f"FORMAT: {Colors.ENDC}{line['FORMAT']}") - log.debug(f"CORRECTIONS: {Colors.ENDC}{line['CORRECTIONS']}") - log.debug(f"Qté DATA: {Colors.ENDC}{len(line['DATA'])}\n") - # print(f"DATA: {Colors.ENDC}{line['DATA']}") - - ################################################################################################# - # Grouper les sections # + ################################################################################################# + # Grouper les sections ayant même date team et un point commun # ################################################################################################# - def group_and_merge_data(section_data): - global error_count - + def find_duplicates_by_date_and_team(data): grouped = defaultdict(list) - for entry in section_data['DATA']: - if isinstance(entry, dict) and 'DATA' in entry: - key = (entry.get('SURVEY_DATE'), entry.get('SURVEY_TEAM')) - grouped[key].extend(entry['DATA']) # fusionne les sous-tableaux - else: - log.error(f"Ignoré (entrée non conforme) : {entry}") - error_count += 1 + # Étape 1 : regroupement par (SURVEY_DATE, SURVEY_TEAM) + for entry in data: + key = (entry['SURVEY_DATE'], entry['SURVEY_TEAM']) + grouped[key].append(entry) - # Facultatif : convertir le résultat en une liste de dictionnaires regroupés - grouped_result = [] - for (date, team), data_rows in grouped.items(): - grouped_result.append({ - 'SURVEY_DATE': date, - 'SURVEY_TEAM': team, - 'DATA': data_rows - }) + duplicates = [] - return grouped_result + # Étape 2 : chercher les entrées ayant des stations communes + for key, entries in grouped.items(): + if len(entries) < 2: + continue + + visited_pairs = set() + + for i in range(len(entries)): + id_i = entries[i]['ID'] + stations_i = set(entries[i]['STATION'].iloc[:, 0]) + + ids_group = [id_i] + common_stations = set() + + for j in range(i+1, len(entries)): + pair = tuple(sorted((id_i, entries[j]['ID']))) + if pair in visited_pairs: + continue + + visited_pairs.add(pair) + stations_j = set(entries[j]['STATION'].iloc[:, 0]) + intersection = stations_i & stations_j + + if intersection: + ids_group.append(entries[j]['ID']) + common_stations.update(intersection) + + if len(ids_group) > 1: + ids_group = sorted(set(ids_group)) + common_stations = sorted(common_stations) + already_recorded = False + + for d in duplicates: + if set(d['IDS']) == set(ids_group): + already_recorded = True + break + + if not already_recorded: + duplicates.append({ + 'SURVEY_DATE': key[0], + 'SURVEY_TEAM': key[1], + 'IDS': ids_group, + 'COMMON_STATIONS': common_stations + }) + + return duplicates - # grouped = defaultdict(list) - - # for section in data: - # key = (section['SURVEY_DATE'], section['SURVEY_TEAM']) - # grouped[key].append(section) - - # duplicates = [group for group in grouped.values() if len(group) > 1] + duplicates = find_duplicates_by_date_and_team(data) - # for group in duplicates: - # print(f"\nDoublons pour date '{group[0]['SURVEY_DATE']}' et équipe '{group[0]['SURVEY_TEAM']}':") - # for s in group: - # print(f" ID: {s['ID']}, Titre: {s['SURVEY_TITLE']}, Commentaire: {s['COMMENT']}, Qté DATA {len(s['DATA'])}") + # for d in duplicates: + # print(d['IDS']) + # for i in range (len(d['IDS'])) : + # log.debug(f"ID: {data[d['IDS'][i]]['ID']}, DATE: {data[d['IDS'][i]]['SURVEY_DATE']}, TEAM: {data[d['IDS'][i]]['SURVEY_TEAM']}, Station : {d['COMMON_STATIONS']}") + # print() + + def merge_duplicate_surveys(data, duplicates, id_offset=10000): + id_to_entry = {entry['ID']: entry for entry in data} + merged_data = [] + used_ids = set() + for i, group in enumerate(duplicates): + ids = group['IDS'] + merged_entry = { + 'ID': id_offset + i, + 'SURVEY_TITLE': data[ids[0]]['SURVEY_TITLE'], + 'SURVEY_NAME': None, + 'SURVEY_DATE': group['SURVEY_DATE'], + 'COMMENT': data[ids[0]]['COMMENT'], + 'SURVEY_TEAM': group['SURVEY_TEAM'], + 'DECLINATION': data[ids[0]]['DECLINATION'], + 'FORMAT': data[ids[0]]['FORMAT'], + 'CORRECTIONS': data[ids[0]]['CORRECTIONS'], + 'DATA': [], + 'STATION': [], + 'SOURCE': [] + } + + # Liste des champs texte simples à hériter (on peut affiner selon stratégie souhaitée) + text_fields = ['SURVEY_TITLE', 'COMMENT', 'DECLINATION', 'FORMAT', 'CORRECTIONS'] + + # Regrouper les valeurs pour tous les champs à fusionner + text_values = {field: set() for field in text_fields} + survey_name_list = set() + source_set = set() + station_frames = [] + + first_data_line = True + + for id_ in ids: + entry = id_to_entry[id_] + used_ids.add(id_) + + for field in text_fields: + value = entry.get(field) + if value not in [None, '']: + text_values[field].add(value) + + name = entry.get('SURVEY_NAME') + if name not in [None, '']: + survey_name_list.add(name) + + data_lines = entry.get('DATA', []) + if data_lines: + if first_data_line: + merged_entry['DATA'].extend(data_lines) + first_data_line = False + else: + merged_entry['DATA'].extend(data_lines[1:]) # ignorer l'entête + + sources = entry.get('SOURCE', []) + if isinstance(sources, str): + source_set.add(sources) + elif isinstance(sources, list): + source_set.update(sources) + + if isinstance(entry['STATION'], pd.DataFrame): + station_frames.append(entry['STATION']) + + # Affecter les valeurs texte (si une seule unique valeur, sinon None) + for field in text_fields: + if len(text_values[field]) == 1: + merged_entry[field] = next(iter(text_values[field])) + + # Nouveau nom concaténé avec "_" + if survey_name_list: + sorted_names = sorted(survey_name_list) + full_name = "_".join(sorted_names) + if len(full_name) <= 40: + merged_entry['SURVEY_NAME'] = full_name + else: + # Tronquer au milieu + prefix = sorted_names[0] + suffix = sorted_names[-1] + connector = "_-_" + max_prefix_suffix_len = 50 - len(connector) + # On répartit équitablement entre début et fin (si possible) + half_len = max_prefix_suffix_len // 2 + prefix = prefix[:half_len] + suffix = suffix[-(max_prefix_suffix_len - len(prefix)):] + merged_entry['SURVEY_NAME'] = prefix + connector + suffix + + # Fusionner les DataFrames STATION + if station_frames: + merged_entry['STATION'] = pd.concat(station_frames, ignore_index=True) + + merged_entry['SOURCE'] = "\n".join(sorted(source_set)) + merged_data.append(merged_entry) + + # Ajouter les entrées qui ne faisaient pas partie des doublons + for entry in data: + if entry['ID'] not in used_ids: + merged_data.append(deepcopy(entry)) + + return merged_data + oldLen = len(data) + + # for line in data : + # if line['ID'] == 3 : + # log.debug(f"ID: {Colors.ENDC}{line['ID']}") + # log.debug(f"SURVEY TITLE: {Colors.ENDC}{line['SURVEY_TITLE']}") + # log.debug(f"SURVEY NAME: {Colors.ENDC}{line['SURVEY_NAME']}") + # log.debug(f"SURVEY DATE: {Colors.ENDC}{line['SURVEY_DATE']}") + # log.debug(f"COMMENT: {Colors.ENDC}{line['COMMENT']}") + # log.debug(f"SURVEY TEAM: {Colors.ENDC}{line['SURVEY_TEAM']}") + # log.debug(f"DECLINATION: {Colors.ENDC}{line['DECLINATION']}") + # log.debug(f"FORMAT: {Colors.ENDC}{line['FORMAT']}") + # log.debug(f"CORRECTIONS: {Colors.ENDC}{line['CORRECTIONS']}") + # log.debug(f"DATA: {Colors.ENDC}{(line['DATA'])}") + # log.debug(f"DATA Qté: {Colors.ENDC}{len(line['DATA'])}") + # log.debug(f"STATION: {Colors.ENDC}{(line['STATION'])}") + # log.debug(f"SOURCE: {Colors.ENDC}{line['SOURCE']}\n") + # # print(f"DATA: {Colors.ENDC}{line['DATA']}") - # section_data = group_and_merge_data(section_data) - - log.info(f"Read dat file : {Colors.ENDC}~\\{os.path.relpath(ENTRY_FILE)}{Colors.GREEN} with {Colors.ENDC}{len(data)}{Colors.GREEN} survey") + data = merge_duplicate_surveys(data, duplicates) + + # for line in data : + # if line ['ID'] == 10000 : + # log.debug(f"ID: {Colors.ENDC}{line['ID']}") + # log.debug(f"SURVEY TITLE: {Colors.ENDC}{line['SURVEY_TITLE']}") + # log.debug(f"SURVEY NAME: {Colors.ENDC}{line['SURVEY_NAME']}") + # log.debug(f"SURVEY DATE: {Colors.ENDC}{line['SURVEY_DATE']}") + # log.debug(f"COMMENT: {Colors.ENDC}{line['COMMENT']}") + # log.debug(f"SURVEY TEAM: {Colors.ENDC}{line['SURVEY_TEAM']}") + # log.debug(f"DECLINATION: {Colors.ENDC}{line['DECLINATION']}") + # log.debug(f"FORMAT: {Colors.ENDC}{line['FORMAT']}") + # log.debug(f"CORRECTIONS: {Colors.ENDC}{line['CORRECTIONS']}") + # log.debug(f"DATA: {Colors.ENDC}{(line['DATA'])}") + # log.debug(f"DATA Qté: {Colors.ENDC}{len(line['DATA'])}") + # log.debug(f"STATION: {Colors.ENDC}{(line['STATION'])}") + # log.debug(f"SOURCE: {Colors.ENDC}{line['SOURCE']}\n") + # # print(f"DATA: {Colors.ENDC}{line['DATA']}") + log.info(f"Read dat file : {Colors.ENDC}{safe_relpath(ENTRY_FILE)}{Colors.GREEN} with {Colors.ENDC}{len(data)}/{oldLen}{Colors.GREEN} survey") + ################################################################################################# # Créer fichier th converti # @@ -1362,6 +1576,12 @@ def DatToThFiles (ENTRY_FILE, fixPoints = [], crs_wkt ="") : copy_template_if_not_exists(template_path,folderDest) + if args.survey_file[-3:].lower() != "dat" : + _destination = folderDest + "\\config.thc" + print(f"destination_path : {_destination}") + os.remove(_destination) + + for _line in data : th_file = """ @@ -1405,23 +1625,8 @@ endsurvey # gestion des DATA # ################################################################################################# - # Création d'un DataFrame à partir des données - rows1 = [line.split() for line in _line['DATA']] - dfDATA = pd.DataFrame(rows1) - - stations = pd.concat([dfDATA.iloc[1:, 0], dfDATA.iloc[1:, 1]]).drop_duplicates().str.replace('[', '__').str.replace(']', '___') - - fixed_names = {point[0] for point in fixPoints} - stations = stations[~stations.isin(fixed_names)] - - new_entries = pd.DataFrame({ - 'StationName': stations, - 'Survey_Name': _line['SURVEY_NAME'] - }) - - stationList = pd.concat([stationList, new_entries], ignore_index=True) - - + stationList, dfDATA = station_List(_line, stationList) + def formated_DataFrame(df, dataFormat ,unit = "meter" ): global error_count @@ -1439,23 +1644,33 @@ endsurvey Koef = 0.3048 if unit == "meter" else 1.0 if "length" in columns: - df_data.iloc[:, columns.index("length")-2] = df_data.iloc[:, columns.index("length")-2].astype(float) * Koef + df_data.iloc[:, columns.index("length")-2] = (df_data.iloc[:, columns.index("length")-2].astype(float) * Koef).apply(lambda x: f"{x:.2f}") + if "up" in columns: - df_data.iloc[:, columns.index("up")-2] = df_data.iloc[:, columns.index("up")-2].astype(float) * Koef + df_data.iloc[:, columns.index("up")-2] = (df_data.iloc[:, columns.index("up")-2].astype(float) * Koef).apply(lambda x: f"{x:.2f}") df_data[columns.index("up")-2] = pd.to_numeric(df_data[columns.index("up")-2], errors='coerce') # convertit en float df_data[columns.index("up")-2] = df_data[columns.index("up")-2].apply(lambda x: "-" if pd.notna(x) and x < 0 else x) + if "down" in columns: - df_data.iloc[:, columns.index("down")-2] = df_data.iloc[:, columns.index("down")-2].astype(float) * Koef + df_data.iloc[:, columns.index("down")-2] = (df_data.iloc[:, columns.index("down")-2].astype(float) * Koef).apply(lambda x: f"{x:.2f}") df_data[columns.index("down")-2] = pd.to_numeric(df_data[columns.index("down")-2], errors='coerce') # convertit en float df_data[columns.index("down")-2] = df_data[columns.index("down")-2].apply(lambda x: "-" if pd.notna(x) and x < 0 else x) + if "right" in columns: - df_data.iloc[:, columns.index("right")-2] = df_data.iloc[:, columns.index("right")-2].astype(float) * Koef + df_data.iloc[:, columns.index("right")-2] = (df_data.iloc[:, columns.index("right")-2].astype(float) * Koef).apply(lambda x: f"{x:.2f}") df_data[columns.index("right")-2] = pd.to_numeric(df_data[columns.index("right")-2], errors='coerce') # convertit en float df_data[columns.index("right")-2] = df_data[columns.index("right")-2].apply(lambda x: "-" if pd.notna(x) and x < 0 else x) + if "left" in columns: - df_data.iloc[:, columns.index("left")-2] = df_data.iloc[:, columns.index("left")-2].astype(float) * Koef + df_data.iloc[:, columns.index("left")-2] = (df_data.iloc[:, columns.index("left")-2].astype(float) * Koef).apply(lambda x: f"{x:.2f}") df_data[columns.index("left")-2] = pd.to_numeric(df_data[columns.index("left")-2], errors='coerce') # convertit en float df_data[columns.index("left")-2] = df_data[columns.index("left")-2].apply(lambda x: "-" if pd.notna(x) and x < 0 else x) + + if "compass" in columns: + df_data.iloc[:, columns.index("compass")-2] = (df_data.iloc[:, columns.index("compass")-2].astype(float)).apply(lambda x: f"{x:.1f}") + + if "clino" in columns: + df_data.iloc[:, columns.index("clino")-2] = (df_data.iloc[:, columns.index("clino")-2].astype(float)).apply(lambda x: f"{x:.1f}") if "from" in columns: df_data.iloc[:, columns.index("from")-2] = (df_data.iloc[:, columns.index("from")-2] @@ -1536,7 +1751,7 @@ endsurvey not_surface_row = [" "] * len(row) not_surface_row[0] = "flags not duplicate" new_rows.append(not_surface_row) - log.warning(f"Flags '{Colors.ENDC}{col10}{Colors.WARNING}' not implemented in therion, line {Colors.ENDC}{idx+1}{Colors.WARNING} in {Colors.ENDC}~\\{os.path.relpath(ENTRY_FILE)}") + log.warning(f"Flags '{Colors.ENDC}{col10}{Colors.WARNING}' not implemented in therion, line {Colors.ENDC}{idx+1}{Colors.WARNING} in {Colors.ENDC}{safe_relpath(ENTRY_FILE)}") # Si la colonne 10 contient #|P# exclude from plotting elif "#|P#" in col10: @@ -1549,7 +1764,7 @@ endsurvey not_surface_row = [" "] * len(row) not_surface_row[0] = "# flags not exclude from plot no implemented" new_rows.append(not_surface_row) - log.warning(f"Flags exclude from plot #|P# not implemented in therion, line {Colors.ENDC}{idx+1}{Colors.WARNING} in {Colors.ENDC}~\\{os.path.relpath(ENTRY_FILE)}") + log.warning(f"Flags exclude from plot #|P# not implemented in therion, line {Colors.ENDC}{idx+1}{Colors.WARNING} in {Colors.ENDC}{safe_relpath(ENTRY_FILE)}") # Si la colonne 10 contient #|C# exclude from closure elif "#|C#" in col10: @@ -1562,7 +1777,7 @@ endsurvey not_surface_row = [" "] * len(row) not_surface_row[0] = "# flags not exclude from closure no implemented" new_rows.append(not_surface_row) - log.warning(f"Flags #|C# exclude from closure not implemented in therion, line {Colors.ENDC}{idx+1}{Colors.WARNING} in {Colors.ENDC}~\\{os.path.relpath(ENTRY_FILE)}") + log.warning(f"Flags #|C# exclude from closure not implemented in therion, line {Colors.ENDC}{idx+1}{Colors.WARNING} in {Colors.ENDC}{safe_relpath(ENTRY_FILE)}") # Si la colonne 10 contient #|PL# exclude from plotting and Length elif "#|PL#" in col10: @@ -1575,7 +1790,7 @@ endsurvey not_surface_row = [" "] * len(row) not_surface_row[0] = "flags not duplicate" new_rows.append(not_surface_row) - log.warning(f"Flags '{Colors.ENDC}{col10}{Colors.WARNING}' not implemented in therion, line {Colors.ENDC}{idx+1}{Colors.WARNING} in {Colors.ENDC}~\\{os.path.relpath(ENTRY_FILE)}") + log.warning(f"Flags '{Colors.ENDC}{col10}{Colors.WARNING}' not implemented in therion, line {Colors.ENDC}{idx+1}{Colors.WARNING} in {Colors.ENDC}{safe_relpath(ENTRY_FILE)}") # Si la colonne 10 contient #|LC# exclude from Length and Closure elif "#|LC#" in col10: @@ -1588,7 +1803,7 @@ endsurvey not_surface_row = [" "] * len(row) not_surface_row[0] = "flags not duplicate" new_rows.append(not_surface_row) - log.warning(f"Flags '{Colors.ENDC}{col10}{Colors.WARNING}' not implemented in therion, line {Colors.ENDC}{idx+1}{Colors.WARNING} in {Colors.ENDC}~\\{os.path.relpath(ENTRY_FILE)}") + log.warning(f"Flags '{Colors.ENDC}{col10}{Colors.WARNING}' not implemented in therion, line {Colors.ENDC}{idx+1}{Colors.WARNING} in {Colors.ENDC}{safe_relpath(ENTRY_FILE)}") # Si la colonne 10 contient #|PLC# exclude from plotting, closure and length @@ -1613,7 +1828,7 @@ endsurvey not_surface_row = [" "] * len(row) not_surface_row[0] = "# flags not unknown no implemented" new_rows.append(not_surface_row) - log.error(f"Flags unknown '{Colors.ENDC}{col10}{Colors.WARNING}' not implemented, line {Colors.ENDC}{idx+1}{Colors.WARNING} in {Colors.ENDC}~\\{os.path.relpath(ENTRY_FILE)}") + log.error(f"Flags unknown '{Colors.ENDC}{col10}{Colors.WARNING}' not implemented, line {Colors.ENDC}{idx+1}{Colors.WARNING} in {Colors.ENDC}{safe_relpath(ENTRY_FILE)}") error_count += 1 else: @@ -1695,11 +1910,26 @@ endsurvey elif point[1] == 'f' : fixPoint += f"\t\tfix {point[0]} {point[2]*0.3048} {point[3]*0.3048} {point[4]*0.3048} # Conversion feet - meter\n" - ################################################################################################# # Gestion des formats ################################################################################################# + if _line['FORMAT'] is None or len(_line['FORMAT']) < 11: + log.error(f"Error in format code ID {Colors.ENDC}{_line['ID']}") + log.debug(f"Error in format code SURVEY_NAME {Colors.ENDC}{_line['SURVEY_NAME']}") + log.debug(f"Error in format code SURVEY_DATE {Colors.ENDC}{_line['SURVEY_DATE']}") + log.debug(f"SURVEY TITLE: {Colors.ENDC}{_line['SURVEY_TITLE']}") + log.debug(f"COMMENT: {Colors.ENDC}{_line['COMMENT']}") + log.debug(f"SURVEY TEAM: {Colors.ENDC}{_line['SURVEY_TEAM']}") + log.debug(f"DECLINATION: {Colors.ENDC}{_line['DECLINATION']}") + log.debug(f"FORMAT: {Colors.ENDC}{_line['FORMAT']}") + log.debug(f"CORRECTIONS: {Colors.ENDC}{_line['CORRECTIONS']}") + log.debug(f"DATA: {Colors.ENDC}{(_line['DATA'])}") + log.debug(f"DATA Qté: {Colors.ENDC}{len(_line['DATA'])}") + log.debug(f"STATION: {Colors.ENDC}{(_line['STATION'])}") + log.debug(f"SOURCE: {Colors.ENDC}{_line['SOURCE']}\n") + error_count += 1 + if _line['FORMAT'][0] == 'D' : compass = 'degree' elif _line['FORMAT'][0] == 'R' : compass = 'grads' else : @@ -1730,39 +1960,60 @@ endsurvey elif _line['FORMAT'][4] == 'D' : dataFormat = dataFormat + " down" elif _line['FORMAT'][4] == 'R' : dataFormat = dataFormat + " right" elif _line['FORMAT'][4] == 'L' : dataFormat = dataFormat + " left" + else : + log.error(f"Error in format str 4 code {Colors.ENDC}{_line['FORMAT']}{Colors.ERROR} in {Colors.ENDC}{safe_relpath(ENTRY_FILE)}") + error_count += 1 if _line['FORMAT'][5] == 'U' : dataFormat = dataFormat + " up" elif _line['FORMAT'][5] == 'D' : dataFormat = dataFormat + " down" elif _line['FORMAT'][5] == 'R' : dataFormat = dataFormat + " right" elif _line['FORMAT'][5] == 'L' : dataFormat = dataFormat + " left" + else : + log.error(f"Error in format str 5code {Colors.ENDC}{_line['FORMAT']}{Colors.ERROR} in {Colors.ENDC}{safe_relpath(ENTRY_FILE)}") + error_count += 1 if _line['FORMAT'][6] == 'U' : dataFormat = dataFormat + " up" elif _line['FORMAT'][6] == 'D' : dataFormat = dataFormat + " down" elif _line['FORMAT'][6] == 'R' : dataFormat = dataFormat + " right" elif _line['FORMAT'][6] == 'L' : dataFormat = dataFormat + " left" + else : + log.error(f"Error in format str 6 code {Colors.ENDC}{_line['FORMAT']}{Colors.ERROR} in {Colors.ENDC}{safe_relpath(ENTRY_FILE)}") + error_count += 1 if _line['FORMAT'][7] == 'U' : dataFormat = dataFormat + " up" elif _line['FORMAT'][7] == 'D' : dataFormat = dataFormat + " down" elif _line['FORMAT'][7] == 'R' : dataFormat = dataFormat + " right" elif _line['FORMAT'][7] == 'L' : dataFormat = dataFormat + " left" + else : + log.error(f"Error in format str 7 code {Colors.ENDC}{_line['FORMAT']}{Colors.ERROR} in {Colors.ENDC}{safe_relpath(ENTRY_FILE)}") + error_count += 1 if _line['FORMAT'][10] == 'L' : dataFormat = " length" + dataFormat elif _line['FORMAT'][10] == 'A' : dataFormat = " compass" + dataFormat elif _line['FORMAT'][10] == 'D' : dataFormat = " clino" + dataFormat elif _line['FORMAT'][10] == 'a' : dataFormat = " backcompass" + dataFormat elif _line['FORMAT'][10] == 'd' : dataFormat = " backclino" + dataFormat + else : + log.error(f"Error in format str 10 code {Colors.ENDC}{_line['FORMAT']}{Colors.ERROR} in {Colors.ENDC}{safe_relpath(ENTRY_FILE)}") + error_count += 1 if _line['FORMAT'][9] == 'L' : dataFormat = " length" + dataFormat elif _line['FORMAT'][9] == 'A' : dataFormat = " compass" + dataFormat elif _line['FORMAT'][9] == 'D' : dataFormat = " clino" + dataFormat elif _line['FORMAT'][9] == 'a' : dataFormat = " backcompass" + dataFormat elif _line['FORMAT'][9] == 'd' : dataFormat = " backclino" + dataFormat + else : + log.error(f"Error in format str 9 code {Colors.ENDC}{_line['FORMAT']}{Colors.ERROR} in {Colors.ENDC}{safe_relpath(ENTRY_FILE)}") + error_count += 1 if _line['FORMAT'][8] == 'L' : dataFormat = " length" + dataFormat elif _line['FORMAT'][8] == 'A' : dataFormat = " compass" + dataFormat elif _line['FORMAT'][8] == 'D' : dataFormat = " clino" + dataFormat elif _line['FORMAT'][8] == 'a' : dataFormat = " backcompass" + dataFormat elif _line['FORMAT'][8] == 'd' : dataFormat = " backclino" + dataFormat + else : + log.error(f"Error in format str 8 code {Colors.ENDC}{_line['FORMAT']}{Colors.ERROR} in {Colors.ENDC}{safe_relpath(ENTRY_FILE)}") + error_count += 1 dataFormat = "data normal from to" + dataFormat + " # comment" @@ -1788,17 +2039,25 @@ endsurvey totdata +=f"\tinput Data/{_line['SURVEY_NAME']}/{_line['SURVEY_NAME']}-tot.th\n" - log.info(f"Therion file : {Colors.ENDC}~\\{os.path.relpath(output_file)}{Colors.GREEN} created from {Colors.ENDC}~\\{os.path.relpath(ENTRY_FILE)}") + log.info(f"Therion file : {Colors.ENDC}{safe_relpath(output_file)}{Colors.GREEN} created from {Colors.ENDC}{safe_relpath(ENTRY_FILE)}") ################################################################################################# # Création des dossiers ################################################################################################# - - createThFolders( ENTRY_FILE = output_file, SCALE = args.scale, UPDATE = args.update ) + + _Config_PATH = CONFIG_PATH + "../../" + + createThFolders( ENTRY_FILE = output_file, SCALE = args.scale, UPDATE = args.update, CONFIG_PATH = _Config_PATH,) + _destination = output_file[:-3] + "\\Sources" destination_path = os.path.join(_destination, os.path.basename(output_file)) shutil.move(output_file, destination_path) + _destination = output_file[:-3] + "\\config.thc" + destination_path = os.path.join(_destination, os.path.basename(output_file)) + print(f"destination_path : {_destination}") + os.remove(_destination) + totMapsPlan += f"\tMP-{_line['SURVEY_NAME']}-Plan-tot@{_line['SURVEY_NAME']}\n\tbreak\n" totMapsExtended += f"\tMC-{_line['SURVEY_NAME']}-Extended-tot@{_line['SURVEY_NAME']}\n\tbreak\n" @@ -1809,12 +2068,13 @@ endsurvey totdata +=f"\n" - # On numérote les doublons de Survey_Name pour chaque StationName - stationList['Survey_Number'] = stationList.groupby('StationName').cumcount() + 1 + _stationList = stationList.copy() + + # On numérote les doublons de Survey_Name pour chaque StationName + _stationList['Survey_Number'] = _stationList.groupby('StationName').cumcount() + 1 - # On pivote le tableau pour que chaque Survey_Name devienne une colonne - tableau_pivot = stationList.pivot(index='StationName', columns='Survey_Number', values='Survey_Name') + tableau_pivot = _stationList.pivot(index='StationName', columns='Survey_Number', values='Survey_Name_01') tableau_pivot.columns = [f'Survey_Name_{i}' for i in tableau_pivot.columns] @@ -1828,7 +2088,7 @@ endsurvey tableau_equate = tableau_pivot[tableau_pivot['Survey_Name_2'].notna()] - log.info(f"Total 'equats' : {Colors.ENDC}{len(tableau_equate)}{Colors.INFO} in {Colors.ENDC}~\\{os.path.relpath(ENTRY_FILE)}") + log.info(f"Total 'equats' : {Colors.ENDC}{len(tableau_equate)}{Colors.INFO} in {Colors.ENDC}{safe_relpath(ENTRY_FILE)}") # print(tableau_equate) # print(f"fixePoints : {Colors.ENDC}{fixed_names}{Colors.INFO} in {Colors.ENDC}{ENTRY_FILE}") @@ -1863,6 +2123,7 @@ endsurvey 'wpage' : wpage, 'cs' : crs_wkt, 'totData' : totdata, + 'configPath' : CONFIG_PATH, 'other_scraps_plan' : totMapsPlan, 'other_scraps_extended' : totMapsExtended, 'file_info' : f"# File generated by pyCreateTh.py version {Version} date: {datetime.now().strftime("%Y.%m.%d-%H:%M:%S")}", @@ -1875,12 +2136,10 @@ endsurvey process_template(DEST_PATH + '/template-maps.th', config_vars, DEST_PATH + '/' + SurveyTitle + '-maps.th') process_template(DEST_PATH + '/template-readme.md', config_vars, DEST_PATH + '/readme.md') - # Créer un DataFrame pandas - df = pd.DataFrame(data) + stationList["Survey_Name_02"] = SurveyTitle + - # print(df) - - return df + return stationList, SurveyTitle ################################################################################################# @@ -1938,9 +2197,9 @@ if __name__ == u'__main__': f'* Conversion Th, Dat, Mak files to Therion files and folders', f'* Script pyCreateTh by : {Colors.ENDC}alexandre.pont@yahoo.fr', f'* Version : {Colors.ENDC}{Version}', - f'* Input file : {Colors.ENDC}~\\{os.path.relpath(args.survey_file)}', - f'* Output file : {Colors.ENDC}~\\{os.path.relpath(splitext(abspath(args.survey_file))[0])}', - f'* Log file : {Colors.ENDC}~\\{os.path.relpath(output_log)}', + f'* Input file : {Colors.ENDC}{safe_relpath(args.survey_file)}', + f'* Output file : {Colors.ENDC}{safe_relpath(splitext(abspath(args.survey_file))[0])}', + f'* Log file : {Colors.ENDC}{safe_relpath(output_log)}', f'* ', f'* ', f'* ', @@ -1964,35 +2223,140 @@ if __name__ == u'__main__': ENTRY_FILE = abspath(args.survey_file), TARGET = args.survey_name, SCALE = args.scale, - UPDATE = args.update ) + UPDATE = args.update, + CONFIG_PATH = "") elif args.survey_file[-3:].lower() == "mak" : + _ConfigPath = "./../../" + + # _ConfigPath = "./../../../../" + # ./../../ datFiles, fixPoints, crs_wkt = readMakFile(abspath(args.survey_file)) - folderDest = os.path.dirname(abspath(args.survey_file)) + "/" + os.path.basename(abspath(args.survey_file))[:-4] + SurveyTitleMak = os.path.basename(abspath(args.survey_file))[:-4] + + folderDest = os.path.dirname(abspath(args.survey_file)) + "/" + SurveyTitleMak copy_template_if_not_exists(template_path,folderDest) - for file in datFiles : + # _destination = output_file[:-3] + "\\config.thc" + # destination_path = os.path.join(_destination, os.path.basename(output_file)) + # print(f"destination_path : {_destination}") + # os.remove(_destination) + + stationList = pd.DataFrame(columns=['StationName', 'Survey_Name_01', 'Survey_Name_02']) + totdata = f"\t## Liste inputs\n" + totMapsPlan = "" + totMapsExtended = "" + + for file in datFiles : _file = os.path.dirname(abspath(args.survey_file)) + "\\"+ file shutil.copy(_file, folderDest + "\\Data\\") ABS_file = folderDest + "\\Data\\"+ file - DatToThFiles (ABS_file, fixPoints, crs_wkt) + Station, SurveyTitle = DatToThFiles (ABS_file, fixPoints, crs_wkt, _ConfigPath) + totdata +=f"\tinput Data/{SurveyTitle}/{SurveyTitle}-tot.th\n" + totMapsPlan += f"\tMP-{SurveyTitle}-Plan-tot@{SurveyTitle}\n\tbreak\n" + totMapsExtended += f"\tMC-{SurveyTitle}-Extended-tot@{SurveyTitle}\n\tbreak\n" + + if not Station.empty: # pour éviter d'ajouter des DataFrames vides + stationList = pd.concat([stationList, Station], ignore_index=True) + stationList.sort_values(by='Survey_Name_02', inplace=True, ignore_index=True) + + destination = os.path.join(folderDest, "Sources", os.path.basename(ABS_file)) if os.path.exists(destination): os.remove(destination) shutil.move(ABS_file, destination) + + + ################################################################################################# + # Gestion des equats + ################################################################################################# + + totdata +=f"\n" + + _stationList = stationList.copy() + + _stationList["Survey_Name_01"] = _stationList["Survey_Name_01"] + "."+ _stationList["Survey_Name_01"]+ "." + _stationList["Survey_Name_02"] + # On numérote les doublons de Survey_Name pour chaque StationName + _stationList['Survey_Number'] = _stationList.groupby('StationName').cumcount() + 1 + + print(_stationList) + + # On pivote le tableau pour que chaque Survey_Name devienne une colonne + tableau_pivot = _stationList.pivot(index='StationName', columns='Survey_Number', values='Survey_Name_01') + + tableau_pivot.columns = [f'Survey_Name_{i}' for i in tableau_pivot.columns] + + print(f"tableau_pivot : {Colors.ENDC}{tableau_pivot}{Colors.INFO} in {Colors.ENDC}{args.survey_file}") + + totdata +=f"\n\t## Liste equates\n" + + if 'Survey_Name_2' in tableau_pivot.columns: + # On réinitialise l'index pour avoir StationName comme colonne normale + tableau_pivot = tableau_pivot.reset_index() + tableau_equate = tableau_pivot[tableau_pivot['Survey_Name_2'].notna()] + + + log.info(f"Total des 'equats' : {Colors.ENDC}{len(tableau_equate)}{Colors.INFO} in {Colors.ENDC}{safe_relpath(args.survey_file)}") + print(tableau_equate) + # print(f"fixePoints : {Colors.ENDC}{fixed_names}{Colors.INFO} in {Colors.ENDC}{args.survey_file}") + + # Pour chaque ligne du tableau + for _, row in tableau_equate.iterrows(): + station = row['StationName'] + + # On récupère tous les Survey_Name non vides (NaN exclus) + surveys = [row[col] for col in tableau_equate.columns if col.startswith('Survey_Name') and pd.notna(row[col])] + + # Pour chaque paire unique (i < j), on écrit la ligne 'equate' + for i in range(len(surveys)): + for j in range(i + 1, len(surveys)): + totdata +=f"\tequate {station}@{surveys[i]} {station}@{surveys[j]}\n" + print(f"\tequate {station}@{surveys[i]} {station}@{surveys[j]}") + else: + log.info(f"No 'equats' found in {Colors.ENDC}{args.survey_file}") + + totdata +=f"\n\t## Appel des maps\n\tinput {SurveyTitleMak}-maps.th\n" + + config_vars = { + 'fileName': SurveyTitleMak, + 'cavename': SurveyTitleMak.replace("_", " "), + 'Author': Author, + 'Copyright': Copyright, + 'Scale' : args.scale, + 'Target' : "TARGET", + 'map_comment' : map_comment, + 'club' : club, + 'thanksto' : thanksto, + 'datat' : datat, + 'wpage' : wpage, + 'cs' : crs_wkt, + 'configPath' : " ", + 'totData' : totdata, + 'other_scraps_plan' : totMapsPlan, + 'other_scraps_extended' : totMapsExtended, + 'file_info' : f"# File generated by pyCreateTh.py version {Version} date: {datetime.now().strftime("%Y.%m.%d-%H:%M:%S")}", + } + + DEST_PATH = os.path.dirname(args.survey_file) + '/' + SurveyTitleMak + + process_template(DEST_PATH + '/template.thconfig', config_vars, DEST_PATH + '/' + SurveyTitleMak + '.thconfig') + process_template(DEST_PATH + '/template-tot.th', config_vars, DEST_PATH + '/' + SurveyTitleMak + '-tot.th') + process_template(DEST_PATH + '/template-maps.th', config_vars, DEST_PATH + '/' + SurveyTitleMak + '-maps.th') + process_template(DEST_PATH + '/template-readme.md', config_vars, DEST_PATH + '/readme.md') + + elif args.survey_file[-3:].lower() == "dat" : - + _ConfigPath = "./" ABS_file =abspath(args.survey_file) - - DatToThFiles (ABS_file) - - else : - log.error(f"file {Colors.ENDC}~\\{os.path.relpath(args.survey_file)}{Colors.ERROR} not yet supported") + DatToThFiles (ABS_file, fixPoints = [], crs_wkt = "", CONFIG_PATH = _ConfigPath) + + else : + log.error(f"file {Colors.ENDC}{safe_relpath(args.survey_file)}{Colors.ERROR} not yet supported") error_count += 1 duration = (datetime.now() - start_time).total_seconds() @@ -2000,7 +2364,7 @@ if __name__ == u'__main__': log.info(f"All files processed successfully in {Colors.ENDC}{duration:.2f}{Colors.INFO} secondes, without errors") else : - log.error(f"There were {Colors.ENDC}{error_count}{Colors.ERROR} errors during {Colors.ENDC}{duration:.2f}{Colors.ERROR} secondes, check the log file {Colors.ENDC}~\\{os.path.relpath(output_log)}") + log.error(f"There were {Colors.ENDC}{error_count}{Colors.ERROR} errors during {Colors.ENDC}{duration:.2f}{Colors.ERROR} secondes, check the log file {Colors.ENDC}{safe_relpath(output_log)}") diff --git a/Scripts/pyCreateTh/pyCreate_th2_Old.py b/Scripts/pyCreateTh/pyCreate_th2_Old.py deleted file mode 100644 index a081b9a..0000000 --- a/Scripts/pyCreateTh/pyCreate_th2_Old.py +++ /dev/null @@ -1,993 +0,0 @@ - -""" -############################################################################################# -# # -# Script pour automatiser la création des dossiers et fichiers pour un fichier .th # -# # -# By Alexandre PONT (alexandre_pont@yahoo.fr) # -# # -# Définir les différentes variables dans fichier config.ini # -# Création des dossiers nécessaires d'après dossier 'template' # -# Création des fichiers nécessaires : th, th2, -tot.th # -# Création des scrap avec stations topo # -# # -# usage : python pyCreate_th2.py # -# # -############################################################################################# - -Création Alex the 2024 12 16 : - Thank's too - - Tanguy Racine for the script https://github.com/tr1813 - - Xavier Robert for the main principes https://github.com/robertxa - - Benoit Urruty https://github.com/BenoitURRUTY - -Version 2025 03 21 : Création mode --update th2 - -""" - -Version ="2025.03.21" - -################################################################################################# -################################################################################################# - - - -import os -from os.path import isfile, join, abspath -import sys -import re -import unicodedata -import argparse -import shutil -from datetime import datetime -import configparser -import tkinter as tk -from tkinter import filedialog - -from helpers.survey import SurveyLoader, NoSurveysFoundException -from helpers.therion import compile_template, Colors, compile_file - -################################################################################################# - -## [Survey_Data] default values -Author = "Created by pyCreate_th2.py" -Copyright = "# Copyright (C) pyCreate_th2.py" -Copyright_Short = "Licence (C) pyCreate_th2.py" -map_comment = "Created by pyCreate_th2.py" -cs = "UTM30" -club = "Therion" -thanksto = "Therion" -datat = "https://therion.speleo.sk/" -wpage = "https://therion.speleo.sk/" - -## [Application_data] default values -template_path = "./template" -station_by_scrap = 20 -final_therion_exe = True -therion_path = "C:/Therion/therion.exe" -LINES = -1 -NAMES = -1 - - - - -################################################################################################# -# # Codes de couleur ANSI -# class Colors: -# BLACK = '\033[90m' -# RED = '\033[91m' -# GREEN = '\033[92m' -# YELLOW = '\033[93m' -# BLUE = '\033[94m' -# MAGENTA = '\033[95m' -# CYAN = '\033[96m' -# WHITE = '\033[97m' - -# ERROR = '\033[91m' -# WARNING = '\033[95m' -# HEADER = '\033[96m' - -# ENDC = '\033[0m' -# BOLD = '\033[1m' -# UNDERLINE = '\033[4m' - - - -################################################################################################# -def sanitize_filename(th_name): - """ - Cleans a string to make it compatible with filenames on Windows, Linux, and macOS. - Replaces special and accented characters with compatible characters. - - Args: - th_name (str): The filename to clean. - - Returns: - str: The cleaned and compatible string. - """ - # Unicode normalization to replace accented characters with their non-accented equivalents - th_name = unicodedata.normalize('NFKD', th_name).encode('ASCII', 'ignore').decode('ASCII') - - # Replace illegal characters with an underscore (_) - th_name = re.sub(r'[<>:"/\\|?*\']', '_', th_name) # Characters not allowed on Windows - th_name = re.sub(r'[\s]', '_', th_name) # Replace spaces with underscores - th_name = re.sub(r'[^a-zA-Z0-9._-]', '_', th_name) # Keep letters, digits, . _ - - - # Ensure the name is not empty or just underscores - return th_name.strip('_') or "default_filename" - - - - -################################################################################################# -def colored_help(parser): - # Captures the help output - help_text = parser.format_help() - - # Coloration des différentes parties - colored_help_text = help_text.replace( - 'usage:', f'{Colors.ERROR}usage:{Colors.ENDC}' - ).replace( - 'options:', f'{Colors.GREEN}options:{Colors.ENDC}' - ).replace('positional arguments:', f'{Colors.BLUE}positional arguments:{Colors.ENDC}') - - # Surligner les arguments - for action in parser._actions: - if action.option_strings: - # Colorer les options (--xyz) - for opt in action.option_strings: - colored_help_text = colored_help_text.replace(opt, f'{Colors.BLUE}{opt}{Colors.ENDC}') - - # Imprimer le texte coloré - print(colored_help_text) - sys.exit(0) - -################################################################################################# -def read_config(config_file): - global Author - global Copyright - global Copyright_Short - global map_comment - global club - global thanksto - global datat - global wpage - global cs - global template_path - global station_by_scrap - global final_therion_exe - global therion_path - global LINES - global NAMES - - - # Initialize the configparser to read .ini files - config = configparser.ConfigParser() - config.read(config_file, encoding="utf-8") - - if 'Survey_Data' in config and 'Author' in config['Survey_Data']: - Author = config['Survey_Data']['Author'] - - if 'Survey_Data' in config and 'Copyright1' in config['Survey_Data']: - Copyright = config['Survey_Data']['Copyright1'] + "\n" + config['Survey_Data']['Copyright2'] + "\n" + config['Survey_Data']['Copyright3'] + "\n" - - if 'Survey_Data' in config and 'Copyright_Short' in config['Survey_Data']: - Copyright_Short = config['Survey_Data']['Copyright_Short'] - - if 'Survey_Data' in config and 'map_comment' in config['Survey_Data']: - map_comment = config['Survey_Data']['map_comment'] - - if 'Survey_Data' in config and 'club' in config['Survey_Data']: - club = config['Survey_Data']['club'] - - if 'Survey_Data' in config and 'thanksto' in config['Survey_Data']: - thanksto = config['Survey_Data']['thanksto'] - - if 'Survey_Data' in config and 'datat' in config['Survey_Data']: - datat = config['Survey_Data']['datat'] - - if 'Survey_Data' in config and 'wpage' in config['Survey_Data']: - wpage = config['Survey_Data']['wpage'] - - if 'Survey_Data' in config and 'cs' in config['Survey_Data']: - cs = config['Survey_Data']['cs'] - - if 'Application_Data' in config and 'template_path' in config['Application_Data']: - template_path = config['Application_Data']['template_path'] - - if 'Application_Data' in config and 'station_by_scrap' in config['Application_Data']: - station_by_scrap = int(config['Application_Data']['station_by_scrap']) - - if 'Application_Data' in config and 'final_therion_exe' in config['Application_Data']: - final_therion_exe = bool(config['Application_Data']['final_therion_exe']) - - if 'Application_Data' in config and 'therion_path' in config['Application_Data']: - therion_path = config['Application_Data']['therion_path'] - - if LINES == -1 : - if 'Application_Data' in config and 'shot_lines_in_th2_files' in config['Application_Data']: - LINES = 0 if config['Application_Data']['shot_lines_in_th2_files'] == "False" else 1 - - if NAMES == -1 : - if 'Application_Data' in config and 'station_name_in_th2_files' in config['Application_Data']: - NAMES = 0 if config['Application_Data']['station_name_in_th2_files'] == "False" else 1 - - - -################################################################################################# -def copy_template_if_not_exists(template_path, destination_path): - # Check if the destination folder exists - try: - if not os.path.exists(destination_path): - # If the destination folder does not exist, copy the template - shutil.copytree(template_path, destination_path) - print(f"{Colors.GREEN}The folder '{Colors.GREEN}{template_path}{Colors.ENDC}' has been copied to '{Colors.ENDC}{destination_path}{Colors.GREEN}'{Colors.ENDC}") - else: - print(f"{Colors.WARNING}Warning: The folder '{Colors.ENDC}{destination_path}{Colors.WARNING}' already exists. No files were copied.{Colors.ENDC}") - except Exception as e: - print(f"{Colors.ERROR}Copy template error: {Colors.ENDC}{e}") - exit(1) - -################################################################################################# -def add_copyright_header(file_path, copyright_text): - # Lire le contenu du fichier - with open(file_path, 'r') as file: - content = file.readlines() - - # Vérifier si le copyright est déjà présent - if not any("copyright" in line.lower() for line in content): - # Ajouter le copyright en en-tête - content.insert(0, f"{copyright_text}\n") - - # Réécrire le fichier avec le copyright ajouté - with open(file_path, 'w') as file: - file.writelines(content) - - -################################################################################################# -def copy_file_with_copyright(th_file, destination_path, copyright_text): - # Vérifier si le fichier existe - if os.path.exists(th_file): - # Créer le dossier de destination s'il n'existe pas - os.makedirs(destination_path, exist_ok=True) - - # Copier le fichier vers le dossier de destination - dest_file = os.path.join(destination_path, os.path.basename(th_file)) - shutil.copy(th_file, dest_file) - - # Ajouter le copyright dans l'en-tête si nécessaire - add_copyright_header(dest_file, copyright_text) - - # print(f"{Colors.GREEN}File '{Colors.ENDC}{th_file}{Colors.GREEN}' has been copied to '{Colors.ENDC}{destination_path}{Colors.GREEN}' with the copyright header added.{Colors.ENDC}") - else: - print(f"{Colors.ERROR}Error: The file .th does not exist {Colors.ENDC}{th_file}") - - - -################################################################################################# -def process_template(template_path, variables, output_path): - """ - Process a Therion template file by replacing variables. - - Args: - template_path (str): Path to the original template file - variables (dict): Dictionary of variables to replace - output_path (str): Path for the new configuration file - """ - try: - # Read the content of the template file - with open(template_path, 'r', encoding='utf-8') as file: - content = file.read() - - # Replace variables - for var, value in variables.items(): - # Use regex to replace {variable} with its value - pattern = r'\{' + re.escape(var) + r'\}' - content = re.sub(pattern, str(value), content) - - # Write the new file - with open(output_path, 'w', encoding='utf-8') as file: - file.write(content) - - print(f"{Colors.GREEN}Update template successfully: {Colors.ENDC}{output_path}") - - # Delete the original template file - os.remove(template_path) - - except FileNotFoundError: - print(f"{Colors.WARNING}Warning: Template file {Colors.ENDC}{template_path}{Colors.WARNING} not found.{Colors.ENDC}") - except PermissionError: - print(f"{Colors.ERROR}Error: Insufficient permissions to write the file.{Colors.ENDC}") - except Exception as e: - print(f"{Colors.ERROR}An error occurred: {Colors.ENDC}{e}") - - -################################################################################################# -def parse_therion_surveys(file_path): - """ - Reads a Therion file and extracts survey names. - - Args: - file_path (str): Path to the Therion file to parse - - Returns: - list: List of survey names - """ - survey_names = [] - - try: - with open(file_path, 'r', encoding='utf-8') as file: - # Read all lines from the file - lines = file.readlines() - - for line in lines: - # Look for lines starting with survey - line = line.strip() - if line.startswith('survey ') and ' -title ' in line: - # Split the line and extract the survey name - start_index = line.find('survey ') + len('survey ') - end_index = line.find(' -title ') - - survey_name = line[start_index:end_index].strip() - survey_names.append(survey_name) - - except FileNotFoundError: - print(f"{Colors.WARNING}Warning: File {Colors.ENDC}{file_path}{Colors.WARNING} not found.{Colors.ENDC}") - except PermissionError: - print(f"{Colors.ERROR}Error: Insufficient permissions to read {Colors.ENDC}{file_path}") - except Exception as e: - print(f"{Colors.ERROR}An error occurred: {Colors.ENDC}{e}") - - return survey_names - -################################################################################################# -def str_to_bool(value): - """ - Function to convert string to boolean - """ - if isinstance(value, bool): - return value - if value.lower() in ('true', '1', 'yes', 'y'): - return True - elif value.lower() in ('false', '0', 'no', 'n'): - return False - else: - raise argparse.ArgumentTypeError(f"{Colors.ERROR}Error: Invalid boolean value: {Colors.ENDC}{value}") - -################################################################################################# -def select_file(): - # Créer une instance de la fenêtre tkinter - root = tk.Tk() - # Cacher la fenêtre principale - root.withdraw() - # Afficher la boîte de dialogue de sélection de fichier - file_path = filedialog.askopenfilename(title="Sélectionnez un fichier") - # Retourner le chemin complet du fichier sélectionné - return file_path - - - -################################################################################################# -# main function # -################################################################################################# -if __name__ == u'__main__': - - ################################################################################################# - # Parse arguments # - ################################################################################################# - parser = argparse.ArgumentParser( - description=f"{Colors.HEADER}Create a skeleton folder and th2 files with scraps from a .th Therion file\nVersion: {Colors.ENDC}{Version}\n", - formatter_class=argparse.RawDescriptionHelpFormatter) - parser.print_help = colored_help.__get__(parser) - parser.add_argument("--survey_file", help="The survey file (*.th) to perform e.g. './Therion_file.th'", default="") - parser.add_argument("--survey_name", help="Scrap name (if different from 'survey_file' name)", default="None") - #parser.add_argument("--proj", choices=['plan', 'elevation', 'extended', 'none'], help="The scrap projection to produce", default="plan") - #parser.add_argument("--format", choices=['th2', 'plt'], help="Output format. Either th2 for producing skeleton for drawing or plt for visualizing in aven/loch", default="th2") - parser.add_argument("--output", default="./", help="Output folder path") - # parser.add_argument("--therion-path", help="Path to therion binary", default="therion") - parser.add_argument("--scale", help="Scale for the exports", default="500") - parser.add_argument("--lines", type=str_to_bool, help="Shot lines in th2 files", default=-1) - parser.add_argument("--names", type=str_to_bool, help="Stations names in th2 files", default=-1) - parser.add_argument("--update", help="Mode update, option th2", default="") - - parser.epilog = ( - f"{Colors.GREEN}Please, complete {Colors.RED}config.ini{Colors.GREEN} file for personal configuration{Colors.ENDC}\n" - f"{Colors.GREEN}If no argument :{Colors.RED} files selection windows\n{Colors.ENDC}\n" - f"{Colors.BLUE}Examples:{Colors.ENDC}\n" - f"\t> python pyCreate_th2.py ./test/Entree.th --survey_name Geophysicaya_01_entree --output ./test/ --scale 1000\n" - f"\t> python pyCreate_th2.py Entree.th\n" - f"\t> python pyCreate_th2.py\n\n") - args = parser.parse_args() - - # print("args.survey_file : " + args.survey_file ) - # print("args.update : " + args.update ) - - if args.survey_file == "": - args.survey_file = select_file() - print(f"Selected file : {args.survey_file}") - - ENTRY_FILE = abspath(args.survey_file) - # PROJECTION = args.proj.capitalize() - PROJECTION = "Plan" - TARGET = args.survey_name - OUTPUT = args.output - #FORMAT = args.format - FORMAT = "th2" - SCALE = args.scale - LINES = args.lines - NAMES = args.names - # TH_NAME = args.survey_file.split("/")[-1].strip(".th") - TH_NAME = sanitize_filename(os.path.splitext(os.path.basename(args.survey_file))[0]) - DEST_PATH = os.path.dirname(args.survey_file) + "/" + TH_NAME - #DEST_PATH = args.output + TH_NAME.split("/")[-1].strip(".th") - #ABS_PATH = ENTRY_FILE.strip(args.survey_file) - ABS_PATH = os.path.dirname(ENTRY_FILE) - - # print("args.survey_file : " + args.survey_file ) - # print("ENTRY_FILE: " + ENTRY_FILE ) - # print("PROJECTION: " + PROJECTION ) - # print("TARGET: " + TARGET ) - # print("OUTPUT: " + OUTPUT ) - # print("FORMAT: " + FORMAT ) - # print("SCALE: " + SCALE ) - # print("TH_NAME: " + TH_NAME ) - # print("DEST_PATH: " + DEST_PATH ) - # print("ABS_PATH: " + ABS_PATH ) - - ################################################################################################# - # Reading config.ini # - ################################################################################################# - try: - # Load the 'database' section from the configuration file - read_config("config.ini") - # print("Auteur: " + Author) - # print(f"Copyright: \n{Copyright}") - - except ValueError as e: - # Handle errors if the section is missing - print(f"{Colors.ERROR}Error: read_config:{Colors.ERROR}", e) - - if PROJECTION.lower() != "plan" : - print(f"{Colors.ERROR}Error: Sorry, projection '{Colors.ENDC}{PROJECTION}{Colors.ERROR}' not yet implemented{Colors.ENDC}") - exit(1) - - if not os.path.isfile(ENTRY_FILE): - print(f"{Colors.ERROR}Error: The Therion file didn't exist: {Colors.ENDC} {ENTRY_FILE}") - exit(1) - - if FORMAT not in ["th2", "plt"]: - print(f"{Colors.ERROR}Error: Please choose a supported format: th2, plt{Colors.ENDC}") - exit(1) - - # Normalise name, namespace, key, file path - print(f"{Colors.GREEN}Parsing survey entry file:\t{Colors.ENDC} {args.survey_file}") - - survey_list = parse_therion_surveys(ENTRY_FILE) - # print(survey_list) - - if TARGET == "None" : - if len(survey_list) > 1 : - print(f"{Colors.ERROR}Error: Multiple surveys were found, not yet implemented{Colors.ENDC}") - exit(1) - - TARGET = sanitize_filename(survey_list[0]) - - print(f"{Colors.GREEN}Parsing survey target: \t{Colors.ENDC} {TARGET}") - - loader = SurveyLoader(ENTRY_FILE) - survey = loader.get_survey_by_id(survey_list[0]) - - # print(survey.name) - - if not survey: - raise NoSurveysFoundException(f"{Colors.ERROR}Error: No survey found with that selector{Colors.ENDC}") - - - if args.update == "th2": - print(f"{Colors.GREEN} Update th2 files {Colors.ENDC}") - print(f"\t{Colors.BLUE}survey_file : {Colors.ENDC} {args.survey_file}") - print(f"\t{Colors.BLUE}ENTRY_FILE: {Colors.ENDC} {ENTRY_FILE}") - print(f"\t{Colors.BLUE}PROJECTION: {Colors.ENDC} {PROJECTION}") - print(f"\t{Colors.BLUE}TARGET: {Colors.ENDC} {TARGET}") - print(f"\t{Colors.BLUE}OUTPUT: {Colors.ENDC} {OUTPUT}") - print(f"\t{Colors.BLUE}FORMAT: {Colors.ENDC} {FORMAT}") - print(f"\t{Colors.BLUE}SCALE: {Colors.ENDC} {SCALE}") - print(f"\t{Colors.BLUE}TH_NAME: {Colors.ENDC} {TH_NAME}") - DEST_PATH = os.path.dirname(args.survey_file) - print(f"\t{Colors.BLUE}DEST_PATH: {Colors.ENDC} {DEST_PATH}") - print(f"\t{Colors.BLUE}ABS_PATH: {Colors.ENDC} {ABS_PATH}") - - - -################################################################################################# -# Copy template folders # -################################################################################################# - - if args.update == "": - # print(f"{Colors.GREEN}Copy template folder and adapte it{Colors.ENDC}") - copy_template_if_not_exists(template_path, DEST_PATH) - copy_file_with_copyright(ENTRY_FILE, DEST_PATH + "/Data", Copyright) - - # Adapte templates - config_vars = { - 'fileName': TH_NAME, - 'cavename': TH_NAME.replace("_", " "), - 'Author': Author, - 'Copyright': Copyright, - 'Scale' : SCALE, - 'Target' : TARGET, - 'map_comment' : map_comment, - 'club' : club, - 'thanksto' : thanksto.replace("_", r"\_"), - 'datat' : datat.replace("_", r"\_"), - 'wpage' : wpage.replace("_", r"\_"), - 'cs' : cs, - 'other_scraps_plan' : "", - 'file_info' : f'# File generated by pyCreate_th2.py (version {Version}) date: {datetime.now().strftime("%Y.%m.%d %H:%M:%S")}', - } - - process_template(DEST_PATH + '/template.thconfig', config_vars, DEST_PATH + '/' + TH_NAME + '.thconfig') - process_template(DEST_PATH + '/template-tot.th', config_vars, DEST_PATH + '/' + TH_NAME + '-tot.th') - process_template(DEST_PATH + '/template-readme.md', config_vars, DEST_PATH + '/readme.md') - - - - ################################################################################################# - # Produce the parsable XVI file # - ################################################################################################# - - print(f"{Colors.GREEN}Compiling 2D XVI file: \t{Colors.ENDC} {TH_NAME}") - - template = """source "{th_file}" - layout minimal - scale 1 {scale} - endlayout - - select {selector} - - export model -o "{th_name}.lox" - export map -projection plan -o "{th_name}-Plan.xvi" -layout minimal -layout-debug station-names - export map -projection extended -o "{th_name}-Extended.xvi" -layout minimal -layout-debug station-names - """ - - if args.update == "th2": - template_args = { - "th_file": DEST_PATH + "/" + TH_NAME + ".th", - "selector": survey.therion_id, - "th_name": DEST_PATH + "/" + TH_NAME, - "scale": SCALE, - } - - else : - template_args = { - "th_file": DEST_PATH + "/Data/" + TH_NAME + ".th", - "selector": survey.therion_id, - "th_name": DEST_PATH + "/Data/" + TH_NAME, - "scale": SCALE, - } - - log, tmpdir = compile_template(template, template_args, cleanup=False, therion_path=therion_path) - -################################################################################################# -# Parse the Plan XVI file # -################################################################################################# - - if args.update == "th2": - th_name_xvi = DEST_PATH + "/" + TH_NAME + "-Plan.xvi" - else : - th_name_xvi = DEST_PATH + "/Data/" + TH_NAME + "-Plan.xvi" - - print(f"{Colors.GREEN}Parsing plan XVI file:\t{Colors.ENDC}{th_name_xvi}") - - stations = {} - lines = [] - - with open(join(th_name_xvi), "r", encoding="utf-8") as f: - xvi_content = f.read() - xvi_stations, xvi_shots = xvi_content.split("XVIshots") - - # Extract all the stations - for line in xvi_stations.split("\n"): - match = re.search(r"{\s*(-?\d+\.\d+)\s*(-?\d+\.\d+)\s([^@]+)(?:@([^\s}]*))?\s*}", line) - if match: - x = match.groups()[0] - y = match.groups()[1] - station_number = match.groups()[2] - namespace = match.groups()[3] - namespace_array = namespace.split(".") if namespace else [] - station = station_number - if len(namespace_array) > 1: - station = "{}@{}".format(station_number, ".".join(namespace_array[0:-1])) - stations["{}.{}".format(x, y)] = [x, y, station] - - # Extraire les valeurs x et y à partir des listes dans stations - x_values = [float(value[0]) for value in stations.values()] - y_values = [float(value[1]) for value in stations.values()] - - # Trouver les min et max de x - x_min = float(min(x_values)) - x_max = float(max(x_values)) - - # Trouver les min et max de y - y_min = float(min(y_values)) - y_max = float(max(y_values)) - - x_ecart = x_max - x_min - y_ecart = y_max - y_min - - # Afficher les résultats - # print("x_min:", x_min, "x_max:", x_max) - # print("y_min:", y_min, "y_max:", y_max) - # print("Écart max-min pour x:", x_ecart) - # print("Écart max-min pour y:", y_ecart) - - # Extract all the lines - for line in xvi_shots.split("\n"): - match = re.search(r"^\s*{\s*(-?\d+\.\d+)\s*(-?\d+\.\d+)\s*(-?\d+\.\d+)\s*(-?\d+\.\d+)\s*.*}", line ) - if match: - x1 = match.groups()[0] - y1 = match.groups()[1] - x2 = match.groups()[2] - y2 = match.groups()[3] - key1 = "{}.{}".format(x1, y1) - key2 = "{}.{}".format(x2, y2) - # Splays won't have stations - station1 = stations[key1][2] if key1 in stations else None - station2 = stations[key2][2] if key2 in stations else None - lines.append([x1, y1, x2, y2, station1, station2]) - # shutil.rmtree(tmpdir) - if args.update == "th2": - th2_name = DEST_PATH + "/" + TH_NAME - else : - th2_name = DEST_PATH + "/Data/" + TH_NAME - output_path = f'{th2_name}-{PROJECTION}.{FORMAT}' - - scrap_to_add = int(len(stations)/station_by_scrap)-1 - - # print(stations) - - print(f"{Colors.GREEN}Writing output to:\t{Colors.ENDC}{output_path}") - - # Write TH2 - if FORMAT == "th2": - th2_file_header = """encoding utf-8""" - - th2_file = """ -##XTHERION## xth_me_area_adjust {X_Min} {Y_Min} {X_Max} {Y_Max} -##XTHERION## xth_me_area_zoom_to 100 -##XTHERION## xth_me_image_insert {insert_XVI} - -{Copyright} -# File generated by pyCreate_th2.py version {version} date: {date} - -# x_min: {X_Min}, x_max: {X_Max} ecart : {X_Max_X_Min} -# y_min: {Y_Min}, y_max: {Y_Max} ecart : {Y_Max_Y_Min} - -scrap S{projection_short}-{name}_01 -station-names "" "@{name}" -projection {projection} -author {year} "{author}" -copyright {year} "{Copyright_Short}" - -{points} - -{names} - -{lines} - -endscrap""" - - th2_point = """ point {x} {y} station -name {station}""" - th2_name = """ point {x} {y} station-name -align tr -scale xs -text {station}""" - - th2_line = """ line u:Shot_Survey - {x1} {y1} - {x2} {y2} - - endline""" - - seen = set() - th2_lines = [] - th2_points = [] - th2_names = [] - other_scraps_plan = "" - - for line in lines: - th2_lines.append(th2_line.format(x1=line[0], y1=line[1], x2=line[2], y2=line[3])) - coords1 = "{}.{}".format(line[0], line[1]) - - if coords1 not in seen: - seen.add(coords1) - th2_points.append(th2_point.format(x=line[0], y=line[1], station=line[4])) - th2_names.append(th2_name.format(x=line[0], y=line[1], station=line[4])) - coords2 = "{}.{}".format(line[2], line[3]) - - if "{}.{}".format(line[2], line[3]) not in seen: - seen.add(coords2) - if line[5] != None: - th2_points.append(th2_point.format(x=line[2], y=line[3], station=line[5])) - th2_names.append(th2_name.format(x=line[2], y=line[3], station=line[5])) - - - if isfile(output_path): - print(f"{Colors.WARNING}Warning: {Colors.ENDC}{os.path.basename(output_path)}{Colors.WARNING} file already exists - nothing done{Colors.ENDC}") - - else : - name = TARGET, - # print(f"{Colors.GREEN}Therion output path :\t{Colors.ENDC}{output_path}") - - with open(str(output_path), "w+") as f: - f.write(th2_file_header) - f.write(th2_file.format( - name = name[0], - Copyright = Copyright, - Copyright_Short = Copyright_Short, - points="\n".join(th2_points), - lines="\n".join(th2_lines) if LINES else "", - names="\n".join(th2_names) if NAMES else "", - projection=PROJECTION.lower(), - projection_short=PROJECTION[0].upper(), - author=Author, - year=datetime.now().year, - version = Version, - date=datetime.now().strftime("%Y.%m.%d-%H:%M:%S"), - X_Min=x_min*1.2, - X_Max=x_max*1.2, - Y_Min=y_min*1.2, - Y_Max=y_max*1.2, - X_Max_X_Min =x_ecart, - Y_Max_Y_Min =y_ecart, - insert_XVI = "{" + stations[next(iter(stations))][0] + "1 1.0} {" - + stations[next(iter(stations))][1] + " " - + stations[next(iter(stations))][2] +"} " - + os.path.basename(th_name_xvi) + " 0 {}", - ) - ) - if scrap_to_add >= 1 : - for i in range(scrap_to_add): - other_scraps_plan = other_scraps_plan + f"\tbreak\n\tS{PROJECTION[0].upper()}-{name[0]}_{i+2:02}\n" - th2_scrap = """ - -scrap S{projection_short}-{name}_{num:02} -station-names "" "@{name}" -projection {projection} -author {year} "{author}" -copyright {year} "{Copyright_Short}" - -endscrap - -""" - f.write(th2_scrap.format( - name=name[0], - projection=PROJECTION.lower(), - projection_short=PROJECTION[0].upper(), - author=Author, - year=datetime.now().year, - Copyright_Short = Copyright_Short, - num=f"{i+2:02}", - ) - ) - - -################################################################################################# -# Parse the Extended XVI file # -################################################################################################# - if args.update == "th2": - th_name_xvi = DEST_PATH + "/" + TH_NAME + "-Extended.xvi" - else : - th_name_xvi = DEST_PATH + "/Data/" + TH_NAME + "-Extended.xvi" - - print(f"{Colors.GREEN}Parsing extended XVI file:\t{Colors.ENDC}{th_name_xvi}") - - # Parse the Extended XVI file - stations = {} - lines = [] - - with open(join(th_name_xvi), "r", encoding="utf-8") as f: - xvi_content = f.read() - xvi_stations, xvi_shots = xvi_content.split("XVIshots") - - # Extract all the stations - for line in xvi_stations.split("\n"): - match = re.search(r"{\s*(-?\d+\.\d+)\s*(-?\d+\.\d+)\s([^@]+)(?:@([^\s}]*))?\s*}", line) - if match: - x = match.groups()[0] - y = match.groups()[1] - station_number = match.groups()[2] - namespace = match.groups()[3] - namespace_array = namespace.split(".") if namespace else [] - station = station_number - if len(namespace_array) > 1: - station = "{}@{}".format(station_number, ".".join(namespace_array[0:-1])) - stations["{}.{}".format(x, y)] = [x, y, station] - - # Extraire les valeurs x et y à partir des listes dans stations - x_values = [float(value[0]) for value in stations.values()] - y_values = [float(value[1]) for value in stations.values()] - - # Trouver les min et max de x - x_min = float(min(x_values)) - x_max = float(max(x_values)) - - # Trouver les min et max de y - y_min = float(min(y_values)) - y_max = float(max(y_values)) - - x_ecart = x_max - x_min - y_ecart = y_max - y_min - - # Afficher les résultats - # print("x_min:", x_min, "x_max:", x_max) - # print("y_min:", y_min, "y_max:", y_max) - # print("Écart max-min pour x:", x_ecart) - # print("Écart max-min pour y:", y_ecart) - - # Extract all the lines - for line in xvi_shots.split("\n"): - match = re.search(r"^\s*{\s*(-?\d+\.\d+)\s*(-?\d+\.\d+)\s*(-?\d+\.\d+)\s*(-?\d+\.\d+)\s*.*}", line ) - if match: - x1 = match.groups()[0] - y1 = match.groups()[1] - x2 = match.groups()[2] - y2 = match.groups()[3] - key1 = "{}.{}".format(x1, y1) - key2 = "{}.{}".format(x2, y2) - # Splays won't have stations - station1 = stations[key1][2] if key1 in stations else None - station2 = stations[key2][2] if key2 in stations else None - lines.append([x1, y1, x2, y2, station1, station2]) - shutil.rmtree(tmpdir) - - if args.update == "th2": - th2_name = DEST_PATH + "/" + TH_NAME - else : - th2_name = DEST_PATH + "/Data/" + TH_NAME - output_path = f'{th2_name}-Extended.{FORMAT}' - - print(f"{Colors.GREEN}Writing output to:\t\t{Colors.ENDC}{output_path}") - - # Write TH2 - if FORMAT == "th2": - th2_file_header = """encoding utf-8""" - - th2_file = """ -##XTHERION## xth_me_area_adjust {X_Min} {Y_Min} {X_Max} {Y_Max} -##XTHERION## xth_me_area_zoom_to 100 -##XTHERION## xth_me_image_insert {insert_XVI} - -{Copyright} -# File generated by pyCreate_th2.py version {version} date: {date} - -# x_min: {X_Min}, x_max: {X_Max} ecart : {X_Max_X_Min} -# y_min: {Y_Min}, y_max: {Y_Max} ecart : {Y_Max_Y_Min} - -scrap SC-{name}_01 -station-names "" "@{name}" -projection extended -author {year} "{author}" -copyright {year} "{Copyright_Short}" - -{points} - -{names} - -{lines} - -endscrap""" - - th2_point = """ point {x} {y} station -name {station}""" - th2_name = """ point {x} {y} station-name -align tr -scale xs -text {station}""" - - th2_line = """ line u:Shot_Survey - {x1} {y1} - {x2} {y2} - endline - """ - - seen = set() - th2_lines = [] - th2_points = [] - th2_names = [] - other_scraps_extended = "" - - for line in lines: - th2_lines.append(th2_line.format(x1=line[0], y1=line[1], x2=line[2], y2=line[3])) - coords1 = "{}.{}".format(line[0], line[1]) - - if coords1 not in seen: - seen.add(coords1) - th2_points.append(th2_point.format(x=line[0], y=line[1], station=line[4])) - th2_names.append(th2_name.format(x=line[0], y=line[1], station=line[4])) - coords2 = "{}.{}".format(line[2], line[3]) - - if "{}.{}".format(line[2], line[3]) not in seen: - seen.add(coords2) - if line[5] != None: - th2_points.append(th2_point.format(x=line[2], y=line[3], station=line[5])) - th2_names.append(th2_name.format(x=line[2], y=line[3], station=line[5])) - - - if isfile(output_path): - print(f"{Colors.WARNING}Warning: {Colors.ENDC}{os.path.basename(output_path)}{Colors.WARNING} file already exists - nothing done{Colors.ENDC}") - else : - name = TARGET, - # print(f"{Colors.GREEN}Therion output path :\t{Colors.ENDC}{output_path}") - - with open(str(output_path), "w+") as f: - f.write(th2_file_header) - f.write(th2_file.format( - name = name[0], - Copyright = Copyright, - Copyright_Short = Copyright_Short, - points="\n".join(th2_points), - lines="\n".join(th2_lines) if LINES else "", - names="\n".join(th2_names) if NAMES else "", - projection="extended", - projection_short="C", - author=Author, - year=datetime.now().year, - version = Version, - date=datetime.now().strftime("%Y.%m.%d-%H:%M:%S"), - X_Min=x_min*1.2, - X_Max=x_max*1.2, - Y_Min=y_min*1.2, - Y_Max=y_max*1.2, - X_Max_X_Min =x_ecart, - Y_Max_Y_Min =y_ecart, - insert_XVI = "{" + stations[next(iter(stations))][0] + "1 1.0} {" - + stations[next(iter(stations))][1] + " " - + stations[next(iter(stations))][2] +"} " - + os.path.basename(th_name_xvi) + " 0 {}", - ) - ) - if scrap_to_add >= 1 : - for i in range(scrap_to_add): - other_scraps_extended = other_scraps_extended + f"\tbreak\n\tSC-{name[0]}_{i+2:02}\n" - th2_scrap = """ - -scrap SC-{name}_{num:02} -station-names "" "@{name}" -projection extended -author {year} "{author}" -copyright {year} "{Copyright_Short}" - -endscrap - -""" - f.write(th2_scrap.format( - name=name[0], - author=Author, - Copyright_Short = Copyright_Short, - year=datetime.now().year, - num=f"{i+2:02}", - ) - ) - - -################################################################################################# -# Update -maps files # -################################################################################################# - if args.update == "": - config_vars = { - 'fileName': TH_NAME, - 'Author': Author, - 'Copyright': Copyright, - 'Scale' : SCALE, - 'Target' : TARGET, - 'map_comment' : map_comment, - 'club' : club, - 'thanksto' : thanksto, - 'datat' : datat, - 'wpage' : wpage, - 'cs' : cs, - 'other_scraps_plan' : other_scraps_plan, - 'other_scraps_extended' : other_scraps_extended, - 'file_info' : f"# File generated by pyCreate_th2.py version {Version} date: {datetime.now().strftime("%Y.%m.%d-%H:%M:%S")}", - } - - process_template(DEST_PATH + '/template-maps.th', config_vars, DEST_PATH + '/' + TH_NAME + '-maps.th') - - -################################################################################################# -# Final therion compilation # -################################################################################################# - -if args.update == "": - if final_therion_exe == True: - print(f"{Colors.GREEN}Final therion compilation{Colors.ENDC}") - PATH = os.path.dirname(args.survey_file) + "/" + TH_NAME + "/" + TH_NAME + ".thconfig" - - compile_file(PATH, therion_path=therion_path) - - - - - - - - - \ No newline at end of file