Compare commits
10 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 0992667ded | |||
| 9055baad4a | |||
| 7267bc30e3 | |||
| 14ba366861 | |||
| 7ac791c214 | |||
| 5bfd9c68c6 | |||
| 52c3b68457 | |||
| 38ac0a2b46 | |||
| c89247dd7c | |||
| 2f2af40855 |
+1
-1
@@ -15,5 +15,5 @@ help/*.*~
|
||||
help/*.*-*
|
||||
help/*.*+*
|
||||
|
||||
|
||||
*.html
|
||||
|
||||
|
||||
+65
-11
@@ -1,7 +1,8 @@
|
||||
<html><head><title>Time of Flight Measuement for Injector and Ring Cyclotron Turn Number Ascertainment, TINA</title></head>
|
||||
<body>
|
||||
|
||||
<h5 style="color:gray;">June 2024, Jan Chrin, Pierre-André Duperrex, Alessandro Facchetti, Waldamar Koprek</h5>
|
||||
<h5 style="color:gray;">Jan Chrin, Pierre-André Duperrex, Alessandro Facchetti, Daniele, Felici, Waldamar Koprek<br>April 2025</h5>
|
||||
|
||||
<h4> <span style="color: red;">T</span>ime of Flight Measurement for <span style="color: red;">I</span>njector and Ring Cyclotron Turn <span style="color: red;">N</span>umber <span style="color: red;">A</span>scertainment, <span style="color: red;">TINA</span></h4>
|
||||
<h2 style="color:blue;">About</h2>
|
||||
|
||||
@@ -14,9 +15,8 @@ Pierre-André Duperrex: <br>
|
||||
P.-A. Duperrex and A. Facchetti,
|
||||
Number of Turn Measurements on the HIPA Cyclotrons at PSI.<br>
|
||||
doi:10.18429/JACoW-IPAC2018-WEPAL067
|
||||
</p>
|
||||
|
||||
|
||||
</p>
|
||||
<!--a href="page1.html">here</a></p-->
|
||||
|
||||
<h2 style="color:blue;">The Repository</h2>
|
||||
@@ -24,8 +24,9 @@ doi:10.18429/JACoW-IPAC2018-WEPAL067
|
||||
<p>The application comprises two components:
|
||||
<ul>
|
||||
<li>
|
||||
The low-level ADC data acquisition system.<br>
|
||||
<span style="color: green;">https://git.psi.ch/epics_iocboot_hipa/.. to be completed</span><br>
|
||||
The low-level ADC data acquisition system is detailed in the following repositories:<br>
|
||||
<span style="color: green;">https://git.psi.ch/GFA/CO/general/CPSI_SCOPE/CPSI_SCOPE</span><br>
|
||||
<span style="color: green;">https://git.psi.ch/epics_iocboot_hipa/z_di_turn_count</span><br>
|
||||
|
||||
</li>
|
||||
<li>
|
||||
@@ -37,7 +38,7 @@ doi:10.18429/JACoW-IPAC2018-WEPAL067
|
||||
</ul>
|
||||
<h2 style="color:blue;">GUI, Control Tab</h2>
|
||||
Main panel for use by operators.
|
||||
<h3 style="color:#7b68ee;">Operator Panel</h3>
|
||||
<h3 style="color:#7b68ee;">Accelerator Panel</h3>
|
||||
Input parameters to analysis routine, as configured in tina.json.<br>
|
||||
The Injector has NOT yet been implemented into the application.
|
||||
<table width=400>
|
||||
@@ -76,8 +77,60 @@ doi:10.18429/JACoW-IPAC2018-WEPAL067
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<p>
|
||||
Within the Procedure group, the Start buttonn executes the analysis program
|
||||
|
||||
|
||||
<h3 style="color:#7b68ee;">Expert Panel</h3>
|
||||
Input parameters to the peak search analysis, as configured in tina.json.<br>
|
||||
|
||||
The Injector has NOT yet been implemented into the application.
|
||||
<p>
|
||||
<table width=1400px>
|
||||
<tr> <td>
|
||||
<table width=1000px>
|
||||
<!--caption>
|
||||
<h4 style="color:#0047ab;">Cyclotron</h4>
|
||||
</caption-->
|
||||
<thead>
|
||||
<tr>
|
||||
<th align=left>Parameter</th>
|
||||
<th align=center style="color:#0047ab;">Cyclotron</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tr><td>Minimum Peak Height:</td> <td align=center>50</td></tr>
|
||||
<tr><td>Minimum distance between peaks:</td> <td align=center>10</td></tr>
|
||||
<tr><td width=80%>Minimim difference in correlation between top two peaks:</td> <td valign=bottom align=center>0.01</td></tr>
|
||||
<tr>
|
||||
<td>Minimum Current in Injector:</td> <td align=center>1.0</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</td> <td width=20> </td>
|
||||
<td> <table width=200px>
|
||||
<!--caption>
|
||||
<h4 style="color:#008b8b;">Injector</h4>
|
||||
</caption-->
|
||||
<thead>
|
||||
<tr>
|
||||
<th align=center style="color:#008b8b;">Injector</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tr><td align=center>50</td></tr>
|
||||
<tr><td align=center>10</td></tr>
|
||||
|
||||
<tr><td align=center> </td></tr>
|
||||
<tr><td align=center>0.01</td></tr>
|
||||
<tr><td align=center>1.0</td></tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<p>
|
||||
The Oscilloscope option disables setting values to epics process variables and is meant for testing code with raw data collected from the oscilloscope and stored in hdf5 files: <br>
|
||||
/hipa/bd/data/measurements/Tina_2024-09-18_oscilloscope.h5
|
||||
<p>
|
||||
<h4 style="color:#7b68ee;">Procedure</h4>
|
||||
Within the Procedure group, the Start button executes the analysis program
|
||||
which usually takes less than 10 seconds to complete. 3'010'560 samples are
|
||||
collected per channel (entry wf/exit wf).
|
||||
<p>
|
||||
@@ -90,14 +143,15 @@ collected per channel (entry wf/exit wf).
|
||||
<li>opens a dialog window for submission to the selected elog book.
|
||||
</li>
|
||||
</ul>
|
||||
These actions can also be executed individually through icons placed in the menu bar.
|
||||
<p>
|
||||
<font color=green>
|
||||
Data can be recalled from hdf5 and reanalyzed using the HDF analysis functionality
|
||||
made available through a docked widget in the menu bar (right click on the menu bar
|
||||
and select the HDF5 option).
|
||||
</font>
|
||||
|
||||
|
||||
<h3 style="color:#7b68ee;">Expert Panel</h3>
|
||||
The Oscilloscope option disables setting values to epics process variables and is meant for testing code with raw data collected from the oscilloscope and stored in hdf5 files: <br>
|
||||
/hipa/bd/data/measurements/Tina_2024-09-18_oscilloscope.h5
|
||||
<h3 style="color:#7b68ee;">TINA Image</h3>
|
||||
<table>
|
||||
<tr><td>
|
||||
|
||||
+433
-334
@@ -9,6 +9,393 @@
|
||||
from PyQt5 import QtCore
|
||||
|
||||
qt_resource_data = b"\
|
||||
\x00\x00\x00\xa7\
|
||||
\x3c\
|
||||
\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
|
||||
\x65\x3e\x57\x65\x62\x20\x48\x65\x6c\x70\x3c\x2f\x74\x69\x74\x6c\
|
||||
\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\x3e\
|
||||
\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x50\x61\x67\x65\x20\x31\x20\x6f\
|
||||
\x66\x20\x77\x65\x62\x20\x68\x65\x6c\x70\x3c\x2f\x62\x3e\x3c\x2f\
|
||||
\x70\x3e\x0a\x3c\x70\x3e\x20\x20\x3c\x61\x20\x68\x72\x65\x66\x3d\
|
||||
\x22\x70\x61\x67\x65\x32\x2e\x68\x74\x6d\x6c\x22\x3e\x20\x4e\x65\
|
||||
\x78\x74\x3c\x2f\x61\x3e\x3c\x2f\x70\x3e\x0a\x3c\x70\x3e\x3c\x62\
|
||||
\x3e\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\
|
||||
\x2e\x2e\x3c\x2f\x70\x3e\x0a\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\
|
||||
\x68\x74\x6d\x6c\x3e\x0a\
|
||||
\x00\x00\x00\xa7\
|
||||
\x3c\
|
||||
\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
|
||||
\x65\x3e\x57\x65\x62\x20\x48\x65\x6c\x70\x3c\x2f\x74\x69\x74\x6c\
|
||||
\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\x3e\
|
||||
\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x50\x61\x67\x65\x20\x33\x20\x6f\
|
||||
\x66\x20\x77\x65\x62\x20\x68\x65\x6c\x70\x3c\x2f\x62\x3e\x3c\x2f\
|
||||
\x70\x3e\x0a\x3c\x70\x3e\x20\x20\x3c\x61\x20\x68\x72\x65\x66\x3d\
|
||||
\x22\x70\x61\x67\x65\x34\x2e\x68\x74\x6d\x6c\x22\x3e\x20\x4e\x65\
|
||||
\x78\x74\x3c\x2f\x61\x3e\x3c\x2f\x70\x3e\x0a\x3c\x70\x3e\x3c\x62\
|
||||
\x3e\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\
|
||||
\x2e\x2e\x3c\x2f\x70\x3e\x0a\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\
|
||||
\x68\x74\x6d\x6c\x3e\x0a\
|
||||
\x00\x00\x16\x6b\
|
||||
\x3c\
|
||||
\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
|
||||
\x65\x3e\x54\x69\x6d\x65\x20\x6f\x66\x20\x46\x6c\x69\x67\x68\x74\
|
||||
\x20\x4d\x65\x61\x73\x75\x65\x6d\x65\x6e\x74\x20\x66\x6f\x72\x20\
|
||||
\x49\x6e\x6a\x65\x63\x74\x6f\x72\x20\x61\x6e\x64\x20\x52\x69\x6e\
|
||||
\x67\x20\x43\x79\x63\x6c\x6f\x74\x72\x6f\x6e\x20\x54\x75\x72\x6e\
|
||||
\x20\x4e\x75\x6d\x62\x65\x72\x20\x41\x73\x63\x65\x72\x74\x61\x69\
|
||||
\x6e\x6d\x65\x6e\x74\x2c\x20\x54\x49\x4e\x41\x3c\x2f\x74\x69\x74\
|
||||
\x6c\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\
|
||||
\x3e\x0a\x0a\x20\x20\x3c\x68\x35\x20\x20\x73\x74\x79\x6c\x65\x3d\
|
||||
\x22\x63\x6f\x6c\x6f\x72\x3a\x67\x72\x61\x79\x3b\x22\x3e\x4a\x61\
|
||||
\x6e\x20\x43\x68\x72\x69\x6e\x2c\x20\x50\x69\x65\x72\x72\x65\x2d\
|
||||
\x41\x6e\x64\x72\x26\x65\x61\x63\x75\x74\x65\x3b\x20\x44\x75\x70\
|
||||
\x65\x72\x72\x65\x78\x2c\x20\x41\x6c\x65\x73\x73\x61\x6e\x64\x72\
|
||||
\x6f\x20\x46\x61\x63\x63\x68\x65\x74\x74\x69\x2c\x20\x44\x61\x6e\
|
||||
\x69\x65\x6c\x65\x2c\x20\x46\x65\x6c\x69\x63\x69\x2c\x20\x57\x61\
|
||||
\x6c\x64\x61\x6d\x61\x72\x20\x4b\x6f\x70\x72\x65\x6b\x3c\x62\x72\
|
||||
\x3e\x41\x70\x72\x69\x6c\x20\x32\x30\x32\x35\x3c\x2f\x68\x35\x3e\
|
||||
\x0a\x20\x20\x0a\x3c\x68\x34\x3e\x20\x3c\x73\x70\x61\x6e\x20\x73\
|
||||
\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x20\x72\x65\x64\
|
||||
\x3b\x22\x3e\x54\x3c\x2f\x73\x70\x61\x6e\x3e\x69\x6d\x65\x20\x6f\
|
||||
\x66\x20\x46\x6c\x69\x67\x68\x74\x20\x4d\x65\x61\x73\x75\x72\x65\
|
||||
\x6d\x65\x6e\x74\x20\x66\x6f\x72\x20\x3c\x73\x70\x61\x6e\x20\x73\
|
||||
\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x20\x72\x65\x64\
|
||||
\x3b\x22\x3e\x49\x3c\x2f\x73\x70\x61\x6e\x3e\x6e\x6a\x65\x63\x74\
|
||||
\x6f\x72\x20\x61\x6e\x64\x20\x52\x69\x6e\x67\x20\x43\x79\x63\x6c\
|
||||
\x6f\x74\x72\x6f\x6e\x20\x54\x75\x72\x6e\x20\x3c\x73\x70\x61\x6e\
|
||||
\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x20\x72\
|
||||
\x65\x64\x3b\x22\x3e\x4e\x3c\x2f\x73\x70\x61\x6e\x3e\x75\x6d\x62\
|
||||
\x65\x72\x20\x3c\x73\x70\x61\x6e\x20\x73\x74\x79\x6c\x65\x3d\x22\
|
||||
\x63\x6f\x6c\x6f\x72\x3a\x20\x72\x65\x64\x3b\x22\x3e\x41\x3c\x2f\
|
||||
\x73\x70\x61\x6e\x3e\x73\x63\x65\x72\x74\x61\x69\x6e\x6d\x65\x6e\
|
||||
\x74\x2c\x20\x3c\x73\x70\x61\x6e\x20\x73\x74\x79\x6c\x65\x3d\x22\
|
||||
\x63\x6f\x6c\x6f\x72\x3a\x20\x72\x65\x64\x3b\x22\x3e\x54\x49\x4e\
|
||||
\x41\x3c\x2f\x73\x70\x61\x6e\x3e\x3c\x2f\x68\x34\x3e\x0a\x3c\x68\
|
||||
\x32\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x62\
|
||||
\x6c\x75\x65\x3b\x22\x3e\x41\x62\x6f\x75\x74\x3c\x2f\x68\x32\x3e\
|
||||
\x0a\x0a\x0a\x3c\x70\x3e\x54\x68\x65\x20\x54\x49\x4e\x41\x20\x61\
|
||||
\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x20\x64\x65\x74\x65\x72\
|
||||
\x6d\x69\x6e\x65\x73\x20\x74\x68\x65\x20\x6e\x75\x6d\x62\x65\x72\
|
||||
\x20\x6f\x66\x20\x74\x75\x72\x6e\x73\x20\x69\x6e\x20\x61\x20\x63\
|
||||
\x79\x63\x6c\x6f\x74\x72\x6f\x6e\x0a\x66\x72\x6f\x6d\x20\x61\x20\
|
||||
\x54\x69\x6d\x65\x20\x6f\x66\x20\x46\x6c\x69\x67\x68\x74\x20\x28\
|
||||
\x54\x4f\x46\x29\x20\x6d\x65\x61\x73\x75\x72\x65\x6d\x65\x6e\x74\
|
||||
\x20\x74\x65\x63\x68\x6e\x69\x71\x75\x65\x20\x61\x6e\x64\x20\x61\
|
||||
\x20\x63\x72\x6f\x73\x73\x2d\x63\x6f\x72\x72\x65\x6c\x61\x74\x69\
|
||||
\x6f\x6e\x0a\x6f\x66\x20\x66\x61\x73\x74\x20\x73\x61\x6d\x70\x6c\
|
||||
\x65\x64\x20\x64\x61\x74\x61\x20\x66\x72\x6f\x6d\x20\x63\x61\x70\
|
||||
\x61\x63\x69\x74\x69\x76\x65\x20\x73\x65\x6e\x73\x6f\x72\x73\x20\
|
||||
\x6c\x6f\x63\x61\x74\x65\x64\x20\x61\x74\x20\x74\x68\x65\x20\x65\
|
||||
\x6e\x74\x72\x61\x6e\x63\x65\x20\x61\x6e\x64\x20\x65\x78\x69\x74\
|
||||
\x0a\x6f\x66\x20\x74\x68\x65\x20\x63\x79\x63\x6f\x6c\x6f\x74\x72\
|
||||
\x6f\x6e\x2e\x20\x54\x68\x69\x73\x20\x69\x73\x20\x62\x61\x73\x65\
|
||||
\x64\x20\x6f\x6e\x20\x61\x20\x70\x79\x74\x68\x6f\x6e\x20\x69\x6d\
|
||||
\x70\x6c\x65\x6d\x65\x6e\x74\x61\x74\x69\x6f\x6e\x20\x6f\x66\x20\
|
||||
\x61\x20\x4c\x61\x62\x56\x49\x45\x57\x20\x61\x70\x70\x6c\x69\x63\
|
||||
\x61\x74\x69\x6f\x6e\x20\x64\x65\x76\x65\x6c\x6f\x70\x65\x64\x20\
|
||||
\x62\x79\x0a\x50\x69\x65\x72\x72\x65\x2d\x41\x6e\x64\x72\x26\x65\
|
||||
\x61\x63\x75\x74\x65\x3b\x20\x44\x75\x70\x65\x72\x72\x65\x78\x3a\
|
||||
\x20\x20\x3c\x62\x72\x3e\x0a\x50\x2e\x2d\x41\x2e\x20\x44\x75\x70\
|
||||
\x65\x72\x72\x65\x78\x20\x61\x6e\x64\x20\x41\x2e\x20\x46\x61\x63\
|
||||
\x63\x68\x65\x74\x74\x69\x2c\x20\x0a\x4e\x75\x6d\x62\x65\x72\x20\
|
||||
\x6f\x66\x20\x54\x75\x72\x6e\x20\x4d\x65\x61\x73\x75\x72\x65\x6d\
|
||||
\x65\x6e\x74\x73\x20\x6f\x6e\x20\x74\x68\x65\x20\x48\x49\x50\x41\
|
||||
\x20\x43\x79\x63\x6c\x6f\x74\x72\x6f\x6e\x73\x20\x61\x74\x20\x50\
|
||||
\x53\x49\x2e\x3c\x62\x72\x3e\x0a\x64\x6f\x69\x3a\x31\x30\x2e\x31\
|
||||
\x38\x34\x32\x39\x2f\x4a\x41\x43\x6f\x57\x2d\x49\x50\x41\x43\x32\
|
||||
\x30\x31\x38\x2d\x57\x45\x50\x41\x4c\x30\x36\x37\x20\x0a\x3c\x2f\
|
||||
\x70\x3e\x0a\x0a\x3c\x21\x2d\x2d\x61\x20\x68\x72\x65\x66\x3d\x22\
|
||||
\x70\x61\x67\x65\x31\x2e\x68\x74\x6d\x6c\x22\x3e\x68\x65\x72\x65\
|
||||
\x3c\x2f\x61\x3e\x3c\x2f\x70\x2d\x2d\x3e\x0a\x0a\x3c\x68\x32\x20\
|
||||
\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x62\x6c\x75\
|
||||
\x65\x3b\x22\x3e\x54\x68\x65\x20\x52\x65\x70\x6f\x73\x69\x74\x6f\
|
||||
\x72\x79\x3c\x2f\x68\x32\x3e\x0a\x0a\x3c\x70\x3e\x54\x68\x65\x20\
|
||||
\x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x20\x63\x6f\x6d\x70\
|
||||
\x72\x69\x73\x65\x73\x20\x74\x77\x6f\x20\x63\x6f\x6d\x70\x6f\x6e\
|
||||
\x65\x6e\x74\x73\x3a\x0a\x20\x20\x3c\x75\x6c\x3e\x0a\x3c\x6c\x69\
|
||||
\x3e\x0a\x20\x20\x54\x68\x65\x20\x6c\x6f\x77\x2d\x6c\x65\x76\x65\
|
||||
\x6c\x20\x41\x44\x43\x20\x64\x61\x74\x61\x20\x61\x63\x71\x75\x69\
|
||||
\x73\x69\x74\x69\x6f\x6e\x20\x73\x79\x73\x74\x65\x6d\x20\x69\x73\
|
||||
\x20\x64\x65\x74\x61\x69\x6c\x65\x64\x20\x69\x6e\x20\x74\x68\x65\
|
||||
\x20\x66\x6f\x6c\x6c\x6f\x77\x69\x6e\x67\x20\x72\x65\x70\x6f\x73\
|
||||
\x69\x74\x6f\x72\x69\x65\x73\x3a\x3c\x62\x72\x3e\x0a\x20\x20\x3c\
|
||||
\x73\x70\x61\x6e\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\
|
||||
\x72\x3a\x20\x67\x72\x65\x65\x6e\x3b\x22\x3e\x68\x74\x74\x70\x73\
|
||||
\x3a\x2f\x2f\x67\x69\x74\x2e\x70\x73\x69\x2e\x63\x68\x2f\x47\x46\
|
||||
\x41\x2f\x43\x4f\x2f\x67\x65\x6e\x65\x72\x61\x6c\x2f\x43\x50\x53\
|
||||
\x49\x5f\x53\x43\x4f\x50\x45\x2f\x43\x50\x53\x49\x5f\x53\x43\x4f\
|
||||
\x50\x45\x3c\x2f\x73\x70\x61\x6e\x3e\x3c\x62\x72\x3e\x0a\x20\x20\
|
||||
\x3c\x73\x70\x61\x6e\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\
|
||||
\x6f\x72\x3a\x20\x67\x72\x65\x65\x6e\x3b\x22\x3e\x68\x74\x74\x70\
|
||||
\x73\x3a\x2f\x2f\x67\x69\x74\x2e\x70\x73\x69\x2e\x63\x68\x2f\x65\
|
||||
\x70\x69\x63\x73\x5f\x69\x6f\x63\x62\x6f\x6f\x74\x5f\x68\x69\x70\
|
||||
\x61\x2f\x7a\x5f\x64\x69\x5f\x74\x75\x72\x6e\x5f\x63\x6f\x75\x6e\
|
||||
\x74\x3c\x2f\x73\x70\x61\x6e\x3e\x3c\x62\x72\x3e\x0a\x20\x0a\x20\
|
||||
\x3c\x2f\x6c\x69\x3e\x0a\x20\x20\x3c\x6c\x69\x3e\x0a\x20\x20\x20\
|
||||
\x20\x41\x20\x48\x69\x67\x68\x20\x4c\x65\x76\x65\x6c\x20\x41\x70\
|
||||
\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x20\x28\x48\x4c\x41\x29\x20\
|
||||
\x74\x68\x61\x74\x20\x69\x73\x20\x61\x62\x6c\x65\x20\x74\x6f\x20\
|
||||
\x69\x6e\x74\x65\x72\x61\x63\x74\x20\x77\x69\x74\x68\x20\x74\x68\
|
||||
\x65\x20\x49\x4f\x43\x2c\x20\x73\x74\x61\x72\x74\x20\x61\x20\x6c\
|
||||
\x6f\x77\x2d\x6c\x65\x76\x65\x6c\x20\x64\x61\x74\x61\x20\x61\x63\
|
||||
\x71\x75\x69\x73\x74\x69\x6f\x6e\x20\x72\x75\x6e\x2c\x0a\x20\x20\
|
||||
\x20\x20\x61\x63\x71\x75\x69\x72\x65\x20\x74\x68\x65\x20\x72\x61\
|
||||
\x77\x20\x64\x61\x74\x61\x2c\x20\x61\x6e\x64\x20\x70\x65\x72\x66\
|
||||
\x6f\x72\x6d\x20\x74\x68\x65\x20\x6e\x75\x6d\x62\x65\x72\x20\x6f\
|
||||
\x66\x20\x74\x65\x72\x6d\x73\x20\x61\x6e\x61\x6c\x79\x73\x69\x73\
|
||||
\x2e\x3c\x62\x72\x3e\x0a\x20\x20\x20\x20\x3c\x73\x70\x61\x6e\x20\
|
||||
\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x20\x67\x72\
|
||||
\x65\x65\x6e\x3b\x22\x3e\x20\x68\x74\x74\x70\x73\x3a\x2f\x2f\x67\
|
||||
\x69\x74\x6c\x61\x62\x2e\x70\x73\x69\x2e\x63\x68\x2f\x68\x69\x70\
|
||||
\x61\x5f\x61\x70\x70\x73\x34\x6f\x70\x73\x2f\x74\x69\x6e\x61\x3c\
|
||||
\x2f\x73\x70\x61\x6e\x3e\x3c\x62\x72\x3e\x0a\x20\x20\x20\x20\x3c\
|
||||
\x73\x70\x61\x6e\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\
|
||||
\x72\x3a\x20\x67\x72\x61\x79\x3b\x22\x3e\x20\x2f\x68\x69\x70\x61\
|
||||
\x2f\x62\x64\x2f\x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x73\
|
||||
\x2f\x74\x69\x6e\x61\x2f\x6c\x61\x74\x65\x73\x74\x2f\x74\x69\x6e\
|
||||
\x61\x2e\x73\x68\x3c\x2f\x73\x70\x61\x6e\x3e\x0a\x20\x20\x20\x20\
|
||||
\x3c\x2f\x6c\x69\x3e\x0a\x3c\x2f\x75\x6c\x3e\x0a\x20\x20\x3c\x68\
|
||||
\x32\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x62\
|
||||
\x6c\x75\x65\x3b\x22\x3e\x47\x55\x49\x2c\x20\x43\x6f\x6e\x74\x72\
|
||||
\x6f\x6c\x20\x54\x61\x62\x3c\x2f\x68\x32\x3e\x0a\x20\x20\x4d\x61\
|
||||
\x69\x6e\x20\x70\x61\x6e\x65\x6c\x20\x66\x6f\x72\x20\x75\x73\x65\
|
||||
\x20\x62\x79\x20\x6f\x70\x65\x72\x61\x74\x6f\x72\x73\x2e\x20\x0a\
|
||||
\x20\x20\x3c\x68\x33\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\
|
||||
\x6f\x72\x3a\x23\x37\x62\x36\x38\x65\x65\x3b\x22\x3e\x41\x63\x63\
|
||||
\x65\x6c\x65\x72\x61\x74\x6f\x72\x20\x50\x61\x6e\x65\x6c\x3c\x2f\
|
||||
\x68\x33\x3e\x0a\x20\x20\x49\x6e\x70\x75\x74\x20\x70\x61\x72\x61\
|
||||
\x6d\x65\x74\x65\x72\x73\x20\x74\x6f\x20\x61\x6e\x61\x6c\x79\x73\
|
||||
\x69\x73\x20\x72\x6f\x75\x74\x69\x6e\x65\x2c\x20\x61\x73\x20\x63\
|
||||
\x6f\x6e\x66\x69\x67\x75\x72\x65\x64\x20\x69\x6e\x20\x74\x69\x6e\
|
||||
\x61\x2e\x6a\x73\x6f\x6e\x2e\x3c\x62\x72\x3e\x0a\x20\x20\x54\x68\
|
||||
\x65\x20\x49\x6e\x6a\x65\x63\x74\x6f\x72\x20\x68\x61\x73\x20\x4e\
|
||||
\x4f\x54\x20\x79\x65\x74\x20\x62\x65\x65\x6e\x20\x69\x6d\x70\x6c\
|
||||
\x65\x6d\x65\x6e\x74\x65\x64\x20\x69\x6e\x74\x6f\x20\x74\x68\x65\
|
||||
\x20\x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x2e\x0a\x20\x20\
|
||||
\x3c\x74\x61\x62\x6c\x65\x20\x77\x69\x64\x74\x68\x3d\x34\x30\x30\
|
||||
\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x20\x3c\x74\x64\x3e\x0a\
|
||||
\x09\x3c\x74\x61\x62\x6c\x65\x3e\x0a\x09\x20\x20\x3c\x63\x61\x70\
|
||||
\x74\x69\x6f\x6e\x3e\x0a\x09\x20\x20\x20\x20\x3c\x68\x34\x20\x73\
|
||||
\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x23\x30\x30\x34\
|
||||
\x37\x61\x62\x3b\x22\x3e\x43\x79\x63\x6c\x6f\x74\x72\x6f\x6e\x3c\
|
||||
\x2f\x68\x34\x3e\x0a\x09\x20\x20\x20\x20\x3c\x2f\x63\x61\x70\x74\
|
||||
\x69\x6f\x6e\x3e\x0a\x20\x20\x3c\x74\x68\x65\x61\x64\x3e\x0a\x20\
|
||||
\x20\x20\x20\x3c\x74\x72\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x74\
|
||||
\x68\x20\x61\x6c\x69\x67\x6e\x3d\x6c\x65\x66\x74\x3e\x50\x61\x72\
|
||||
\x61\x6d\x65\x74\x65\x72\x3c\x2f\x74\x68\x3e\x0a\x20\x20\x20\x20\
|
||||
\x20\x20\x3c\x74\x68\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\
|
||||
\x65\x72\x3e\x56\x61\x6c\x75\x65\x3c\x2f\x74\x68\x3e\x0a\x20\x20\
|
||||
\x20\x20\x3c\x2f\x74\x72\x3e\x0a\x20\x20\x3c\x2f\x74\x68\x65\x61\
|
||||
\x64\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x3e\x48\
|
||||
\x61\x72\x6d\x6f\x6e\x69\x63\x20\x4e\x6f\x2e\x3c\x2f\x74\x64\x3e\
|
||||
\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\
|
||||
\x72\x3e\x36\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x20\x20\
|
||||
\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x3e\x64\x54\x20\x43\x61\x62\
|
||||
\x6c\x65\x20\x28\x6e\x73\x29\x3c\x2f\x74\x64\x3e\x20\x3c\x74\x64\
|
||||
\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\x72\x3e\x34\x34\
|
||||
\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x20\x20\x20\x20\x3c\
|
||||
\x74\x72\x3e\x3c\x74\x64\x3e\x64\x4e\x20\x50\x69\x63\x6b\x75\x70\
|
||||
\x3c\x2f\x74\x64\x3e\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\
|
||||
\x63\x65\x6e\x74\x65\x72\x3e\x2d\x31\x3c\x2f\x74\x64\x3e\x3c\x2f\
|
||||
\x74\x72\x3e\x0a\x09\x3c\x2f\x74\x61\x62\x6c\x65\x3e\x0a\x20\x20\
|
||||
\x20\x20\x20\x20\x3c\x2f\x74\x64\x3e\x20\x3c\x74\x64\x20\x77\x69\
|
||||
\x64\x74\x68\x3d\x32\x30\x3e\x20\x26\x6e\x62\x73\x70\x3b\x20\x3c\
|
||||
\x2f\x74\x64\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x74\x64\x3e\x20\
|
||||
\x3c\x74\x61\x62\x6c\x65\x3e\x0a\x09\x20\x20\x3c\x63\x61\x70\x74\
|
||||
\x69\x6f\x6e\x3e\x0a\x3c\x68\x34\x20\x73\x74\x79\x6c\x65\x3d\x22\
|
||||
\x63\x6f\x6c\x6f\x72\x3a\x23\x30\x30\x38\x62\x38\x62\x3b\x22\x3e\
|
||||
\x49\x6e\x6a\x65\x63\x74\x6f\x72\x3c\x2f\x68\x34\x3e\x0a\x3c\x2f\
|
||||
\x63\x61\x70\x74\x69\x6f\x6e\x3e\x0a\x20\x20\x3c\x74\x68\x65\x61\
|
||||
\x64\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x0a\x20\x20\x20\x20\
|
||||
\x20\x20\x3c\x74\x68\x20\x61\x6c\x69\x67\x6e\x3d\x6c\x65\x66\x74\
|
||||
\x3e\x50\x61\x72\x61\x6d\x65\x74\x65\x72\x3c\x2f\x74\x68\x3e\x0a\
|
||||
\x20\x20\x20\x20\x20\x20\x3c\x74\x68\x20\x61\x6c\x69\x67\x6e\x3d\
|
||||
\x63\x65\x6e\x74\x65\x72\x3e\x56\x61\x6c\x75\x65\x3c\x2f\x74\x68\
|
||||
\x3e\x0a\x20\x20\x20\x20\x3c\x2f\x74\x72\x3e\x0a\x20\x20\x3c\x2f\
|
||||
\x74\x68\x65\x61\x64\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\
|
||||
\x74\x64\x3e\x48\x61\x72\x6d\x6f\x6e\x69\x63\x20\x4e\x6f\x2e\x3c\
|
||||
\x2f\x74\x64\x3e\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\
|
||||
\x65\x6e\x74\x65\x72\x3e\x31\x30\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\
|
||||
\x72\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x3e\x64\
|
||||
\x54\x20\x43\x61\x62\x6c\x65\x20\x28\x6e\x73\x29\x3c\x2f\x74\x64\
|
||||
\x3e\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\
|
||||
\x65\x72\x3e\x36\x2e\x39\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\
|
||||
\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x3e\x64\x4e\x20\
|
||||
\x50\x69\x63\x6b\x75\x70\x3c\x2f\x74\x64\x3e\x20\x3c\x74\x64\x20\
|
||||
\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\x72\x3e\x34\x3c\x2f\
|
||||
\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\
|
||||
\x3e\x3c\x74\x64\x3e\x4d\x6f\x64\x2e\x20\x46\x72\x65\x71\x2e\x20\
|
||||
\x28\x47\x48\x7a\x29\x20\x26\x6e\x62\x73\x70\x3b\x3c\x2f\x74\x64\
|
||||
\x3e\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\
|
||||
\x65\x72\x3e\x35\x30\x30\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\
|
||||
\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x3e\x44\x75\x74\
|
||||
\x79\x20\x43\x79\x63\x6c\x65\x20\x28\x25\x29\x3c\x2f\x74\x64\x3e\
|
||||
\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\
|
||||
\x72\x3e\x31\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x09\x3c\
|
||||
\x2f\x74\x61\x62\x6c\x65\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x2f\
|
||||
\x74\x64\x3e\x0a\x20\x20\x20\x20\x3c\x2f\x74\x72\x3e\x0a\x20\x20\
|
||||
\x20\x20\x3c\x2f\x74\x61\x62\x6c\x65\x3e\x0a\x20\x0a\x20\x20\x0a\
|
||||
\x20\x20\x3c\x68\x33\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\
|
||||
\x6f\x72\x3a\x23\x37\x62\x36\x38\x65\x65\x3b\x22\x3e\x45\x78\x70\
|
||||
\x65\x72\x74\x20\x50\x61\x6e\x65\x6c\x3c\x2f\x68\x33\x3e\x0a\x49\
|
||||
\x6e\x70\x75\x74\x20\x70\x61\x72\x61\x6d\x65\x74\x65\x72\x73\x20\
|
||||
\x74\x6f\x20\x74\x68\x65\x20\x70\x65\x61\x6b\x20\x73\x65\x61\x72\
|
||||
\x63\x68\x20\x61\x6e\x61\x6c\x79\x73\x69\x73\x2c\x20\x61\x73\x20\
|
||||
\x63\x6f\x6e\x66\x69\x67\x75\x72\x65\x64\x20\x69\x6e\x20\x74\x69\
|
||||
\x6e\x61\x2e\x6a\x73\x6f\x6e\x2e\x3c\x62\x72\x3e\x0a\x20\x20\x0a\
|
||||
\x54\x68\x65\x20\x49\x6e\x6a\x65\x63\x74\x6f\x72\x20\x68\x61\x73\
|
||||
\x20\x4e\x4f\x54\x20\x79\x65\x74\x20\x62\x65\x65\x6e\x20\x69\x6d\
|
||||
\x70\x6c\x65\x6d\x65\x6e\x74\x65\x64\x20\x69\x6e\x74\x6f\x20\x74\
|
||||
\x68\x65\x20\x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x2e\x0a\
|
||||
\x3c\x70\x3e\x20\x20\x0a\x20\x3c\x74\x61\x62\x6c\x65\x20\x77\x69\
|
||||
\x64\x74\x68\x3d\x31\x34\x30\x30\x70\x78\x3e\x0a\x20\x20\x20\x20\
|
||||
\x3c\x74\x72\x3e\x20\x3c\x74\x64\x3e\x0a\x09\x3c\x74\x61\x62\x6c\
|
||||
\x65\x20\x77\x69\x64\x74\x68\x3d\x31\x30\x30\x30\x70\x78\x3e\x0a\
|
||||
\x09\x20\x20\x3c\x21\x2d\x2d\x63\x61\x70\x74\x69\x6f\x6e\x3e\x0a\
|
||||
\x09\x20\x20\x20\x20\x3c\x68\x34\x20\x73\x74\x79\x6c\x65\x3d\x22\
|
||||
\x63\x6f\x6c\x6f\x72\x3a\x23\x30\x30\x34\x37\x61\x62\x3b\x22\x3e\
|
||||
\x43\x79\x63\x6c\x6f\x74\x72\x6f\x6e\x3c\x2f\x68\x34\x3e\x0a\x09\
|
||||
\x20\x20\x20\x20\x3c\x2f\x63\x61\x70\x74\x69\x6f\x6e\x2d\x2d\x3e\
|
||||
\x0a\x20\x20\x3c\x74\x68\x65\x61\x64\x3e\x0a\x20\x20\x20\x20\x3c\
|
||||
\x74\x72\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x74\x68\x20\x61\x6c\
|
||||
\x69\x67\x6e\x3d\x6c\x65\x66\x74\x3e\x50\x61\x72\x61\x6d\x65\x74\
|
||||
\x65\x72\x3c\x2f\x74\x68\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x74\
|
||||
\x68\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\x72\x20\x20\
|
||||
\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x23\x30\x30\
|
||||
\x34\x37\x61\x62\x3b\x22\x3e\x43\x79\x63\x6c\x6f\x74\x72\x6f\x6e\
|
||||
\x3c\x2f\x74\x68\x3e\x0a\x20\x20\x20\x20\x3c\x2f\x74\x72\x3e\x0a\
|
||||
\x20\x20\x3c\x2f\x74\x68\x65\x61\x64\x3e\x0a\x20\x20\x20\x20\x3c\
|
||||
\x74\x72\x3e\x3c\x74\x64\x3e\x4d\x69\x6e\x69\x6d\x75\x6d\x20\x50\
|
||||
\x65\x61\x6b\x20\x48\x65\x69\x67\x68\x74\x3a\x3c\x2f\x74\x64\x3e\
|
||||
\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\
|
||||
\x72\x3e\x35\x30\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x20\
|
||||
\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x3e\x4d\x69\x6e\x69\x6d\
|
||||
\x75\x6d\x20\x64\x69\x73\x74\x61\x6e\x63\x65\x20\x62\x65\x74\x77\
|
||||
\x65\x65\x6e\x20\x70\x65\x61\x6b\x73\x3a\x3c\x2f\x74\x64\x3e\x20\
|
||||
\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\x72\
|
||||
\x3e\x31\x30\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x3c\x74\
|
||||
\x72\x3e\x3c\x74\x64\x20\x77\x69\x64\x74\x68\x3d\x38\x30\x25\x3e\
|
||||
\x4d\x69\x6e\x69\x6d\x69\x6d\x20\x64\x69\x66\x66\x65\x72\x65\x6e\
|
||||
\x63\x65\x20\x69\x6e\x20\x63\x6f\x72\x72\x65\x6c\x61\x74\x69\x6f\
|
||||
\x6e\x20\x62\x65\x74\x77\x65\x65\x6e\x20\x74\x6f\x70\x20\x74\x77\
|
||||
\x6f\x20\x70\x65\x61\x6b\x73\x3a\x3c\x2f\x74\x64\x3e\x20\x3c\x74\
|
||||
\x64\x20\x76\x61\x6c\x69\x67\x6e\x3d\x62\x6f\x74\x74\x6f\x6d\x20\
|
||||
\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\x72\x3e\x30\x2e\x30\
|
||||
\x31\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x3c\x74\x72\x3e\
|
||||
\x0a\x3c\x74\x64\x3e\x4d\x69\x6e\x69\x6d\x75\x6d\x20\x43\x75\x72\
|
||||
\x72\x65\x6e\x74\x20\x69\x6e\x20\x49\x6e\x6a\x65\x63\x74\x6f\x72\
|
||||
\x3a\x3c\x2f\x74\x64\x3e\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\
|
||||
\x3d\x63\x65\x6e\x74\x65\x72\x3e\x31\x2e\x30\x3c\x2f\x74\x64\x3e\
|
||||
\x0a\x3c\x2f\x74\x72\x3e\x0a\x0a\x09\x3c\x2f\x74\x61\x62\x6c\x65\
|
||||
\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x2f\x74\x64\x3e\x20\x3c\x74\
|
||||
\x64\x20\x77\x69\x64\x74\x68\x3d\x32\x30\x3e\x20\x26\x6e\x62\x73\
|
||||
\x70\x3b\x20\x3c\x2f\x74\x64\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\
|
||||
\x74\x64\x3e\x20\x3c\x74\x61\x62\x6c\x65\x20\x77\x69\x64\x74\x68\
|
||||
\x3d\x32\x30\x30\x70\x78\x3e\x0a\x09\x20\x20\x3c\x21\x2d\x2d\x63\
|
||||
\x61\x70\x74\x69\x6f\x6e\x3e\x0a\x3c\x68\x34\x20\x73\x74\x79\x6c\
|
||||
\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x23\x30\x30\x38\x62\x38\x62\
|
||||
\x3b\x22\x3e\x49\x6e\x6a\x65\x63\x74\x6f\x72\x3c\x2f\x68\x34\x3e\
|
||||
\x0a\x3c\x2f\x63\x61\x70\x74\x69\x6f\x6e\x2d\x2d\x3e\x0a\x20\x20\
|
||||
\x3c\x74\x68\x65\x61\x64\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\
|
||||
\x20\x0a\x20\x20\x20\x20\x20\x20\x3c\x74\x68\x20\x61\x6c\x69\x67\
|
||||
\x6e\x3d\x63\x65\x6e\x74\x65\x72\x20\x73\x74\x79\x6c\x65\x3d\x22\
|
||||
\x63\x6f\x6c\x6f\x72\x3a\x23\x30\x30\x38\x62\x38\x62\x3b\x22\x3e\
|
||||
\x49\x6e\x6a\x65\x63\x74\x6f\x72\x3c\x2f\x74\x68\x3e\x0a\x20\x20\
|
||||
\x20\x20\x3c\x2f\x74\x72\x3e\x0a\x20\x20\x3c\x2f\x74\x68\x65\x61\
|
||||
\x64\x3e\x0a\x20\x0a\x3c\x74\x72\x3e\x3c\x74\x64\x20\x61\x6c\x69\
|
||||
\x67\x6e\x3d\x63\x65\x6e\x74\x65\x72\x3e\x35\x30\x3c\x2f\x74\x64\
|
||||
\x3e\x3c\x2f\x74\x72\x3e\x0a\x3c\x74\x72\x3e\x3c\x74\x64\x20\x61\
|
||||
\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\x72\x3e\x31\x30\x3c\x2f\
|
||||
\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x0a\x3c\x74\x72\x3e\x3c\x74\
|
||||
\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\x72\x3e\x26\
|
||||
\x6e\x62\x73\x70\x3b\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\
|
||||
\x3c\x74\x72\x3e\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\
|
||||
\x6e\x74\x65\x72\x3e\x30\x2e\x30\x31\x3c\x2f\x74\x64\x3e\x3c\x2f\
|
||||
\x74\x72\x3e\x0a\x3c\x74\x72\x3e\x3c\x74\x64\x20\x61\x6c\x69\x67\
|
||||
\x6e\x3d\x63\x65\x6e\x74\x65\x72\x3e\x31\x2e\x30\x3c\x2f\x74\x64\
|
||||
\x3e\x3c\x2f\x74\x72\x3e\x0a\x09\x3c\x2f\x74\x61\x62\x6c\x65\x3e\
|
||||
\x0a\x20\x20\x20\x20\x20\x20\x3c\x2f\x74\x64\x3e\x0a\x20\x20\x20\
|
||||
\x20\x3c\x2f\x74\x72\x3e\x0a\x20\x20\x20\x20\x3c\x2f\x74\x61\x62\
|
||||
\x6c\x65\x3e\x0a\x3c\x70\x3e\x0a\x20\x20\x54\x68\x65\x20\x4f\x73\
|
||||
\x63\x69\x6c\x6c\x6f\x73\x63\x6f\x70\x65\x20\x6f\x70\x74\x69\x6f\
|
||||
\x6e\x20\x64\x69\x73\x61\x62\x6c\x65\x73\x20\x73\x65\x74\x74\x69\
|
||||
\x6e\x67\x20\x76\x61\x6c\x75\x65\x73\x20\x74\x6f\x20\x65\x70\x69\
|
||||
\x63\x73\x20\x70\x72\x6f\x63\x65\x73\x73\x20\x76\x61\x72\x69\x61\
|
||||
\x62\x6c\x65\x73\x20\x61\x6e\x64\x20\x69\x73\x20\x6d\x65\x61\x6e\
|
||||
\x74\x20\x66\x6f\x72\x20\x74\x65\x73\x74\x69\x6e\x67\x20\x63\x6f\
|
||||
\x64\x65\x20\x77\x69\x74\x68\x20\x72\x61\x77\x20\x64\x61\x74\x61\
|
||||
\x20\x63\x6f\x6c\x6c\x65\x63\x74\x65\x64\x20\x66\x72\x6f\x6d\x20\
|
||||
\x74\x68\x65\x20\x6f\x73\x63\x69\x6c\x6c\x6f\x73\x63\x6f\x70\x65\
|
||||
\x20\x61\x6e\x64\x20\x73\x74\x6f\x72\x65\x64\x20\x69\x6e\x20\x68\
|
||||
\x64\x66\x35\x20\x66\x69\x6c\x65\x73\x3a\x20\x3c\x62\x72\x3e\x20\
|
||||
\x20\x0a\x20\x20\x2f\x68\x69\x70\x61\x2f\x62\x64\x2f\x64\x61\x74\
|
||||
\x61\x2f\x6d\x65\x61\x73\x75\x72\x65\x6d\x65\x6e\x74\x73\x2f\x54\
|
||||
\x69\x6e\x61\x5f\x32\x30\x32\x34\x2d\x30\x39\x2d\x31\x38\x5f\x6f\
|
||||
\x73\x63\x69\x6c\x6c\x6f\x73\x63\x6f\x70\x65\x2e\x68\x35\x0a\x3c\
|
||||
\x70\x3e\x0a\x20\x3c\x68\x34\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\
|
||||
\x6f\x6c\x6f\x72\x3a\x23\x37\x62\x36\x38\x65\x65\x3b\x22\x3e\x50\
|
||||
\x72\x6f\x63\x65\x64\x75\x72\x65\x3c\x2f\x68\x34\x3e\x0a\x57\x69\
|
||||
\x74\x68\x69\x6e\x20\x74\x68\x65\x20\x50\x72\x6f\x63\x65\x64\x75\
|
||||
\x72\x65\x20\x67\x72\x6f\x75\x70\x2c\x20\x74\x68\x65\x20\x53\x74\
|
||||
\x61\x72\x74\x20\x62\x75\x74\x74\x6f\x6e\x20\x65\x78\x65\x63\x75\
|
||||
\x74\x65\x73\x20\x74\x68\x65\x20\x61\x6e\x61\x6c\x79\x73\x69\x73\
|
||||
\x20\x70\x72\x6f\x67\x72\x61\x6d\x0a\x77\x68\x69\x63\x68\x20\x75\
|
||||
\x73\x75\x61\x6c\x6c\x79\x20\x74\x61\x6b\x65\x73\x20\x6c\x65\x73\
|
||||
\x73\x20\x74\x68\x61\x6e\x20\x31\x30\x20\x73\x65\x63\x6f\x6e\x64\
|
||||
\x73\x20\x74\x6f\x20\x63\x6f\x6d\x70\x6c\x65\x74\x65\x2e\x20\x33\
|
||||
\x27\x30\x31\x30\x27\x35\x36\x30\x20\x73\x61\x6d\x70\x6c\x65\x73\
|
||||
\x20\x61\x72\x65\x0a\x63\x6f\x6c\x6c\x65\x63\x74\x65\x64\x20\x70\
|
||||
\x65\x72\x20\x63\x68\x61\x6e\x6e\x65\x6c\x20\x28\x65\x6e\x74\x72\
|
||||
\x79\x20\x77\x66\x2f\x65\x78\x69\x74\x20\x77\x66\x29\x2e\x20\x0a\
|
||||
\x3c\x70\x3e\x0a\x20\x20\x54\x68\x65\x20\x53\x61\x76\x65\x41\x6c\
|
||||
\x6c\x20\x62\x75\x74\x74\x6f\x6e\x3a\x0a\x20\x20\x3c\x75\x6c\x3e\
|
||||
\x0a\x20\x20\x20\x20\x3c\x6c\x69\x3e\x77\x72\x69\x74\x65\x73\x20\
|
||||
\x74\x68\x65\x20\x6e\x75\x6d\x62\x65\x72\x20\x6f\x66\x20\x74\x75\
|
||||
\x72\x6e\x73\x20\x6d\x65\x61\x73\x75\x72\x65\x64\x20\x69\x6e\x74\
|
||||
\x6f\x20\x61\x6e\x20\x65\x70\x69\x63\x73\x20\x70\x72\x6f\x63\x65\
|
||||
\x73\x73\x20\x76\x61\x72\x69\x61\x62\x6c\x65\x2c\x0a\x20\x20\x20\
|
||||
\x20\x3c\x2f\x6c\x69\x3e\x0a\x20\x20\x20\x20\x3c\x6c\x69\x3e\x73\
|
||||
\x61\x76\x65\x20\x74\x68\x65\x20\x72\x61\x77\x20\x64\x61\x74\x61\
|
||||
\x20\x74\x6f\x20\x68\x64\x66\x35\x2c\x0a\x20\x20\x20\x20\x3c\x2f\
|
||||
\x6c\x69\x3e\x0a\x20\x20\x20\x20\x3c\x6c\x69\x3e\x6f\x70\x65\x6e\
|
||||
\x73\x20\x61\x20\x64\x69\x61\x6c\x6f\x67\x20\x77\x69\x6e\x64\x6f\
|
||||
\x77\x20\x66\x6f\x72\x20\x73\x75\x62\x6d\x69\x73\x73\x69\x6f\x6e\
|
||||
\x20\x74\x6f\x20\x74\x68\x65\x20\x73\x65\x6c\x65\x63\x74\x65\x64\
|
||||
\x20\x65\x6c\x6f\x67\x20\x62\x6f\x6f\x6b\x2e\x20\x0a\x20\x20\x20\
|
||||
\x20\x20\x20\x3c\x2f\x6c\x69\x3e\x0a\x20\x20\x3c\x2f\x75\x6c\x3e\
|
||||
\x0a\x20\x20\x54\x68\x65\x73\x65\x20\x61\x63\x74\x69\x6f\x6e\x73\
|
||||
\x20\x63\x61\x6e\x20\x61\x6c\x73\x6f\x20\x62\x65\x20\x65\x78\x65\
|
||||
\x63\x75\x74\x65\x64\x20\x69\x6e\x64\x69\x76\x69\x64\x75\x61\x6c\
|
||||
\x6c\x79\x20\x74\x68\x72\x6f\x75\x67\x68\x20\x69\x63\x6f\x6e\x73\
|
||||
\x20\x70\x6c\x61\x63\x65\x64\x20\x69\x6e\x20\x74\x68\x65\x20\x6d\
|
||||
\x65\x6e\x75\x20\x62\x61\x72\x2e\x0a\x3c\x70\x3e\x0a\x20\x20\x3c\
|
||||
\x66\x6f\x6e\x74\x20\x63\x6f\x6c\x6f\x72\x3d\x67\x72\x65\x65\x6e\
|
||||
\x3e\x0a\x20\x20\x44\x61\x74\x61\x20\x63\x61\x6e\x20\x62\x65\x20\
|
||||
\x72\x65\x63\x61\x6c\x6c\x65\x64\x20\x66\x72\x6f\x6d\x20\x68\x64\
|
||||
\x66\x35\x20\x61\x6e\x64\x20\x72\x65\x61\x6e\x61\x6c\x79\x7a\x65\
|
||||
\x64\x20\x75\x73\x69\x6e\x67\x20\x74\x68\x65\x20\x48\x44\x46\x20\
|
||||
\x61\x6e\x61\x6c\x79\x73\x69\x73\x20\x66\x75\x6e\x63\x74\x69\x6f\
|
||||
\x6e\x61\x6c\x69\x74\x79\x0a\x20\x20\x6d\x61\x64\x65\x20\x61\x76\
|
||||
\x61\x69\x6c\x61\x62\x6c\x65\x20\x74\x68\x72\x6f\x75\x67\x68\x20\
|
||||
\x61\x20\x64\x6f\x63\x6b\x65\x64\x20\x77\x69\x64\x67\x65\x74\x20\
|
||||
\x69\x6e\x20\x74\x68\x65\x20\x6d\x65\x6e\x75\x20\x62\x61\x72\x20\
|
||||
\x28\x72\x69\x67\x68\x74\x20\x63\x6c\x69\x63\x6b\x20\x6f\x6e\x20\
|
||||
\x74\x68\x65\x20\x6d\x65\x6e\x75\x20\x62\x61\x72\x0a\x20\x20\x61\
|
||||
\x6e\x64\x20\x73\x65\x6c\x65\x63\x74\x20\x74\x68\x65\x20\x48\x44\
|
||||
\x46\x35\x20\x6f\x70\x74\x69\x6f\x6e\x29\x2e\x0a\x20\x20\x3c\x2f\
|
||||
\x66\x6f\x6e\x74\x3e\x0a\x0a\x20\x20\x0a\x20\x20\x20\x3c\x68\x33\
|
||||
\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x23\x37\
|
||||
\x62\x36\x38\x65\x65\x3b\x22\x3e\x54\x49\x4e\x41\x20\x49\x6d\x61\
|
||||
\x67\x65\x3c\x2f\x68\x33\x3e\x0a\x20\x20\x20\x3c\x74\x61\x62\x6c\
|
||||
\x65\x3e\x0a\x20\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x3e\
|
||||
\x0a\x20\x20\x20\x3c\x69\x6d\x67\x20\x73\x72\x63\x3d\x22\x3a\x54\
|
||||
\x69\x6e\x61\x2e\x6a\x70\x67\x22\x20\x77\x69\x64\x74\x68\x3d\x39\
|
||||
\x30\x20\x68\x65\x69\x67\x68\x74\x3d\x39\x30\x2f\x3e\x20\x26\x6e\
|
||||
\x62\x73\x70\x3b\x20\x3c\x2f\x74\x64\x3e\x3c\x74\x64\x3e\x0a\x20\
|
||||
\x20\x20\x54\x69\x6e\x61\x20\x54\x75\x72\x6e\x65\x72\x3c\x2f\x74\
|
||||
\x64\x3e\x0a\x20\x20\x20\x3c\x2f\x74\x61\x62\x6c\x65\x3e\x0a\x3c\
|
||||
\x70\x3e\x0a\x3c\x2f\x70\x3e\x0a\x20\x20\x0a\x3c\x2f\x62\x6f\x64\
|
||||
\x79\x3e\x3c\x2f\x68\x74\x6d\x6c\x3e\x0a\
|
||||
\x00\x00\x15\xad\
|
||||
\xff\
|
||||
\xd8\xff\xe0\x00\x10\x4a\x46\x49\x46\x00\x01\x01\x00\x00\x01\x00\
|
||||
@@ -358,45 +745,16 @@ qt_resource_data = b"\
|
||||
\xfb\xfc\x44\x1d\x14\xe7\x0f\x15\x4f\x1b\x10\x93\x79\xdc\x62\xb1\
|
||||
\x2b\x03\x09\x82\xd2\xa9\x73\xad\x8f\x92\xd8\xc0\x90\xee\xb1\xdf\
|
||||
\xb1\xd9\x53\x50\xd0\xde\x4b\x2f\xff\x00\xff\xd9\
|
||||
\x00\x00\x00\xa7\
|
||||
\x00\x00\x00\x80\
|
||||
\x3c\
|
||||
\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
|
||||
\x65\x3e\x57\x65\x62\x20\x48\x65\x6c\x70\x3c\x2f\x74\x69\x74\x6c\
|
||||
\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\x3e\
|
||||
\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x50\x61\x67\x65\x20\x32\x20\x6f\
|
||||
\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x50\x61\x67\x65\x20\x35\x20\x6f\
|
||||
\x66\x20\x77\x65\x62\x20\x68\x65\x6c\x70\x3c\x2f\x62\x3e\x3c\x2f\
|
||||
\x70\x3e\x0a\x3c\x70\x3e\x20\x20\x3c\x61\x20\x68\x72\x65\x66\x3d\
|
||||
\x22\x70\x61\x67\x65\x33\x2e\x68\x74\x6d\x6c\x22\x3e\x20\x4e\x65\
|
||||
\x78\x74\x3c\x2f\x61\x3e\x3c\x2f\x70\x3e\x0a\x3c\x70\x3e\x3c\x62\
|
||||
\x3e\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\
|
||||
\x2e\x2e\x3c\x2f\x70\x3e\x0a\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\
|
||||
\x68\x74\x6d\x6c\x3e\x0a\
|
||||
\x00\x00\x00\xa7\
|
||||
\x3c\
|
||||
\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
|
||||
\x65\x3e\x57\x65\x62\x20\x48\x65\x6c\x70\x3c\x2f\x74\x69\x74\x6c\
|
||||
\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\x3e\
|
||||
\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x50\x61\x67\x65\x20\x33\x20\x6f\
|
||||
\x66\x20\x77\x65\x62\x20\x68\x65\x6c\x70\x3c\x2f\x62\x3e\x3c\x2f\
|
||||
\x70\x3e\x0a\x3c\x70\x3e\x20\x20\x3c\x61\x20\x68\x72\x65\x66\x3d\
|
||||
\x22\x70\x61\x67\x65\x34\x2e\x68\x74\x6d\x6c\x22\x3e\x20\x4e\x65\
|
||||
\x78\x74\x3c\x2f\x61\x3e\x3c\x2f\x70\x3e\x0a\x3c\x70\x3e\x3c\x62\
|
||||
\x3e\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\
|
||||
\x2e\x2e\x3c\x2f\x70\x3e\x0a\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\
|
||||
\x68\x74\x6d\x6c\x3e\x0a\
|
||||
\x00\x00\x00\xa7\
|
||||
\x3c\
|
||||
\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
|
||||
\x65\x3e\x57\x65\x62\x20\x48\x65\x6c\x70\x3c\x2f\x74\x69\x74\x6c\
|
||||
\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\x3e\
|
||||
\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x50\x61\x67\x65\x20\x31\x20\x6f\
|
||||
\x66\x20\x77\x65\x62\x20\x68\x65\x6c\x70\x3c\x2f\x62\x3e\x3c\x2f\
|
||||
\x70\x3e\x0a\x3c\x70\x3e\x20\x20\x3c\x61\x20\x68\x72\x65\x66\x3d\
|
||||
\x22\x70\x61\x67\x65\x32\x2e\x68\x74\x6d\x6c\x22\x3e\x20\x4e\x65\
|
||||
\x78\x74\x3c\x2f\x61\x3e\x3c\x2f\x70\x3e\x0a\x3c\x70\x3e\x3c\x62\
|
||||
\x3e\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\
|
||||
\x2e\x2e\x3c\x2f\x70\x3e\x0a\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\
|
||||
\x68\x74\x6d\x6c\x3e\x0a\
|
||||
\x70\x3e\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x65\x74\x63\x2e\x2e\x2e\
|
||||
\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x70\x3e\x0a\
|
||||
\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\x68\x74\x6d\x6c\x3e\x0a\
|
||||
\x00\x00\x00\xa7\
|
||||
\x3c\
|
||||
\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
|
||||
@@ -410,339 +768,80 @@ qt_resource_data = b"\
|
||||
\x3e\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\
|
||||
\x2e\x2e\x3c\x2f\x70\x3e\x0a\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\
|
||||
\x68\x74\x6d\x6c\x3e\x0a\
|
||||
\x00\x00\x10\x3f\
|
||||
\x3c\
|
||||
\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
|
||||
\x65\x3e\x54\x69\x6d\x65\x20\x6f\x66\x20\x46\x6c\x69\x67\x68\x74\
|
||||
\x20\x4d\x65\x61\x73\x75\x65\x6d\x65\x6e\x74\x20\x66\x6f\x72\x20\
|
||||
\x49\x6e\x6a\x65\x63\x74\x6f\x72\x20\x61\x6e\x64\x20\x52\x69\x6e\
|
||||
\x67\x20\x43\x79\x63\x6c\x6f\x74\x72\x6f\x6e\x20\x54\x75\x72\x6e\
|
||||
\x20\x4e\x75\x6d\x62\x65\x72\x20\x41\x73\x63\x65\x72\x74\x61\x69\
|
||||
\x6e\x6d\x65\x6e\x74\x2c\x20\x54\x49\x4e\x41\x3c\x2f\x74\x69\x74\
|
||||
\x6c\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\
|
||||
\x3e\x0a\x0a\x3c\x68\x35\x20\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\
|
||||
\x6f\x6c\x6f\x72\x3a\x67\x72\x61\x79\x3b\x22\x3e\x4a\x75\x6e\x65\
|
||||
\x20\x32\x30\x32\x34\x2c\x20\x4a\x61\x6e\x20\x43\x68\x72\x69\x6e\
|
||||
\x2c\x20\x50\x69\x65\x72\x72\x65\x2d\x41\x6e\x64\x72\x26\x65\x61\
|
||||
\x63\x75\x74\x65\x3b\x20\x44\x75\x70\x65\x72\x72\x65\x78\x2c\x20\
|
||||
\x41\x6c\x65\x73\x73\x61\x6e\x64\x72\x6f\x20\x46\x61\x63\x63\x68\
|
||||
\x65\x74\x74\x69\x2c\x20\x20\x57\x61\x6c\x64\x61\x6d\x61\x72\x20\
|
||||
\x4b\x6f\x70\x72\x65\x6b\x3c\x2f\x68\x35\x3e\x0a\x3c\x68\x34\x3e\
|
||||
\x20\x3c\x73\x70\x61\x6e\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\
|
||||
\x6c\x6f\x72\x3a\x20\x72\x65\x64\x3b\x22\x3e\x54\x3c\x2f\x73\x70\
|
||||
\x61\x6e\x3e\x69\x6d\x65\x20\x6f\x66\x20\x46\x6c\x69\x67\x68\x74\
|
||||
\x20\x4d\x65\x61\x73\x75\x72\x65\x6d\x65\x6e\x74\x20\x66\x6f\x72\
|
||||
\x20\x3c\x73\x70\x61\x6e\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\
|
||||
\x6c\x6f\x72\x3a\x20\x72\x65\x64\x3b\x22\x3e\x49\x3c\x2f\x73\x70\
|
||||
\x61\x6e\x3e\x6e\x6a\x65\x63\x74\x6f\x72\x20\x61\x6e\x64\x20\x52\
|
||||
\x69\x6e\x67\x20\x43\x79\x63\x6c\x6f\x74\x72\x6f\x6e\x20\x54\x75\
|
||||
\x72\x6e\x20\x3c\x73\x70\x61\x6e\x20\x73\x74\x79\x6c\x65\x3d\x22\
|
||||
\x63\x6f\x6c\x6f\x72\x3a\x20\x72\x65\x64\x3b\x22\x3e\x4e\x3c\x2f\
|
||||
\x73\x70\x61\x6e\x3e\x75\x6d\x62\x65\x72\x20\x3c\x73\x70\x61\x6e\
|
||||
\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x20\x72\
|
||||
\x65\x64\x3b\x22\x3e\x41\x3c\x2f\x73\x70\x61\x6e\x3e\x73\x63\x65\
|
||||
\x72\x74\x61\x69\x6e\x6d\x65\x6e\x74\x2c\x20\x3c\x73\x70\x61\x6e\
|
||||
\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x20\x72\
|
||||
\x65\x64\x3b\x22\x3e\x54\x49\x4e\x41\x3c\x2f\x73\x70\x61\x6e\x3e\
|
||||
\x3c\x2f\x68\x34\x3e\x0a\x3c\x68\x32\x20\x73\x74\x79\x6c\x65\x3d\
|
||||
\x22\x63\x6f\x6c\x6f\x72\x3a\x62\x6c\x75\x65\x3b\x22\x3e\x41\x62\
|
||||
\x6f\x75\x74\x3c\x2f\x68\x32\x3e\x0a\x0a\x0a\x3c\x70\x3e\x54\x68\
|
||||
\x65\x20\x54\x49\x4e\x41\x20\x61\x70\x70\x6c\x69\x63\x61\x74\x69\
|
||||
\x6f\x6e\x20\x64\x65\x74\x65\x72\x6d\x69\x6e\x65\x73\x20\x74\x68\
|
||||
\x65\x20\x6e\x75\x6d\x62\x65\x72\x20\x6f\x66\x20\x74\x75\x72\x6e\
|
||||
\x73\x20\x69\x6e\x20\x61\x20\x63\x79\x63\x6c\x6f\x74\x72\x6f\x6e\
|
||||
\x0a\x66\x72\x6f\x6d\x20\x61\x20\x54\x69\x6d\x65\x20\x6f\x66\x20\
|
||||
\x46\x6c\x69\x67\x68\x74\x20\x28\x54\x4f\x46\x29\x20\x6d\x65\x61\
|
||||
\x73\x75\x72\x65\x6d\x65\x6e\x74\x20\x74\x65\x63\x68\x6e\x69\x71\
|
||||
\x75\x65\x20\x61\x6e\x64\x20\x61\x20\x63\x72\x6f\x73\x73\x2d\x63\
|
||||
\x6f\x72\x72\x65\x6c\x61\x74\x69\x6f\x6e\x0a\x6f\x66\x20\x66\x61\
|
||||
\x73\x74\x20\x73\x61\x6d\x70\x6c\x65\x64\x20\x64\x61\x74\x61\x20\
|
||||
\x66\x72\x6f\x6d\x20\x63\x61\x70\x61\x63\x69\x74\x69\x76\x65\x20\
|
||||
\x73\x65\x6e\x73\x6f\x72\x73\x20\x6c\x6f\x63\x61\x74\x65\x64\x20\
|
||||
\x61\x74\x20\x74\x68\x65\x20\x65\x6e\x74\x72\x61\x6e\x63\x65\x20\
|
||||
\x61\x6e\x64\x20\x65\x78\x69\x74\x0a\x6f\x66\x20\x74\x68\x65\x20\
|
||||
\x63\x79\x63\x6f\x6c\x6f\x74\x72\x6f\x6e\x2e\x20\x54\x68\x69\x73\
|
||||
\x20\x69\x73\x20\x62\x61\x73\x65\x64\x20\x6f\x6e\x20\x61\x20\x70\
|
||||
\x79\x74\x68\x6f\x6e\x20\x69\x6d\x70\x6c\x65\x6d\x65\x6e\x74\x61\
|
||||
\x74\x69\x6f\x6e\x20\x6f\x66\x20\x61\x20\x4c\x61\x62\x56\x49\x45\
|
||||
\x57\x20\x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x20\x64\x65\
|
||||
\x76\x65\x6c\x6f\x70\x65\x64\x20\x62\x79\x0a\x50\x69\x65\x72\x72\
|
||||
\x65\x2d\x41\x6e\x64\x72\x26\x65\x61\x63\x75\x74\x65\x3b\x20\x44\
|
||||
\x75\x70\x65\x72\x72\x65\x78\x3a\x20\x20\x3c\x62\x72\x3e\x0a\x50\
|
||||
\x2e\x2d\x41\x2e\x20\x44\x75\x70\x65\x72\x72\x65\x78\x20\x61\x6e\
|
||||
\x64\x20\x41\x2e\x20\x46\x61\x63\x63\x68\x65\x74\x74\x69\x2c\x20\
|
||||
\x0a\x4e\x75\x6d\x62\x65\x72\x20\x6f\x66\x20\x54\x75\x72\x6e\x20\
|
||||
\x4d\x65\x61\x73\x75\x72\x65\x6d\x65\x6e\x74\x73\x20\x6f\x6e\x20\
|
||||
\x74\x68\x65\x20\x48\x49\x50\x41\x20\x43\x79\x63\x6c\x6f\x74\x72\
|
||||
\x6f\x6e\x73\x20\x61\x74\x20\x50\x53\x49\x2e\x3c\x62\x72\x3e\x0a\
|
||||
\x64\x6f\x69\x3a\x31\x30\x2e\x31\x38\x34\x32\x39\x2f\x4a\x41\x43\
|
||||
\x6f\x57\x2d\x49\x50\x41\x43\x32\x30\x31\x38\x2d\x57\x45\x50\x41\
|
||||
\x4c\x30\x36\x37\x20\x0a\x0a\x20\x20\x0a\x20\x20\x3c\x2f\x70\x3e\
|
||||
\x0a\x3c\x21\x2d\x2d\x61\x20\x68\x72\x65\x66\x3d\x22\x70\x61\x67\
|
||||
\x65\x31\x2e\x68\x74\x6d\x6c\x22\x3e\x68\x65\x72\x65\x3c\x2f\x61\
|
||||
\x3e\x3c\x2f\x70\x2d\x2d\x3e\x0a\x0a\x3c\x68\x32\x20\x73\x74\x79\
|
||||
\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x62\x6c\x75\x65\x3b\x22\
|
||||
\x3e\x54\x68\x65\x20\x52\x65\x70\x6f\x73\x69\x74\x6f\x72\x79\x3c\
|
||||
\x2f\x68\x32\x3e\x0a\x0a\x3c\x70\x3e\x54\x68\x65\x20\x61\x70\x70\
|
||||
\x6c\x69\x63\x61\x74\x69\x6f\x6e\x20\x63\x6f\x6d\x70\x72\x69\x73\
|
||||
\x65\x73\x20\x74\x77\x6f\x20\x63\x6f\x6d\x70\x6f\x6e\x65\x6e\x74\
|
||||
\x73\x3a\x0a\x20\x20\x3c\x75\x6c\x3e\x0a\x3c\x6c\x69\x3e\x0a\x20\
|
||||
\x20\x54\x68\x65\x20\x6c\x6f\x77\x2d\x6c\x65\x76\x65\x6c\x20\x41\
|
||||
\x44\x43\x20\x64\x61\x74\x61\x20\x61\x63\x71\x75\x69\x73\x69\x74\
|
||||
\x69\x6f\x6e\x20\x73\x79\x73\x74\x65\x6d\x2e\x3c\x62\x72\x3e\x0a\
|
||||
\x20\x20\x3c\x73\x70\x61\x6e\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\
|
||||
\x6f\x6c\x6f\x72\x3a\x20\x67\x72\x65\x65\x6e\x3b\x22\x3e\x68\x74\
|
||||
\x74\x70\x73\x3a\x2f\x2f\x67\x69\x74\x2e\x70\x73\x69\x2e\x63\x68\
|
||||
\x2f\x65\x70\x69\x63\x73\x5f\x69\x6f\x63\x62\x6f\x6f\x74\x5f\x68\
|
||||
\x69\x70\x61\x2f\x2e\x2e\x20\x74\x6f\x20\x62\x65\x20\x63\x6f\x6d\
|
||||
\x70\x6c\x65\x74\x65\x64\x3c\x2f\x73\x70\x61\x6e\x3e\x3c\x62\x72\
|
||||
\x3e\x0a\x20\x0a\x20\x3c\x2f\x6c\x69\x3e\x0a\x20\x20\x3c\x6c\x69\
|
||||
\x3e\x0a\x20\x20\x20\x20\x41\x20\x48\x69\x67\x68\x20\x4c\x65\x76\
|
||||
\x65\x6c\x20\x41\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x20\x28\
|
||||
\x48\x4c\x41\x29\x20\x74\x68\x61\x74\x20\x69\x73\x20\x61\x62\x6c\
|
||||
\x65\x20\x74\x6f\x20\x69\x6e\x74\x65\x72\x61\x63\x74\x20\x77\x69\
|
||||
\x74\x68\x20\x74\x68\x65\x20\x49\x4f\x43\x2c\x20\x73\x74\x61\x72\
|
||||
\x74\x20\x61\x20\x6c\x6f\x77\x2d\x6c\x65\x76\x65\x6c\x20\x64\x61\
|
||||
\x74\x61\x20\x61\x63\x71\x75\x69\x73\x74\x69\x6f\x6e\x20\x72\x75\
|
||||
\x6e\x2c\x0a\x20\x20\x20\x20\x61\x63\x71\x75\x69\x72\x65\x20\x74\
|
||||
\x68\x65\x20\x72\x61\x77\x20\x64\x61\x74\x61\x2c\x20\x61\x6e\x64\
|
||||
\x20\x70\x65\x72\x66\x6f\x72\x6d\x20\x74\x68\x65\x20\x6e\x75\x6d\
|
||||
\x62\x65\x72\x20\x6f\x66\x20\x74\x65\x72\x6d\x73\x20\x61\x6e\x61\
|
||||
\x6c\x79\x73\x69\x73\x2e\x3c\x62\x72\x3e\x0a\x20\x20\x20\x20\x3c\
|
||||
\x73\x70\x61\x6e\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\
|
||||
\x72\x3a\x20\x67\x72\x65\x65\x6e\x3b\x22\x3e\x20\x68\x74\x74\x70\
|
||||
\x73\x3a\x2f\x2f\x67\x69\x74\x6c\x61\x62\x2e\x70\x73\x69\x2e\x63\
|
||||
\x68\x2f\x68\x69\x70\x61\x5f\x61\x70\x70\x73\x34\x6f\x70\x73\x2f\
|
||||
\x74\x69\x6e\x61\x3c\x2f\x73\x70\x61\x6e\x3e\x3c\x62\x72\x3e\x0a\
|
||||
\x20\x20\x20\x20\x3c\x73\x70\x61\x6e\x20\x73\x74\x79\x6c\x65\x3d\
|
||||
\x22\x63\x6f\x6c\x6f\x72\x3a\x20\x67\x72\x61\x79\x3b\x22\x3e\x20\
|
||||
\x2f\x68\x69\x70\x61\x2f\x62\x64\x2f\x61\x70\x70\x6c\x69\x63\x61\
|
||||
\x74\x69\x6f\x6e\x73\x2f\x74\x69\x6e\x61\x2f\x6c\x61\x74\x65\x73\
|
||||
\x74\x2f\x74\x69\x6e\x61\x2e\x73\x68\x3c\x2f\x73\x70\x61\x6e\x3e\
|
||||
\x0a\x20\x20\x20\x20\x3c\x2f\x6c\x69\x3e\x0a\x3c\x2f\x75\x6c\x3e\
|
||||
\x0a\x20\x20\x3c\x68\x32\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\
|
||||
\x6c\x6f\x72\x3a\x62\x6c\x75\x65\x3b\x22\x3e\x47\x55\x49\x2c\x20\
|
||||
\x43\x6f\x6e\x74\x72\x6f\x6c\x20\x54\x61\x62\x3c\x2f\x68\x32\x3e\
|
||||
\x0a\x20\x20\x4d\x61\x69\x6e\x20\x70\x61\x6e\x65\x6c\x20\x66\x6f\
|
||||
\x72\x20\x75\x73\x65\x20\x62\x79\x20\x6f\x70\x65\x72\x61\x74\x6f\
|
||||
\x72\x73\x2e\x20\x0a\x20\x20\x3c\x68\x33\x20\x73\x74\x79\x6c\x65\
|
||||
\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x23\x37\x62\x36\x38\x65\x65\x3b\
|
||||
\x22\x3e\x4f\x70\x65\x72\x61\x74\x6f\x72\x20\x50\x61\x6e\x65\x6c\
|
||||
\x3c\x2f\x68\x33\x3e\x0a\x20\x20\x49\x6e\x70\x75\x74\x20\x70\x61\
|
||||
\x72\x61\x6d\x65\x74\x65\x72\x73\x20\x74\x6f\x20\x61\x6e\x61\x6c\
|
||||
\x79\x73\x69\x73\x20\x72\x6f\x75\x74\x69\x6e\x65\x2c\x20\x61\x73\
|
||||
\x20\x63\x6f\x6e\x66\x69\x67\x75\x72\x65\x64\x20\x69\x6e\x20\x74\
|
||||
\x69\x6e\x61\x2e\x6a\x73\x6f\x6e\x2e\x3c\x62\x72\x3e\x0a\x20\x20\
|
||||
\x54\x68\x65\x20\x49\x6e\x6a\x65\x63\x74\x6f\x72\x20\x68\x61\x73\
|
||||
\x20\x4e\x4f\x54\x20\x79\x65\x74\x20\x62\x65\x65\x6e\x20\x69\x6d\
|
||||
\x70\x6c\x65\x6d\x65\x6e\x74\x65\x64\x20\x69\x6e\x74\x6f\x20\x74\
|
||||
\x68\x65\x20\x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x2e\x0a\
|
||||
\x20\x20\x3c\x74\x61\x62\x6c\x65\x20\x77\x69\x64\x74\x68\x3d\x34\
|
||||
\x30\x30\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x20\x3c\x74\x64\
|
||||
\x3e\x0a\x09\x3c\x74\x61\x62\x6c\x65\x3e\x0a\x09\x20\x20\x3c\x63\
|
||||
\x61\x70\x74\x69\x6f\x6e\x3e\x0a\x09\x20\x20\x20\x20\x3c\x68\x34\
|
||||
\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x23\x30\
|
||||
\x30\x34\x37\x61\x62\x3b\x22\x3e\x43\x79\x63\x6c\x6f\x74\x72\x6f\
|
||||
\x6e\x3c\x2f\x68\x34\x3e\x0a\x09\x20\x20\x20\x20\x3c\x2f\x63\x61\
|
||||
\x70\x74\x69\x6f\x6e\x3e\x0a\x20\x20\x3c\x74\x68\x65\x61\x64\x3e\
|
||||
\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x0a\x20\x20\x20\x20\x20\x20\
|
||||
\x3c\x74\x68\x20\x61\x6c\x69\x67\x6e\x3d\x6c\x65\x66\x74\x3e\x50\
|
||||
\x61\x72\x61\x6d\x65\x74\x65\x72\x3c\x2f\x74\x68\x3e\x0a\x20\x20\
|
||||
\x20\x20\x20\x20\x3c\x74\x68\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\
|
||||
\x6e\x74\x65\x72\x3e\x56\x61\x6c\x75\x65\x3c\x2f\x74\x68\x3e\x0a\
|
||||
\x20\x20\x20\x20\x3c\x2f\x74\x72\x3e\x0a\x20\x20\x3c\x2f\x74\x68\
|
||||
\x65\x61\x64\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\
|
||||
\x3e\x48\x61\x72\x6d\x6f\x6e\x69\x63\x20\x4e\x6f\x2e\x3c\x2f\x74\
|
||||
\x64\x3e\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\
|
||||
\x74\x65\x72\x3e\x36\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\
|
||||
\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x3e\x64\x54\x20\x43\
|
||||
\x61\x62\x6c\x65\x20\x28\x6e\x73\x29\x3c\x2f\x74\x64\x3e\x20\x3c\
|
||||
\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\x72\x3e\
|
||||
\x34\x34\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x20\x20\x20\
|
||||
\x20\x3c\x74\x72\x3e\x3c\x74\x64\x3e\x64\x4e\x20\x50\x69\x63\x6b\
|
||||
\x75\x70\x3c\x2f\x74\x64\x3e\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\
|
||||
\x6e\x3d\x63\x65\x6e\x74\x65\x72\x3e\x2d\x31\x3c\x2f\x74\x64\x3e\
|
||||
\x3c\x2f\x74\x72\x3e\x0a\x09\x3c\x2f\x74\x61\x62\x6c\x65\x3e\x0a\
|
||||
\x20\x20\x20\x20\x20\x20\x3c\x2f\x74\x64\x3e\x20\x3c\x74\x64\x20\
|
||||
\x77\x69\x64\x74\x68\x3d\x32\x30\x3e\x20\x26\x6e\x62\x73\x70\x3b\
|
||||
\x20\x3c\x2f\x74\x64\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x74\x64\
|
||||
\x3e\x20\x3c\x74\x61\x62\x6c\x65\x3e\x0a\x09\x20\x20\x3c\x63\x61\
|
||||
\x70\x74\x69\x6f\x6e\x3e\x0a\x3c\x68\x34\x20\x73\x74\x79\x6c\x65\
|
||||
\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x23\x30\x30\x38\x62\x38\x62\x3b\
|
||||
\x22\x3e\x49\x6e\x6a\x65\x63\x74\x6f\x72\x3c\x2f\x68\x34\x3e\x0a\
|
||||
\x3c\x2f\x63\x61\x70\x74\x69\x6f\x6e\x3e\x0a\x20\x20\x3c\x74\x68\
|
||||
\x65\x61\x64\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x0a\x20\x20\
|
||||
\x20\x20\x20\x20\x3c\x74\x68\x20\x61\x6c\x69\x67\x6e\x3d\x6c\x65\
|
||||
\x66\x74\x3e\x50\x61\x72\x61\x6d\x65\x74\x65\x72\x3c\x2f\x74\x68\
|
||||
\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x74\x68\x20\x61\x6c\x69\x67\
|
||||
\x6e\x3d\x63\x65\x6e\x74\x65\x72\x3e\x56\x61\x6c\x75\x65\x3c\x2f\
|
||||
\x74\x68\x3e\x0a\x20\x20\x20\x20\x3c\x2f\x74\x72\x3e\x0a\x20\x20\
|
||||
\x3c\x2f\x74\x68\x65\x61\x64\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\
|
||||
\x3e\x3c\x74\x64\x3e\x48\x61\x72\x6d\x6f\x6e\x69\x63\x20\x4e\x6f\
|
||||
\x2e\x3c\x2f\x74\x64\x3e\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\
|
||||
\x3d\x63\x65\x6e\x74\x65\x72\x3e\x31\x30\x3c\x2f\x74\x64\x3e\x3c\
|
||||
\x2f\x74\x72\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\
|
||||
\x3e\x64\x54\x20\x43\x61\x62\x6c\x65\x20\x28\x6e\x73\x29\x3c\x2f\
|
||||
\x74\x64\x3e\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\
|
||||
\x6e\x74\x65\x72\x3e\x36\x2e\x39\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\
|
||||
\x72\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x3e\x64\
|
||||
\x4e\x20\x50\x69\x63\x6b\x75\x70\x3c\x2f\x74\x64\x3e\x20\x3c\x74\
|
||||
\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\x72\x3e\x34\
|
||||
\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x20\x20\x20\x20\x3c\
|
||||
\x74\x72\x3e\x3c\x74\x64\x3e\x4d\x6f\x64\x2e\x20\x46\x72\x65\x71\
|
||||
\x2e\x20\x28\x47\x48\x7a\x29\x20\x26\x6e\x62\x73\x70\x3b\x3c\x2f\
|
||||
\x74\x64\x3e\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\
|
||||
\x6e\x74\x65\x72\x3e\x35\x30\x30\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\
|
||||
\x72\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x3e\x44\
|
||||
\x75\x74\x79\x20\x43\x79\x63\x6c\x65\x20\x28\x25\x29\x3c\x2f\x74\
|
||||
\x64\x3e\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\
|
||||
\x74\x65\x72\x3e\x31\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\
|
||||
\x09\x3c\x2f\x74\x61\x62\x6c\x65\x3e\x0a\x20\x20\x20\x20\x20\x20\
|
||||
\x3c\x2f\x74\x64\x3e\x0a\x20\x20\x20\x20\x3c\x2f\x74\x72\x3e\x0a\
|
||||
\x20\x20\x20\x20\x3c\x2f\x74\x61\x62\x6c\x65\x3e\x0a\x20\x20\x3c\
|
||||
\x70\x3e\x0a\x57\x69\x74\x68\x69\x6e\x20\x74\x68\x65\x20\x50\x72\
|
||||
\x6f\x63\x65\x64\x75\x72\x65\x20\x67\x72\x6f\x75\x70\x2c\x20\x74\
|
||||
\x68\x65\x20\x53\x74\x61\x72\x74\x20\x62\x75\x74\x74\x6f\x6e\x6e\
|
||||
\x20\x65\x78\x65\x63\x75\x74\x65\x73\x20\x74\x68\x65\x20\x61\x6e\
|
||||
\x61\x6c\x79\x73\x69\x73\x20\x70\x72\x6f\x67\x72\x61\x6d\x0a\x77\
|
||||
\x68\x69\x63\x68\x20\x75\x73\x75\x61\x6c\x6c\x79\x20\x74\x61\x6b\
|
||||
\x65\x73\x20\x6c\x65\x73\x73\x20\x74\x68\x61\x6e\x20\x31\x30\x20\
|
||||
\x73\x65\x63\x6f\x6e\x64\x73\x20\x74\x6f\x20\x63\x6f\x6d\x70\x6c\
|
||||
\x65\x74\x65\x2e\x20\x33\x27\x30\x31\x30\x27\x35\x36\x30\x20\x73\
|
||||
\x61\x6d\x70\x6c\x65\x73\x20\x61\x72\x65\x0a\x63\x6f\x6c\x6c\x65\
|
||||
\x63\x74\x65\x64\x20\x70\x65\x72\x20\x63\x68\x61\x6e\x6e\x65\x6c\
|
||||
\x20\x28\x65\x6e\x74\x72\x79\x20\x77\x66\x2f\x65\x78\x69\x74\x20\
|
||||
\x77\x66\x29\x2e\x20\x0a\x3c\x70\x3e\x0a\x20\x20\x54\x68\x65\x20\
|
||||
\x53\x61\x76\x65\x41\x6c\x6c\x20\x62\x75\x74\x74\x6f\x6e\x3a\x0a\
|
||||
\x20\x20\x3c\x75\x6c\x3e\x0a\x20\x20\x20\x20\x3c\x6c\x69\x3e\x77\
|
||||
\x72\x69\x74\x65\x73\x20\x74\x68\x65\x20\x6e\x75\x6d\x62\x65\x72\
|
||||
\x20\x6f\x66\x20\x74\x75\x72\x6e\x73\x20\x6d\x65\x61\x73\x75\x72\
|
||||
\x65\x64\x20\x69\x6e\x74\x6f\x20\x61\x6e\x20\x65\x70\x69\x63\x73\
|
||||
\x20\x70\x72\x6f\x63\x65\x73\x73\x20\x76\x61\x72\x69\x61\x62\x6c\
|
||||
\x65\x2c\x0a\x20\x20\x20\x20\x3c\x2f\x6c\x69\x3e\x0a\x20\x20\x20\
|
||||
\x20\x3c\x6c\x69\x3e\x73\x61\x76\x65\x20\x74\x68\x65\x20\x72\x61\
|
||||
\x77\x20\x64\x61\x74\x61\x20\x74\x6f\x20\x68\x64\x66\x35\x2c\x0a\
|
||||
\x20\x20\x20\x20\x3c\x2f\x6c\x69\x3e\x0a\x20\x20\x20\x20\x3c\x6c\
|
||||
\x69\x3e\x6f\x70\x65\x6e\x73\x20\x61\x20\x64\x69\x61\x6c\x6f\x67\
|
||||
\x20\x77\x69\x6e\x64\x6f\x77\x20\x66\x6f\x72\x20\x73\x75\x62\x6d\
|
||||
\x69\x73\x73\x69\x6f\x6e\x20\x74\x6f\x20\x74\x68\x65\x20\x73\x65\
|
||||
\x6c\x65\x63\x74\x65\x64\x20\x65\x6c\x6f\x67\x20\x62\x6f\x6f\x6b\
|
||||
\x2e\x20\x0a\x20\x20\x20\x20\x20\x20\x3c\x2f\x6c\x69\x3e\x0a\x20\
|
||||
\x20\x3c\x2f\x75\x6c\x3e\x0a\x3c\x70\x3e\x0a\x20\x20\x44\x61\x74\
|
||||
\x61\x20\x63\x61\x6e\x20\x62\x65\x20\x72\x65\x63\x61\x6c\x6c\x65\
|
||||
\x64\x20\x66\x72\x6f\x6d\x20\x68\x64\x66\x35\x20\x61\x6e\x64\x20\
|
||||
\x72\x65\x61\x6e\x61\x6c\x79\x7a\x65\x64\x20\x75\x73\x69\x6e\x67\
|
||||
\x20\x74\x68\x65\x20\x48\x44\x46\x20\x61\x6e\x61\x6c\x79\x73\x69\
|
||||
\x73\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x61\x6c\x69\x74\x79\x0a\
|
||||
\x20\x20\x6d\x61\x64\x65\x20\x61\x76\x61\x69\x6c\x61\x62\x6c\x65\
|
||||
\x20\x74\x68\x72\x6f\x75\x67\x68\x20\x61\x20\x64\x6f\x63\x6b\x65\
|
||||
\x64\x20\x77\x69\x64\x67\x65\x74\x20\x69\x6e\x20\x74\x68\x65\x20\
|
||||
\x6d\x65\x6e\x75\x20\x62\x61\x72\x20\x28\x72\x69\x67\x68\x74\x20\
|
||||
\x63\x6c\x69\x63\x6b\x20\x6f\x6e\x20\x74\x68\x65\x20\x6d\x65\x6e\
|
||||
\x75\x20\x62\x61\x72\x0a\x20\x20\x61\x6e\x64\x20\x73\x65\x6c\x65\
|
||||
\x63\x74\x20\x74\x68\x65\x20\x48\x44\x46\x35\x20\x6f\x70\x74\x69\
|
||||
\x6f\x6e\x29\x2e\x0a\x20\x20\x0a\x20\x20\x3c\x68\x33\x20\x73\x74\
|
||||
\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x23\x37\x62\x36\x38\
|
||||
\x65\x65\x3b\x22\x3e\x45\x78\x70\x65\x72\x74\x20\x50\x61\x6e\x65\
|
||||
\x6c\x3c\x2f\x68\x33\x3e\x0a\x20\x20\x54\x68\x65\x20\x4f\x73\x63\
|
||||
\x69\x6c\x6c\x6f\x73\x63\x6f\x70\x65\x20\x6f\x70\x74\x69\x6f\x6e\
|
||||
\x20\x64\x69\x73\x61\x62\x6c\x65\x73\x20\x73\x65\x74\x74\x69\x6e\
|
||||
\x67\x20\x76\x61\x6c\x75\x65\x73\x20\x74\x6f\x20\x65\x70\x69\x63\
|
||||
\x73\x20\x70\x72\x6f\x63\x65\x73\x73\x20\x76\x61\x72\x69\x61\x62\
|
||||
\x6c\x65\x73\x20\x61\x6e\x64\x20\x69\x73\x20\x6d\x65\x61\x6e\x74\
|
||||
\x20\x66\x6f\x72\x20\x74\x65\x73\x74\x69\x6e\x67\x20\x63\x6f\x64\
|
||||
\x65\x20\x77\x69\x74\x68\x20\x72\x61\x77\x20\x64\x61\x74\x61\x20\
|
||||
\x63\x6f\x6c\x6c\x65\x63\x74\x65\x64\x20\x66\x72\x6f\x6d\x20\x74\
|
||||
\x68\x65\x20\x6f\x73\x63\x69\x6c\x6c\x6f\x73\x63\x6f\x70\x65\x20\
|
||||
\x61\x6e\x64\x20\x73\x74\x6f\x72\x65\x64\x20\x69\x6e\x20\x68\x64\
|
||||
\x66\x35\x20\x66\x69\x6c\x65\x73\x3a\x20\x3c\x62\x72\x3e\x20\x20\
|
||||
\x0a\x20\x20\x2f\x68\x69\x70\x61\x2f\x62\x64\x2f\x64\x61\x74\x61\
|
||||
\x2f\x6d\x65\x61\x73\x75\x72\x65\x6d\x65\x6e\x74\x73\x2f\x54\x69\
|
||||
\x6e\x61\x5f\x32\x30\x32\x34\x2d\x30\x39\x2d\x31\x38\x5f\x6f\x73\
|
||||
\x63\x69\x6c\x6c\x6f\x73\x63\x6f\x70\x65\x2e\x68\x35\x0a\x20\x20\
|
||||
\x20\x3c\x68\x33\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\
|
||||
\x72\x3a\x23\x37\x62\x36\x38\x65\x65\x3b\x22\x3e\x54\x49\x4e\x41\
|
||||
\x20\x49\x6d\x61\x67\x65\x3c\x2f\x68\x33\x3e\x0a\x20\x20\x20\x3c\
|
||||
\x74\x61\x62\x6c\x65\x3e\x0a\x20\x20\x20\x20\x20\x3c\x74\x72\x3e\
|
||||
\x3c\x74\x64\x3e\x0a\x20\x20\x20\x3c\x69\x6d\x67\x20\x73\x72\x63\
|
||||
\x3d\x22\x3a\x54\x69\x6e\x61\x2e\x6a\x70\x67\x22\x20\x77\x69\x64\
|
||||
\x74\x68\x3d\x39\x30\x20\x68\x65\x69\x67\x68\x74\x3d\x39\x30\x2f\
|
||||
\x3e\x20\x26\x6e\x62\x73\x70\x3b\x20\x3c\x2f\x74\x64\x3e\x3c\x74\
|
||||
\x64\x3e\x0a\x20\x20\x20\x54\x69\x6e\x61\x20\x54\x75\x72\x6e\x65\
|
||||
\x72\x3c\x2f\x74\x64\x3e\x0a\x20\x20\x20\x3c\x2f\x74\x61\x62\x6c\
|
||||
\x65\x3e\x0a\x3c\x70\x3e\x0a\x3c\x2f\x70\x3e\x0a\x20\x20\x0a\x3c\
|
||||
\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\x68\x74\x6d\x6c\x3e\x0a\
|
||||
\x00\x00\x00\x80\
|
||||
\x00\x00\x00\xa7\
|
||||
\x3c\
|
||||
\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
|
||||
\x65\x3e\x57\x65\x62\x20\x48\x65\x6c\x70\x3c\x2f\x74\x69\x74\x6c\
|
||||
\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\x3e\
|
||||
\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x50\x61\x67\x65\x20\x35\x20\x6f\
|
||||
\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x50\x61\x67\x65\x20\x32\x20\x6f\
|
||||
\x66\x20\x77\x65\x62\x20\x68\x65\x6c\x70\x3c\x2f\x62\x3e\x3c\x2f\
|
||||
\x70\x3e\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x65\x74\x63\x2e\x2e\x2e\
|
||||
\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x70\x3e\x0a\
|
||||
\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\x68\x74\x6d\x6c\x3e\x0a\
|
||||
\x70\x3e\x0a\x3c\x70\x3e\x20\x20\x3c\x61\x20\x68\x72\x65\x66\x3d\
|
||||
\x22\x70\x61\x67\x65\x33\x2e\x68\x74\x6d\x6c\x22\x3e\x20\x4e\x65\
|
||||
\x78\x74\x3c\x2f\x61\x3e\x3c\x2f\x70\x3e\x0a\x3c\x70\x3e\x3c\x62\
|
||||
\x3e\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\
|
||||
\x2e\x2e\x3c\x2f\x70\x3e\x0a\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\
|
||||
\x68\x74\x6d\x6c\x3e\x0a\
|
||||
"
|
||||
|
||||
qt_resource_name = b"\
|
||||
\x00\x08\
|
||||
\x00\x44\x5a\x07\
|
||||
\x00\x54\
|
||||
\x00\x69\x00\x6e\x00\x61\x00\x2e\x00\x6a\x00\x70\x00\x67\
|
||||
\x00\x0a\
|
||||
\x08\x5a\x34\x9c\
|
||||
\x00\x70\
|
||||
\x00\x61\x00\x67\x00\x65\x00\x32\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
|
||||
\x00\x0a\
|
||||
\x08\x6a\x34\x9c\
|
||||
\x00\x70\
|
||||
\x00\x61\x00\x67\x00\x65\x00\x33\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
|
||||
\x00\x0a\
|
||||
\x08\x4a\x34\x9c\
|
||||
\x00\x70\
|
||||
\x00\x61\x00\x67\x00\x65\x00\x31\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
|
||||
\x00\x0a\
|
||||
\x08\x7a\x34\x9c\
|
||||
\x08\x6a\x34\x9c\
|
||||
\x00\x70\
|
||||
\x00\x61\x00\x67\x00\x65\x00\x34\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
|
||||
\x00\x61\x00\x67\x00\x65\x00\x33\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
|
||||
\x00\x0a\
|
||||
\x0c\xba\xf2\x7c\
|
||||
\x00\x69\
|
||||
\x00\x6e\x00\x64\x00\x65\x00\x78\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
|
||||
\x00\x08\
|
||||
\x00\x44\x5a\x07\
|
||||
\x00\x54\
|
||||
\x00\x69\x00\x6e\x00\x61\x00\x2e\x00\x6a\x00\x70\x00\x67\
|
||||
\x00\x0a\
|
||||
\x08\x8a\x34\x9c\
|
||||
\x00\x70\
|
||||
\x00\x61\x00\x67\x00\x65\x00\x35\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
|
||||
\x00\x0a\
|
||||
\x08\x7a\x34\x9c\
|
||||
\x00\x70\
|
||||
\x00\x61\x00\x67\x00\x65\x00\x34\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
|
||||
\x00\x0a\
|
||||
\x08\x5a\x34\x9c\
|
||||
\x00\x70\
|
||||
\x00\x61\x00\x67\x00\x65\x00\x32\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
|
||||
"
|
||||
|
||||
qt_resource_struct_v1 = b"\
|
||||
\x00\x00\x00\x00\x00\x02\x00\x00\x00\x07\x00\x00\x00\x01\
|
||||
\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x01\x00\x00\x17\xc5\
|
||||
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\
|
||||
\x00\x00\x00\x4a\x00\x00\x00\x00\x00\x01\x00\x00\x17\x07\
|
||||
\x00\x00\x00\x16\x00\x00\x00\x00\x00\x01\x00\x00\x15\xb1\
|
||||
\x00\x00\x00\x30\x00\x00\x00\x00\x00\x01\x00\x00\x16\x5c\
|
||||
\x00\x00\x00\x64\x00\x00\x00\x00\x00\x01\x00\x00\x17\xb2\
|
||||
\x00\x00\x00\x98\x00\x00\x00\x00\x00\x01\x00\x00\x28\xa0\
|
||||
\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x01\x00\x00\x18\x5d\
|
||||
\x00\x00\x00\x98\x00\x00\x00\x00\x00\x01\x00\x00\x2e\xa5\
|
||||
\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x01\x00\x00\x00\xab\
|
||||
\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x01\x00\x00\x2d\xfa\
|
||||
\x00\x00\x00\x64\x00\x00\x00\x00\x00\x01\x00\x00\x2d\x76\
|
||||
\x00\x00\x00\x34\x00\x00\x00\x00\x00\x01\x00\x00\x01\x56\
|
||||
"
|
||||
|
||||
qt_resource_struct_v2 = b"\
|
||||
\x00\x00\x00\x00\x00\x02\x00\x00\x00\x07\x00\x00\x00\x01\
|
||||
\x00\x00\x00\x00\x00\x00\x00\x00\
|
||||
\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x01\x00\x00\x17\xc5\
|
||||
\x00\x00\x01\x95\xeb\x5c\x84\xe2\
|
||||
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\
|
||||
\x00\x00\x01\x90\x07\xcd\xf3\x00\
|
||||
\x00\x00\x00\x4a\x00\x00\x00\x00\x00\x01\x00\x00\x17\x07\
|
||||
\x00\x00\x01\x90\x02\x81\x81\x00\
|
||||
\x00\x00\x00\x16\x00\x00\x00\x00\x00\x01\x00\x00\x15\xb1\
|
||||
\x00\x00\x01\x90\x02\x81\x81\x00\
|
||||
\x00\x00\x00\x30\x00\x00\x00\x00\x00\x01\x00\x00\x16\x5c\
|
||||
\x00\x00\x01\x90\x02\x81\x81\x00\
|
||||
\x00\x00\x00\x64\x00\x00\x00\x00\x00\x01\x00\x00\x17\xb2\
|
||||
\x00\x00\x01\x90\x02\x81\x81\x00\
|
||||
\x00\x00\x00\x98\x00\x00\x00\x00\x00\x01\x00\x00\x28\xa0\
|
||||
\x00\x00\x01\x90\x02\x81\x81\x00\
|
||||
\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x01\x00\x00\x18\x5d\
|
||||
\x00\x00\x01\x93\x9c\x62\xf4\xe6\
|
||||
\x00\x00\x01\x95\xeb\x5c\x84\xeb\
|
||||
\x00\x00\x00\x98\x00\x00\x00\x00\x00\x01\x00\x00\x2e\xa5\
|
||||
\x00\x00\x01\x95\xeb\x5c\x84\xed\
|
||||
\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x01\x00\x00\x00\xab\
|
||||
\x00\x00\x01\x95\xeb\x5c\x84\xef\
|
||||
\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x01\x00\x00\x2d\xfa\
|
||||
\x00\x00\x01\x95\xeb\x5c\x84\xf0\
|
||||
\x00\x00\x00\x64\x00\x00\x00\x00\x00\x01\x00\x00\x2d\x76\
|
||||
\x00\x00\x01\x95\xeb\x5c\x84\xf2\
|
||||
\x00\x00\x00\x34\x00\x00\x00\x00\x00\x01\x00\x00\x01\x56\
|
||||
\x00\x00\x01\x96\x1a\x88\xce\x2e\
|
||||
"
|
||||
|
||||
qt_version = [int(v) for v in QtCore.qVersion().split('.')]
|
||||
|
||||
+433
-334
@@ -9,6 +9,393 @@
|
||||
from PyQt5 import QtCore
|
||||
|
||||
qt_resource_data = b"\
|
||||
\x00\x00\x00\xa7\
|
||||
\x3c\
|
||||
\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
|
||||
\x65\x3e\x57\x65\x62\x20\x48\x65\x6c\x70\x3c\x2f\x74\x69\x74\x6c\
|
||||
\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\x3e\
|
||||
\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x50\x61\x67\x65\x20\x31\x20\x6f\
|
||||
\x66\x20\x77\x65\x62\x20\x68\x65\x6c\x70\x3c\x2f\x62\x3e\x3c\x2f\
|
||||
\x70\x3e\x0a\x3c\x70\x3e\x20\x20\x3c\x61\x20\x68\x72\x65\x66\x3d\
|
||||
\x22\x70\x61\x67\x65\x32\x2e\x68\x74\x6d\x6c\x22\x3e\x20\x4e\x65\
|
||||
\x78\x74\x3c\x2f\x61\x3e\x3c\x2f\x70\x3e\x0a\x3c\x70\x3e\x3c\x62\
|
||||
\x3e\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\
|
||||
\x2e\x2e\x3c\x2f\x70\x3e\x0a\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\
|
||||
\x68\x74\x6d\x6c\x3e\x0a\
|
||||
\x00\x00\x00\xa7\
|
||||
\x3c\
|
||||
\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
|
||||
\x65\x3e\x57\x65\x62\x20\x48\x65\x6c\x70\x3c\x2f\x74\x69\x74\x6c\
|
||||
\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\x3e\
|
||||
\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x50\x61\x67\x65\x20\x33\x20\x6f\
|
||||
\x66\x20\x77\x65\x62\x20\x68\x65\x6c\x70\x3c\x2f\x62\x3e\x3c\x2f\
|
||||
\x70\x3e\x0a\x3c\x70\x3e\x20\x20\x3c\x61\x20\x68\x72\x65\x66\x3d\
|
||||
\x22\x70\x61\x67\x65\x34\x2e\x68\x74\x6d\x6c\x22\x3e\x20\x4e\x65\
|
||||
\x78\x74\x3c\x2f\x61\x3e\x3c\x2f\x70\x3e\x0a\x3c\x70\x3e\x3c\x62\
|
||||
\x3e\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\
|
||||
\x2e\x2e\x3c\x2f\x70\x3e\x0a\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\
|
||||
\x68\x74\x6d\x6c\x3e\x0a\
|
||||
\x00\x00\x16\x6b\
|
||||
\x3c\
|
||||
\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
|
||||
\x65\x3e\x54\x69\x6d\x65\x20\x6f\x66\x20\x46\x6c\x69\x67\x68\x74\
|
||||
\x20\x4d\x65\x61\x73\x75\x65\x6d\x65\x6e\x74\x20\x66\x6f\x72\x20\
|
||||
\x49\x6e\x6a\x65\x63\x74\x6f\x72\x20\x61\x6e\x64\x20\x52\x69\x6e\
|
||||
\x67\x20\x43\x79\x63\x6c\x6f\x74\x72\x6f\x6e\x20\x54\x75\x72\x6e\
|
||||
\x20\x4e\x75\x6d\x62\x65\x72\x20\x41\x73\x63\x65\x72\x74\x61\x69\
|
||||
\x6e\x6d\x65\x6e\x74\x2c\x20\x54\x49\x4e\x41\x3c\x2f\x74\x69\x74\
|
||||
\x6c\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\
|
||||
\x3e\x0a\x0a\x20\x20\x3c\x68\x35\x20\x20\x73\x74\x79\x6c\x65\x3d\
|
||||
\x22\x63\x6f\x6c\x6f\x72\x3a\x67\x72\x61\x79\x3b\x22\x3e\x4a\x61\
|
||||
\x6e\x20\x43\x68\x72\x69\x6e\x2c\x20\x50\x69\x65\x72\x72\x65\x2d\
|
||||
\x41\x6e\x64\x72\x26\x65\x61\x63\x75\x74\x65\x3b\x20\x44\x75\x70\
|
||||
\x65\x72\x72\x65\x78\x2c\x20\x41\x6c\x65\x73\x73\x61\x6e\x64\x72\
|
||||
\x6f\x20\x46\x61\x63\x63\x68\x65\x74\x74\x69\x2c\x20\x44\x61\x6e\
|
||||
\x69\x65\x6c\x65\x2c\x20\x46\x65\x6c\x69\x63\x69\x2c\x20\x57\x61\
|
||||
\x6c\x64\x61\x6d\x61\x72\x20\x4b\x6f\x70\x72\x65\x6b\x3c\x62\x72\
|
||||
\x3e\x41\x70\x72\x69\x6c\x20\x32\x30\x32\x35\x3c\x2f\x68\x35\x3e\
|
||||
\x0a\x20\x20\x0a\x3c\x68\x34\x3e\x20\x3c\x73\x70\x61\x6e\x20\x73\
|
||||
\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x20\x72\x65\x64\
|
||||
\x3b\x22\x3e\x54\x3c\x2f\x73\x70\x61\x6e\x3e\x69\x6d\x65\x20\x6f\
|
||||
\x66\x20\x46\x6c\x69\x67\x68\x74\x20\x4d\x65\x61\x73\x75\x72\x65\
|
||||
\x6d\x65\x6e\x74\x20\x66\x6f\x72\x20\x3c\x73\x70\x61\x6e\x20\x73\
|
||||
\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x20\x72\x65\x64\
|
||||
\x3b\x22\x3e\x49\x3c\x2f\x73\x70\x61\x6e\x3e\x6e\x6a\x65\x63\x74\
|
||||
\x6f\x72\x20\x61\x6e\x64\x20\x52\x69\x6e\x67\x20\x43\x79\x63\x6c\
|
||||
\x6f\x74\x72\x6f\x6e\x20\x54\x75\x72\x6e\x20\x3c\x73\x70\x61\x6e\
|
||||
\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x20\x72\
|
||||
\x65\x64\x3b\x22\x3e\x4e\x3c\x2f\x73\x70\x61\x6e\x3e\x75\x6d\x62\
|
||||
\x65\x72\x20\x3c\x73\x70\x61\x6e\x20\x73\x74\x79\x6c\x65\x3d\x22\
|
||||
\x63\x6f\x6c\x6f\x72\x3a\x20\x72\x65\x64\x3b\x22\x3e\x41\x3c\x2f\
|
||||
\x73\x70\x61\x6e\x3e\x73\x63\x65\x72\x74\x61\x69\x6e\x6d\x65\x6e\
|
||||
\x74\x2c\x20\x3c\x73\x70\x61\x6e\x20\x73\x74\x79\x6c\x65\x3d\x22\
|
||||
\x63\x6f\x6c\x6f\x72\x3a\x20\x72\x65\x64\x3b\x22\x3e\x54\x49\x4e\
|
||||
\x41\x3c\x2f\x73\x70\x61\x6e\x3e\x3c\x2f\x68\x34\x3e\x0a\x3c\x68\
|
||||
\x32\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x62\
|
||||
\x6c\x75\x65\x3b\x22\x3e\x41\x62\x6f\x75\x74\x3c\x2f\x68\x32\x3e\
|
||||
\x0a\x0a\x0a\x3c\x70\x3e\x54\x68\x65\x20\x54\x49\x4e\x41\x20\x61\
|
||||
\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x20\x64\x65\x74\x65\x72\
|
||||
\x6d\x69\x6e\x65\x73\x20\x74\x68\x65\x20\x6e\x75\x6d\x62\x65\x72\
|
||||
\x20\x6f\x66\x20\x74\x75\x72\x6e\x73\x20\x69\x6e\x20\x61\x20\x63\
|
||||
\x79\x63\x6c\x6f\x74\x72\x6f\x6e\x0a\x66\x72\x6f\x6d\x20\x61\x20\
|
||||
\x54\x69\x6d\x65\x20\x6f\x66\x20\x46\x6c\x69\x67\x68\x74\x20\x28\
|
||||
\x54\x4f\x46\x29\x20\x6d\x65\x61\x73\x75\x72\x65\x6d\x65\x6e\x74\
|
||||
\x20\x74\x65\x63\x68\x6e\x69\x71\x75\x65\x20\x61\x6e\x64\x20\x61\
|
||||
\x20\x63\x72\x6f\x73\x73\x2d\x63\x6f\x72\x72\x65\x6c\x61\x74\x69\
|
||||
\x6f\x6e\x0a\x6f\x66\x20\x66\x61\x73\x74\x20\x73\x61\x6d\x70\x6c\
|
||||
\x65\x64\x20\x64\x61\x74\x61\x20\x66\x72\x6f\x6d\x20\x63\x61\x70\
|
||||
\x61\x63\x69\x74\x69\x76\x65\x20\x73\x65\x6e\x73\x6f\x72\x73\x20\
|
||||
\x6c\x6f\x63\x61\x74\x65\x64\x20\x61\x74\x20\x74\x68\x65\x20\x65\
|
||||
\x6e\x74\x72\x61\x6e\x63\x65\x20\x61\x6e\x64\x20\x65\x78\x69\x74\
|
||||
\x0a\x6f\x66\x20\x74\x68\x65\x20\x63\x79\x63\x6f\x6c\x6f\x74\x72\
|
||||
\x6f\x6e\x2e\x20\x54\x68\x69\x73\x20\x69\x73\x20\x62\x61\x73\x65\
|
||||
\x64\x20\x6f\x6e\x20\x61\x20\x70\x79\x74\x68\x6f\x6e\x20\x69\x6d\
|
||||
\x70\x6c\x65\x6d\x65\x6e\x74\x61\x74\x69\x6f\x6e\x20\x6f\x66\x20\
|
||||
\x61\x20\x4c\x61\x62\x56\x49\x45\x57\x20\x61\x70\x70\x6c\x69\x63\
|
||||
\x61\x74\x69\x6f\x6e\x20\x64\x65\x76\x65\x6c\x6f\x70\x65\x64\x20\
|
||||
\x62\x79\x0a\x50\x69\x65\x72\x72\x65\x2d\x41\x6e\x64\x72\x26\x65\
|
||||
\x61\x63\x75\x74\x65\x3b\x20\x44\x75\x70\x65\x72\x72\x65\x78\x3a\
|
||||
\x20\x20\x3c\x62\x72\x3e\x0a\x50\x2e\x2d\x41\x2e\x20\x44\x75\x70\
|
||||
\x65\x72\x72\x65\x78\x20\x61\x6e\x64\x20\x41\x2e\x20\x46\x61\x63\
|
||||
\x63\x68\x65\x74\x74\x69\x2c\x20\x0a\x4e\x75\x6d\x62\x65\x72\x20\
|
||||
\x6f\x66\x20\x54\x75\x72\x6e\x20\x4d\x65\x61\x73\x75\x72\x65\x6d\
|
||||
\x65\x6e\x74\x73\x20\x6f\x6e\x20\x74\x68\x65\x20\x48\x49\x50\x41\
|
||||
\x20\x43\x79\x63\x6c\x6f\x74\x72\x6f\x6e\x73\x20\x61\x74\x20\x50\
|
||||
\x53\x49\x2e\x3c\x62\x72\x3e\x0a\x64\x6f\x69\x3a\x31\x30\x2e\x31\
|
||||
\x38\x34\x32\x39\x2f\x4a\x41\x43\x6f\x57\x2d\x49\x50\x41\x43\x32\
|
||||
\x30\x31\x38\x2d\x57\x45\x50\x41\x4c\x30\x36\x37\x20\x0a\x3c\x2f\
|
||||
\x70\x3e\x0a\x0a\x3c\x21\x2d\x2d\x61\x20\x68\x72\x65\x66\x3d\x22\
|
||||
\x70\x61\x67\x65\x31\x2e\x68\x74\x6d\x6c\x22\x3e\x68\x65\x72\x65\
|
||||
\x3c\x2f\x61\x3e\x3c\x2f\x70\x2d\x2d\x3e\x0a\x0a\x3c\x68\x32\x20\
|
||||
\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x62\x6c\x75\
|
||||
\x65\x3b\x22\x3e\x54\x68\x65\x20\x52\x65\x70\x6f\x73\x69\x74\x6f\
|
||||
\x72\x79\x3c\x2f\x68\x32\x3e\x0a\x0a\x3c\x70\x3e\x54\x68\x65\x20\
|
||||
\x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x20\x63\x6f\x6d\x70\
|
||||
\x72\x69\x73\x65\x73\x20\x74\x77\x6f\x20\x63\x6f\x6d\x70\x6f\x6e\
|
||||
\x65\x6e\x74\x73\x3a\x0a\x20\x20\x3c\x75\x6c\x3e\x0a\x3c\x6c\x69\
|
||||
\x3e\x0a\x20\x20\x54\x68\x65\x20\x6c\x6f\x77\x2d\x6c\x65\x76\x65\
|
||||
\x6c\x20\x41\x44\x43\x20\x64\x61\x74\x61\x20\x61\x63\x71\x75\x69\
|
||||
\x73\x69\x74\x69\x6f\x6e\x20\x73\x79\x73\x74\x65\x6d\x20\x69\x73\
|
||||
\x20\x64\x65\x74\x61\x69\x6c\x65\x64\x20\x69\x6e\x20\x74\x68\x65\
|
||||
\x20\x66\x6f\x6c\x6c\x6f\x77\x69\x6e\x67\x20\x72\x65\x70\x6f\x73\
|
||||
\x69\x74\x6f\x72\x69\x65\x73\x3a\x3c\x62\x72\x3e\x0a\x20\x20\x3c\
|
||||
\x73\x70\x61\x6e\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\
|
||||
\x72\x3a\x20\x67\x72\x65\x65\x6e\x3b\x22\x3e\x68\x74\x74\x70\x73\
|
||||
\x3a\x2f\x2f\x67\x69\x74\x2e\x70\x73\x69\x2e\x63\x68\x2f\x47\x46\
|
||||
\x41\x2f\x43\x4f\x2f\x67\x65\x6e\x65\x72\x61\x6c\x2f\x43\x50\x53\
|
||||
\x49\x5f\x53\x43\x4f\x50\x45\x2f\x43\x50\x53\x49\x5f\x53\x43\x4f\
|
||||
\x50\x45\x3c\x2f\x73\x70\x61\x6e\x3e\x3c\x62\x72\x3e\x0a\x20\x20\
|
||||
\x3c\x73\x70\x61\x6e\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\
|
||||
\x6f\x72\x3a\x20\x67\x72\x65\x65\x6e\x3b\x22\x3e\x68\x74\x74\x70\
|
||||
\x73\x3a\x2f\x2f\x67\x69\x74\x2e\x70\x73\x69\x2e\x63\x68\x2f\x65\
|
||||
\x70\x69\x63\x73\x5f\x69\x6f\x63\x62\x6f\x6f\x74\x5f\x68\x69\x70\
|
||||
\x61\x2f\x7a\x5f\x64\x69\x5f\x74\x75\x72\x6e\x5f\x63\x6f\x75\x6e\
|
||||
\x74\x3c\x2f\x73\x70\x61\x6e\x3e\x3c\x62\x72\x3e\x0a\x20\x0a\x20\
|
||||
\x3c\x2f\x6c\x69\x3e\x0a\x20\x20\x3c\x6c\x69\x3e\x0a\x20\x20\x20\
|
||||
\x20\x41\x20\x48\x69\x67\x68\x20\x4c\x65\x76\x65\x6c\x20\x41\x70\
|
||||
\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x20\x28\x48\x4c\x41\x29\x20\
|
||||
\x74\x68\x61\x74\x20\x69\x73\x20\x61\x62\x6c\x65\x20\x74\x6f\x20\
|
||||
\x69\x6e\x74\x65\x72\x61\x63\x74\x20\x77\x69\x74\x68\x20\x74\x68\
|
||||
\x65\x20\x49\x4f\x43\x2c\x20\x73\x74\x61\x72\x74\x20\x61\x20\x6c\
|
||||
\x6f\x77\x2d\x6c\x65\x76\x65\x6c\x20\x64\x61\x74\x61\x20\x61\x63\
|
||||
\x71\x75\x69\x73\x74\x69\x6f\x6e\x20\x72\x75\x6e\x2c\x0a\x20\x20\
|
||||
\x20\x20\x61\x63\x71\x75\x69\x72\x65\x20\x74\x68\x65\x20\x72\x61\
|
||||
\x77\x20\x64\x61\x74\x61\x2c\x20\x61\x6e\x64\x20\x70\x65\x72\x66\
|
||||
\x6f\x72\x6d\x20\x74\x68\x65\x20\x6e\x75\x6d\x62\x65\x72\x20\x6f\
|
||||
\x66\x20\x74\x65\x72\x6d\x73\x20\x61\x6e\x61\x6c\x79\x73\x69\x73\
|
||||
\x2e\x3c\x62\x72\x3e\x0a\x20\x20\x20\x20\x3c\x73\x70\x61\x6e\x20\
|
||||
\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x20\x67\x72\
|
||||
\x65\x65\x6e\x3b\x22\x3e\x20\x68\x74\x74\x70\x73\x3a\x2f\x2f\x67\
|
||||
\x69\x74\x6c\x61\x62\x2e\x70\x73\x69\x2e\x63\x68\x2f\x68\x69\x70\
|
||||
\x61\x5f\x61\x70\x70\x73\x34\x6f\x70\x73\x2f\x74\x69\x6e\x61\x3c\
|
||||
\x2f\x73\x70\x61\x6e\x3e\x3c\x62\x72\x3e\x0a\x20\x20\x20\x20\x3c\
|
||||
\x73\x70\x61\x6e\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\
|
||||
\x72\x3a\x20\x67\x72\x61\x79\x3b\x22\x3e\x20\x2f\x68\x69\x70\x61\
|
||||
\x2f\x62\x64\x2f\x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x73\
|
||||
\x2f\x74\x69\x6e\x61\x2f\x6c\x61\x74\x65\x73\x74\x2f\x74\x69\x6e\
|
||||
\x61\x2e\x73\x68\x3c\x2f\x73\x70\x61\x6e\x3e\x0a\x20\x20\x20\x20\
|
||||
\x3c\x2f\x6c\x69\x3e\x0a\x3c\x2f\x75\x6c\x3e\x0a\x20\x20\x3c\x68\
|
||||
\x32\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x62\
|
||||
\x6c\x75\x65\x3b\x22\x3e\x47\x55\x49\x2c\x20\x43\x6f\x6e\x74\x72\
|
||||
\x6f\x6c\x20\x54\x61\x62\x3c\x2f\x68\x32\x3e\x0a\x20\x20\x4d\x61\
|
||||
\x69\x6e\x20\x70\x61\x6e\x65\x6c\x20\x66\x6f\x72\x20\x75\x73\x65\
|
||||
\x20\x62\x79\x20\x6f\x70\x65\x72\x61\x74\x6f\x72\x73\x2e\x20\x0a\
|
||||
\x20\x20\x3c\x68\x33\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\
|
||||
\x6f\x72\x3a\x23\x37\x62\x36\x38\x65\x65\x3b\x22\x3e\x41\x63\x63\
|
||||
\x65\x6c\x65\x72\x61\x74\x6f\x72\x20\x50\x61\x6e\x65\x6c\x3c\x2f\
|
||||
\x68\x33\x3e\x0a\x20\x20\x49\x6e\x70\x75\x74\x20\x70\x61\x72\x61\
|
||||
\x6d\x65\x74\x65\x72\x73\x20\x74\x6f\x20\x61\x6e\x61\x6c\x79\x73\
|
||||
\x69\x73\x20\x72\x6f\x75\x74\x69\x6e\x65\x2c\x20\x61\x73\x20\x63\
|
||||
\x6f\x6e\x66\x69\x67\x75\x72\x65\x64\x20\x69\x6e\x20\x74\x69\x6e\
|
||||
\x61\x2e\x6a\x73\x6f\x6e\x2e\x3c\x62\x72\x3e\x0a\x20\x20\x54\x68\
|
||||
\x65\x20\x49\x6e\x6a\x65\x63\x74\x6f\x72\x20\x68\x61\x73\x20\x4e\
|
||||
\x4f\x54\x20\x79\x65\x74\x20\x62\x65\x65\x6e\x20\x69\x6d\x70\x6c\
|
||||
\x65\x6d\x65\x6e\x74\x65\x64\x20\x69\x6e\x74\x6f\x20\x74\x68\x65\
|
||||
\x20\x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x2e\x0a\x20\x20\
|
||||
\x3c\x74\x61\x62\x6c\x65\x20\x77\x69\x64\x74\x68\x3d\x34\x30\x30\
|
||||
\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x20\x3c\x74\x64\x3e\x0a\
|
||||
\x09\x3c\x74\x61\x62\x6c\x65\x3e\x0a\x09\x20\x20\x3c\x63\x61\x70\
|
||||
\x74\x69\x6f\x6e\x3e\x0a\x09\x20\x20\x20\x20\x3c\x68\x34\x20\x73\
|
||||
\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x23\x30\x30\x34\
|
||||
\x37\x61\x62\x3b\x22\x3e\x43\x79\x63\x6c\x6f\x74\x72\x6f\x6e\x3c\
|
||||
\x2f\x68\x34\x3e\x0a\x09\x20\x20\x20\x20\x3c\x2f\x63\x61\x70\x74\
|
||||
\x69\x6f\x6e\x3e\x0a\x20\x20\x3c\x74\x68\x65\x61\x64\x3e\x0a\x20\
|
||||
\x20\x20\x20\x3c\x74\x72\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x74\
|
||||
\x68\x20\x61\x6c\x69\x67\x6e\x3d\x6c\x65\x66\x74\x3e\x50\x61\x72\
|
||||
\x61\x6d\x65\x74\x65\x72\x3c\x2f\x74\x68\x3e\x0a\x20\x20\x20\x20\
|
||||
\x20\x20\x3c\x74\x68\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\
|
||||
\x65\x72\x3e\x56\x61\x6c\x75\x65\x3c\x2f\x74\x68\x3e\x0a\x20\x20\
|
||||
\x20\x20\x3c\x2f\x74\x72\x3e\x0a\x20\x20\x3c\x2f\x74\x68\x65\x61\
|
||||
\x64\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x3e\x48\
|
||||
\x61\x72\x6d\x6f\x6e\x69\x63\x20\x4e\x6f\x2e\x3c\x2f\x74\x64\x3e\
|
||||
\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\
|
||||
\x72\x3e\x36\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x20\x20\
|
||||
\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x3e\x64\x54\x20\x43\x61\x62\
|
||||
\x6c\x65\x20\x28\x6e\x73\x29\x3c\x2f\x74\x64\x3e\x20\x3c\x74\x64\
|
||||
\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\x72\x3e\x34\x34\
|
||||
\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x20\x20\x20\x20\x3c\
|
||||
\x74\x72\x3e\x3c\x74\x64\x3e\x64\x4e\x20\x50\x69\x63\x6b\x75\x70\
|
||||
\x3c\x2f\x74\x64\x3e\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\
|
||||
\x63\x65\x6e\x74\x65\x72\x3e\x2d\x31\x3c\x2f\x74\x64\x3e\x3c\x2f\
|
||||
\x74\x72\x3e\x0a\x09\x3c\x2f\x74\x61\x62\x6c\x65\x3e\x0a\x20\x20\
|
||||
\x20\x20\x20\x20\x3c\x2f\x74\x64\x3e\x20\x3c\x74\x64\x20\x77\x69\
|
||||
\x64\x74\x68\x3d\x32\x30\x3e\x20\x26\x6e\x62\x73\x70\x3b\x20\x3c\
|
||||
\x2f\x74\x64\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x74\x64\x3e\x20\
|
||||
\x3c\x74\x61\x62\x6c\x65\x3e\x0a\x09\x20\x20\x3c\x63\x61\x70\x74\
|
||||
\x69\x6f\x6e\x3e\x0a\x3c\x68\x34\x20\x73\x74\x79\x6c\x65\x3d\x22\
|
||||
\x63\x6f\x6c\x6f\x72\x3a\x23\x30\x30\x38\x62\x38\x62\x3b\x22\x3e\
|
||||
\x49\x6e\x6a\x65\x63\x74\x6f\x72\x3c\x2f\x68\x34\x3e\x0a\x3c\x2f\
|
||||
\x63\x61\x70\x74\x69\x6f\x6e\x3e\x0a\x20\x20\x3c\x74\x68\x65\x61\
|
||||
\x64\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x0a\x20\x20\x20\x20\
|
||||
\x20\x20\x3c\x74\x68\x20\x61\x6c\x69\x67\x6e\x3d\x6c\x65\x66\x74\
|
||||
\x3e\x50\x61\x72\x61\x6d\x65\x74\x65\x72\x3c\x2f\x74\x68\x3e\x0a\
|
||||
\x20\x20\x20\x20\x20\x20\x3c\x74\x68\x20\x61\x6c\x69\x67\x6e\x3d\
|
||||
\x63\x65\x6e\x74\x65\x72\x3e\x56\x61\x6c\x75\x65\x3c\x2f\x74\x68\
|
||||
\x3e\x0a\x20\x20\x20\x20\x3c\x2f\x74\x72\x3e\x0a\x20\x20\x3c\x2f\
|
||||
\x74\x68\x65\x61\x64\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\
|
||||
\x74\x64\x3e\x48\x61\x72\x6d\x6f\x6e\x69\x63\x20\x4e\x6f\x2e\x3c\
|
||||
\x2f\x74\x64\x3e\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\
|
||||
\x65\x6e\x74\x65\x72\x3e\x31\x30\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\
|
||||
\x72\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x3e\x64\
|
||||
\x54\x20\x43\x61\x62\x6c\x65\x20\x28\x6e\x73\x29\x3c\x2f\x74\x64\
|
||||
\x3e\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\
|
||||
\x65\x72\x3e\x36\x2e\x39\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\
|
||||
\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x3e\x64\x4e\x20\
|
||||
\x50\x69\x63\x6b\x75\x70\x3c\x2f\x74\x64\x3e\x20\x3c\x74\x64\x20\
|
||||
\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\x72\x3e\x34\x3c\x2f\
|
||||
\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\
|
||||
\x3e\x3c\x74\x64\x3e\x4d\x6f\x64\x2e\x20\x46\x72\x65\x71\x2e\x20\
|
||||
\x28\x47\x48\x7a\x29\x20\x26\x6e\x62\x73\x70\x3b\x3c\x2f\x74\x64\
|
||||
\x3e\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\
|
||||
\x65\x72\x3e\x35\x30\x30\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\
|
||||
\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x3e\x44\x75\x74\
|
||||
\x79\x20\x43\x79\x63\x6c\x65\x20\x28\x25\x29\x3c\x2f\x74\x64\x3e\
|
||||
\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\
|
||||
\x72\x3e\x31\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x09\x3c\
|
||||
\x2f\x74\x61\x62\x6c\x65\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x2f\
|
||||
\x74\x64\x3e\x0a\x20\x20\x20\x20\x3c\x2f\x74\x72\x3e\x0a\x20\x20\
|
||||
\x20\x20\x3c\x2f\x74\x61\x62\x6c\x65\x3e\x0a\x20\x0a\x20\x20\x0a\
|
||||
\x20\x20\x3c\x68\x33\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\
|
||||
\x6f\x72\x3a\x23\x37\x62\x36\x38\x65\x65\x3b\x22\x3e\x45\x78\x70\
|
||||
\x65\x72\x74\x20\x50\x61\x6e\x65\x6c\x3c\x2f\x68\x33\x3e\x0a\x49\
|
||||
\x6e\x70\x75\x74\x20\x70\x61\x72\x61\x6d\x65\x74\x65\x72\x73\x20\
|
||||
\x74\x6f\x20\x74\x68\x65\x20\x70\x65\x61\x6b\x20\x73\x65\x61\x72\
|
||||
\x63\x68\x20\x61\x6e\x61\x6c\x79\x73\x69\x73\x2c\x20\x61\x73\x20\
|
||||
\x63\x6f\x6e\x66\x69\x67\x75\x72\x65\x64\x20\x69\x6e\x20\x74\x69\
|
||||
\x6e\x61\x2e\x6a\x73\x6f\x6e\x2e\x3c\x62\x72\x3e\x0a\x20\x20\x0a\
|
||||
\x54\x68\x65\x20\x49\x6e\x6a\x65\x63\x74\x6f\x72\x20\x68\x61\x73\
|
||||
\x20\x4e\x4f\x54\x20\x79\x65\x74\x20\x62\x65\x65\x6e\x20\x69\x6d\
|
||||
\x70\x6c\x65\x6d\x65\x6e\x74\x65\x64\x20\x69\x6e\x74\x6f\x20\x74\
|
||||
\x68\x65\x20\x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x2e\x0a\
|
||||
\x3c\x70\x3e\x20\x20\x0a\x20\x3c\x74\x61\x62\x6c\x65\x20\x77\x69\
|
||||
\x64\x74\x68\x3d\x31\x34\x30\x30\x70\x78\x3e\x0a\x20\x20\x20\x20\
|
||||
\x3c\x74\x72\x3e\x20\x3c\x74\x64\x3e\x0a\x09\x3c\x74\x61\x62\x6c\
|
||||
\x65\x20\x77\x69\x64\x74\x68\x3d\x31\x30\x30\x30\x70\x78\x3e\x0a\
|
||||
\x09\x20\x20\x3c\x21\x2d\x2d\x63\x61\x70\x74\x69\x6f\x6e\x3e\x0a\
|
||||
\x09\x20\x20\x20\x20\x3c\x68\x34\x20\x73\x74\x79\x6c\x65\x3d\x22\
|
||||
\x63\x6f\x6c\x6f\x72\x3a\x23\x30\x30\x34\x37\x61\x62\x3b\x22\x3e\
|
||||
\x43\x79\x63\x6c\x6f\x74\x72\x6f\x6e\x3c\x2f\x68\x34\x3e\x0a\x09\
|
||||
\x20\x20\x20\x20\x3c\x2f\x63\x61\x70\x74\x69\x6f\x6e\x2d\x2d\x3e\
|
||||
\x0a\x20\x20\x3c\x74\x68\x65\x61\x64\x3e\x0a\x20\x20\x20\x20\x3c\
|
||||
\x74\x72\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x74\x68\x20\x61\x6c\
|
||||
\x69\x67\x6e\x3d\x6c\x65\x66\x74\x3e\x50\x61\x72\x61\x6d\x65\x74\
|
||||
\x65\x72\x3c\x2f\x74\x68\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x74\
|
||||
\x68\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\x72\x20\x20\
|
||||
\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x23\x30\x30\
|
||||
\x34\x37\x61\x62\x3b\x22\x3e\x43\x79\x63\x6c\x6f\x74\x72\x6f\x6e\
|
||||
\x3c\x2f\x74\x68\x3e\x0a\x20\x20\x20\x20\x3c\x2f\x74\x72\x3e\x0a\
|
||||
\x20\x20\x3c\x2f\x74\x68\x65\x61\x64\x3e\x0a\x20\x20\x20\x20\x3c\
|
||||
\x74\x72\x3e\x3c\x74\x64\x3e\x4d\x69\x6e\x69\x6d\x75\x6d\x20\x50\
|
||||
\x65\x61\x6b\x20\x48\x65\x69\x67\x68\x74\x3a\x3c\x2f\x74\x64\x3e\
|
||||
\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\
|
||||
\x72\x3e\x35\x30\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x20\
|
||||
\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x3e\x4d\x69\x6e\x69\x6d\
|
||||
\x75\x6d\x20\x64\x69\x73\x74\x61\x6e\x63\x65\x20\x62\x65\x74\x77\
|
||||
\x65\x65\x6e\x20\x70\x65\x61\x6b\x73\x3a\x3c\x2f\x74\x64\x3e\x20\
|
||||
\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\x72\
|
||||
\x3e\x31\x30\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x3c\x74\
|
||||
\x72\x3e\x3c\x74\x64\x20\x77\x69\x64\x74\x68\x3d\x38\x30\x25\x3e\
|
||||
\x4d\x69\x6e\x69\x6d\x69\x6d\x20\x64\x69\x66\x66\x65\x72\x65\x6e\
|
||||
\x63\x65\x20\x69\x6e\x20\x63\x6f\x72\x72\x65\x6c\x61\x74\x69\x6f\
|
||||
\x6e\x20\x62\x65\x74\x77\x65\x65\x6e\x20\x74\x6f\x70\x20\x74\x77\
|
||||
\x6f\x20\x70\x65\x61\x6b\x73\x3a\x3c\x2f\x74\x64\x3e\x20\x3c\x74\
|
||||
\x64\x20\x76\x61\x6c\x69\x67\x6e\x3d\x62\x6f\x74\x74\x6f\x6d\x20\
|
||||
\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\x72\x3e\x30\x2e\x30\
|
||||
\x31\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x3c\x74\x72\x3e\
|
||||
\x0a\x3c\x74\x64\x3e\x4d\x69\x6e\x69\x6d\x75\x6d\x20\x43\x75\x72\
|
||||
\x72\x65\x6e\x74\x20\x69\x6e\x20\x49\x6e\x6a\x65\x63\x74\x6f\x72\
|
||||
\x3a\x3c\x2f\x74\x64\x3e\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\
|
||||
\x3d\x63\x65\x6e\x74\x65\x72\x3e\x31\x2e\x30\x3c\x2f\x74\x64\x3e\
|
||||
\x0a\x3c\x2f\x74\x72\x3e\x0a\x0a\x09\x3c\x2f\x74\x61\x62\x6c\x65\
|
||||
\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x2f\x74\x64\x3e\x20\x3c\x74\
|
||||
\x64\x20\x77\x69\x64\x74\x68\x3d\x32\x30\x3e\x20\x26\x6e\x62\x73\
|
||||
\x70\x3b\x20\x3c\x2f\x74\x64\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\
|
||||
\x74\x64\x3e\x20\x3c\x74\x61\x62\x6c\x65\x20\x77\x69\x64\x74\x68\
|
||||
\x3d\x32\x30\x30\x70\x78\x3e\x0a\x09\x20\x20\x3c\x21\x2d\x2d\x63\
|
||||
\x61\x70\x74\x69\x6f\x6e\x3e\x0a\x3c\x68\x34\x20\x73\x74\x79\x6c\
|
||||
\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x23\x30\x30\x38\x62\x38\x62\
|
||||
\x3b\x22\x3e\x49\x6e\x6a\x65\x63\x74\x6f\x72\x3c\x2f\x68\x34\x3e\
|
||||
\x0a\x3c\x2f\x63\x61\x70\x74\x69\x6f\x6e\x2d\x2d\x3e\x0a\x20\x20\
|
||||
\x3c\x74\x68\x65\x61\x64\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\
|
||||
\x20\x0a\x20\x20\x20\x20\x20\x20\x3c\x74\x68\x20\x61\x6c\x69\x67\
|
||||
\x6e\x3d\x63\x65\x6e\x74\x65\x72\x20\x73\x74\x79\x6c\x65\x3d\x22\
|
||||
\x63\x6f\x6c\x6f\x72\x3a\x23\x30\x30\x38\x62\x38\x62\x3b\x22\x3e\
|
||||
\x49\x6e\x6a\x65\x63\x74\x6f\x72\x3c\x2f\x74\x68\x3e\x0a\x20\x20\
|
||||
\x20\x20\x3c\x2f\x74\x72\x3e\x0a\x20\x20\x3c\x2f\x74\x68\x65\x61\
|
||||
\x64\x3e\x0a\x20\x0a\x3c\x74\x72\x3e\x3c\x74\x64\x20\x61\x6c\x69\
|
||||
\x67\x6e\x3d\x63\x65\x6e\x74\x65\x72\x3e\x35\x30\x3c\x2f\x74\x64\
|
||||
\x3e\x3c\x2f\x74\x72\x3e\x0a\x3c\x74\x72\x3e\x3c\x74\x64\x20\x61\
|
||||
\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\x72\x3e\x31\x30\x3c\x2f\
|
||||
\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x0a\x3c\x74\x72\x3e\x3c\x74\
|
||||
\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\x72\x3e\x26\
|
||||
\x6e\x62\x73\x70\x3b\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\
|
||||
\x3c\x74\x72\x3e\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\
|
||||
\x6e\x74\x65\x72\x3e\x30\x2e\x30\x31\x3c\x2f\x74\x64\x3e\x3c\x2f\
|
||||
\x74\x72\x3e\x0a\x3c\x74\x72\x3e\x3c\x74\x64\x20\x61\x6c\x69\x67\
|
||||
\x6e\x3d\x63\x65\x6e\x74\x65\x72\x3e\x31\x2e\x30\x3c\x2f\x74\x64\
|
||||
\x3e\x3c\x2f\x74\x72\x3e\x0a\x09\x3c\x2f\x74\x61\x62\x6c\x65\x3e\
|
||||
\x0a\x20\x20\x20\x20\x20\x20\x3c\x2f\x74\x64\x3e\x0a\x20\x20\x20\
|
||||
\x20\x3c\x2f\x74\x72\x3e\x0a\x20\x20\x20\x20\x3c\x2f\x74\x61\x62\
|
||||
\x6c\x65\x3e\x0a\x3c\x70\x3e\x0a\x20\x20\x54\x68\x65\x20\x4f\x73\
|
||||
\x63\x69\x6c\x6c\x6f\x73\x63\x6f\x70\x65\x20\x6f\x70\x74\x69\x6f\
|
||||
\x6e\x20\x64\x69\x73\x61\x62\x6c\x65\x73\x20\x73\x65\x74\x74\x69\
|
||||
\x6e\x67\x20\x76\x61\x6c\x75\x65\x73\x20\x74\x6f\x20\x65\x70\x69\
|
||||
\x63\x73\x20\x70\x72\x6f\x63\x65\x73\x73\x20\x76\x61\x72\x69\x61\
|
||||
\x62\x6c\x65\x73\x20\x61\x6e\x64\x20\x69\x73\x20\x6d\x65\x61\x6e\
|
||||
\x74\x20\x66\x6f\x72\x20\x74\x65\x73\x74\x69\x6e\x67\x20\x63\x6f\
|
||||
\x64\x65\x20\x77\x69\x74\x68\x20\x72\x61\x77\x20\x64\x61\x74\x61\
|
||||
\x20\x63\x6f\x6c\x6c\x65\x63\x74\x65\x64\x20\x66\x72\x6f\x6d\x20\
|
||||
\x74\x68\x65\x20\x6f\x73\x63\x69\x6c\x6c\x6f\x73\x63\x6f\x70\x65\
|
||||
\x20\x61\x6e\x64\x20\x73\x74\x6f\x72\x65\x64\x20\x69\x6e\x20\x68\
|
||||
\x64\x66\x35\x20\x66\x69\x6c\x65\x73\x3a\x20\x3c\x62\x72\x3e\x20\
|
||||
\x20\x0a\x20\x20\x2f\x68\x69\x70\x61\x2f\x62\x64\x2f\x64\x61\x74\
|
||||
\x61\x2f\x6d\x65\x61\x73\x75\x72\x65\x6d\x65\x6e\x74\x73\x2f\x54\
|
||||
\x69\x6e\x61\x5f\x32\x30\x32\x34\x2d\x30\x39\x2d\x31\x38\x5f\x6f\
|
||||
\x73\x63\x69\x6c\x6c\x6f\x73\x63\x6f\x70\x65\x2e\x68\x35\x0a\x3c\
|
||||
\x70\x3e\x0a\x20\x3c\x68\x34\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\
|
||||
\x6f\x6c\x6f\x72\x3a\x23\x37\x62\x36\x38\x65\x65\x3b\x22\x3e\x50\
|
||||
\x72\x6f\x63\x65\x64\x75\x72\x65\x3c\x2f\x68\x34\x3e\x0a\x57\x69\
|
||||
\x74\x68\x69\x6e\x20\x74\x68\x65\x20\x50\x72\x6f\x63\x65\x64\x75\
|
||||
\x72\x65\x20\x67\x72\x6f\x75\x70\x2c\x20\x74\x68\x65\x20\x53\x74\
|
||||
\x61\x72\x74\x20\x62\x75\x74\x74\x6f\x6e\x20\x65\x78\x65\x63\x75\
|
||||
\x74\x65\x73\x20\x74\x68\x65\x20\x61\x6e\x61\x6c\x79\x73\x69\x73\
|
||||
\x20\x70\x72\x6f\x67\x72\x61\x6d\x0a\x77\x68\x69\x63\x68\x20\x75\
|
||||
\x73\x75\x61\x6c\x6c\x79\x20\x74\x61\x6b\x65\x73\x20\x6c\x65\x73\
|
||||
\x73\x20\x74\x68\x61\x6e\x20\x31\x30\x20\x73\x65\x63\x6f\x6e\x64\
|
||||
\x73\x20\x74\x6f\x20\x63\x6f\x6d\x70\x6c\x65\x74\x65\x2e\x20\x33\
|
||||
\x27\x30\x31\x30\x27\x35\x36\x30\x20\x73\x61\x6d\x70\x6c\x65\x73\
|
||||
\x20\x61\x72\x65\x0a\x63\x6f\x6c\x6c\x65\x63\x74\x65\x64\x20\x70\
|
||||
\x65\x72\x20\x63\x68\x61\x6e\x6e\x65\x6c\x20\x28\x65\x6e\x74\x72\
|
||||
\x79\x20\x77\x66\x2f\x65\x78\x69\x74\x20\x77\x66\x29\x2e\x20\x0a\
|
||||
\x3c\x70\x3e\x0a\x20\x20\x54\x68\x65\x20\x53\x61\x76\x65\x41\x6c\
|
||||
\x6c\x20\x62\x75\x74\x74\x6f\x6e\x3a\x0a\x20\x20\x3c\x75\x6c\x3e\
|
||||
\x0a\x20\x20\x20\x20\x3c\x6c\x69\x3e\x77\x72\x69\x74\x65\x73\x20\
|
||||
\x74\x68\x65\x20\x6e\x75\x6d\x62\x65\x72\x20\x6f\x66\x20\x74\x75\
|
||||
\x72\x6e\x73\x20\x6d\x65\x61\x73\x75\x72\x65\x64\x20\x69\x6e\x74\
|
||||
\x6f\x20\x61\x6e\x20\x65\x70\x69\x63\x73\x20\x70\x72\x6f\x63\x65\
|
||||
\x73\x73\x20\x76\x61\x72\x69\x61\x62\x6c\x65\x2c\x0a\x20\x20\x20\
|
||||
\x20\x3c\x2f\x6c\x69\x3e\x0a\x20\x20\x20\x20\x3c\x6c\x69\x3e\x73\
|
||||
\x61\x76\x65\x20\x74\x68\x65\x20\x72\x61\x77\x20\x64\x61\x74\x61\
|
||||
\x20\x74\x6f\x20\x68\x64\x66\x35\x2c\x0a\x20\x20\x20\x20\x3c\x2f\
|
||||
\x6c\x69\x3e\x0a\x20\x20\x20\x20\x3c\x6c\x69\x3e\x6f\x70\x65\x6e\
|
||||
\x73\x20\x61\x20\x64\x69\x61\x6c\x6f\x67\x20\x77\x69\x6e\x64\x6f\
|
||||
\x77\x20\x66\x6f\x72\x20\x73\x75\x62\x6d\x69\x73\x73\x69\x6f\x6e\
|
||||
\x20\x74\x6f\x20\x74\x68\x65\x20\x73\x65\x6c\x65\x63\x74\x65\x64\
|
||||
\x20\x65\x6c\x6f\x67\x20\x62\x6f\x6f\x6b\x2e\x20\x0a\x20\x20\x20\
|
||||
\x20\x20\x20\x3c\x2f\x6c\x69\x3e\x0a\x20\x20\x3c\x2f\x75\x6c\x3e\
|
||||
\x0a\x20\x20\x54\x68\x65\x73\x65\x20\x61\x63\x74\x69\x6f\x6e\x73\
|
||||
\x20\x63\x61\x6e\x20\x61\x6c\x73\x6f\x20\x62\x65\x20\x65\x78\x65\
|
||||
\x63\x75\x74\x65\x64\x20\x69\x6e\x64\x69\x76\x69\x64\x75\x61\x6c\
|
||||
\x6c\x79\x20\x74\x68\x72\x6f\x75\x67\x68\x20\x69\x63\x6f\x6e\x73\
|
||||
\x20\x70\x6c\x61\x63\x65\x64\x20\x69\x6e\x20\x74\x68\x65\x20\x6d\
|
||||
\x65\x6e\x75\x20\x62\x61\x72\x2e\x0a\x3c\x70\x3e\x0a\x20\x20\x3c\
|
||||
\x66\x6f\x6e\x74\x20\x63\x6f\x6c\x6f\x72\x3d\x67\x72\x65\x65\x6e\
|
||||
\x3e\x0a\x20\x20\x44\x61\x74\x61\x20\x63\x61\x6e\x20\x62\x65\x20\
|
||||
\x72\x65\x63\x61\x6c\x6c\x65\x64\x20\x66\x72\x6f\x6d\x20\x68\x64\
|
||||
\x66\x35\x20\x61\x6e\x64\x20\x72\x65\x61\x6e\x61\x6c\x79\x7a\x65\
|
||||
\x64\x20\x75\x73\x69\x6e\x67\x20\x74\x68\x65\x20\x48\x44\x46\x20\
|
||||
\x61\x6e\x61\x6c\x79\x73\x69\x73\x20\x66\x75\x6e\x63\x74\x69\x6f\
|
||||
\x6e\x61\x6c\x69\x74\x79\x0a\x20\x20\x6d\x61\x64\x65\x20\x61\x76\
|
||||
\x61\x69\x6c\x61\x62\x6c\x65\x20\x74\x68\x72\x6f\x75\x67\x68\x20\
|
||||
\x61\x20\x64\x6f\x63\x6b\x65\x64\x20\x77\x69\x64\x67\x65\x74\x20\
|
||||
\x69\x6e\x20\x74\x68\x65\x20\x6d\x65\x6e\x75\x20\x62\x61\x72\x20\
|
||||
\x28\x72\x69\x67\x68\x74\x20\x63\x6c\x69\x63\x6b\x20\x6f\x6e\x20\
|
||||
\x74\x68\x65\x20\x6d\x65\x6e\x75\x20\x62\x61\x72\x0a\x20\x20\x61\
|
||||
\x6e\x64\x20\x73\x65\x6c\x65\x63\x74\x20\x74\x68\x65\x20\x48\x44\
|
||||
\x46\x35\x20\x6f\x70\x74\x69\x6f\x6e\x29\x2e\x0a\x20\x20\x3c\x2f\
|
||||
\x66\x6f\x6e\x74\x3e\x0a\x0a\x20\x20\x0a\x20\x20\x20\x3c\x68\x33\
|
||||
\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x23\x37\
|
||||
\x62\x36\x38\x65\x65\x3b\x22\x3e\x54\x49\x4e\x41\x20\x49\x6d\x61\
|
||||
\x67\x65\x3c\x2f\x68\x33\x3e\x0a\x20\x20\x20\x3c\x74\x61\x62\x6c\
|
||||
\x65\x3e\x0a\x20\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x3e\
|
||||
\x0a\x20\x20\x20\x3c\x69\x6d\x67\x20\x73\x72\x63\x3d\x22\x3a\x54\
|
||||
\x69\x6e\x61\x2e\x6a\x70\x67\x22\x20\x77\x69\x64\x74\x68\x3d\x39\
|
||||
\x30\x20\x68\x65\x69\x67\x68\x74\x3d\x39\x30\x2f\x3e\x20\x26\x6e\
|
||||
\x62\x73\x70\x3b\x20\x3c\x2f\x74\x64\x3e\x3c\x74\x64\x3e\x0a\x20\
|
||||
\x20\x20\x54\x69\x6e\x61\x20\x54\x75\x72\x6e\x65\x72\x3c\x2f\x74\
|
||||
\x64\x3e\x0a\x20\x20\x20\x3c\x2f\x74\x61\x62\x6c\x65\x3e\x0a\x3c\
|
||||
\x70\x3e\x0a\x3c\x2f\x70\x3e\x0a\x20\x20\x0a\x3c\x2f\x62\x6f\x64\
|
||||
\x79\x3e\x3c\x2f\x68\x74\x6d\x6c\x3e\x0a\
|
||||
\x00\x00\x15\xad\
|
||||
\xff\
|
||||
\xd8\xff\xe0\x00\x10\x4a\x46\x49\x46\x00\x01\x01\x00\x00\x01\x00\
|
||||
@@ -358,45 +745,16 @@ qt_resource_data = b"\
|
||||
\xfb\xfc\x44\x1d\x14\xe7\x0f\x15\x4f\x1b\x10\x93\x79\xdc\x62\xb1\
|
||||
\x2b\x03\x09\x82\xd2\xa9\x73\xad\x8f\x92\xd8\xc0\x90\xee\xb1\xdf\
|
||||
\xb1\xd9\x53\x50\xd0\xde\x4b\x2f\xff\x00\xff\xd9\
|
||||
\x00\x00\x00\xa7\
|
||||
\x00\x00\x00\x80\
|
||||
\x3c\
|
||||
\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
|
||||
\x65\x3e\x57\x65\x62\x20\x48\x65\x6c\x70\x3c\x2f\x74\x69\x74\x6c\
|
||||
\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\x3e\
|
||||
\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x50\x61\x67\x65\x20\x32\x20\x6f\
|
||||
\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x50\x61\x67\x65\x20\x35\x20\x6f\
|
||||
\x66\x20\x77\x65\x62\x20\x68\x65\x6c\x70\x3c\x2f\x62\x3e\x3c\x2f\
|
||||
\x70\x3e\x0a\x3c\x70\x3e\x20\x20\x3c\x61\x20\x68\x72\x65\x66\x3d\
|
||||
\x22\x70\x61\x67\x65\x33\x2e\x68\x74\x6d\x6c\x22\x3e\x20\x4e\x65\
|
||||
\x78\x74\x3c\x2f\x61\x3e\x3c\x2f\x70\x3e\x0a\x3c\x70\x3e\x3c\x62\
|
||||
\x3e\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\
|
||||
\x2e\x2e\x3c\x2f\x70\x3e\x0a\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\
|
||||
\x68\x74\x6d\x6c\x3e\x0a\
|
||||
\x00\x00\x00\xa7\
|
||||
\x3c\
|
||||
\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
|
||||
\x65\x3e\x57\x65\x62\x20\x48\x65\x6c\x70\x3c\x2f\x74\x69\x74\x6c\
|
||||
\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\x3e\
|
||||
\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x50\x61\x67\x65\x20\x33\x20\x6f\
|
||||
\x66\x20\x77\x65\x62\x20\x68\x65\x6c\x70\x3c\x2f\x62\x3e\x3c\x2f\
|
||||
\x70\x3e\x0a\x3c\x70\x3e\x20\x20\x3c\x61\x20\x68\x72\x65\x66\x3d\
|
||||
\x22\x70\x61\x67\x65\x34\x2e\x68\x74\x6d\x6c\x22\x3e\x20\x4e\x65\
|
||||
\x78\x74\x3c\x2f\x61\x3e\x3c\x2f\x70\x3e\x0a\x3c\x70\x3e\x3c\x62\
|
||||
\x3e\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\
|
||||
\x2e\x2e\x3c\x2f\x70\x3e\x0a\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\
|
||||
\x68\x74\x6d\x6c\x3e\x0a\
|
||||
\x00\x00\x00\xa7\
|
||||
\x3c\
|
||||
\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
|
||||
\x65\x3e\x57\x65\x62\x20\x48\x65\x6c\x70\x3c\x2f\x74\x69\x74\x6c\
|
||||
\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\x3e\
|
||||
\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x50\x61\x67\x65\x20\x31\x20\x6f\
|
||||
\x66\x20\x77\x65\x62\x20\x68\x65\x6c\x70\x3c\x2f\x62\x3e\x3c\x2f\
|
||||
\x70\x3e\x0a\x3c\x70\x3e\x20\x20\x3c\x61\x20\x68\x72\x65\x66\x3d\
|
||||
\x22\x70\x61\x67\x65\x32\x2e\x68\x74\x6d\x6c\x22\x3e\x20\x4e\x65\
|
||||
\x78\x74\x3c\x2f\x61\x3e\x3c\x2f\x70\x3e\x0a\x3c\x70\x3e\x3c\x62\
|
||||
\x3e\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\
|
||||
\x2e\x2e\x3c\x2f\x70\x3e\x0a\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\
|
||||
\x68\x74\x6d\x6c\x3e\x0a\
|
||||
\x70\x3e\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x65\x74\x63\x2e\x2e\x2e\
|
||||
\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x70\x3e\x0a\
|
||||
\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\x68\x74\x6d\x6c\x3e\x0a\
|
||||
\x00\x00\x00\xa7\
|
||||
\x3c\
|
||||
\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
|
||||
@@ -410,339 +768,80 @@ qt_resource_data = b"\
|
||||
\x3e\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\
|
||||
\x2e\x2e\x3c\x2f\x70\x3e\x0a\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\
|
||||
\x68\x74\x6d\x6c\x3e\x0a\
|
||||
\x00\x00\x10\x3f\
|
||||
\x3c\
|
||||
\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
|
||||
\x65\x3e\x54\x69\x6d\x65\x20\x6f\x66\x20\x46\x6c\x69\x67\x68\x74\
|
||||
\x20\x4d\x65\x61\x73\x75\x65\x6d\x65\x6e\x74\x20\x66\x6f\x72\x20\
|
||||
\x49\x6e\x6a\x65\x63\x74\x6f\x72\x20\x61\x6e\x64\x20\x52\x69\x6e\
|
||||
\x67\x20\x43\x79\x63\x6c\x6f\x74\x72\x6f\x6e\x20\x54\x75\x72\x6e\
|
||||
\x20\x4e\x75\x6d\x62\x65\x72\x20\x41\x73\x63\x65\x72\x74\x61\x69\
|
||||
\x6e\x6d\x65\x6e\x74\x2c\x20\x54\x49\x4e\x41\x3c\x2f\x74\x69\x74\
|
||||
\x6c\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\
|
||||
\x3e\x0a\x0a\x3c\x68\x35\x20\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\
|
||||
\x6f\x6c\x6f\x72\x3a\x67\x72\x61\x79\x3b\x22\x3e\x4a\x75\x6e\x65\
|
||||
\x20\x32\x30\x32\x34\x2c\x20\x4a\x61\x6e\x20\x43\x68\x72\x69\x6e\
|
||||
\x2c\x20\x50\x69\x65\x72\x72\x65\x2d\x41\x6e\x64\x72\x26\x65\x61\
|
||||
\x63\x75\x74\x65\x3b\x20\x44\x75\x70\x65\x72\x72\x65\x78\x2c\x20\
|
||||
\x41\x6c\x65\x73\x73\x61\x6e\x64\x72\x6f\x20\x46\x61\x63\x63\x68\
|
||||
\x65\x74\x74\x69\x2c\x20\x20\x57\x61\x6c\x64\x61\x6d\x61\x72\x20\
|
||||
\x4b\x6f\x70\x72\x65\x6b\x3c\x2f\x68\x35\x3e\x0a\x3c\x68\x34\x3e\
|
||||
\x20\x3c\x73\x70\x61\x6e\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\
|
||||
\x6c\x6f\x72\x3a\x20\x72\x65\x64\x3b\x22\x3e\x54\x3c\x2f\x73\x70\
|
||||
\x61\x6e\x3e\x69\x6d\x65\x20\x6f\x66\x20\x46\x6c\x69\x67\x68\x74\
|
||||
\x20\x4d\x65\x61\x73\x75\x72\x65\x6d\x65\x6e\x74\x20\x66\x6f\x72\
|
||||
\x20\x3c\x73\x70\x61\x6e\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\
|
||||
\x6c\x6f\x72\x3a\x20\x72\x65\x64\x3b\x22\x3e\x49\x3c\x2f\x73\x70\
|
||||
\x61\x6e\x3e\x6e\x6a\x65\x63\x74\x6f\x72\x20\x61\x6e\x64\x20\x52\
|
||||
\x69\x6e\x67\x20\x43\x79\x63\x6c\x6f\x74\x72\x6f\x6e\x20\x54\x75\
|
||||
\x72\x6e\x20\x3c\x73\x70\x61\x6e\x20\x73\x74\x79\x6c\x65\x3d\x22\
|
||||
\x63\x6f\x6c\x6f\x72\x3a\x20\x72\x65\x64\x3b\x22\x3e\x4e\x3c\x2f\
|
||||
\x73\x70\x61\x6e\x3e\x75\x6d\x62\x65\x72\x20\x3c\x73\x70\x61\x6e\
|
||||
\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x20\x72\
|
||||
\x65\x64\x3b\x22\x3e\x41\x3c\x2f\x73\x70\x61\x6e\x3e\x73\x63\x65\
|
||||
\x72\x74\x61\x69\x6e\x6d\x65\x6e\x74\x2c\x20\x3c\x73\x70\x61\x6e\
|
||||
\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x20\x72\
|
||||
\x65\x64\x3b\x22\x3e\x54\x49\x4e\x41\x3c\x2f\x73\x70\x61\x6e\x3e\
|
||||
\x3c\x2f\x68\x34\x3e\x0a\x3c\x68\x32\x20\x73\x74\x79\x6c\x65\x3d\
|
||||
\x22\x63\x6f\x6c\x6f\x72\x3a\x62\x6c\x75\x65\x3b\x22\x3e\x41\x62\
|
||||
\x6f\x75\x74\x3c\x2f\x68\x32\x3e\x0a\x0a\x0a\x3c\x70\x3e\x54\x68\
|
||||
\x65\x20\x54\x49\x4e\x41\x20\x61\x70\x70\x6c\x69\x63\x61\x74\x69\
|
||||
\x6f\x6e\x20\x64\x65\x74\x65\x72\x6d\x69\x6e\x65\x73\x20\x74\x68\
|
||||
\x65\x20\x6e\x75\x6d\x62\x65\x72\x20\x6f\x66\x20\x74\x75\x72\x6e\
|
||||
\x73\x20\x69\x6e\x20\x61\x20\x63\x79\x63\x6c\x6f\x74\x72\x6f\x6e\
|
||||
\x0a\x66\x72\x6f\x6d\x20\x61\x20\x54\x69\x6d\x65\x20\x6f\x66\x20\
|
||||
\x46\x6c\x69\x67\x68\x74\x20\x28\x54\x4f\x46\x29\x20\x6d\x65\x61\
|
||||
\x73\x75\x72\x65\x6d\x65\x6e\x74\x20\x74\x65\x63\x68\x6e\x69\x71\
|
||||
\x75\x65\x20\x61\x6e\x64\x20\x61\x20\x63\x72\x6f\x73\x73\x2d\x63\
|
||||
\x6f\x72\x72\x65\x6c\x61\x74\x69\x6f\x6e\x0a\x6f\x66\x20\x66\x61\
|
||||
\x73\x74\x20\x73\x61\x6d\x70\x6c\x65\x64\x20\x64\x61\x74\x61\x20\
|
||||
\x66\x72\x6f\x6d\x20\x63\x61\x70\x61\x63\x69\x74\x69\x76\x65\x20\
|
||||
\x73\x65\x6e\x73\x6f\x72\x73\x20\x6c\x6f\x63\x61\x74\x65\x64\x20\
|
||||
\x61\x74\x20\x74\x68\x65\x20\x65\x6e\x74\x72\x61\x6e\x63\x65\x20\
|
||||
\x61\x6e\x64\x20\x65\x78\x69\x74\x0a\x6f\x66\x20\x74\x68\x65\x20\
|
||||
\x63\x79\x63\x6f\x6c\x6f\x74\x72\x6f\x6e\x2e\x20\x54\x68\x69\x73\
|
||||
\x20\x69\x73\x20\x62\x61\x73\x65\x64\x20\x6f\x6e\x20\x61\x20\x70\
|
||||
\x79\x74\x68\x6f\x6e\x20\x69\x6d\x70\x6c\x65\x6d\x65\x6e\x74\x61\
|
||||
\x74\x69\x6f\x6e\x20\x6f\x66\x20\x61\x20\x4c\x61\x62\x56\x49\x45\
|
||||
\x57\x20\x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x20\x64\x65\
|
||||
\x76\x65\x6c\x6f\x70\x65\x64\x20\x62\x79\x0a\x50\x69\x65\x72\x72\
|
||||
\x65\x2d\x41\x6e\x64\x72\x26\x65\x61\x63\x75\x74\x65\x3b\x20\x44\
|
||||
\x75\x70\x65\x72\x72\x65\x78\x3a\x20\x20\x3c\x62\x72\x3e\x0a\x50\
|
||||
\x2e\x2d\x41\x2e\x20\x44\x75\x70\x65\x72\x72\x65\x78\x20\x61\x6e\
|
||||
\x64\x20\x41\x2e\x20\x46\x61\x63\x63\x68\x65\x74\x74\x69\x2c\x20\
|
||||
\x0a\x4e\x75\x6d\x62\x65\x72\x20\x6f\x66\x20\x54\x75\x72\x6e\x20\
|
||||
\x4d\x65\x61\x73\x75\x72\x65\x6d\x65\x6e\x74\x73\x20\x6f\x6e\x20\
|
||||
\x74\x68\x65\x20\x48\x49\x50\x41\x20\x43\x79\x63\x6c\x6f\x74\x72\
|
||||
\x6f\x6e\x73\x20\x61\x74\x20\x50\x53\x49\x2e\x3c\x62\x72\x3e\x0a\
|
||||
\x64\x6f\x69\x3a\x31\x30\x2e\x31\x38\x34\x32\x39\x2f\x4a\x41\x43\
|
||||
\x6f\x57\x2d\x49\x50\x41\x43\x32\x30\x31\x38\x2d\x57\x45\x50\x41\
|
||||
\x4c\x30\x36\x37\x20\x0a\x0a\x20\x20\x0a\x20\x20\x3c\x2f\x70\x3e\
|
||||
\x0a\x3c\x21\x2d\x2d\x61\x20\x68\x72\x65\x66\x3d\x22\x70\x61\x67\
|
||||
\x65\x31\x2e\x68\x74\x6d\x6c\x22\x3e\x68\x65\x72\x65\x3c\x2f\x61\
|
||||
\x3e\x3c\x2f\x70\x2d\x2d\x3e\x0a\x0a\x3c\x68\x32\x20\x73\x74\x79\
|
||||
\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x62\x6c\x75\x65\x3b\x22\
|
||||
\x3e\x54\x68\x65\x20\x52\x65\x70\x6f\x73\x69\x74\x6f\x72\x79\x3c\
|
||||
\x2f\x68\x32\x3e\x0a\x0a\x3c\x70\x3e\x54\x68\x65\x20\x61\x70\x70\
|
||||
\x6c\x69\x63\x61\x74\x69\x6f\x6e\x20\x63\x6f\x6d\x70\x72\x69\x73\
|
||||
\x65\x73\x20\x74\x77\x6f\x20\x63\x6f\x6d\x70\x6f\x6e\x65\x6e\x74\
|
||||
\x73\x3a\x0a\x20\x20\x3c\x75\x6c\x3e\x0a\x3c\x6c\x69\x3e\x0a\x20\
|
||||
\x20\x54\x68\x65\x20\x6c\x6f\x77\x2d\x6c\x65\x76\x65\x6c\x20\x41\
|
||||
\x44\x43\x20\x64\x61\x74\x61\x20\x61\x63\x71\x75\x69\x73\x69\x74\
|
||||
\x69\x6f\x6e\x20\x73\x79\x73\x74\x65\x6d\x2e\x3c\x62\x72\x3e\x0a\
|
||||
\x20\x20\x3c\x73\x70\x61\x6e\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\
|
||||
\x6f\x6c\x6f\x72\x3a\x20\x67\x72\x65\x65\x6e\x3b\x22\x3e\x68\x74\
|
||||
\x74\x70\x73\x3a\x2f\x2f\x67\x69\x74\x2e\x70\x73\x69\x2e\x63\x68\
|
||||
\x2f\x65\x70\x69\x63\x73\x5f\x69\x6f\x63\x62\x6f\x6f\x74\x5f\x68\
|
||||
\x69\x70\x61\x2f\x2e\x2e\x20\x74\x6f\x20\x62\x65\x20\x63\x6f\x6d\
|
||||
\x70\x6c\x65\x74\x65\x64\x3c\x2f\x73\x70\x61\x6e\x3e\x3c\x62\x72\
|
||||
\x3e\x0a\x20\x0a\x20\x3c\x2f\x6c\x69\x3e\x0a\x20\x20\x3c\x6c\x69\
|
||||
\x3e\x0a\x20\x20\x20\x20\x41\x20\x48\x69\x67\x68\x20\x4c\x65\x76\
|
||||
\x65\x6c\x20\x41\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x20\x28\
|
||||
\x48\x4c\x41\x29\x20\x74\x68\x61\x74\x20\x69\x73\x20\x61\x62\x6c\
|
||||
\x65\x20\x74\x6f\x20\x69\x6e\x74\x65\x72\x61\x63\x74\x20\x77\x69\
|
||||
\x74\x68\x20\x74\x68\x65\x20\x49\x4f\x43\x2c\x20\x73\x74\x61\x72\
|
||||
\x74\x20\x61\x20\x6c\x6f\x77\x2d\x6c\x65\x76\x65\x6c\x20\x64\x61\
|
||||
\x74\x61\x20\x61\x63\x71\x75\x69\x73\x74\x69\x6f\x6e\x20\x72\x75\
|
||||
\x6e\x2c\x0a\x20\x20\x20\x20\x61\x63\x71\x75\x69\x72\x65\x20\x74\
|
||||
\x68\x65\x20\x72\x61\x77\x20\x64\x61\x74\x61\x2c\x20\x61\x6e\x64\
|
||||
\x20\x70\x65\x72\x66\x6f\x72\x6d\x20\x74\x68\x65\x20\x6e\x75\x6d\
|
||||
\x62\x65\x72\x20\x6f\x66\x20\x74\x65\x72\x6d\x73\x20\x61\x6e\x61\
|
||||
\x6c\x79\x73\x69\x73\x2e\x3c\x62\x72\x3e\x0a\x20\x20\x20\x20\x3c\
|
||||
\x73\x70\x61\x6e\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\
|
||||
\x72\x3a\x20\x67\x72\x65\x65\x6e\x3b\x22\x3e\x20\x68\x74\x74\x70\
|
||||
\x73\x3a\x2f\x2f\x67\x69\x74\x6c\x61\x62\x2e\x70\x73\x69\x2e\x63\
|
||||
\x68\x2f\x68\x69\x70\x61\x5f\x61\x70\x70\x73\x34\x6f\x70\x73\x2f\
|
||||
\x74\x69\x6e\x61\x3c\x2f\x73\x70\x61\x6e\x3e\x3c\x62\x72\x3e\x0a\
|
||||
\x20\x20\x20\x20\x3c\x73\x70\x61\x6e\x20\x73\x74\x79\x6c\x65\x3d\
|
||||
\x22\x63\x6f\x6c\x6f\x72\x3a\x20\x67\x72\x61\x79\x3b\x22\x3e\x20\
|
||||
\x2f\x68\x69\x70\x61\x2f\x62\x64\x2f\x61\x70\x70\x6c\x69\x63\x61\
|
||||
\x74\x69\x6f\x6e\x73\x2f\x74\x69\x6e\x61\x2f\x6c\x61\x74\x65\x73\
|
||||
\x74\x2f\x74\x69\x6e\x61\x2e\x73\x68\x3c\x2f\x73\x70\x61\x6e\x3e\
|
||||
\x0a\x20\x20\x20\x20\x3c\x2f\x6c\x69\x3e\x0a\x3c\x2f\x75\x6c\x3e\
|
||||
\x0a\x20\x20\x3c\x68\x32\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\
|
||||
\x6c\x6f\x72\x3a\x62\x6c\x75\x65\x3b\x22\x3e\x47\x55\x49\x2c\x20\
|
||||
\x43\x6f\x6e\x74\x72\x6f\x6c\x20\x54\x61\x62\x3c\x2f\x68\x32\x3e\
|
||||
\x0a\x20\x20\x4d\x61\x69\x6e\x20\x70\x61\x6e\x65\x6c\x20\x66\x6f\
|
||||
\x72\x20\x75\x73\x65\x20\x62\x79\x20\x6f\x70\x65\x72\x61\x74\x6f\
|
||||
\x72\x73\x2e\x20\x0a\x20\x20\x3c\x68\x33\x20\x73\x74\x79\x6c\x65\
|
||||
\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x23\x37\x62\x36\x38\x65\x65\x3b\
|
||||
\x22\x3e\x4f\x70\x65\x72\x61\x74\x6f\x72\x20\x50\x61\x6e\x65\x6c\
|
||||
\x3c\x2f\x68\x33\x3e\x0a\x20\x20\x49\x6e\x70\x75\x74\x20\x70\x61\
|
||||
\x72\x61\x6d\x65\x74\x65\x72\x73\x20\x74\x6f\x20\x61\x6e\x61\x6c\
|
||||
\x79\x73\x69\x73\x20\x72\x6f\x75\x74\x69\x6e\x65\x2c\x20\x61\x73\
|
||||
\x20\x63\x6f\x6e\x66\x69\x67\x75\x72\x65\x64\x20\x69\x6e\x20\x74\
|
||||
\x69\x6e\x61\x2e\x6a\x73\x6f\x6e\x2e\x3c\x62\x72\x3e\x0a\x20\x20\
|
||||
\x54\x68\x65\x20\x49\x6e\x6a\x65\x63\x74\x6f\x72\x20\x68\x61\x73\
|
||||
\x20\x4e\x4f\x54\x20\x79\x65\x74\x20\x62\x65\x65\x6e\x20\x69\x6d\
|
||||
\x70\x6c\x65\x6d\x65\x6e\x74\x65\x64\x20\x69\x6e\x74\x6f\x20\x74\
|
||||
\x68\x65\x20\x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x2e\x0a\
|
||||
\x20\x20\x3c\x74\x61\x62\x6c\x65\x20\x77\x69\x64\x74\x68\x3d\x34\
|
||||
\x30\x30\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x20\x3c\x74\x64\
|
||||
\x3e\x0a\x09\x3c\x74\x61\x62\x6c\x65\x3e\x0a\x09\x20\x20\x3c\x63\
|
||||
\x61\x70\x74\x69\x6f\x6e\x3e\x0a\x09\x20\x20\x20\x20\x3c\x68\x34\
|
||||
\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x23\x30\
|
||||
\x30\x34\x37\x61\x62\x3b\x22\x3e\x43\x79\x63\x6c\x6f\x74\x72\x6f\
|
||||
\x6e\x3c\x2f\x68\x34\x3e\x0a\x09\x20\x20\x20\x20\x3c\x2f\x63\x61\
|
||||
\x70\x74\x69\x6f\x6e\x3e\x0a\x20\x20\x3c\x74\x68\x65\x61\x64\x3e\
|
||||
\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x0a\x20\x20\x20\x20\x20\x20\
|
||||
\x3c\x74\x68\x20\x61\x6c\x69\x67\x6e\x3d\x6c\x65\x66\x74\x3e\x50\
|
||||
\x61\x72\x61\x6d\x65\x74\x65\x72\x3c\x2f\x74\x68\x3e\x0a\x20\x20\
|
||||
\x20\x20\x20\x20\x3c\x74\x68\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\
|
||||
\x6e\x74\x65\x72\x3e\x56\x61\x6c\x75\x65\x3c\x2f\x74\x68\x3e\x0a\
|
||||
\x20\x20\x20\x20\x3c\x2f\x74\x72\x3e\x0a\x20\x20\x3c\x2f\x74\x68\
|
||||
\x65\x61\x64\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\
|
||||
\x3e\x48\x61\x72\x6d\x6f\x6e\x69\x63\x20\x4e\x6f\x2e\x3c\x2f\x74\
|
||||
\x64\x3e\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\
|
||||
\x74\x65\x72\x3e\x36\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\
|
||||
\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x3e\x64\x54\x20\x43\
|
||||
\x61\x62\x6c\x65\x20\x28\x6e\x73\x29\x3c\x2f\x74\x64\x3e\x20\x3c\
|
||||
\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\x72\x3e\
|
||||
\x34\x34\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x20\x20\x20\
|
||||
\x20\x3c\x74\x72\x3e\x3c\x74\x64\x3e\x64\x4e\x20\x50\x69\x63\x6b\
|
||||
\x75\x70\x3c\x2f\x74\x64\x3e\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\
|
||||
\x6e\x3d\x63\x65\x6e\x74\x65\x72\x3e\x2d\x31\x3c\x2f\x74\x64\x3e\
|
||||
\x3c\x2f\x74\x72\x3e\x0a\x09\x3c\x2f\x74\x61\x62\x6c\x65\x3e\x0a\
|
||||
\x20\x20\x20\x20\x20\x20\x3c\x2f\x74\x64\x3e\x20\x3c\x74\x64\x20\
|
||||
\x77\x69\x64\x74\x68\x3d\x32\x30\x3e\x20\x26\x6e\x62\x73\x70\x3b\
|
||||
\x20\x3c\x2f\x74\x64\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x74\x64\
|
||||
\x3e\x20\x3c\x74\x61\x62\x6c\x65\x3e\x0a\x09\x20\x20\x3c\x63\x61\
|
||||
\x70\x74\x69\x6f\x6e\x3e\x0a\x3c\x68\x34\x20\x73\x74\x79\x6c\x65\
|
||||
\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x23\x30\x30\x38\x62\x38\x62\x3b\
|
||||
\x22\x3e\x49\x6e\x6a\x65\x63\x74\x6f\x72\x3c\x2f\x68\x34\x3e\x0a\
|
||||
\x3c\x2f\x63\x61\x70\x74\x69\x6f\x6e\x3e\x0a\x20\x20\x3c\x74\x68\
|
||||
\x65\x61\x64\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x0a\x20\x20\
|
||||
\x20\x20\x20\x20\x3c\x74\x68\x20\x61\x6c\x69\x67\x6e\x3d\x6c\x65\
|
||||
\x66\x74\x3e\x50\x61\x72\x61\x6d\x65\x74\x65\x72\x3c\x2f\x74\x68\
|
||||
\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x74\x68\x20\x61\x6c\x69\x67\
|
||||
\x6e\x3d\x63\x65\x6e\x74\x65\x72\x3e\x56\x61\x6c\x75\x65\x3c\x2f\
|
||||
\x74\x68\x3e\x0a\x20\x20\x20\x20\x3c\x2f\x74\x72\x3e\x0a\x20\x20\
|
||||
\x3c\x2f\x74\x68\x65\x61\x64\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\
|
||||
\x3e\x3c\x74\x64\x3e\x48\x61\x72\x6d\x6f\x6e\x69\x63\x20\x4e\x6f\
|
||||
\x2e\x3c\x2f\x74\x64\x3e\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\
|
||||
\x3d\x63\x65\x6e\x74\x65\x72\x3e\x31\x30\x3c\x2f\x74\x64\x3e\x3c\
|
||||
\x2f\x74\x72\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\
|
||||
\x3e\x64\x54\x20\x43\x61\x62\x6c\x65\x20\x28\x6e\x73\x29\x3c\x2f\
|
||||
\x74\x64\x3e\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\
|
||||
\x6e\x74\x65\x72\x3e\x36\x2e\x39\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\
|
||||
\x72\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x3e\x64\
|
||||
\x4e\x20\x50\x69\x63\x6b\x75\x70\x3c\x2f\x74\x64\x3e\x20\x3c\x74\
|
||||
\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\x72\x3e\x34\
|
||||
\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x20\x20\x20\x20\x3c\
|
||||
\x74\x72\x3e\x3c\x74\x64\x3e\x4d\x6f\x64\x2e\x20\x46\x72\x65\x71\
|
||||
\x2e\x20\x28\x47\x48\x7a\x29\x20\x26\x6e\x62\x73\x70\x3b\x3c\x2f\
|
||||
\x74\x64\x3e\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\
|
||||
\x6e\x74\x65\x72\x3e\x35\x30\x30\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\
|
||||
\x72\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x3e\x44\
|
||||
\x75\x74\x79\x20\x43\x79\x63\x6c\x65\x20\x28\x25\x29\x3c\x2f\x74\
|
||||
\x64\x3e\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\
|
||||
\x74\x65\x72\x3e\x31\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\
|
||||
\x09\x3c\x2f\x74\x61\x62\x6c\x65\x3e\x0a\x20\x20\x20\x20\x20\x20\
|
||||
\x3c\x2f\x74\x64\x3e\x0a\x20\x20\x20\x20\x3c\x2f\x74\x72\x3e\x0a\
|
||||
\x20\x20\x20\x20\x3c\x2f\x74\x61\x62\x6c\x65\x3e\x0a\x20\x20\x3c\
|
||||
\x70\x3e\x0a\x57\x69\x74\x68\x69\x6e\x20\x74\x68\x65\x20\x50\x72\
|
||||
\x6f\x63\x65\x64\x75\x72\x65\x20\x67\x72\x6f\x75\x70\x2c\x20\x74\
|
||||
\x68\x65\x20\x53\x74\x61\x72\x74\x20\x62\x75\x74\x74\x6f\x6e\x6e\
|
||||
\x20\x65\x78\x65\x63\x75\x74\x65\x73\x20\x74\x68\x65\x20\x61\x6e\
|
||||
\x61\x6c\x79\x73\x69\x73\x20\x70\x72\x6f\x67\x72\x61\x6d\x0a\x77\
|
||||
\x68\x69\x63\x68\x20\x75\x73\x75\x61\x6c\x6c\x79\x20\x74\x61\x6b\
|
||||
\x65\x73\x20\x6c\x65\x73\x73\x20\x74\x68\x61\x6e\x20\x31\x30\x20\
|
||||
\x73\x65\x63\x6f\x6e\x64\x73\x20\x74\x6f\x20\x63\x6f\x6d\x70\x6c\
|
||||
\x65\x74\x65\x2e\x20\x33\x27\x30\x31\x30\x27\x35\x36\x30\x20\x73\
|
||||
\x61\x6d\x70\x6c\x65\x73\x20\x61\x72\x65\x0a\x63\x6f\x6c\x6c\x65\
|
||||
\x63\x74\x65\x64\x20\x70\x65\x72\x20\x63\x68\x61\x6e\x6e\x65\x6c\
|
||||
\x20\x28\x65\x6e\x74\x72\x79\x20\x77\x66\x2f\x65\x78\x69\x74\x20\
|
||||
\x77\x66\x29\x2e\x20\x0a\x3c\x70\x3e\x0a\x20\x20\x54\x68\x65\x20\
|
||||
\x53\x61\x76\x65\x41\x6c\x6c\x20\x62\x75\x74\x74\x6f\x6e\x3a\x0a\
|
||||
\x20\x20\x3c\x75\x6c\x3e\x0a\x20\x20\x20\x20\x3c\x6c\x69\x3e\x77\
|
||||
\x72\x69\x74\x65\x73\x20\x74\x68\x65\x20\x6e\x75\x6d\x62\x65\x72\
|
||||
\x20\x6f\x66\x20\x74\x75\x72\x6e\x73\x20\x6d\x65\x61\x73\x75\x72\
|
||||
\x65\x64\x20\x69\x6e\x74\x6f\x20\x61\x6e\x20\x65\x70\x69\x63\x73\
|
||||
\x20\x70\x72\x6f\x63\x65\x73\x73\x20\x76\x61\x72\x69\x61\x62\x6c\
|
||||
\x65\x2c\x0a\x20\x20\x20\x20\x3c\x2f\x6c\x69\x3e\x0a\x20\x20\x20\
|
||||
\x20\x3c\x6c\x69\x3e\x73\x61\x76\x65\x20\x74\x68\x65\x20\x72\x61\
|
||||
\x77\x20\x64\x61\x74\x61\x20\x74\x6f\x20\x68\x64\x66\x35\x2c\x0a\
|
||||
\x20\x20\x20\x20\x3c\x2f\x6c\x69\x3e\x0a\x20\x20\x20\x20\x3c\x6c\
|
||||
\x69\x3e\x6f\x70\x65\x6e\x73\x20\x61\x20\x64\x69\x61\x6c\x6f\x67\
|
||||
\x20\x77\x69\x6e\x64\x6f\x77\x20\x66\x6f\x72\x20\x73\x75\x62\x6d\
|
||||
\x69\x73\x73\x69\x6f\x6e\x20\x74\x6f\x20\x74\x68\x65\x20\x73\x65\
|
||||
\x6c\x65\x63\x74\x65\x64\x20\x65\x6c\x6f\x67\x20\x62\x6f\x6f\x6b\
|
||||
\x2e\x20\x0a\x20\x20\x20\x20\x20\x20\x3c\x2f\x6c\x69\x3e\x0a\x20\
|
||||
\x20\x3c\x2f\x75\x6c\x3e\x0a\x3c\x70\x3e\x0a\x20\x20\x44\x61\x74\
|
||||
\x61\x20\x63\x61\x6e\x20\x62\x65\x20\x72\x65\x63\x61\x6c\x6c\x65\
|
||||
\x64\x20\x66\x72\x6f\x6d\x20\x68\x64\x66\x35\x20\x61\x6e\x64\x20\
|
||||
\x72\x65\x61\x6e\x61\x6c\x79\x7a\x65\x64\x20\x75\x73\x69\x6e\x67\
|
||||
\x20\x74\x68\x65\x20\x48\x44\x46\x20\x61\x6e\x61\x6c\x79\x73\x69\
|
||||
\x73\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x61\x6c\x69\x74\x79\x0a\
|
||||
\x20\x20\x6d\x61\x64\x65\x20\x61\x76\x61\x69\x6c\x61\x62\x6c\x65\
|
||||
\x20\x74\x68\x72\x6f\x75\x67\x68\x20\x61\x20\x64\x6f\x63\x6b\x65\
|
||||
\x64\x20\x77\x69\x64\x67\x65\x74\x20\x69\x6e\x20\x74\x68\x65\x20\
|
||||
\x6d\x65\x6e\x75\x20\x62\x61\x72\x20\x28\x72\x69\x67\x68\x74\x20\
|
||||
\x63\x6c\x69\x63\x6b\x20\x6f\x6e\x20\x74\x68\x65\x20\x6d\x65\x6e\
|
||||
\x75\x20\x62\x61\x72\x0a\x20\x20\x61\x6e\x64\x20\x73\x65\x6c\x65\
|
||||
\x63\x74\x20\x74\x68\x65\x20\x48\x44\x46\x35\x20\x6f\x70\x74\x69\
|
||||
\x6f\x6e\x29\x2e\x0a\x20\x20\x0a\x20\x20\x3c\x68\x33\x20\x73\x74\
|
||||
\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x23\x37\x62\x36\x38\
|
||||
\x65\x65\x3b\x22\x3e\x45\x78\x70\x65\x72\x74\x20\x50\x61\x6e\x65\
|
||||
\x6c\x3c\x2f\x68\x33\x3e\x0a\x20\x20\x54\x68\x65\x20\x4f\x73\x63\
|
||||
\x69\x6c\x6c\x6f\x73\x63\x6f\x70\x65\x20\x6f\x70\x74\x69\x6f\x6e\
|
||||
\x20\x64\x69\x73\x61\x62\x6c\x65\x73\x20\x73\x65\x74\x74\x69\x6e\
|
||||
\x67\x20\x76\x61\x6c\x75\x65\x73\x20\x74\x6f\x20\x65\x70\x69\x63\
|
||||
\x73\x20\x70\x72\x6f\x63\x65\x73\x73\x20\x76\x61\x72\x69\x61\x62\
|
||||
\x6c\x65\x73\x20\x61\x6e\x64\x20\x69\x73\x20\x6d\x65\x61\x6e\x74\
|
||||
\x20\x66\x6f\x72\x20\x74\x65\x73\x74\x69\x6e\x67\x20\x63\x6f\x64\
|
||||
\x65\x20\x77\x69\x74\x68\x20\x72\x61\x77\x20\x64\x61\x74\x61\x20\
|
||||
\x63\x6f\x6c\x6c\x65\x63\x74\x65\x64\x20\x66\x72\x6f\x6d\x20\x74\
|
||||
\x68\x65\x20\x6f\x73\x63\x69\x6c\x6c\x6f\x73\x63\x6f\x70\x65\x20\
|
||||
\x61\x6e\x64\x20\x73\x74\x6f\x72\x65\x64\x20\x69\x6e\x20\x68\x64\
|
||||
\x66\x35\x20\x66\x69\x6c\x65\x73\x3a\x20\x3c\x62\x72\x3e\x20\x20\
|
||||
\x0a\x20\x20\x2f\x68\x69\x70\x61\x2f\x62\x64\x2f\x64\x61\x74\x61\
|
||||
\x2f\x6d\x65\x61\x73\x75\x72\x65\x6d\x65\x6e\x74\x73\x2f\x54\x69\
|
||||
\x6e\x61\x5f\x32\x30\x32\x34\x2d\x30\x39\x2d\x31\x38\x5f\x6f\x73\
|
||||
\x63\x69\x6c\x6c\x6f\x73\x63\x6f\x70\x65\x2e\x68\x35\x0a\x20\x20\
|
||||
\x20\x3c\x68\x33\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\
|
||||
\x72\x3a\x23\x37\x62\x36\x38\x65\x65\x3b\x22\x3e\x54\x49\x4e\x41\
|
||||
\x20\x49\x6d\x61\x67\x65\x3c\x2f\x68\x33\x3e\x0a\x20\x20\x20\x3c\
|
||||
\x74\x61\x62\x6c\x65\x3e\x0a\x20\x20\x20\x20\x20\x3c\x74\x72\x3e\
|
||||
\x3c\x74\x64\x3e\x0a\x20\x20\x20\x3c\x69\x6d\x67\x20\x73\x72\x63\
|
||||
\x3d\x22\x3a\x54\x69\x6e\x61\x2e\x6a\x70\x67\x22\x20\x77\x69\x64\
|
||||
\x74\x68\x3d\x39\x30\x20\x68\x65\x69\x67\x68\x74\x3d\x39\x30\x2f\
|
||||
\x3e\x20\x26\x6e\x62\x73\x70\x3b\x20\x3c\x2f\x74\x64\x3e\x3c\x74\
|
||||
\x64\x3e\x0a\x20\x20\x20\x54\x69\x6e\x61\x20\x54\x75\x72\x6e\x65\
|
||||
\x72\x3c\x2f\x74\x64\x3e\x0a\x20\x20\x20\x3c\x2f\x74\x61\x62\x6c\
|
||||
\x65\x3e\x0a\x3c\x70\x3e\x0a\x3c\x2f\x70\x3e\x0a\x20\x20\x0a\x3c\
|
||||
\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\x68\x74\x6d\x6c\x3e\x0a\
|
||||
\x00\x00\x00\x80\
|
||||
\x00\x00\x00\xa7\
|
||||
\x3c\
|
||||
\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
|
||||
\x65\x3e\x57\x65\x62\x20\x48\x65\x6c\x70\x3c\x2f\x74\x69\x74\x6c\
|
||||
\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\x3e\
|
||||
\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x50\x61\x67\x65\x20\x35\x20\x6f\
|
||||
\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x50\x61\x67\x65\x20\x32\x20\x6f\
|
||||
\x66\x20\x77\x65\x62\x20\x68\x65\x6c\x70\x3c\x2f\x62\x3e\x3c\x2f\
|
||||
\x70\x3e\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x65\x74\x63\x2e\x2e\x2e\
|
||||
\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x70\x3e\x0a\
|
||||
\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\x68\x74\x6d\x6c\x3e\x0a\
|
||||
\x70\x3e\x0a\x3c\x70\x3e\x20\x20\x3c\x61\x20\x68\x72\x65\x66\x3d\
|
||||
\x22\x70\x61\x67\x65\x33\x2e\x68\x74\x6d\x6c\x22\x3e\x20\x4e\x65\
|
||||
\x78\x74\x3c\x2f\x61\x3e\x3c\x2f\x70\x3e\x0a\x3c\x70\x3e\x3c\x62\
|
||||
\x3e\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\
|
||||
\x2e\x2e\x3c\x2f\x70\x3e\x0a\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\
|
||||
\x68\x74\x6d\x6c\x3e\x0a\
|
||||
"
|
||||
|
||||
qt_resource_name = b"\
|
||||
\x00\x08\
|
||||
\x00\x44\x5a\x07\
|
||||
\x00\x54\
|
||||
\x00\x69\x00\x6e\x00\x61\x00\x2e\x00\x6a\x00\x70\x00\x67\
|
||||
\x00\x0a\
|
||||
\x08\x5a\x34\x9c\
|
||||
\x00\x70\
|
||||
\x00\x61\x00\x67\x00\x65\x00\x32\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
|
||||
\x00\x0a\
|
||||
\x08\x6a\x34\x9c\
|
||||
\x00\x70\
|
||||
\x00\x61\x00\x67\x00\x65\x00\x33\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
|
||||
\x00\x0a\
|
||||
\x08\x4a\x34\x9c\
|
||||
\x00\x70\
|
||||
\x00\x61\x00\x67\x00\x65\x00\x31\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
|
||||
\x00\x0a\
|
||||
\x08\x7a\x34\x9c\
|
||||
\x08\x6a\x34\x9c\
|
||||
\x00\x70\
|
||||
\x00\x61\x00\x67\x00\x65\x00\x34\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
|
||||
\x00\x61\x00\x67\x00\x65\x00\x33\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
|
||||
\x00\x0a\
|
||||
\x0c\xba\xf2\x7c\
|
||||
\x00\x69\
|
||||
\x00\x6e\x00\x64\x00\x65\x00\x78\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
|
||||
\x00\x08\
|
||||
\x00\x44\x5a\x07\
|
||||
\x00\x54\
|
||||
\x00\x69\x00\x6e\x00\x61\x00\x2e\x00\x6a\x00\x70\x00\x67\
|
||||
\x00\x0a\
|
||||
\x08\x8a\x34\x9c\
|
||||
\x00\x70\
|
||||
\x00\x61\x00\x67\x00\x65\x00\x35\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
|
||||
\x00\x0a\
|
||||
\x08\x7a\x34\x9c\
|
||||
\x00\x70\
|
||||
\x00\x61\x00\x67\x00\x65\x00\x34\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
|
||||
\x00\x0a\
|
||||
\x08\x5a\x34\x9c\
|
||||
\x00\x70\
|
||||
\x00\x61\x00\x67\x00\x65\x00\x32\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
|
||||
"
|
||||
|
||||
qt_resource_struct_v1 = b"\
|
||||
\x00\x00\x00\x00\x00\x02\x00\x00\x00\x07\x00\x00\x00\x01\
|
||||
\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x01\x00\x00\x17\xc5\
|
||||
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\
|
||||
\x00\x00\x00\x4a\x00\x00\x00\x00\x00\x01\x00\x00\x17\x07\
|
||||
\x00\x00\x00\x16\x00\x00\x00\x00\x00\x01\x00\x00\x15\xb1\
|
||||
\x00\x00\x00\x30\x00\x00\x00\x00\x00\x01\x00\x00\x16\x5c\
|
||||
\x00\x00\x00\x64\x00\x00\x00\x00\x00\x01\x00\x00\x17\xb2\
|
||||
\x00\x00\x00\x98\x00\x00\x00\x00\x00\x01\x00\x00\x28\xa0\
|
||||
\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x01\x00\x00\x18\x5d\
|
||||
\x00\x00\x00\x98\x00\x00\x00\x00\x00\x01\x00\x00\x2e\xa5\
|
||||
\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x01\x00\x00\x00\xab\
|
||||
\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x01\x00\x00\x2d\xfa\
|
||||
\x00\x00\x00\x64\x00\x00\x00\x00\x00\x01\x00\x00\x2d\x76\
|
||||
\x00\x00\x00\x34\x00\x00\x00\x00\x00\x01\x00\x00\x01\x56\
|
||||
"
|
||||
|
||||
qt_resource_struct_v2 = b"\
|
||||
\x00\x00\x00\x00\x00\x02\x00\x00\x00\x07\x00\x00\x00\x01\
|
||||
\x00\x00\x00\x00\x00\x00\x00\x00\
|
||||
\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x01\x00\x00\x17\xc5\
|
||||
\x00\x00\x01\x95\xeb\x5c\x84\xe2\
|
||||
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\
|
||||
\x00\x00\x01\x90\x07\xcd\xf3\x00\
|
||||
\x00\x00\x00\x4a\x00\x00\x00\x00\x00\x01\x00\x00\x17\x07\
|
||||
\x00\x00\x01\x90\x02\x81\x81\x00\
|
||||
\x00\x00\x00\x16\x00\x00\x00\x00\x00\x01\x00\x00\x15\xb1\
|
||||
\x00\x00\x01\x90\x02\x81\x81\x00\
|
||||
\x00\x00\x00\x30\x00\x00\x00\x00\x00\x01\x00\x00\x16\x5c\
|
||||
\x00\x00\x01\x90\x02\x81\x81\x00\
|
||||
\x00\x00\x00\x64\x00\x00\x00\x00\x00\x01\x00\x00\x17\xb2\
|
||||
\x00\x00\x01\x90\x02\x81\x81\x00\
|
||||
\x00\x00\x00\x98\x00\x00\x00\x00\x00\x01\x00\x00\x28\xa0\
|
||||
\x00\x00\x01\x90\x02\x81\x81\x00\
|
||||
\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x01\x00\x00\x18\x5d\
|
||||
\x00\x00\x01\x93\x9c\x62\xf4\xe6\
|
||||
\x00\x00\x01\x95\xeb\x5c\x84\xeb\
|
||||
\x00\x00\x00\x98\x00\x00\x00\x00\x00\x01\x00\x00\x2e\xa5\
|
||||
\x00\x00\x01\x95\xeb\x5c\x84\xed\
|
||||
\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x01\x00\x00\x00\xab\
|
||||
\x00\x00\x01\x95\xeb\x5c\x84\xef\
|
||||
\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x01\x00\x00\x2d\xfa\
|
||||
\x00\x00\x01\x95\xeb\x5c\x84\xf0\
|
||||
\x00\x00\x00\x64\x00\x00\x00\x00\x00\x01\x00\x00\x2d\x76\
|
||||
\x00\x00\x01\x95\xeb\x5c\x84\xf2\
|
||||
\x00\x00\x00\x34\x00\x00\x00\x00\x00\x01\x00\x00\x01\x56\
|
||||
\x00\x00\x01\x96\x1a\x88\xce\x2e\
|
||||
"
|
||||
|
||||
qt_version = [int(v) for v in QtCore.qVersion().split('.')]
|
||||
|
||||
+339
-142
@@ -7,7 +7,6 @@ import heapq
|
||||
import logging
|
||||
import math
|
||||
import os
|
||||
import pandas as pd
|
||||
import time
|
||||
|
||||
import matplotlib
|
||||
@@ -50,7 +49,7 @@ class AnalysisProcedure(QObject):
|
||||
self.check_status_list = self.parent.check_status_list
|
||||
self.trigger_progressbar = self.parent.trigger_progressbar
|
||||
self.daq_timeout = 30
|
||||
self.daq_ready = 0
|
||||
self.daq_ready_init_value = 0
|
||||
self.logging = self.parent.logging
|
||||
self.logger = self.logging.getLogger(__name__)
|
||||
self.logger.debug('Logging activated in analysis procedure')
|
||||
@@ -73,32 +72,46 @@ class AnalysisProcedure(QObject):
|
||||
|
||||
self.injector_2 = self.parent.injector_2
|
||||
self.ring_cyclotron = self.parent.ring_cyclotron
|
||||
|
||||
self.accelerator_list = self.parent.accelerator_list
|
||||
|
||||
self.reverse_input_signal = False
|
||||
self.reverse_output_signal = True
|
||||
# Declare input parameters
|
||||
self.input_parameters = self.parent.input_parameters
|
||||
|
||||
|
||||
self.input_data = None
|
||||
self.debug = False
|
||||
self.log_level = logging.INFO
|
||||
self.simulation = False
|
||||
self.accelerator = self.ring_cyclotron
|
||||
self.accelerator_peak_search = ' ' + self.accelerator + ' '
|
||||
self.harmonic_no = 6
|
||||
self.entry_current = 0
|
||||
self.exit_current = 0
|
||||
self.n_turns = None
|
||||
self.exit_current = 0
|
||||
self.n_turns = 0
|
||||
# self.t_stepsize = 0.000000019750043 #0.00000002
|
||||
self.rf_freq = 50.6328 # 10**6
|
||||
self.rf_sample = 3.0 # 10**6
|
||||
self.pulse_stepsize = 1/(self.rf_freq*10**6)
|
||||
self.t_stepsize = 1/(self.rf_sample*10**9)
|
||||
self.t_interval = math.ceil(self.pulse_stepsize/self.t_stepsize)
|
||||
self.rf_sample = 3036 # 10**6
|
||||
self.pulse_stepsize = 1 / (self.rf_freq * 10**6)
|
||||
self.t_stepsize = 1 / (self.rf_sample * 10**6)
|
||||
self.t_interval = math.ceil(self.pulse_stepsize / self.t_stepsize)
|
||||
|
||||
self.correlation_peak_diff = 0.0
|
||||
|
||||
self.signal_min_peak_height = 4 # 50
|
||||
self.signal_min_peak_distance = 10
|
||||
self.correlation_min_peak_diff = 0.01
|
||||
|
||||
self.dt_cable = 44 # ns
|
||||
self.dn_pickup = -1
|
||||
self.mod_freq = 500 # GHz
|
||||
self.duty_cycle = 1 # percentage
|
||||
#self.minimum_current = -10.001
|
||||
|
||||
self.delay = 0
|
||||
self.lag_full = 0
|
||||
self.lags_full_array = []
|
||||
self.corr_full = []
|
||||
# Turn off DEBUG for MATLAB
|
||||
mat_logger = logging.getLogger('matplotlib')
|
||||
mat_logger.setLevel(logging.ERROR)
|
||||
@@ -110,7 +123,7 @@ class AnalysisProcedure(QObject):
|
||||
"""
|
||||
self.abort = True
|
||||
self.trigger_progressbar.emit(int(PROGRESS_THREAD_ABORTING))
|
||||
print("RECEIVE ABORT...", flush=True)
|
||||
print('RECEIVE ABORT...', flush=True)
|
||||
|
||||
def aborting(self, line_no):
|
||||
self.abort = False
|
||||
@@ -121,17 +134,32 @@ class AnalysisProcedure(QObject):
|
||||
MsgSeverity.WARN.name, _pymodule, line_no,
|
||||
('Measurement procedure aborted in analysis thread'), {})
|
||||
|
||||
print("ABORTING...", flush=True)
|
||||
print('ABORTING...', flush=True)
|
||||
|
||||
#########INITIALIZE THE INPUTS FOM THE GUI#######################
|
||||
|
||||
def initialize_input_parameters(self, input_data: dict):
|
||||
def initialize_input_parameters(self, input_data: dict, reanalysis=False):
|
||||
|
||||
self.input_data = input_data
|
||||
self.all_data['Input data'] = self.input_data
|
||||
|
||||
print(self.input_data)
|
||||
|
||||
|
||||
idx = self.accelerator_list.index(self.accelerator)
|
||||
#idx = 0 if self.injector_2 in self.accelerator else 1
|
||||
self.parent.gui_frame.line_sender_dict['accelerator'].setCurrentIndex(
|
||||
idx)
|
||||
|
||||
print(f'init input parameters {self.input_data}', flush=True)
|
||||
if reanalysis:
|
||||
self.loglevel = self.input_parameters['loggingLevel']
|
||||
else:
|
||||
self.loglevel = self.input_data['loggingLevel']
|
||||
|
||||
|
||||
self.reverse_input_signal = False
|
||||
self.reverse_output_signal = True
|
||||
|
||||
self.logger.setLevel(self.logging.getLevelName(self.loglevel))
|
||||
|
||||
if 'debug' in self.input_data.keys():
|
||||
self.debug = self.input_data['debug']
|
||||
|
||||
@@ -139,7 +167,6 @@ class AnalysisProcedure(QObject):
|
||||
self.logger.debug(f'INPUT DATA to LOG:{self.input_data}')
|
||||
|
||||
self.simulation = bool(self.input_data['simulation'])
|
||||
|
||||
self.rf_freq = float(self.input_data['freqrf'])
|
||||
|
||||
# 2.5 MHz if oscilloscpe
|
||||
@@ -148,44 +175,89 @@ class AnalysisProcedure(QObject):
|
||||
mess = 'Sampling rate changed to 2.5 MHz for oscilloscope data'
|
||||
self.parent.trigger_log_message.emit(
|
||||
MsgSeverity.INFO.name, _pymodule, utils.line_no(), mess, {})
|
||||
else:
|
||||
self.rf_sample = float(self.input_data['freqsampling'])
|
||||
#else:
|
||||
# self.rf_sample = float(self.input_data['freqsampling'])
|
||||
|
||||
try:
|
||||
self.accelerator = self.input_data['accelerator']
|
||||
print (f'Accelerator: {self.accelerator}', flush=True)
|
||||
|
||||
self.harmonic_no = float(
|
||||
self.input_data[self.accelerator]['harmonic'])
|
||||
self.dt_cable = float(
|
||||
self.input_data[self.accelerator]['deltaTcable'])
|
||||
self.dn_pickup = int(
|
||||
self.input_data[self.accelerator]['deltaNpickup'])
|
||||
# self.minimum_current = float(
|
||||
# self.input_data[self.accelerator_peak_search][
|
||||
# 'minimumCurrent'])
|
||||
|
||||
|
||||
self.reverse_output_signal = bool(
|
||||
self.input_data[self.accelerator_peak_search]['reverseOutput'])
|
||||
self.reverse_input_signal = bool(
|
||||
self.input_data[self.accelerator_peak_search]['reverseInput'])
|
||||
|
||||
|
||||
|
||||
if self.injector_2 in self.accelerator:
|
||||
self.mod_freq = float(
|
||||
self.input_data[self.accelerator]['freqmod']) # * 10**9 GHz
|
||||
self.duty_cycle = float(
|
||||
self.input_data[self.accelerator]['dutycycle']) # * 0.01
|
||||
|
||||
self.loglevel = self.input_data['loggingLevel']
|
||||
self.logger.setLevel(self.logging.getLevelName(self.loglevel))
|
||||
|
||||
self.logger.info('INPUT PARAMETERS')
|
||||
|
||||
self.logger.info(f'Accelerator: {self.accelerator}')
|
||||
self.logger.info(f'Simulation {self.simulation}')
|
||||
self.logger.info(
|
||||
f'RF Frequency (10**6 Hz) {self.rf_freq}')
|
||||
self.logger.info(
|
||||
f'RF Sampling (10**9 Hz) {self.rf_sample}')
|
||||
#self.logger.info(
|
||||
# f'RF Sampling (10**9 Hz) {self.rf_sample}')
|
||||
self.logger.info(f'Harmonic No. {self.harmonic_no}')
|
||||
self.logger.info(f'dT Cable {self.dt_cable}')
|
||||
self.logger.info(f'dN Pickup {self.dn_pickup}')
|
||||
#self.logger.info(f'I minimum {self.minimum_current} (mA)')
|
||||
|
||||
except KeyError as ex:
|
||||
self.logger.error(f'KeyError {ex}')
|
||||
except ValueError as ex:
|
||||
self.logger.error(f'ValueError {ex}')
|
||||
|
||||
try:
|
||||
self.correlation_min_peak_diff = float(
|
||||
self.input_data[self.accelerator_peak_search][
|
||||
'correlationPeakDifference'])
|
||||
self.signal_min_peak_height = int(
|
||||
self.input_data[self.accelerator_peak_search]['peakHeight'])
|
||||
self.signal_min_peak_distance = int(
|
||||
self.input_data[self.accelerator_peak_search]['peakDistance'])
|
||||
|
||||
except KeyError as ex:
|
||||
self.logger.error(f'KeyError {ex}')
|
||||
except ValueError as ex:
|
||||
self.logger.error(f'ValueError {ex}')
|
||||
|
||||
# Overide peak search parameters with those given in gui
|
||||
if reanalysis:
|
||||
self.correlation_min_peak_diff = float(self.input_parameters[
|
||||
self.accelerator_peak_search]['correlationPeakDifference'])
|
||||
self.signal_min_peak_height = int(
|
||||
self.input_parameters[self.accelerator_peak_search][
|
||||
'peakHeight'])
|
||||
self.signal_min_peak_distance = int(
|
||||
self.input_parameters[self.accelerator_peak_search][
|
||||
'peakDistance'])
|
||||
|
||||
print(f'self.input_parameters={self.input_parameters}')
|
||||
print(('Reanalysis: self.correlation_min_peak_diff= ' +
|
||||
f'{self.correlation_min_peak_diff}'))
|
||||
|
||||
self.logger.info(
|
||||
f'Corr Min Peak Diff {self.correlation_min_peak_diff}')
|
||||
self.logger.info(f'Min Peak Height {self.signal_min_peak_height}')
|
||||
self.logger.info(f'Min Peak Distance {self.signal_min_peak_distance}')
|
||||
|
||||
def measure_and_analyze(self, input_data=None):
|
||||
'''This method is initiated by the START button in Procedure panel
|
||||
'''
|
||||
@@ -197,19 +269,30 @@ class AnalysisProcedure(QObject):
|
||||
|
||||
# Read the input parameters from the GUI
|
||||
self.initialize_input_parameters(input_data)
|
||||
self.logger.info(
|
||||
f'Corr Min Peak Diff {self.correlation_min_peak_diff}')
|
||||
self.logger.info(f'Min Peak Height {self.signal_min_peak_height}')
|
||||
self.logger.info(
|
||||
f'Min Peak Distance {self.signal_min_peak_distance}')
|
||||
|
||||
# Step 1 - Collect ambient data relate to the machine
|
||||
self.all_data['Ambient data'] = self.collect_ambient_data()
|
||||
|
||||
if not self.all_data['Ambient data']:
|
||||
self.trigger_progressbar.emit(int(PROGRESS_THREAD_ERROR))
|
||||
return None
|
||||
|
||||
self.trigger_progressbar.emit(int(PROGRESS_THREAD_START))
|
||||
|
||||
# Step 2 - Perform measurement and return data for processing
|
||||
self.all_data['Raw data'] = self.measure()
|
||||
|
||||
if self.all_data['Raw data'] is None:
|
||||
if not self.all_data['Raw data']:
|
||||
self.trigger_progressbar.emit(int(PROGRESS_THREAD_ERROR))
|
||||
return None
|
||||
|
||||
# Step 3 - Process the raw data
|
||||
|
||||
self.all_data['Processed data'] = self.process()
|
||||
|
||||
# Step 4 - Provide plots
|
||||
@@ -232,11 +315,12 @@ class AnalysisProcedure(QObject):
|
||||
'''Reanalysis
|
||||
'''
|
||||
print('Reanalyze', flush=True)
|
||||
print(all_data)
|
||||
print(all_data, flush=True)
|
||||
|
||||
input_data = all_data['Input_data']
|
||||
# Read the input parameters
|
||||
self.initialize_input_parameters(input_data)
|
||||
self.initialize_input_parameters(
|
||||
input_data=input_data, reanalysis=True)
|
||||
|
||||
ambient_data = all_data['Ambient_data']
|
||||
self.raw_data = all_data['Raw_data']
|
||||
@@ -253,9 +337,21 @@ class AnalysisProcedure(QObject):
|
||||
|
||||
self.time_stamp = ambient_data['Time stamp']
|
||||
self.all_data['Ambient data'] = ambient_data
|
||||
|
||||
self.all_data['Processed data'] = self.process(from_hdf5=True)
|
||||
self.all_data['Figure data'] = self.make_figs()
|
||||
|
||||
|
||||
'''
|
||||
if self.all_data['Processed data']:
|
||||
self.all_data['Figure data'] = self.make_figs()
|
||||
print("MAKE FIGURES", flush = True)
|
||||
else:
|
||||
self.all_data['Figure data'] = {}
|
||||
print("MAKE NO FIGURES", flush = True)
|
||||
return
|
||||
'''
|
||||
|
||||
self.trigger_progressbar.emit(PROGRESS_THREAD_END)
|
||||
return self.all_data
|
||||
|
||||
@@ -297,13 +393,36 @@ class AnalysisProcedure(QObject):
|
||||
|
||||
if self.abort:
|
||||
self.aborting(utils.line_no())
|
||||
return {}
|
||||
return None
|
||||
|
||||
self.trigger_progressbar.emit(PROGRESS_THREAD_ERROR)
|
||||
return {}
|
||||
return None
|
||||
|
||||
'''
|
||||
injector_current = self.cafe.getCache('MWC2:IST:2')
|
||||
I_min = self.minimum_current
|
||||
print('injector_current', injector_current)
|
||||
print('I_min', I_min)
|
||||
|
||||
if not injector_current:
|
||||
self.trigger_progressbar.emit(PROGRESS_THREAD_ERROR)
|
||||
stat = self.cafe.getStatus('MWC2:IST:2')
|
||||
self.check_status(_pymodule, 'getCache', injector_current, stat,
|
||||
utils.line_no())
|
||||
mess = ('Unable to read Injector 2 current. ' +
|
||||
'Please try again.')
|
||||
self.parent.trigger_log_message.emit(
|
||||
MsgSeverity.ERROR.name, _pymodule, utils.line_no(), mess, {})
|
||||
return None
|
||||
elif injector_current <= self.minimum_current:
|
||||
self.trigger_progressbar.emit(PROGRESS_THREAD_ERROR)
|
||||
mess = (f'Injector 2 current is below threshold {I_min} mA. ' +
|
||||
f'Measurement cannot be untertaken at the present time.')
|
||||
self.parent.trigger_log_message.emit(
|
||||
MsgSeverity.ERROR.name, _pymodule, utils.line_no(), mess, {})
|
||||
return None
|
||||
'''
|
||||
|
||||
|
||||
|
||||
pv_list = []
|
||||
|
||||
for key, value in self.settings.data['PV'][self.accelerator].items():
|
||||
@@ -329,45 +448,55 @@ class AnalysisProcedure(QObject):
|
||||
self.check_status_list(_pymodule, 'getScalarList',
|
||||
pv_list, status_list, utils.line_no())
|
||||
|
||||
#
|
||||
pv_rf_sample = self.settings.data['PV'][self.accelerator]['samplingFreq']
|
||||
if not self.simulation:
|
||||
self.rf_sample = self.cafe.getCache(pv_rf_sample)
|
||||
|
||||
self.t_stepsize = 1 / (self.rf_sample * 10**6)
|
||||
self.t_interval = math.ceil(self.pulse_stepsize / self.t_stepsize)
|
||||
|
||||
|
||||
print(f'rf_sample = {self.rf_sample}', flush = True)
|
||||
|
||||
# Retrieve
|
||||
pv_entry_current = self.settings.data['PV'][self.accelerator]['IEntry']
|
||||
|
||||
|
||||
entry_current = self.cafe.getCache(pv_entry_current)
|
||||
ambient_data['I Entry'] = entry_current/1000 \
|
||||
print('entry_current==>', entry_current)
|
||||
|
||||
ambient_data['I Entry'] = entry_current / 1000 \
|
||||
if entry_current is not None else 0.0
|
||||
#mA if divied by 1000 above
|
||||
self.entry_current = ambient_data['I Entry']
|
||||
|
||||
# mA if divied by 1000 above
|
||||
self.entry_current = ambient_data['I Entry']
|
||||
|
||||
# Retrieve
|
||||
pv_exit_current = self.settings.data['PV'][self.accelerator]['IExit']
|
||||
exit_current = self.cafe.getCache(pv_exit_current)
|
||||
ambient_data['I Exit'] = exit_current/1000 \
|
||||
print('exit_current==>', exit_current)
|
||||
ambient_data['I Exit'] = exit_current / 1000 \
|
||||
if exit_current is not None else 0.0
|
||||
#mA if divied by 1000 above
|
||||
self.exit_current = ambient_data['I Exit']
|
||||
|
||||
|
||||
# mA if divided by 1000 above
|
||||
self.exit_current = ambient_data['I Exit']
|
||||
|
||||
pv_daq_ready = self.pv_dict['daqReady']
|
||||
'''
|
||||
self.daq_ready = self.cafe.getCache(pv_daq_ready)
|
||||
if self.daq_ready is None:
|
||||
'''
|
||||
self.daq_ready_init_value = self.cafe.getCache(pv_daq_ready)
|
||||
if self.daq_ready_init_value is None:
|
||||
stat = self.cafe.getStatus(pv_daq_ready)
|
||||
self.check_status(_pymodule, 'getCache', pv_daq_ready, stat,
|
||||
utils.line_no())
|
||||
'''
|
||||
pv_daq_error_count = self.pv_dict['daqErrorCount']
|
||||
'''
|
||||
daq_error_count = self.cafe.getCache(pv_daq_error_count)
|
||||
daq_error_count = self.cafe.getCache(pv_daq_error_count)
|
||||
if daq_error_count is None:
|
||||
stat = self.cafe.getStatus(pv_daq_error_count)
|
||||
self.check_status(_pymodule, 'getCache', pv_daq_error_count, stat,
|
||||
utils.line_no())
|
||||
'''
|
||||
|
||||
|
||||
# Put values in dictionary for inspection
|
||||
|
||||
# Put values in dictionary for inspection
|
||||
for i, (dict_key) in enumerate(self.pv_value_dict.keys()):
|
||||
self.pv_value_dict[dict_key] = value_list[i]
|
||||
|
||||
@@ -376,34 +505,37 @@ class AnalysisProcedure(QObject):
|
||||
|
||||
#Monitored in GUI
|
||||
if not self.cafe.getMonitorIDs(pv_daq_ready):
|
||||
print("MONITOR STARTED FOR ", pv_daq_ready, flush=True)
|
||||
print('MONITOR STARTED FOR ', pv_daq_ready, flush=True)
|
||||
self.cafe.monitor(pv_daq_ready)
|
||||
|
||||
|
||||
if not self.cafe.getMonitorIDs(pv_daq_error_count):
|
||||
#Now in GUI
|
||||
print("MONITOR STARTED FOR ", pv_daq_error_count, flush=True)
|
||||
print('MONITOR STARTED FOR ', pv_daq_error_count, flush=True)
|
||||
self.cafe.monitor(pv_daq_error_count)
|
||||
|
||||
|
||||
print('ambient_data', ambient_data)
|
||||
|
||||
return ambient_data
|
||||
|
||||
def extract_peak_data(self):
|
||||
''' Using signal package for peak search
|
||||
'''
|
||||
if not self.simulation:
|
||||
height = 50.0
|
||||
height = self.signal_min_peak_height
|
||||
else:
|
||||
height = 0.005
|
||||
|
||||
#returns indices of peaks, and dictionary of properties
|
||||
# returns indices of peaks, and dictionary of properties
|
||||
y1_peaks_pre = signal.find_peaks(self.y1_sample, height=height,
|
||||
distance=10)
|
||||
distance=self.signal_min_peak_distance)
|
||||
|
||||
print("peak length==>", len(y1_peaks_pre[1]['peak_heights']))
|
||||
print(
|
||||
'peak length==>', len(
|
||||
y1_peaks_pre[1]['peak_heights']), flush=True)
|
||||
if len(y1_peaks_pre[1]['peak_heights']) < 2:
|
||||
return False
|
||||
|
||||
print('peak length=============>', len(
|
||||
y1_peaks_pre[1]['peak_heights']), flush=True)
|
||||
##y1_peaks_avg = np.average(y1_peaks_pre[1]['peak_heights'])
|
||||
min_y1_p = np.min(y1_peaks_pre[1]['peak_heights'])
|
||||
max_y1_p = np.max(y1_peaks_pre[1]['peak_heights'])
|
||||
@@ -411,21 +543,23 @@ class AnalysisProcedure(QObject):
|
||||
y1_height = min_y1_p * 0.9 # y1_peaks_avg * 0.726667
|
||||
|
||||
y2_peaks_pre = signal.find_peaks(self.y2_sample, height=height,
|
||||
distance=10)
|
||||
distance=self.signal_min_peak_distance)
|
||||
##y2_peaks_avg = np.average(y2_peaks_pre[1]['peak_heights'])
|
||||
|
||||
min_y2_p = np.min(y2_peaks_pre[1]['peak_heights'])
|
||||
max_y2_p = np.max(y2_peaks_pre[1]['peak_heights'])
|
||||
print(f'min and max value of peak {min_y2_p}, {max_y2_p}')
|
||||
|
||||
|
||||
y2_height = min_y2_p * 0.9 # y2_peaks_avg * 0.566667
|
||||
|
||||
print(f'AVG = {y1_height}, {y2_height}', flush=True)
|
||||
|
||||
y1_peaks = signal.find_peaks(
|
||||
self.y1_sample, height=y1_height, distance=10)
|
||||
self.y1_sample, height=y1_height,
|
||||
distance=self.signal_min_peak_distance)
|
||||
y2_peaks = signal.find_peaks(
|
||||
self.y2_sample, height=y2_height, distance=10)
|
||||
self.y2_sample, height=y2_height,
|
||||
distance=self.signal_min_peak_distance)
|
||||
print((f'PEAKS==> {y1_peaks}, {y2_peaks},' +
|
||||
f'{len(y1_peaks[0])}, {len(y2_peaks[0])}'), flush=True)
|
||||
print(y1_peaks[1]['peak_heights'], flush=True)
|
||||
@@ -436,7 +570,8 @@ class AnalysisProcedure(QObject):
|
||||
|
||||
#peak_heights = y2_peaks_pre[1]['peak_heights']
|
||||
#peak_indices = y2_peaks_pre[0]
|
||||
#second_highest_peak_index = peak_indices[np.argpartition(peak_heights,-2)[-2]]
|
||||
# second_highest_peak_index = peak_indices[
|
||||
# np.argpartition(peak_heights,-2)[-2]]
|
||||
#print("2nd highest peak", np.argpartition(peak_heights,-2))
|
||||
return True
|
||||
|
||||
@@ -469,7 +604,7 @@ class AnalysisProcedure(QObject):
|
||||
entry = entry.replace('\n', '')
|
||||
val = entry.split('\t')
|
||||
self.t_sample.append(float(t_inc))
|
||||
self.y1_sample.append(float(val[1])*(-1))
|
||||
self.y1_sample.append(float(val[1]) * (-1))
|
||||
self.y2_sample.append(float(val[2]))
|
||||
t_inc += self.t_stepsize
|
||||
|
||||
@@ -482,15 +617,34 @@ class AnalysisProcedure(QObject):
|
||||
pv_wf_entry = self.pv_dict['wfEntry']
|
||||
pv_wf_exit = self.pv_dict['wfExit']
|
||||
pv_wf = [pv_wf_entry, pv_wf_exit]
|
||||
self.daq_ready = self.cafe.getCache(pv_daq_ready)
|
||||
self.daq_ready_init_value = self.cafe.getCache(pv_daq_ready)
|
||||
|
||||
stat = 0
|
||||
ntries = 3
|
||||
itries = 0
|
||||
sleeptime = 0.01
|
||||
while stat != self.cyca.ICAFE_NORMAL and itries < ntries:
|
||||
time.sleep(sleeptime)
|
||||
stat = self.cafe.set(pv_daq_trigger, 1)
|
||||
itries += 1
|
||||
sleeptime = 0.2
|
||||
|
||||
stat = self.cafe.set(pv_daq_trigger, 8)
|
||||
self.check_status(_pymodule, 'set', pv_daq_trigger, stat,
|
||||
utils.line_no())
|
||||
time.sleep(0.5)
|
||||
stat = self.cafe.set(pv_daq_trigger, 0)
|
||||
self.check_status(_pymodule, 'set', pv_daq_trigger, stat,
|
||||
utils.line_no())
|
||||
|
||||
if stat != self.cyca.ICAFE_NORMAL:
|
||||
mess = ('DAQ cannot be started. Error in setting pv ' +
|
||||
f'{pv_daq_trigger}')
|
||||
self.parent.trigger_log_message.emit(
|
||||
MsgSeverity.ERROR.name, _pymodule, utils.line_no(),
|
||||
mess, {})
|
||||
self.aborting(utils.line_no())
|
||||
return None
|
||||
|
||||
time.sleep(sleeptime)
|
||||
#####stat = self.cafe.set(pv_daq_trigger, 0)
|
||||
# self.check_status(_pymodule, 'set', pv_daq_trigger, stat,
|
||||
# utils.line_no())
|
||||
# Monitor DAQ State
|
||||
start = time.time()
|
||||
|
||||
@@ -510,12 +664,12 @@ class AnalysisProcedure(QObject):
|
||||
stat = self.cafe.getStatus(pv_daq_ready)
|
||||
self.check_status(_pymodule, 'getCache', pv_daq_ready,
|
||||
stat, utils.line_no())
|
||||
elif value != 0:
|
||||
elif value == self.daq_ready_init_value + 1:
|
||||
finished = True
|
||||
break
|
||||
time.sleep(1.0)
|
||||
icount += 1
|
||||
progress = int(100*icount/self.daq_timeout)
|
||||
progress = int(100 * icount / self.daq_timeout)
|
||||
if progress > PROGRESS_THREAD_ERROR:
|
||||
self.trigger_progressbar.emit(progress)
|
||||
|
||||
@@ -528,19 +682,18 @@ class AnalysisProcedure(QObject):
|
||||
return None
|
||||
|
||||
daq_error_count = self.cafe.getCache(pv_daq_error_count)
|
||||
|
||||
|
||||
if daq_error_count is None:
|
||||
stat = self.cafe.getStatus(pv_daq_error_count)
|
||||
self.check_status(_pymodule, 'getCache', pv_daq_error_count,
|
||||
stat, utils.line_no())
|
||||
stat, utils.line_no())
|
||||
elif daq_error_count:
|
||||
mess = ('Results discarded as DAQ reports ' +
|
||||
mess = ('Results discarded as DAQ reports ' +
|
||||
f'{daq_error_count} errors')
|
||||
self.parent.trigger_log_message.emit(
|
||||
MsgSeverity.ERROR.name, _pymodule, utils.line_no(),
|
||||
mess, {})
|
||||
return None
|
||||
|
||||
self.parent.trigger_log_message.emit(
|
||||
MsgSeverity.ERROR.name, _pymodule, utils.line_no(),
|
||||
mess, {})
|
||||
return None
|
||||
|
||||
# Read WF from EPICS and fill sample y1_sample, y2_sample
|
||||
(self.y1_sample, self.y2_sample), status, status_list = \
|
||||
@@ -553,10 +706,19 @@ class AnalysisProcedure(QObject):
|
||||
print(f'y1 sample length = {len(self.y1_sample)}')
|
||||
print(f'y2 sample length = {len(self.y2_sample)}', flush=True)
|
||||
|
||||
|
||||
if self.reverse_input_signal:
|
||||
for i in range(0, len(self.y1_sample)):
|
||||
self.y1_sample[i] = self.y1_sample[i] * (-1)
|
||||
|
||||
if self.reverse_output_signal:
|
||||
for i in range(0, len(self.y2_sample)):
|
||||
self.y2_sample[i] = self.y2_sample[i] * (-1)
|
||||
|
||||
#series = pd.Series(self.y1_sample)
|
||||
#self.y1_sample = (series * (-1)).tolist()
|
||||
#self.y1_sample = (series).tolist()
|
||||
|
||||
|
||||
self.t_sample = [None] * len(self.y1_sample)
|
||||
self.t_sample[0] = 0
|
||||
t_inc = 0
|
||||
@@ -578,13 +740,6 @@ class AnalysisProcedure(QObject):
|
||||
self.trigger_progressbar.emit(60)
|
||||
extract_raw_data()
|
||||
|
||||
peaks_found = self.extract_peak_data()
|
||||
if not peaks_found:
|
||||
mess = ('No peaks found! ' +
|
||||
f'Measuremenmg procedure aborted.')
|
||||
self.parent.trigger_log_message.emit(
|
||||
MsgSeverity.ERROR.name, _pymodule, utils.line_no(), mess, {})
|
||||
|
||||
if self.abort:
|
||||
self.aborting(utils.line_no())
|
||||
return None
|
||||
@@ -597,6 +752,9 @@ class AnalysisProcedure(QObject):
|
||||
'y2': list(self.y2_sample),
|
||||
't': list(self.t_sample),
|
||||
}
|
||||
print(len(self.y1_sample), type(self.y1_sample), flush=True)
|
||||
print(len(self.y2_sample), type(self.y2_sample), flush=True)
|
||||
print(len(self.t_sample), type(self.t_sample), flush=True)
|
||||
|
||||
return rawdata
|
||||
|
||||
@@ -619,62 +777,98 @@ class AnalysisProcedure(QObject):
|
||||
if from_hdf5:
|
||||
self.unpack_hdf_data()
|
||||
|
||||
peaks_found = self.extract_peak_data()
|
||||
print('peaks_found', peaks_found)
|
||||
if not peaks_found:
|
||||
mess = ('No peaks found! ' +
|
||||
'No measurement made.')
|
||||
self.parent.trigger_log_message.emit(
|
||||
MsgSeverity.ERROR.name, _pymodule, utils.line_no(), mess, {})
|
||||
|
||||
# self.aborting(utils.line_no())
|
||||
return {}
|
||||
|
||||
self.mean_amplitude_y1 = np.mean(self.y1_pulse, keepdims=True)
|
||||
self.mean_amplitude_y2 = np.mean(self.y2_pulse, keepdims=True)
|
||||
self.std_amplitude_y1 = np.std(self.y1_pulse, keepdims=True)
|
||||
self.std_amplitude_y2 = np.std(self.y2_pulse, keepdims=True)
|
||||
|
||||
self.normalized_amplitude_envelope_1 = (
|
||||
self.y1_pulse - self.mean_amplitude_y1)/self.std_amplitude_y1
|
||||
self.y1_pulse - self.mean_amplitude_y1) / self.std_amplitude_y1
|
||||
self.normalized_amplitude_envelope_2 = (
|
||||
self.y2_pulse - self.mean_amplitude_y2)/(self.std_amplitude_y2*len(self.y2_pulse))
|
||||
self.corr_full = signal.correlate(
|
||||
self.normalized_amplitude_envelope_2,
|
||||
self.normalized_amplitude_envelope_1, mode='full', method='auto')
|
||||
self.lags_full_array = signal.correlation_lags(
|
||||
len(self.normalized_amplitude_envelope_2),
|
||||
len(self.normalized_amplitude_envelope_1), mode='full')
|
||||
self.y2_pulse - self.mean_amplitude_y2) / \
|
||||
(self.std_amplitude_y2 * len(self.y2_pulse))
|
||||
|
||||
try:
|
||||
self.corr_full = signal.correlate(
|
||||
self.normalized_amplitude_envelope_2,
|
||||
self.normalized_amplitude_envelope_1,
|
||||
mode='full', method='auto')
|
||||
self.lags_full_array = signal.correlation_lags(
|
||||
len(self.normalized_amplitude_envelope_2),
|
||||
len(self.normalized_amplitude_envelope_1), mode='full')
|
||||
|
||||
|
||||
self.lag_full = int(self.lags_full_array[np.argmax(self.corr_full)])
|
||||
#self.delay = self.lag_full * self.t_stepsize*self.t_interval
|
||||
self.delay = float(self.lag_full * self.pulse_stepsize)
|
||||
|
||||
print('peak height', np.max(self.corr_full))
|
||||
top_peak_values = heapq.nlargest(2, self.corr_full)
|
||||
print('1st peak height', top_peak_values[0])
|
||||
print('2nd peak height', top_peak_values[1])
|
||||
self.correlation_peak_diff = top_peak_values[0] - top_peak_values[1]
|
||||
print(f'peak significance = {self.correlation_peak_diff:.3f}')
|
||||
print('lag', self.lag_full)
|
||||
print('delay', self.delay, flush=True)
|
||||
print('dTcable', self.dt_cable, flush=True)
|
||||
print('rf freq', self.rf_freq, flush=True)
|
||||
print('harmonic', self.harmonic_no, flush=True)
|
||||
print('dN pickup', self.dn_pickup, flush=True)
|
||||
self.lag_full = int(
|
||||
self.lags_full_array[np.argmax(self.corr_full)])
|
||||
#self.delay = self.lag_full * self.t_stepsize*self.t_interval
|
||||
self.delay = float(self.lag_full * self.pulse_stepsize)
|
||||
|
||||
self.n_turns = (
|
||||
((self.delay-self.dt_cable*10**(-9))*self.rf_freq*10**6)
|
||||
/ self.harmonic_no) + self.dn_pickup
|
||||
print('peak height', np.max(self.corr_full))
|
||||
top_peak_values = heapq.nlargest(2, self.corr_full)
|
||||
print('1st peak height', top_peak_values[0])
|
||||
print('2nd peak height', top_peak_values[1])
|
||||
self.correlation_peak_diff = top_peak_values[0] - \
|
||||
top_peak_values[1]
|
||||
print(f'peak significance = {self.correlation_peak_diff:.3f}')
|
||||
print('lag', self.lag_full)
|
||||
print('delay', self.delay, flush=True)
|
||||
print('dTcable', self.dt_cable, flush=True)
|
||||
print('rf freq', self.rf_freq, flush=True)
|
||||
print('harmonic', self.harmonic_no, flush=True)
|
||||
print('dN pickup', self.dn_pickup, flush=True)
|
||||
print(f'Correlation Peak Diff {self.correlation_peak_diff}')
|
||||
print(f'Min Peak Height {self.signal_min_peak_height}')
|
||||
print(f'Min Peak Distance {self.signal_min_peak_distance}')
|
||||
|
||||
print((f'lag = {self.lag_full}, ' +
|
||||
f'delay = {self.delay*10**6:.3f} \u00B5s ' +
|
||||
f'nturns = {self.n_turns:.4f}'))
|
||||
self.n_turns = (
|
||||
((self.delay - self.dt_cable * 10**(-9)) * self.rf_freq * 10**6)
|
||||
/ self.harmonic_no) + self.dn_pickup
|
||||
|
||||
print((f'lag = {self.lag_full}, ' +
|
||||
f'delay = {self.delay*10**6:.3f} \u00B5s ' +
|
||||
f'nturns = {self.n_turns:.4f}'))
|
||||
|
||||
except ValueError:
|
||||
pass
|
||||
except RuntimeError:
|
||||
pass
|
||||
|
||||
if self.abort:
|
||||
self.aborting(utils.line_no())
|
||||
return None
|
||||
|
||||
if isinstance(self.y1_pulse, list):
|
||||
y1p = self.y1_pulse
|
||||
else:
|
||||
y1p = self.y1_pulse.tolist()
|
||||
|
||||
if isinstance(self.y2_pulse, list):
|
||||
y2p = self.y2_pulse
|
||||
else:
|
||||
y2p = self.y2_pulse.tolist()
|
||||
|
||||
# Fill Processed data here
|
||||
proc_data = {
|
||||
'y1': self.y1_pulse.tolist(),
|
||||
'y2': self.y2_pulse.tolist(),
|
||||
'y1': y1p,
|
||||
'y2': y2p,
|
||||
't_stepsize': self.pulse_stepsize,
|
||||
'lag': self.lag_full,
|
||||
'delay': self.delay,
|
||||
'nturns': self.n_turns,
|
||||
'peak_diff': self.correlation_peak_diff
|
||||
'correlation_peak_diff': self.correlation_peak_diff,
|
||||
'correlation_min_peak_diff': self.correlation_min_peak_diff,
|
||||
'min_peak_height': self.signal_min_peak_height,
|
||||
'min_peak_distance': self.signal_min_peak_distance
|
||||
}
|
||||
|
||||
return proc_data
|
||||
@@ -682,26 +876,30 @@ class AnalysisProcedure(QObject):
|
||||
def make_figs(self):
|
||||
''' Figure construction with matplotlib
|
||||
'''
|
||||
is_suspect = True if self.correlation_peak_diff < \
|
||||
self.parent.correlation_peak_diff_min_value else False
|
||||
# if self.correlation_peak_diff < self.correlation_min_peak_diff:
|
||||
# is_suspect = True
|
||||
# else:
|
||||
# is_suspect = False
|
||||
is_suspect = bool(
|
||||
self.correlation_peak_diff < self.correlation_min_peak_diff)
|
||||
|
||||
if is_suspect:
|
||||
fontweight_main='normal'
|
||||
fontweight='light'
|
||||
color='red'
|
||||
fontweight_main = 'normal'
|
||||
fontweight = 'light'
|
||||
color = 'red'
|
||||
alpha = 0.4
|
||||
else:
|
||||
fontweight_main='bold'
|
||||
fontweight='normal'
|
||||
color='black'
|
||||
fontweight_main = 'bold'
|
||||
fontweight = 'normal'
|
||||
color = 'black'
|
||||
alpha = 1.0
|
||||
|
||||
|
||||
fig, (ax) = plt.subplots(nrows=2, ncols=1,
|
||||
figsize=(18, 9), layout='tight')
|
||||
fig2, (ax2) = plt.subplots(nrows=1, ncols=1, figsize=(18, 9))
|
||||
fig.patch.set_facecolor('#FAF9F6')
|
||||
fig2.patch.set_facecolor('#FAF9F6')
|
||||
|
||||
|
||||
ln = 500 # 500
|
||||
off = 0 # 10000
|
||||
s = off
|
||||
@@ -713,7 +911,7 @@ class AnalysisProcedure(QObject):
|
||||
ax[1].plot(self.t_sample[s:e], self.y2_sample[s:e], '.r-', label='')
|
||||
|
||||
ax[0].xaxis.set_major_locator(
|
||||
ticker.MultipleLocator(self.t_stepsize*self.t_interval))
|
||||
ticker.MultipleLocator(self.t_stepsize * self.t_interval))
|
||||
ax[0].set_xlabel('Time [s]')
|
||||
ax[0].set_ylabel('Amplitude')
|
||||
ax[0].set_title('Pulse at Entry')
|
||||
@@ -722,7 +920,7 @@ class AnalysisProcedure(QObject):
|
||||
ax[0].grid(visible=True, which='major', axis='both',
|
||||
linestyle='--', linewidth=0.8)
|
||||
ax[1].xaxis.set_major_locator(
|
||||
ticker.MultipleLocator(self.t_stepsize*self.t_interval))
|
||||
ticker.MultipleLocator(self.t_stepsize * self.t_interval))
|
||||
ax[1].set_xlabel('Time [s]')
|
||||
ax[1].set_ylabel('Amplitude')
|
||||
ax[1].set_title('Pulse at Exit')
|
||||
@@ -746,23 +944,22 @@ class AnalysisProcedure(QObject):
|
||||
ax2.plot([self.lag_full, self.lag_full], [line_start, line_end],
|
||||
':', color='r')
|
||||
ax2.set_ylim(line_start, line_end)
|
||||
|
||||
|
||||
text = f'No of Turns = {self.n_turns:0.0f}'
|
||||
plt.figtext(0.65, 0.82, self.accelerator, fontweight='bold',
|
||||
fontsize=16, color='black')
|
||||
|
||||
|
||||
plt.figtext(0.65, 0.77, text, fontweight=fontweight_main, fontsize=16,
|
||||
color=color, alpha=alpha)
|
||||
|
||||
|
||||
if self.entry_current != 0:
|
||||
current_text = f'I(entry) = {self.entry_current:.3f} mA'
|
||||
plt.figtext(0.80, 0.86, current_text, fontweight='normal',
|
||||
fontsize=10)
|
||||
fontsize=8)
|
||||
if self.exit_current != 0:
|
||||
current_text = f'I(exit) = {self.exit_current:.3f} mA'
|
||||
plt.figtext(0.8075, 0.84, current_text, fontweight='normal',
|
||||
fontsize=10)
|
||||
|
||||
fontsize=8)
|
||||
|
||||
plt.figtext(0.7, 0.72, f'lag = {self.lag_full}', fontweight=fontweight,
|
||||
fontsize=14, color=color, alpha=alpha)
|
||||
@@ -772,9 +969,9 @@ class AnalysisProcedure(QObject):
|
||||
color=color, alpha=alpha)
|
||||
|
||||
if is_suspect:
|
||||
plt.figtext(0.80, 0.72, "Suspect!", fontweight='normal', fontsize=16,
|
||||
color='blue', alpha=1.0, rotation=45)
|
||||
|
||||
plt.figtext(0.80, 0.72, 'Suspect!', fontweight='normal',
|
||||
fontsize=16, color='blue', alpha=1.0, rotation=45)
|
||||
|
||||
if self.settings.data['GUI']['showDate'] == 1:
|
||||
plt.figtext(0.75, 0.12, self.time_stamp, size='small')
|
||||
|
||||
|
||||
+91
-34
@@ -1,17 +1,21 @@
|
||||
'''Main panel gui interface
|
||||
'''
|
||||
import os
|
||||
import subprocess
|
||||
|
||||
|
||||
from qtpy.QtGui import QColor
|
||||
from qtpy.QtCore import __version__ as QT_VERSION_STR
|
||||
from qtpy.QtCore import Qt
|
||||
from qtpy.QtWidgets import (
|
||||
QGridLayout, QGroupBox, QLabel, QStackedWidget, QTabBar, QTabWidget, QWidget)
|
||||
QGridLayout, QGroupBox, QLabel, QPushButton, QStackedWidget, QTabBar,
|
||||
QTabWidget, QWidget)
|
||||
|
||||
from caqtwidgets.pvwidgets import CAQLabel
|
||||
|
||||
_pymodule = os.path.basename(__file__)
|
||||
|
||||
|
||||
class AppGui(QWidget):
|
||||
''' Main GUI class
|
||||
'''
|
||||
@@ -25,30 +29,31 @@ class AppGui(QWidget):
|
||||
self.check_status = self.parent.check_status
|
||||
self.check_status_list = self.parent.check_status_list
|
||||
self.elog_enum = self.parent.elog_enum
|
||||
|
||||
self.accelerator_list = [self.parent.injector_2,
|
||||
self.parent.ring_cyclotron]
|
||||
|
||||
self.accelerator_list = self.parent.accelerator_list
|
||||
self.send_to_log_window = self.parent.send_to_log_window
|
||||
self.show_log_message = self.parent.show_log_message
|
||||
self.statusbar = self.parent.statusbar
|
||||
|
||||
self.gui_frame = self.parent.gui_frame
|
||||
self.gui_header = self.parent.gui_header
|
||||
self.font_gui = self.parent.gui_frame.font_gui
|
||||
self.input_parameters = self.parent.input_parameters
|
||||
self.input_labels = self.parent.input_labels
|
||||
self.expert_parameters = self.parent.expert_parameters
|
||||
self.gui_frame.expert_parameters_group.setFixedWidth(310)
|
||||
self.gui_frame.expert_parameters_group.setFixedHeight(130)
|
||||
self.gui_frame.expert_parameters_group.setFixedWidth(280)
|
||||
self.gui_frame.expert_parameters_group.setFixedHeight(430)
|
||||
self.gui_frame.operator_parameters_group.setFixedWidth(260)
|
||||
self.gui_frame.operator_parameters_group.setFixedHeight(380)
|
||||
self.gui_frame.measurement_tab_wgt.setFixedWidth(496)
|
||||
self.gui_frame.measurement_tab_wgt.setFixedHeight(460)
|
||||
self.gui_frame.operator_parameters_group.setFixedHeight(400)
|
||||
self.gui_frame.measurement_tab_wgt.setFixedWidth(516)
|
||||
self.gui_frame.measurement_tab_wgt.setFixedHeight(580)
|
||||
self.gui_frame.operator_wgt.setFixedHeight(640)
|
||||
self.gui_frame.expert_wgt.setFixedHeight(240)
|
||||
# self.gui_frame.expert_wgt.setFixedHeight(240)
|
||||
self.gui_frame.expert_wgt.layout().addWidget(
|
||||
self.low_level_display(), 2, 0, 1, 1)
|
||||
self.gui_frame.expert_wgt.layout().setVerticalSpacing(30)
|
||||
self.gui_frame.measurement_tab_wgt.setCurrentIndex(1)
|
||||
self.gui_frame.measurement_tab_wgt.setTabText(0, 'Accelerator')
|
||||
|
||||
#DAQ
|
||||
# DAQ
|
||||
self.daq_wgt = self.daq_group_qtabwidget(widget_type='QStackedWidget')
|
||||
self.gui_frame.measurement_layout.addWidget(
|
||||
self.daq_wgt, 0, 1, 1, 1, alignment=Qt.AlignTop)
|
||||
@@ -56,23 +61,52 @@ class AppGui(QWidget):
|
||||
self.daq_wgt.setCurrentIndex(self.parent.default_idx)
|
||||
self.daq_wgt.currentChanged.emit(self.parent.default_idx)
|
||||
|
||||
#Accelerator Current
|
||||
|
||||
# Accelerator Current
|
||||
self.current_wgt = self.accelerator_current_group_qtabwidget(
|
||||
widget_type='QStackedWidget')
|
||||
self.gui_frame.measurement_layout.addWidget(
|
||||
self.current_wgt, 1, 1, 1, 1, alignment=Qt.AlignTop)
|
||||
self.current_wgt, 1, 1, 1, 1, alignment=Qt.AlignTop|Qt.AlignCenter)
|
||||
|
||||
self.current_wgt.setCurrentIndex(self.parent.default_idx)
|
||||
self.current_wgt.currentChanged.emit(self.parent.default_idx)
|
||||
|
||||
#On change Injector/Cyclotron
|
||||
choice_wgt = self.gui_frame.line_sender_dict['signalPeakSearch']
|
||||
choice_wgt.name = 'Expert'
|
||||
self.gui_frame.line_sender_dict['signalSearch'] = choice_wgt
|
||||
choice_wgt = self.gui_frame.line_sender_dict['accelerator']
|
||||
choice_wgt.name = 'Operator'
|
||||
self.gui_frame.line_sender_dict['accelerator'] = choice_wgt
|
||||
|
||||
# On change Injector/Cyclotron
|
||||
self.gui_frame.line_sender_dict[
|
||||
'accelerator'].currentChanged.connect(self.cb_accelerator)
|
||||
|
||||
|
||||
# self.gui_frame.line_sender_dict[
|
||||
# 'signalPeakSearch'].currentChanged.connect(self.cb_accelerator)
|
||||
|
||||
def cb_accelerator(self, idx):
|
||||
self.daq_wgt.setCurrentIndex(idx)
|
||||
self.current_wgt.setCurrentIndex(idx)
|
||||
#is_sender = self.sender().name
|
||||
#print(_sender, flush=True)
|
||||
self.gui_frame.line_sender_dict[
|
||||
'signalPeakSearch'].setCurrentIndex(idx)
|
||||
|
||||
'''
|
||||
if "Expert" in is_sender:
|
||||
self.gui_frame.line_sender_dict[
|
||||
'signalPeakSearch'].blockSignals(True)
|
||||
self.gui_frame.line_sender_dict['accelerator'].setCurrentIndex(idx)
|
||||
self.gui_frame.line_sender_dict[
|
||||
'signalPeakSearch'].blockSignals(False)
|
||||
else:
|
||||
self.gui_frame.line_sender_dict[
|
||||
'accelerator'].blockSignals(True)
|
||||
self.gui_frame.line_sender_dict[
|
||||
'signalPeakSearch'].setCurrentIndex(idx)
|
||||
self.gui_frame.line_sender_dict[
|
||||
'accelerator'].blockSignals(False)
|
||||
'''
|
||||
|
||||
def daq_group_qtabwidget(self, widget_type='QStackedWidget'):
|
||||
accel_wgt_dict = {}
|
||||
@@ -98,8 +132,8 @@ class AppGui(QWidget):
|
||||
accel_wgt_dict[accel] = self.daq_group(accel)
|
||||
accel_tab_widget.addWidget(accel_wgt_dict[accel])
|
||||
|
||||
accel_tab_widget.setFixedWidth(320)
|
||||
accel_tab_widget.setFixedHeight(160)
|
||||
accel_tab_widget.setFixedWidth(380)
|
||||
#accel_tab_widget.setFixedHeight(160)
|
||||
return accel_tab_widget
|
||||
|
||||
def daq_group(self, accel):
|
||||
@@ -112,26 +146,34 @@ class AppGui(QWidget):
|
||||
pv_daq.append(self.settings.data['PV'][accel]['daqTrigger'])
|
||||
pv_daq.append(self.settings.data['PV'][accel]['daqReady'])
|
||||
pv_daq.append(self.settings.data['PV'][accel]['daqErrorCount'])
|
||||
pv_daq.append(self.settings.data['PV'][accel]['daqWindow'])
|
||||
pv_daq.append(self.settings.data['PV'][accel]['samplingFreq'])
|
||||
pv_daq.append(self.settings.data['PV'][accel]['samplingNum'])
|
||||
self.cafe.openPrepare()
|
||||
self.cafe.open(pv_daq)
|
||||
self.cafe.openNowAndWait(1.0)
|
||||
|
||||
|
||||
vbox.addWidget(QLabel('DAQ Trigger:'), 0, 0)
|
||||
vbox.addWidget(QLabel('DAQ Ready:'), 1, 0)
|
||||
vbox.addWidget(QLabel('Error Count:'), 2, 0)
|
||||
|
||||
vbox.addWidget(QLabel('DAQ Count:'), 1, 0)
|
||||
vbox.addWidget(QLabel('Read Error Count:'), 2, 0)
|
||||
vbox.addWidget(QLabel('DAQ Window:'), 3, 0)
|
||||
vbox.addWidget(QLabel('Sampling Freq:'), 4, 0)
|
||||
vbox.addWidget(QLabel('No Samples:'), 5, 0)
|
||||
|
||||
pv_widget = [None] * len(pv_daq)
|
||||
for i, pv in enumerate(pv_daq):
|
||||
pv_widget[i] = CAQLabel(self, pv_name=pv)
|
||||
pv_widget[i] = CAQLabel(self, pv_name=pv, show_units=True)
|
||||
vbox.addWidget(pv_widget[i], i, 1)
|
||||
fwidth = 40 if 'ERR-CNT' not in pv else 60
|
||||
#fwidth = 100 if 'ERR-CNT' not in pv else 100
|
||||
fwidth = 120 if 'SMP' in pv or 'WINDOW' in pv else 60
|
||||
pv_widget[i].setFixedWidth(fwidth)
|
||||
|
||||
|
||||
vbox.setContentsMargins(9, 19, 9, 9)
|
||||
vbox.setSpacing(5)
|
||||
vbox.setAlignment(Qt.AlignTop | Qt.AlignHCenter)
|
||||
group_box.setFixedWidth(220)
|
||||
group_box.setFixedHeight(140)
|
||||
group_box.setFixedWidth(260)
|
||||
group_box.setFixedHeight(240)
|
||||
group_box.setFont(self.font_gui)
|
||||
group_box.setAlignment(int(Qt.AlignTop | Qt.AlignHCenter))
|
||||
group_box.setLayout(vbox)
|
||||
@@ -143,7 +185,6 @@ class AppGui(QWidget):
|
||||
|
||||
return qw
|
||||
|
||||
|
||||
def accelerator_current_group_qtabwidget(
|
||||
self, widget_type='QStackedWidget'):
|
||||
accel_wgt_dict = {}
|
||||
@@ -173,7 +214,6 @@ class AppGui(QWidget):
|
||||
accel_tab_widget.setFixedHeight(180)
|
||||
return accel_tab_widget
|
||||
|
||||
|
||||
def accelerator_current_group(self, accel):
|
||||
group_box = QGroupBox(f'{accel} Current')
|
||||
obj_name = 'CYCLOTRON' if self.parent.ring_cyclotron in accel else \
|
||||
@@ -189,18 +229,18 @@ class AppGui(QWidget):
|
||||
|
||||
vbox.addWidget(QLabel('I at Entry:'), 0, 0)
|
||||
vbox.addWidget(QLabel('I at Exit:'), 1, 0)
|
||||
|
||||
|
||||
pv_widget = [None] * len(pv_name)
|
||||
for i, pv in enumerate(pv_name):
|
||||
pv_widget[i] = CAQLabel(self, pv_name=pv, show_units=True)
|
||||
vbox.addWidget(pv_widget[i], i, 1)
|
||||
fwidth = 120
|
||||
pv_widget[i].setFixedWidth(fwidth)
|
||||
|
||||
|
||||
vbox.setContentsMargins(9, 19, 9, 9)
|
||||
vbox.setSpacing(5)
|
||||
vbox.setAlignment(Qt.AlignTop | Qt.AlignHCenter)
|
||||
group_box.setFixedWidth(220)
|
||||
group_box.setFixedWidth(260)
|
||||
group_box.setFixedHeight(100)
|
||||
group_box.setFont(self.font_gui)
|
||||
group_box.setAlignment(int(Qt.AlignTop | Qt.AlignHCenter))
|
||||
@@ -211,4 +251,21 @@ class AppGui(QWidget):
|
||||
grid.addWidget(group_box, 0, 0)
|
||||
qw.setLayout(grid)
|
||||
|
||||
return qw
|
||||
return qw
|
||||
|
||||
def low_level_display(self):
|
||||
|
||||
#command = "caqtdm -macro 'DEVICE=ZWSGA-CECL-TCRING' Z_DI_TURN_COUNT.ui"
|
||||
|
||||
def low_level_macro():
|
||||
subprocess.run(["caqtdm", "-macro", "DEVICE=ZWSGA-CECL-TCRING",
|
||||
"Z_DI_TURN_COUNT.ui"])
|
||||
|
||||
qpb = QPushButton(" Low-level Display ")
|
||||
#qpb.setStyleSheet("background-color: #B79D5C;") # QColor(183, 157, 92);")
|
||||
qpb.setObjectName("related")
|
||||
qpb.setToolTip("Execute caqtdm Turn Counter Display")
|
||||
qpb.clicked.connect(lambda: low_level_macro())
|
||||
qpb.setFixedHeight(40)
|
||||
qpb.setFixedWidth(180)
|
||||
return qpb
|
||||
|
||||
@@ -14,25 +14,46 @@
|
||||
"addDateToDir" : 0
|
||||
},
|
||||
"header" : ["SHIFT", "INJ2", "IP2", "IW2", "PK1", "PK2", "SINQ", "UCN"],
|
||||
"PV" : {"Injector": {"nturns": "PV-INJ:NTURNS",
|
||||
"daqTrigger": "PV-INJ:TRG",
|
||||
"daqReady": "PV-INJ:READY",
|
||||
"daqErrorCount": "PV-INJ:ERR-CNT",
|
||||
"wfEntry": "PV-INJ:WF-ENTRY",
|
||||
"wfExit": "PV-INJ:WF-EXIT",
|
||||
"PV" : {"Injector": {"nturns": "ZWSGA-CECL-TCINJ:TURN-COUNT",
|
||||
"daqTrigger": "ZWSGA-CECL-TCINJ:TRG-SINGLE:PROC",
|
||||
"daqReady": "ZWSGA-CECL-TCINJ:SCOPE-ACQ-CNT",
|
||||
"daqErrorCount": "ZWSGA-CECL-TCINJ:ERR-CNT",
|
||||
"samplingFreq": "ZWSGA-CECL-TCINJ:SCOPE-SMP-FREQ",
|
||||
"samplingNum": "ZWSGA-CECL-TCINJ:SCOPE-SMP-NUM",
|
||||
"daqWindow": "ZWSGA-CECL-TCINJ:SCOPE-ACQ-WINDOW",
|
||||
"wfEntry": "ZWSGA-CECL-TCINJ:SCOPE-CH0",
|
||||
"wfExit": "ZWSGA-CECL-TCINJ:SCOPE-CH1",
|
||||
"IEntry": "ENTRY:IST:1",
|
||||
"IExit": "EXIT:IST:1"
|
||||
},
|
||||
"Cyclotron": {"nturns": "ZTEST-CPSI-TCRING:TURN-NUM",
|
||||
"daqTrigger": "ZTEST-CPSI-TCRING:SCOPE-TRG",
|
||||
"daqReady": "ZTEST-CPSI-TCRING:SCOPE-READY",
|
||||
"daqErrorCount": "ZTEST-CPSI-TCRING:ERR-CNT",
|
||||
"wfEntry": "ZTEST-CPSI-TCRING:SCOPE-CH0",
|
||||
"wfExit": "ZTEST-CPSI-TCRING:SCOPE-CH1",
|
||||
"Cyclotron": {"nturns": "ZWSGA-CECL-TCRING:TURN-COUNT",
|
||||
"daqTrigger": "ZWSGA-CECL-TCRING:TRG-SINGLE.PROC",
|
||||
"daqReady": "ZWSGA-CECL-TCRING:SCOPE-ACQ-CNT",
|
||||
"daqErrorCount": "ZWSGA-CECL-TCRING:ERR-CNT",
|
||||
"samplingFreq": "ZWSGA-CECL-TCRING:SCOPE-SMP-FREQ",
|
||||
"samplingNum": "ZWSGA-CECL-TCRING:SCOPE-SMP-NUM",
|
||||
"daqWindow": "ZWSGA-CECL-TCRING:SCOPE-ACQ-WINDOW",
|
||||
"wfEntry": "ZWSGA-CECL-TCRING:SCOPE-CH0",
|
||||
"wfExit": "ZWSGA-CECL-TCRING:SCOPE-CH1",
|
||||
"IEntry": "MNC3:IST:2",
|
||||
"IExit": "MHC1:IST:2"
|
||||
}
|
||||
},
|
||||
"Init": {"Injector": {"ZWSGA-CECL-TCINJ:TRG-SINGLE.PROC": 1,
|
||||
"ZWSGA-CECL-TCINJ:TRG-SOURCE": "Auto",
|
||||
"ZWSGA-CECL-TCINJ:SCOPE-PRE-TRIGGER": 0,
|
||||
"ZWSGA-CECL-TCINJ:TRG-AUTO-PERIOD": 4000,
|
||||
"ZWSGA-CECL-TCINJ:TRG-SW-INHIBIT-ENA": 1,
|
||||
"ZWSGA-CECL-TCINJ:ADC-CH-OFFSET": 4
|
||||
},
|
||||
"Cyclotron": {"ZWSGA-CECL-TCRING:TRG-SINGLE.PROC": 1,
|
||||
"ZWSGA-CECL-TCRING:TRG-SOURCE": 0,
|
||||
"ZWSGA-CECL-TCRING:SCOPE-PRE-TRIGGER": 0,
|
||||
"ZWSGA-CECL-TCRING:TRG-AUTO-PERIOD": 4000,
|
||||
"ZWSGA-CECL-TCRING:TRG-SW-INHIBIT-ENA": 1,
|
||||
"ZWSGA-CECL-TCRING:ADC-CH-OFFSET": 4
|
||||
}
|
||||
},
|
||||
"HIPA": ["Injector", "Ring"],
|
||||
"HIPA2": {"test": ["Injector", "Ring"]},
|
||||
"QTabAccelerator":{
|
||||
@@ -42,27 +63,47 @@
|
||||
"deltaNpickup" : {"data":{ "widget": "QLineEdit", "text" : "dN Pickup:", "value": 4 }},
|
||||
"freqmod" : {"data":{ "widget": "QLineRead", "text" :"Mod. Freq (GHz):", "value" : 500}},
|
||||
"dutycycle" : {"data":{ "widget": "QLineRead", "text" :"Duty Cycle (%):", "value" : 1}}
|
||||
|
||||
},
|
||||
"Cyclotron": {
|
||||
"harmonic" : {"data":{ "widget": "QLineRead", "text" :"Harmonic No: ", "value" : 6}},
|
||||
"deltaTcable" : {"data":{ "widget": "QLineRead", "text" : "dT Cable (ns):", "value": 44 }},
|
||||
"deltaNpickup" : {"data":{ "widget": "QLineEdit", "text" : "dN Pickup:", "value": -1 }}
|
||||
"deltaNpickup" : {"data":{ "widget": "QLineEdit", "text" : "dN Pickup:", "value": -1 }}
|
||||
|
||||
}
|
||||
},
|
||||
"QTabSignalPeakSearch":{
|
||||
" Injector ": {
|
||||
"peakHeight": {"flag": 1, "data":{ "widget": "QLineEdit", "text" :"Min peak height:", "value" : 50 }},
|
||||
"peakDistance": {"flag": 1, "data":{ "widget": "QLineEdit", "text" :"Min peak distance: ", "value" : 10 }},
|
||||
"correlationPeakDifference": {"flag": 1, "data":{ "widget": "QLineEdit", "text" :"Min dcorr(peak1-peak2):", "value" : 0.01}},
|
||||
"minimumCurrent": {"flag": 1, "data":{ "widget": "QLineEdit", "text" :"Inj2 I_min (mA):", "value" : "0.100"}},
|
||||
"reverseInput": {"flag": 1, "data":{ "widget": "QCheckBox", "text" :"Reverse Input Polarity: ", "value" : 1, "orientation":"RightToLeft"}},
|
||||
"reverseOutput": {"flag": 1, "data":{ "widget": "QCheckBox", "text" :"Reverse Output Polarity: ", "value" : 1, "orientation":"RightToLeft"}}
|
||||
},
|
||||
" Cyclotron ": {
|
||||
"peakHeight": {"flag": 1, "data":{ "widget": "QLineEdit", "text" :"Min peak height:", "value" : 100 }},
|
||||
"peakDistance": {"flag": 1, "data":{ "widget": "QLineEdit", "text" :"Min peak distance: ", "value" : 10 }},
|
||||
"correlationPeakDifference": {"flag": 1, "data":{ "widget": "QLineEdit", "text" :"Min dcorr(peak1-peak2):", "value" : 0.005 }},
|
||||
"minimumCurrent": {"flag": 1, "data":{ "widget": "QLineEdit", "text" :"Inj2 I_min (mA):", "value" : "0.100"}},
|
||||
"reverseInput": {"flag": 1, "data":{ "widget": "QCheckBox", "text" :"Reverse Input Polarity: ", "value" : 1, "orientation":"RightToLeft"}},
|
||||
"reverseOutput": {"flag": 1, "data":{ "widget": "QCheckBox", "text" :"Reverse Output Polarity: ", "value" : 1, "orientation":"RightToLeft"}}
|
||||
}
|
||||
},
|
||||
"Parameters":{
|
||||
"facility": {"flag": 0, "data" : {"widget": "QComboBox", "text" : "Facility:",
|
||||
"link": ["HIPA"],"layout" : "Horizontal"}},
|
||||
"freqrf" : {"flag": 1, "data":{ "widget": "QLineEdit", "text" :"RF Freq (10^6/s):", "value" : 50.6328 }},
|
||||
"freqsampling" : {"flag": 1, "data":{ "widget": "QLineRead", "text" :"Sampling Freq (GHz):", "value" : 3.0 }},
|
||||
|
||||
"drawLine" : {"flag" : 1, "data":{ "widget": "QHLine", "text" : "None", "value" : "None"}},
|
||||
|
||||
|
||||
"Parameters":{
|
||||
"freqrf" : {"flag": 1, "data":{ "widget": "QLineEdit", "text" :"RF Freq (10^6/s):", "value" : 50.6328 }},
|
||||
"drawLine" : {"flag" : 1, "data":{ "widget": "QHLine", "text" : "None", "value" : "None"}},
|
||||
"accelerator" : {"flag" : 1, "data":{ "widget": "QTabWidget", "text" : "Accelerator: ",
|
||||
"link" : "QTabAccelerator", "value" : 1,
|
||||
"color" : ["#008b8b", "#0047ab" ]}}
|
||||
"color" : ["#008b8b", "#0047ab" ]}}
|
||||
|
||||
},
|
||||
"Expert":{
|
||||
"signalPeakSearch" : {"flag" : 0, "data":{ "widget": "QStackedWidget", "text" : "Accelerator: ",
|
||||
"link" : "QTabSignalPeakSearch", "value" : 1,
|
||||
"color" : ["#008b8b", "#0047ab" ]}},
|
||||
"debug": {"flag" : 1, "data":{ "widget": "None", "text" : "Debug", "value" : 0}},
|
||||
"simulation": {"flag" : 1, "data":{ "widget": "None", "text" : "Oscilloscope", "value" : 0}}
|
||||
},
|
||||
|
||||
@@ -20,61 +20,73 @@ from apps4ops.hipa.enumkind import ElogHIPA
|
||||
from src.gui import AppGui
|
||||
from pyrcc5 import tina_resources
|
||||
|
||||
#try:
|
||||
# import pyscan
|
||||
# import pyscan.interface.pyScan as PyScan
|
||||
#except:
|
||||
# sys.path.append('/hipa/bd/applications/deps/apps4ops/v1.12.0/common/packages/')
|
||||
#or insert to jump the queue
|
||||
#sys.path.insert(0,'/hipa/bd/applications/deps/apps4ops/v1.12.0/common/packages/')
|
||||
# import pyscan
|
||||
# import pyscan.interface.pyScan as PyScan
|
||||
# print("from common.packages import pyscan")
|
||||
|
||||
_pymodule = os.path.basename(__file__)
|
||||
_appname, _appext = _pymodule.split('.')
|
||||
_abspath = os.path.dirname(os.path.abspath(__file__))
|
||||
_appversion = '0.0.1'
|
||||
_appversion = '0.0.2'
|
||||
_title = 'No of Turns Measurement'
|
||||
|
||||
_appname = 'Tina'
|
||||
|
||||
|
||||
class StartMain(BaseWindow):
|
||||
''' Application to measure the no of turns in Injector 2 and the
|
||||
Ring Cyclotron
|
||||
'''Application to measure the no of turns in Injector 2 and the
|
||||
Ring Cyclotron.
|
||||
|
||||
A python implementation of the LabView application developed by
|
||||
Pierre-Andre Duperrex
|
||||
|
||||
Attributes:
|
||||
appname: tina.py
|
||||
source_file: full pathname for inclusion into HDF.
|
||||
elog_enum: enumerated datatypes for elog attributes.
|
||||
message_elog: string to hold the elogbook message.
|
||||
self.default_idx: int to indicate default accelerator.
|
||||
self.accelerator: str to indicate default accelerator.
|
||||
self.message: string to hold message to gui log pane.
|
||||
'''
|
||||
ring_cyclotron = 'Cyclotron'
|
||||
injector_2 = 'Injector'
|
||||
accelerator_list = [injector_2, ring_cyclotron]
|
||||
|
||||
def __init__(self, parent=None):
|
||||
'''Initialize class attrinbutes and instantiate GUI.'''
|
||||
super().__init__(
|
||||
parent=parent, pymodule=_pymodule, appversion=_appversion,
|
||||
title=_title, user_mode=UserMode.OPERATION, facility=Facility.HIPA,
|
||||
has_optics=False, has_procedure=True)
|
||||
has_optics=False, has_procedure='VerticalExpert')
|
||||
|
||||
self.appname = _appname
|
||||
self.source_file = _abspath # required for HDF
|
||||
self.source_file = _abspath
|
||||
self.elog_enum = ElogHIPA()
|
||||
self.message_elog = None
|
||||
self.default_idx = self.settings.data['Parameters']['accelerator'][
|
||||
'data']['value']
|
||||
self.accelerator = self.ring_cyclotron if self.default_idx else \
|
||||
self.injector_2
|
||||
self.accelerator_peak_search = ' ' + self.accelerator + ' '
|
||||
# self.from_hdf = False in base class
|
||||
self.message = ''
|
||||
self.correlation_peak_diff_min_value = 0.010
|
||||
|
||||
self.gui = AppGui(self)
|
||||
self.init_pv_dict = self.settings.data['Init'][self.accelerator]
|
||||
self.init_pv_list = list(self.init_pv_dict.keys())
|
||||
self.init_pv_values = list(self.init_pv_dict.values())
|
||||
if self.is_front_end_initialized(init=False):
|
||||
mess = 'FEE Initialized'
|
||||
self.trigger_log_message.emit(
|
||||
MsgSeverity.INFO.name, _pymodule, utils.line_no(), mess, {})
|
||||
AppGui(self)
|
||||
|
||||
def prepare_results_message(self):
|
||||
"""Prepare results message
|
||||
"""
|
||||
'''Prepare results messages
|
||||
'''
|
||||
try:
|
||||
self.no_turns = self.all_data['Processed data']['nturns']
|
||||
lag_full = self.all_data['Processed data']['lag']
|
||||
delay = self.all_data['Processed data']['delay']
|
||||
self.peak_diff = self.all_data['Processed data']['peak_diff']
|
||||
self.correlation_peak_diff = self.all_data['Processed data'][
|
||||
'correlation_peak_diff']
|
||||
self.correlation_min_peak_diff = self.all_data['Processed data'][
|
||||
'correlation_min_peak_diff']
|
||||
except KeyError:
|
||||
self.message = ''
|
||||
self.message_elog = ''
|
||||
@@ -82,11 +94,13 @@ class StartMain(BaseWindow):
|
||||
try:
|
||||
self.accelerator = self.all_data['Input data']['accelerator']
|
||||
except KeyError as ex:
|
||||
self.logger.debug(f'KeyError {ex}')
|
||||
logger_mess = f'KeyError {str(ex)}'
|
||||
self.logger.debug(logger_mess)
|
||||
try:
|
||||
self.accelerator = self.all_data['Input data']['qtabdata']
|
||||
except KeyError as ex:
|
||||
self.logger.debug(f'KeyError {ex}')
|
||||
logger_mess = f'KeyError {str(ex)}'
|
||||
self.logger.debug(logger_mess)
|
||||
|
||||
mess = 'Reanalysis from HDF5. ' if self.from_hdf else ''
|
||||
|
||||
@@ -95,7 +109,7 @@ class StartMain(BaseWindow):
|
||||
'''No. turns measured in the {0} = {1:0.0f} ({2:.2f}) <br>
|
||||
lag = {3}, delay = {4:.3f} \u00B5s<br>'''.format(
|
||||
self.accelerator, (self.no_turns), self.no_turns,
|
||||
lag_full, delay*10**6))
|
||||
lag_full, delay * 10**6))
|
||||
|
||||
self.message = (
|
||||
mess +
|
||||
@@ -103,7 +117,7 @@ class StartMain(BaseWindow):
|
||||
No. turns measured in the {0} = {1:0.0f} ({2:.2f})
|
||||
lag = {3}, delay = {4:.3f} \u00B5s'''.format(
|
||||
self.accelerator, self.no_turns, self.no_turns,
|
||||
lag_full, delay*10**6))
|
||||
lag_full, delay * 10**6))
|
||||
|
||||
def prepare_elog_message(self):
|
||||
'''Define elog parameters and define message
|
||||
@@ -132,23 +146,79 @@ class StartMain(BaseWindow):
|
||||
self.logbook = 'Sandkasten' if simulation else 'HIPA'
|
||||
self.title = _title
|
||||
|
||||
def is_front_end_initialized(self, init: bool = True):
|
||||
'''Initialized Front End Electonics if required
|
||||
'''
|
||||
value_list, status, status_list = self.cafe.getScalarList(
|
||||
self.init_pv_list, dt='int')
|
||||
|
||||
if status != self.cyca.ICAFE_NORMAL:
|
||||
self.check_status_list(
|
||||
_pymodule, 'getScalarList', self.init_pv_list, status_list,
|
||||
utils.line_no())
|
||||
|
||||
if value_list != self.init_pv_values and not init:
|
||||
return False
|
||||
|
||||
def is_simulation():
|
||||
if self.all_data:
|
||||
if self.all_data['Input data'] is not None:
|
||||
try:
|
||||
simulation = self.all_data['Input data']['simulation']
|
||||
except KeyError:
|
||||
simulation = self.input_parameters['simulation']
|
||||
pass
|
||||
else:
|
||||
simulation = self.input_parameters['simulation']
|
||||
return simulation
|
||||
|
||||
if value_list != self.init_pv_values:
|
||||
for val, val_init, pv in zip(value_list, self.init_pv_values,
|
||||
self.init_pv_list):
|
||||
if val != val_init:
|
||||
if not is_simulation():
|
||||
status = self.cafe.set(pv, val_init)
|
||||
if status != self.cyca.ICAFE_NORMAL:
|
||||
self.check_status(_pymodule, 'set', pv, status,
|
||||
utils.line_no())
|
||||
time.sleep(0.02)
|
||||
|
||||
value_list, status, status_list = self.cafe.getScalarList(
|
||||
self.init_pv_list, dt='int')
|
||||
if status != self.cyca.ICAFE_NORMAL:
|
||||
self.check_status_list(
|
||||
_pymodule, 'getScalarList', self.init_pv_list, status_list,
|
||||
utils.line_no())
|
||||
|
||||
if value_list != self.init_pv_values:
|
||||
return False
|
||||
return True
|
||||
|
||||
def verify_analysis_preconditions(self):
|
||||
if self.injector_2 in self.input_parameters['accelerator']:
|
||||
'''Verify machine is setup for measurement procedure-
|
||||
Check machine current is above threshold (0.001 mA is default)
|
||||
Check that that the front-end electronics are initialized
|
||||
'''
|
||||
|
||||
accelerator = self.input_parameters['accelerator']
|
||||
|
||||
if self.injector_2 in accelerator:
|
||||
mess = ('Measurement procedure for Injector 2 \n' +
|
||||
'has not yet been implementented.')
|
||||
QMessageBox.information(self, 'Injector 2', mess, QMessageBox.Ok)
|
||||
|
||||
QApplication.processEvents()
|
||||
return False
|
||||
|
||||
|
||||
if self.input_parameters['simulation']:
|
||||
return True
|
||||
|
||||
return True
|
||||
I_min = float(self.input_parameters[self.accelerator_peak_search][
|
||||
'minimumCurrent'])
|
||||
|
||||
injector_current = self.cafe.getCache("MWC2:IST:2")
|
||||
injector_current = self.cafe.getCache('MWC2:IST:2')
|
||||
if not injector_current:
|
||||
stat = self.cafe.getStatus("MWC2:IST:2")
|
||||
stat = self.cafe.getStatus('MWC2:IST:2')
|
||||
self.check_status(_pymodule, 'getCache', injector_current, stat,
|
||||
utils.line_no())
|
||||
mess = ('Unable to read Injector 2 current\n' +
|
||||
@@ -156,35 +226,54 @@ class StartMain(BaseWindow):
|
||||
QMessageBox.information(self, 'Cyclotron', mess, QMessageBox.Ok)
|
||||
QApplication.processEvents()
|
||||
return False
|
||||
elif injector_current < 0.001:
|
||||
mess = ('Injector 2 current is below threshold.\n' +
|
||||
'Measurememt cannot be untertaken at the present time.')
|
||||
elif injector_current <= I_min:
|
||||
mess = (f'Injector 2 current is below threshold {I_min} mA.\n' +
|
||||
f'Measurement cannot be untertaken at the present time.')
|
||||
QMessageBox.information(self, 'Cyclotron', mess, QMessageBox.Ok)
|
||||
QApplication.processEvents()
|
||||
return False
|
||||
|
||||
return True
|
||||
|
||||
return self.is_front_end_initialized(init=True)
|
||||
|
||||
@Slot()
|
||||
def analysis_thread_finished(self):
|
||||
'''If analysis completed successfuly, prepare results message.
|
||||
'''
|
||||
BaseWindow.analysis_thread_finished(self)
|
||||
if self.all_data is not None:
|
||||
try:
|
||||
if self.all_data['Figure data'] is not None:
|
||||
self.gui_frame.central_tab_widget.setCurrentIndex(1)
|
||||
except KeyError:
|
||||
print('No analysis performed')
|
||||
return
|
||||
else:
|
||||
|
||||
def delete_previous_figures():
|
||||
print('Thread finished with no data')
|
||||
ncanvas = len(self.settings.data['GUI']['subResultsTabTitle'])
|
||||
dict_fig = {}
|
||||
dict_fig['Figure data'] = {}
|
||||
print('canvas', ncanvas, flush=True)
|
||||
for i in range(0, ncanvas):
|
||||
canvas = f'Canvas {i+1}'
|
||||
dict_fig['Figure data'][canvas] = None
|
||||
# Delete old figures
|
||||
self.gui.gui_frame.canvas_update(dict_fig['Figure data'])
|
||||
try:
|
||||
self.gui_frame.canvas_update(dict_fig['Figure data'])
|
||||
except AttributeError as ex:
|
||||
print('AttributeError', ex, flush=True)
|
||||
pass
|
||||
print('Thread finished with no data', flush=True)
|
||||
return
|
||||
|
||||
if self.all_data is not None:
|
||||
try:
|
||||
try:
|
||||
if self.all_data['Figure data'] is not None:
|
||||
self.gui_frame.central_tab_widget.setCurrentIndex(1)
|
||||
else:
|
||||
delete_previous_figures()
|
||||
except AttributeError:
|
||||
print('No analysis performed')
|
||||
return
|
||||
except KeyError:
|
||||
print('No analysis performed')
|
||||
return
|
||||
else:
|
||||
delete_previous_figures()
|
||||
return
|
||||
|
||||
self.prepare_results_message()
|
||||
@@ -193,6 +282,9 @@ class StartMain(BaseWindow):
|
||||
|
||||
@Slot()
|
||||
def hdf_thread_finished(self):
|
||||
'''If hdf analysis completed successfuly, prepare results
|
||||
message.
|
||||
'''
|
||||
BaseWindow.hdf_thread_finished(self)
|
||||
self.prepare_results_message()
|
||||
self.show_log_message(MsgSeverity.INFO, _pymodule, utils.line_no(),
|
||||
@@ -200,10 +292,11 @@ class StartMain(BaseWindow):
|
||||
|
||||
@Slot()
|
||||
def save_to_hdf_dialog(self):
|
||||
|
||||
'''Save to hdf via the HDF dialogue window in menu bar.
|
||||
'''
|
||||
if self.from_hdf:
|
||||
mess = ('This is a repeat analysis from HDF. \n' +
|
||||
'Saving duplicate data to HDF is declined.')
|
||||
'Saving duplicate data to HDF is declined.')
|
||||
QMessageBox.information(self, 'HDF', mess, QMessageBox.Ok)
|
||||
|
||||
QApplication.processEvents()
|
||||
@@ -213,12 +306,14 @@ class StartMain(BaseWindow):
|
||||
|
||||
@Slot()
|
||||
def save_to_hdf(self, from_dialog=False):
|
||||
'''Save to hdf via pilot mode.
|
||||
'''
|
||||
if not self.verify_save_to_hdf():
|
||||
return False
|
||||
|
||||
if self.from_hdf:
|
||||
mess = ('This is a repeat analysis from HDF. \n' +
|
||||
'Saving duplicate data to HDF is declined.')
|
||||
'Saving duplicate data to HDF is declined.')
|
||||
QMessageBox.information(self, 'HDF', mess, QMessageBox.Ok)
|
||||
|
||||
QApplication.processEvents()
|
||||
@@ -233,7 +328,7 @@ class StartMain(BaseWindow):
|
||||
time.sleep(0.05) # Wait a tick
|
||||
return True
|
||||
|
||||
def add_to_hdf(self, datah5, proc=True, raw=False):
|
||||
def add_to_hdf(self, data_H5, proc=True, raw=False):
|
||||
'''User supplied hdf data
|
||||
'''
|
||||
if self.all_data is not None:
|
||||
@@ -247,8 +342,9 @@ class StartMain(BaseWindow):
|
||||
'Processed data']
|
||||
all_data['Raw data']['Raw_data'] = self.all_data[
|
||||
'Raw data']
|
||||
|
||||
h5_storage.saveH5Recursive(
|
||||
self.hdf_filename, all_data['Raw data'], datah5)
|
||||
self.hdf_filename, all_data['Raw data'], data_H5)
|
||||
|
||||
@Slot()
|
||||
def send_to_elog(self):
|
||||
@@ -324,12 +420,13 @@ class StartMain(BaseWindow):
|
||||
QApplication.processEvents()
|
||||
return False
|
||||
|
||||
if self.peak_diff < self.correlation_peak_diff_min_value:
|
||||
mess = (f'Measurement is suspect as difference in top two peak \n' +
|
||||
if self.correlation_peak_diff < self.correlation_min_peak_diff:
|
||||
mess = ('Measurement is suspect as difference in top two peak \n' +
|
||||
'values of ' +
|
||||
f'{self.peak_diff:0.3f} is less than accepted minimum ' +
|
||||
f'of {self.correlation_peak_diff_min_value:0.3f}. \n' +
|
||||
f'Analysis result is not saved to EPICS!')
|
||||
f'of {self.correlation_min_peak_diff:0.3f}. \n' +
|
||||
'Analysis result is not saved to EPICS!')
|
||||
|
||||
QMessageBox.information(self, 'EPICS', mess, QMessageBox.Ok)
|
||||
|
||||
QApplication.processEvents()
|
||||
@@ -343,7 +440,7 @@ class StartMain(BaseWindow):
|
||||
pv = self.settings.data['PV']['Cyclotron']['nturns']
|
||||
dict_bunch[pv] = nturns
|
||||
|
||||
status,_ = self.send_to_epics(dict_bunch)
|
||||
status, _ = self.send_to_epics(dict_bunch)
|
||||
if status == self.cyca.ICAFE_NORMAL:
|
||||
mess = f'Saved data to EPICS; No turns = {nturns}'
|
||||
sev = MsgSeverity.INFO
|
||||
@@ -356,7 +453,7 @@ class StartMain(BaseWindow):
|
||||
|
||||
@Slot()
|
||||
def closeEvent(self, event):
|
||||
'''Close application only if conditions allow
|
||||
'''Close application only if conditions allow.
|
||||
'''
|
||||
if not self.verify_close_event():
|
||||
event.ignore()
|
||||
@@ -374,7 +471,8 @@ class StartMain(BaseWindow):
|
||||
"""<b>{0}</b> v {1}
|
||||
<p>Copyright © Paul Scherrer Institut (PSI).
|
||||
All rights reserved.</p>
|
||||
<p>Authors: P.-A. Duperrex, J. Chrin, A. Facchetti, W. Koprek, </p>
|
||||
<p>Authors: P.-A. Duperrex, J. Chrin, A. Facchetti, D. Felici,
|
||||
W. Koprek, </p>
|
||||
<p>A python implementation of the LabVIEW measurement developed
|
||||
by P.-A. Duperrex <br>
|
||||
Ref: P.-A. Duperrex and A. Facchetti <br>
|
||||
@@ -398,13 +496,17 @@ class StartMain(BaseWindow):
|
||||
'''
|
||||
index_html = 'index.html'
|
||||
help_base = ':'
|
||||
help_page = HelpBrowser(help_base, index_html, self)
|
||||
help_page = HelpBrowser(help_base, index_html, self, xlength=800,
|
||||
ylength=1290)
|
||||
|
||||
help_page.show()
|
||||
|
||||
|
||||
#########################################################################
|
||||
if __name__ == '__main__':
|
||||
|
||||
'''Initialize window parameters and start application via a splash
|
||||
window.
|
||||
'''
|
||||
app = QApplication(sys.argv)
|
||||
splash = BaseWindow.initialize_application(
|
||||
app, appname=_appname, delay=5, facility=Facility.HIPA)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#!/bin/bash
|
||||
cd /hipa/bd/applications/tina/devl
|
||||
cd /hipa/bd/applications/tina/1.3.0
|
||||
|
||||
# For use if script is sourced rather than executed
|
||||
appNameDefault="tina.sh"
|
||||
@@ -24,7 +24,7 @@ _EPICS_BASE=base-7.0.8
|
||||
# Select Python Version here. Currently one of 3.5, 3.7, 3.8 and 3.10
|
||||
PYTHON_VERSION=3.10
|
||||
#cafe-1.20.0-gcc-7.5.0
|
||||
PYTHON_PATH=.:/opt/gfa/cafe/python/pycafe/cafe-1.21.0-0/lib/${_EPICS_HOST_ARCH}:/hipa/bd/applications/deps/apps4ops/v1.12.0
|
||||
PYTHON_PATH=.:/opt/gfa/cafe/python/pycafe/cafe-1.21.0/lib/${_EPICS_HOST_ARCH}:/hipa/bd/applications/deps/apps4ops/v1.13.0
|
||||
|
||||
if [ "$1" ]; then
|
||||
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
#!/bin/bash
|
||||
cd /hipa/bd/applications/tina/devl
|
||||
cd /hipa/bd/applications/tina/0.0.2
|
||||
|
||||
# For use if script is sourced rather than executed
|
||||
appNameDefault="tina.sh"
|
||||
|
||||
Reference in New Issue
Block a user