summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNao Pross <naopross@thearcway.org>2018-02-23 16:31:32 +0100
committerNao Pross <naopross@thearcway.org>2018-02-23 16:31:32 +0100
commita588c9f6e6f0946844ed27e618d792cd025d4362 (patch)
treed16bbb2b5d99ec50036cc78884abde5a67fab798
parentFix rs232 interface for MIDI serial (diff)
downloadXilofono-a588c9f6e6f0946844ed27e618d792cd025d4362.tar.gz
Xilofono-a588c9f6e6f0946844ed27e618d792cd025d4362.zip
No time for commit msg
Diffstat (limited to '')
-rw-r--r--.gitmodules3
-rw-r--r--doc/.gitignore2
-rw-r--r--doc/data/piezo-filter-1/piezo-filter-waveform-raw-ch1.csv2500
-rw-r--r--doc/data/piezo-filter-1/piezo-filter-waveform-raw-ch2.csv2500
-rw-r--r--doc/data/piezo-filter-1/piezo-filter-waveform-raw-ch3.csv2500
-rw-r--r--doc/figures/texput.log21
-rw-r--r--doc/xilofono.tex23
-rw-r--r--doc_office/Diario.docxbin20246 -> 20650 bytes
-rw-r--r--doc_office/Pianificazione LIP.xlsxbin23846 -> 23876 bytes
-rw-r--r--doc_office/RECEIPT_1236102222018035124.pdf (renamed from doc/RECEIPT_1236102222018035124.pdf)bin46724 -> 46724 bytes
-rw-r--r--src/disassembly/listing.disasm931
-rw-r--r--src/dist/default/production/memoryfile.xml17
-rw-r--r--src/dist/default/production/src.production.cmf545
-rw-r--r--src/dist/default/production/src.production.elfbin0 -> 19102 bytes
-rw-r--r--src/dist/default/production/src.production.hex72
-rw-r--r--src/dist/default/production/src.production.hxl45
-rw-r--r--src/dist/default/production/src.production.lst1813
-rw-r--r--src/dist/default/production/src.production.map821
-rw-r--r--src/dist/default/production/src.production.mum9
-rw-r--r--src/dist/default/production/src.production.objbin0 -> 13299 bytes
-rw-r--r--src/dist/default/production/src.production.rlfbin0 -> 116932 bytes
-rw-r--r--src/dist/default/production/src.production.sdb557
-rw-r--r--src/dist/default/production/src.production.sym450
-rw-r--r--src/main.c141
-rw-r--r--src/nbproject/Makefile-genesis.properties4
-rw-r--r--src/nbproject/configurations.xml2
-rw-r--r--src/nbproject/private/private.xml4
27 files changed, 12903 insertions, 57 deletions
diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 0000000..267dbe6
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,3 @@
+[submodule "doc"]
+ path = doc
+ url = https://git.overleaf.com/13958136wxxknptwpbvw
diff --git a/doc/.gitignore b/doc/.gitignore
new file mode 100644
index 0000000..c8e74ec
--- /dev/null
+++ b/doc/.gitignore
@@ -0,0 +1,2 @@
+build
+**/texput.log
diff --git a/doc/data/piezo-filter-1/piezo-filter-waveform-raw-ch1.csv b/doc/data/piezo-filter-1/piezo-filter-waveform-raw-ch1.csv
new file mode 100644
index 0000000..d4e14c0
--- /dev/null
+++ b/doc/data/piezo-filter-1/piezo-filter-waveform-raw-ch1.csv
@@ -0,0 +1,2500 @@
+Record Length;2500;Points;-10.7399998E-3;0.0;
+Sample Interval;9.999999747E-6;s;-10.7300002E-3;-79.999998212E-3;
+Trigger Point;1.0740001E3;Samples;-10.7199997E-3;0.0;
+;;;-10.7100001E-3;0.0;
+;;;-10.6999995E-3;0.0;
+;;;-10.6899999E-3;0.0;
+Source;CH1;;-10.6799994E-3;0.0;
+Vertical Units;Volts;;-10.6699998E-3;0.0;
+Vertical Scale;2.0000000;;-10.6600001E-3;0.0;
+Vertical Offset;0;;-10.6499996E-3;0.0;
+Horizontal Units;s;;-10.6400000E-3;0.0;
+Horizontal Scale;2.4999999E-3;;-10.6299995E-3;0.0;
+Pt Fmt;Y;;-10.6199998E-3;0.0;
+Yzero;0.0;;-10.6100002E-3;0.0;
+Probe Atten;1.000000;;-10.5999997E-3;0.0;
+;;;-10.5900001E-3;0.0;
+Note;TDS 2024C - 14:39:34 23.02.2018;;-10.5799995E-3;0.0;
+;;;-10.5699999E-3;0.0;
+;;;-10.5599994E-3;0.0;
+;;;-10.5499998E-3;0.0;
+;;;-10.5400002E-3;0.0;
+;;;-10.5299996E-3;0.0;
+;;;-10.5200000E-3;0.0;
+;;;-10.5099995E-3;-79.999998212E-3;
+;;;-10.4999999E-3;-79.999998212E-3;
+;;;-10.4900002E-3;0.0;
+;;;-10.4799997E-3;0.0;
+;;;-10.4700001E-3;0.0;
+;;;-10.4599996E-3;0.0;
+;;;-10.4499999E-3;0.0;
+;;;-10.4399994E-3;0.0;
+;;;-10.4299998E-3;0.0;
+;;;-10.4200002E-3;0.0;
+;;;-10.4099996E-3;0.0;
+;;;-10.4000000E-3;0.0;
+;;;-10.3899995E-3;0.0;
+;;;-10.3799999E-3;0.0;
+;;;-10.3700003E-3;0.0;
+;;;-10.3599997E-3;0.0;
+;;;-10.3500001E-3;0.0;
+;;;-10.3399996E-3;0.0;
+;;;-10.3300000E-3;0.0;
+;;;-10.3199994E-3;0.0;
+;;;-10.3099998E-3;0.0;
+;;;-10.3000002E-3;0.0;
+;;;-10.2899997E-3;0.0;
+;;;-10.2800000E-3;0.0;
+;;;-10.2699995E-3;0.0;
+;;;-10.2599999E-3;0.0;
+;;;-10.2500003E-3;0.0;
+;;;-10.2399997E-3;0.0;
+;;;-10.2300001E-3;0.0;
+;;;-10.2199996E-3;0.0;
+;;;-10.2100000E-3;0.0;
+;;;-10.1999994E-3;0.0;
+;;;-10.1899998E-3;0.0;
+;;;-10.1800002E-3;0.0;
+;;;-10.1699997E-3;0.0;
+;;;-10.1600001E-3;79.999998212E-3;
+;;;-10.1499995E-3;0.0;
+;;;-10.1399999E-3;0.0;
+;;;-10.1300003E-3;0.0;
+;;;-10.1199998E-3;-79.999998212E-3;
+;;;-10.1100001E-3;-79.999998212E-3;
+;;;-10.0999996E-3;0.0;
+;;;-10.0900000E-3;0.0;
+;;;-10.0799995E-3;-79.999998212E-3;
+;;;-10.0699998E-3;0.0;
+;;;-10.0600002E-3;79.999998212E-3;
+;;;-10.0499997E-3;0.0;
+;;;-10.0400001E-3;0.0;
+;;;-10.0299995E-3;0.0;
+;;;-10.0199999E-3;0.0;
+;;;-10.0099994E-3;0.0;
+;;;-9.999999776E-3;0.0;
+;;;-9.990000166E-3;0.0;
+;;;-9.979999624E-3;0.0;
+;;;-9.970000014E-3;0.0;
+;;;-9.959999472E-3;0.0;
+;;;-9.949999861E-3;0.0;
+;;;-9.940000251E-3;0.0;
+;;;-9.929999709E-3;0.0;
+;;;-9.920000099E-3;0.0;
+;;;-9.909999557E-3;0.0;
+;;;-9.899999946E-3;0.0;
+;;;-9.889999405E-3;0.0;
+;;;-9.879999794E-3;0.0;
+;;;-9.870000184E-3;0.0;
+;;;-9.859999642E-3;0.0;
+;;;-9.850000031E-3;0.0;
+;;;-9.839999489E-3;0.0;
+;;;-9.829999879E-3;0.0;
+;;;-9.820000269E-3;0.0;
+;;;-9.809999727E-3;0.0;
+;;;-9.800000116E-3;0.0;
+;;;-9.789999574E-3;0.0;
+;;;-9.779999964E-3;0.0;
+;;;-9.769999422E-3;0.0;
+;;;-9.759999812E-3;0.0;
+;;;-9.750000201E-3;0.0;
+;;;-9.739999659E-3;0.0;
+;;;-9.730000049E-3;0.0;
+;;;-9.719999507E-3;0.0;
+;;;-9.709999897E-3;0.0;
+;;;-9.700000286E-3;0.0;
+;;;-9.689999744E-3;0.0;
+;;;-9.680000134E-3;0.0;
+;;;-9.669999592E-3;0.0;
+;;;-9.659999982E-3;0.0;
+;;;-9.649999440E-3;0.0;
+;;;-9.639999829E-3;0.0;
+;;;-9.630000219E-3;0.0;
+;;;-9.619999677E-3;0.0;
+;;;-9.610000066E-3;0.0;
+;;;-9.599999525E-3;0.0;
+;;;-9.589999914E-3;0.0;
+;;;-9.580000304E-3;0.0;
+;;;-9.569999762E-3;0.0;
+;;;-9.560000151E-3;0.0;
+;;;-9.549999610E-3;0.0;
+;;;-9.539999999E-3;0.0;
+;;;-9.529999457E-3;0.0;
+;;;-9.519999847E-3;0.0;
+;;;-9.510000236E-3;0.0;
+;;;-9.499999695E-3;0.0;
+;;;-9.490000084E-3;0.0;
+;;;-9.479999542E-3;0.0;
+;;;-9.469999932E-3;0.0;
+;;;-9.460000321E-3;0.0;
+;;;-9.449999779E-3;-79.999998212E-3;
+;;;-9.440000169E-3;0.0;
+;;;-9.429999627E-3;0.0;
+;;;-9.420000017E-3;0.0;
+;;;-9.409999475E-3;0.0;
+;;;-9.399999864E-3;0.0;
+;;;-9.390000254E-3;0.0;
+;;;-9.379999712E-3;0.0;
+;;;-9.370000102E-3;0.0;
+;;;-9.359999560E-3;0.0;
+;;;-9.349999949E-3;0.0;
+;;;-9.339999408E-3;0.0;
+;;;-9.329999797E-3;0.0;
+;;;-9.320000187E-3;0.0;
+;;;-9.309999645E-3;0.0;
+;;;-9.300000034E-3;0.0;
+;;;-9.289999492E-3;0.0;
+;;;-9.279999882E-3;0.0;
+;;;-9.270000271E-3;0.0;
+;;;-9.259999730E-3;0.0;
+;;;-9.250000119E-3;0.0;
+;;;-9.239999577E-3;0.0;
+;;;-9.229999967E-3;0.0;
+;;;-9.219999425E-3;0.0;
+;;;-9.209999815E-3;0.0;
+;;;-9.200000204E-3;0.0;
+;;;-9.189999662E-3;0.0;
+;;;-9.180000052E-3;0.0;
+;;;-9.169999510E-3;0.0;
+;;;-9.159999900E-3;0.0;
+;;;-9.150000289E-3;0.0;
+;;;-9.139999747E-3;0.0;
+;;;-9.130000137E-3;0.0;
+;;;-9.119999595E-3;0.0;
+;;;-9.109999985E-3;0.0;
+;;;-9.099999443E-3;0.0;
+;;;-9.089999832E-3;0.0;
+;;;-9.080000222E-3;79.999998212E-3;
+;;;-9.069999680E-3;0.0;
+;;;-9.060000069E-3;0.0;
+;;;-9.049999528E-3;0.0;
+;;;-9.039999917E-3;0.0;
+;;;-9.030000307E-3;0.0;
+;;;-9.019999765E-3;0.0;
+;;;-9.010000154E-3;0.0;
+;;;-8.999999613E-3;0.0;
+;;;-8.990000002E-3;0.0;
+;;;-8.979999460E-3;0.0;
+;;;-8.969999850E-3;0.0;
+;;;-8.960000239E-3;0.0;
+;;;-8.949999698E-3;0.0;
+;;;-8.940000087E-3;0.0;
+;;;-8.929999545E-3;0.0;
+;;;-8.919999935E-3;79.999998212E-3;
+;;;-8.910000324E-3;0.0;
+;;;-8.899999782E-3;0.0;
+;;;-8.890000172E-3;0.0;
+;;;-8.879999630E-3;0.0;
+;;;-8.870000020E-3;0.0;
+;;;-8.859999478E-3;0.0;
+;;;-8.849999867E-3;0.0;
+;;;-8.840000257E-3;0.0;
+;;;-8.829999715E-3;0.0;
+;;;-8.820000105E-3;-79.999998212E-3;
+;;;-8.809999563E-3;-79.999998212E-3;
+;;;-8.799999952E-3;0.0;
+;;;-8.789999411E-3;0.0;
+;;;-8.779999800E-3;0.0;
+;;;-8.770000190E-3;79.999998212E-3;
+;;;-8.759999648E-3;0.0;
+;;;-8.750000037E-3;0.0;
+;;;-8.739999495E-3;79.999998212E-3;
+;;;-8.729999885E-3;0.0;
+;;;-8.720000274E-3;0.0;
+;;;-8.709999733E-3;-79.999998212E-3;
+;;;-8.700000122E-3;0.0;
+;;;-8.689999580E-3;0.0;
+;;;-8.679999970E-3;0.0;
+;;;-8.669999428E-3;0.0;
+;;;-8.659999818E-3;0.0;
+;;;-8.650000207E-3;0.0;
+;;;-8.639999665E-3;-79.999998212E-3;
+;;;-8.630000055E-3;0.0;
+;;;-8.619999513E-3;0.0;
+;;;-8.609999903E-3;0.0;
+;;;-8.600000292E-3;0.0;
+;;;-8.589999750E-3;0.0;
+;;;-8.580000140E-3;0.0;
+;;;-8.569999598E-3;0.0;
+;;;-8.559999987E-3;0.0;
+;;;-8.549999446E-3;0.0;
+;;;-8.539999835E-3;0.0;
+;;;-8.530000225E-3;0.0;
+;;;-8.519999683E-3;0.0;
+;;;-8.510000072E-3;0.0;
+;;;-8.499999531E-3;0.0;
+;;;-8.489999920E-3;0.0;
+;;;-8.480000310E-3;-79.999998212E-3;
+;;;-8.469999768E-3;0.0;
+;;;-8.460000157E-3;0.0;
+;;;-8.449999616E-3;0.0;
+;;;-8.440000005E-3;0.0;
+;;;-8.429999463E-3;0.0;
+;;;-8.419999853E-3;0.0;
+;;;-8.410000242E-3;0.0;
+;;;-8.399999700E-3;0.0;
+;;;-8.390000090E-3;0.0;
+;;;-8.379999548E-3;0.0;
+;;;-8.369999938E-3;0.0;
+;;;-8.360000327E-3;0.0;
+;;;-8.349999785E-3;0.0;
+;;;-8.340000175E-3;0.0;
+;;;-8.329999633E-3;0.0;
+;;;-8.320000023E-3;0.0;
+;;;-8.309999481E-3;0.0;
+;;;-8.299999870E-3;-79.999998212E-3;
+;;;-8.290000260E-3;0.0;
+;;;-8.279999718E-3;-79.999998212E-3;
+;;;-8.270000108E-3;0.0;
+;;;-8.259999566E-3;0.0;
+;;;-8.249999955E-3;0.0;
+;;;-8.240000345E-3;0.0;
+;;;-8.229999803E-3;0.0;
+;;;-8.220000193E-3;0.0;
+;;;-8.209999651E-3;0.0;
+;;;-8.200000040E-3;0.0;
+;;;-8.189999498E-3;0.0;
+;;;-8.179999888E-3;0.0;
+;;;-8.170000277E-3;0.0;
+;;;-8.159999736E-3;0.0;
+;;;-8.150000125E-3;0.0;
+;;;-8.139999583E-3;0.0;
+;;;-8.129999973E-3;0.0;
+;;;-8.119999431E-3;0.0;
+;;;-8.109999821E-3;0.0;
+;;;-8.100000210E-3;0.0;
+;;;-8.089999668E-3;0.0;
+;;;-8.080000058E-3;0.0;
+;;;-8.069999516E-3;0.0;
+;;;-8.059999906E-3;0.0;
+;;;-8.050000295E-3;0.0;
+;;;-8.039999753E-3;0.0;
+;;;-8.030000143E-3;-79.999998212E-3;
+;;;-8.019999601E-3;0.0;
+;;;-8.009999990E-3;-79.999998212E-3;
+;;;-7.999999449E-3;0.0;
+;;;-7.989999838E-3;0.0;
+;;;-7.980000228E-3;-79.999998212E-3;
+;;;-7.969999686E-3;0.0;
+;;;-7.960000075E-3;0.0;
+;;;-7.949999534E-3;0.0;
+;;;-7.939999923E-3;0.0;
+;;;-7.930000313E-3;0.0;
+;;;-7.919999771E-3;0.0;
+;;;-7.910000160E-3;0.0;
+;;;-7.899999619E-3;0.0;
+;;;-7.890000008E-3;0.0;
+;;;-7.879999466E-3;0.0;
+;;;-7.869999856E-3;0.0;
+;;;-7.860000245E-3;0.0;
+;;;-7.849999703E-3;0.0;
+;;;-7.840000093E-3;0.0;
+;;;-7.829999551E-3;0.0;
+;;;-7.819999941E-3;0.0;
+;;;-7.809999865E-3;0.0;
+;;;-7.799999788E-3;0.0;
+;;;-7.789999712E-3;0.0;
+;;;-7.780000102E-3;0.0;
+;;;-7.770000026E-3;0.0;
+;;;-7.759999949E-3;0.0;
+;;;-7.749999873E-3;0.0;
+;;;-7.739999797E-3;0.0;
+;;;-7.729999721E-3;0.0;
+;;;-7.720000111E-3;0.0;
+;;;-7.710000034E-3;-79.999998212E-3;
+;;;-7.699999958E-3;0.0;
+;;;-7.689999882E-3;0.0;
+;;;-7.679999806E-3;0.0;
+;;;-7.669999730E-3;0.0;
+;;;-7.660000119E-3;0.0;
+;;;-7.650000043E-3;0.0;
+;;;-7.639999967E-3;0.0;
+;;;-7.629999891E-3;0.0;
+;;;-7.619999815E-3;0.0;
+;;;-7.609999739E-3;0.0;
+;;;-7.600000128E-3;0.0;
+;;;-7.590000052E-3;0.0;
+;;;-7.579999976E-3;0.0;
+;;;-7.569999900E-3;0.0;
+;;;-7.559999824E-3;0.0;
+;;;-7.549999747E-3;0.0;
+;;;-7.539999671E-3;0.0;
+;;;-7.530000061E-3;0.0;
+;;;-7.519999985E-3;0.0;
+;;;-7.509999909E-3;0.0;
+;;;-7.499999832E-3;0.0;
+;;;-7.489999756E-3;0.0;
+;;;-7.479999680E-3;0.0;
+;;;-7.470000070E-3;79.999998212E-3;
+;;;-7.459999993E-3;0.0;
+;;;-7.449999917E-3;0.0;
+;;;-7.439999841E-3;0.0;
+;;;-7.429999765E-3;0.0;
+;;;-7.419999689E-3;0.0;
+;;;-7.410000078E-3;79.999998212E-3;
+;;;-7.400000002E-3;0.0;
+;;;-7.389999926E-3;0.0;
+;;;-7.37999985E-3;0.0;
+;;;-7.36999977E-3;0.0;
+;;;-7.35999970E-3;0.0;
+;;;-7.35000009E-3;0.0;
+;;;-7.34000001E-3;0.0;
+;;;-7.32999993E-3;0.0;
+;;;-7.31999986E-3;0.0;
+;;;-7.30999978E-3;0.0;
+;;;-7.29999971E-3;0.0;
+;;;-7.29000010E-3;0.0;
+;;;-7.28000002E-3;0.0;
+;;;-7.26999994E-3;0.0;
+;;;-7.25999987E-3;0.0;
+;;;-7.24999979E-3;0.0;
+;;;-7.23999972E-3;0.0;
+;;;-7.23000010E-3;0.0;
+;;;-7.22000003E-3;0.0;
+;;;-7.20999995E-3;0.0;
+;;;-7.19999988E-3;0.0;
+;;;-7.18999980E-3;0.0;
+;;;-7.17999972E-3;0.0;
+;;;-7.17000011E-3;79.999998212E-3;
+;;;-7.16000004E-3;0.0;
+;;;-7.14999996E-3;0.0;
+;;;-7.13999989E-3;0.0;
+;;;-7.12999981E-3;0.0;
+;;;-7.11999973E-3;0.0;
+;;;-7.11000012E-3;0.0;
+;;;-7.10000005E-3;0.0;
+;;;-7.08999997E-3;0.0;
+;;;-7.07999989E-3;0.0;
+;;;-7.06999982E-3;0.0;
+;;;-7.05999974E-3;0.0;
+;;;-7.05000013E-3;0.0;
+;;;-7.04000005E-3;0.0;
+;;;-7.02999998E-3;0.0;
+;;;-7.01999990E-3;0.0;
+;;;-7.00999983E-3;0.0;
+;;;-6.99999975E-3;0.0;
+;;;-6.99000014E-3;0.0;
+;;;-6.98000006E-3;0.0;
+;;;-6.96999999E-3;0.0;
+;;;-6.95999991E-3;0.0;
+;;;-6.94999984E-3;79.999998212E-3;
+;;;-6.93999976E-3;0.0;
+;;;-6.93000015E-3;0.0;
+;;;-6.92000007E-3;0.0;
+;;;-6.91000000E-3;0.0;
+;;;-6.89999992E-3;0.0;
+;;;-6.88999984E-3;0.0;
+;;;-6.87999977E-3;0.0;
+;;;-6.86999969E-3;0.0;
+;;;-6.86000008E-3;0.0;
+;;;-6.85000001E-3;0.0;
+;;;-6.83999993E-3;0.0;
+;;;-6.82999985E-3;0.0;
+;;;-6.81999978E-3;0.0;
+;;;-6.80999970E-3;0.0;
+;;;-6.80000009E-3;0.0;
+;;;-6.79000001E-3;79.999998212E-3;
+;;;-6.77999994E-3;0.0;
+;;;-6.76999986E-3;0.0;
+;;;-6.75999979E-3;0.0;
+;;;-6.74999971E-3;0.0;
+;;;-6.74000010E-3;0.0;
+;;;-6.73000002E-3;0.0;
+;;;-6.71999995E-3;0.0;
+;;;-6.70999987E-3;0.0;
+;;;-6.69999979E-3;0.0;
+;;;-6.68999972E-3;0.0;
+;;;-6.68000011E-3;0.0;
+;;;-6.67000003E-3;0.0;
+;;;-6.65999996E-3;0.0;
+;;;-6.64999988E-3;79.999998212E-3;
+;;;-6.63999980E-3;0.0;
+;;;-6.62999973E-3;0.0;
+;;;-6.62000012E-3;0.0;
+;;;-6.61000004E-3;0.0;
+;;;-6.59999996E-3;0.0;
+;;;-6.58999989E-3;0.0;
+;;;-6.57999981E-3;0.0;
+;;;-6.56999974E-3;0.0;
+;;;-6.56000013E-3;0.0;
+;;;-6.55000005E-3;0.0;
+;;;-6.53999997E-3;0.0;
+;;;-6.52999990E-3;79.999998212E-3;
+;;;-6.51999982E-3;0.0;
+;;;-6.50999974E-3;0.0;
+;;;-6.50000013E-3;0.0;
+;;;-6.49000006E-3;0.0;
+;;;-6.47999998E-3;0.0;
+;;;-6.46999991E-3;0.0;
+;;;-6.45999983E-3;0.0;
+;;;-6.44999975E-3;0.0;
+;;;-6.44000014E-3;0.0;
+;;;-6.43000007E-3;0.0;
+;;;-6.41999999E-3;0.0;
+;;;-6.40999991E-3;0.0;
+;;;-6.39999984E-3;0.0;
+;;;-6.38999976E-3;79.999998212E-3;
+;;;-6.38000015E-3;0.0;
+;;;-6.37000008E-3;0.0;
+;;;-6.36000000E-3;-79.999998212E-3;
+;;;-6.34999992E-3;0.0;
+;;;-6.33999985E-3;0.0;
+;;;-6.32999977E-3;-79.999998212E-3;
+;;;-6.32000016E-3;79.999998212E-3;
+;;;-6.31000008E-3;0.0;
+;;;-6.30000001E-3;0.0;
+;;;-6.28999993E-3;0.0;
+;;;-6.27999986E-3;0.0;
+;;;-6.26999978E-3;0.0;
+;;;-6.26000017E-3;0.0;
+;;;-6.25000009E-3;0.0;
+;;;-6.24000002E-3;0.0;
+;;;-6.22999994E-3;0.0;
+;;;-6.21999986E-3;0.0;
+;;;-6.20999979E-3;0.0;
+;;;-6.19999971E-3;0.0;
+;;;-6.19000010E-3;0.0;
+;;;-6.18000003E-3;0.0;
+;;;-6.16999995E-3;0.0;
+;;;-6.15999987E-3;0.0;
+;;;-6.14999980E-3;0.0;
+;;;-6.13999972E-3;0.0;
+;;;-6.13000011E-3;0.0;
+;;;-6.12000003E-3;0.0;
+;;;-6.10999996E-3;0.0;
+;;;-6.09999988E-3;0.0;
+;;;-6.08999981E-3;0.0;
+;;;-6.07999973E-3;0.0;
+;;;-6.07000012E-3;0.0;
+;;;-6.06000004E-3;0.0;
+;;;-6.04999997E-3;0.0;
+;;;-6.03999989E-3;0.0;
+;;;-6.02999981E-3;0.0;
+;;;-6.01999974E-3;0.0;
+;;;-6.01000013E-3;0.0;
+;;;-6.00000005E-3;0.0;
+;;;-5.98999998E-3;0.0;
+;;;-5.97999990E-3;0.0;
+;;;-5.96999982E-3;0.0;
+;;;-5.95999975E-3;0.0;
+;;;-5.95000014E-3;-79.999998212E-3;
+;;;-5.94000006E-3;0.0;
+;;;-5.92999998E-3;0.0;
+;;;-5.91999991E-3;0.0;
+;;;-5.90999983E-3;0.0;
+;;;-5.89999976E-3;0.0;
+;;;-5.89000015E-3;0.0;
+;;;-5.88000007E-3;0.0;
+;;;-5.86999999E-3;0.0;
+;;;-5.85999992E-3;0.0;
+;;;-5.84999984E-3;0.0;
+;;;-5.83999977E-3;0.0;
+;;;-5.83000015E-3;0.0;
+;;;-5.82000008E-3;0.0;
+;;;-5.81000000E-3;0.0;
+;;;-5.79999993E-3;0.0;
+;;;-5.78999985E-3;79.999998212E-3;
+;;;-5.77999977E-3;0.0;
+;;;-5.77000016E-3;0.0;
+;;;-5.76000009E-3;0.0;
+;;;-5.75000001E-3;0.0;
+;;;-5.73999994E-3;0.0;
+;;;-5.72999986E-3;0.0;
+;;;-5.71999978E-3;0.0;
+;;;-5.71000017E-3;0.0;
+;;;-5.70000010E-3;0.0;
+;;;-5.69000002E-3;0.0;
+;;;-5.67999994E-3;0.0;
+;;;-5.66999987E-3;0.0;
+;;;-5.65999979E-3;0.0;
+;;;-5.65000018E-3;0.0;
+;;;-5.64000010E-3;0.0;
+;;;-5.63000003E-3;0.0;
+;;;-5.61999995E-3;0.0;
+;;;-5.60999988E-3;0.0;
+;;;-5.59999980E-3;0.0;
+;;;-5.58999972E-3;0.0;
+;;;-5.58000011E-3;-79.999998212E-3;
+;;;-5.57000004E-3;0.0;
+;;;-5.55999996E-3;0.0;
+;;;-5.54999989E-3;0.0;
+;;;-5.53999981E-3;0.0;
+;;;-5.52999973E-3;0.0;
+;;;-5.52000012E-3;0.0;
+;;;-5.51000005E-3;0.0;
+;;;-5.49999997E-3;0.0;
+;;;-5.48999989E-3;0.0;
+;;;-5.47999982E-3;0.0;
+;;;-5.46999974E-3;0.0;
+;;;-5.46000013E-3;0.0;
+;;;-5.45000006E-3;0.0;
+;;;-5.43999998E-3;0.0;
+;;;-5.42999990E-3;0.0;
+;;;-5.41999983E-3;0.0;
+;;;-5.40999975E-3;0.0;
+;;;-5.40000014E-3;0.0;
+;;;-5.39000006E-3;0.0;
+;;;-5.37999999E-3;0.0;
+;;;-5.36999991E-3;79.999998212E-3;
+;;;-5.35999984E-3;0.0;
+;;;-5.34999976E-3;0.0;
+;;;-5.34000015E-3;0.0;
+;;;-5.33000007E-3;0.0;
+;;;-5.32000000E-3;0.0;
+;;;-5.30999992E-3;0.0;
+;;;-5.29999984E-3;0.0;
+;;;-5.28999977E-3;0.0;
+;;;-5.28000016E-3;0.0;
+;;;-5.27000008E-3;0.0;
+;;;-5.26000001E-3;0.0;
+;;;-5.24999993E-3;0.0;
+;;;-5.23999985E-3;0.0;
+;;;-5.22999978E-3;0.0;
+;;;-5.22000017E-3;0.0;
+;;;-5.21000009E-3;0.0;
+;;;-5.20000001E-3;0.0;
+;;;-5.18999994E-3;0.0;
+;;;-5.17999986E-3;0.0;
+;;;-5.16999979E-3;0.0;
+;;;-5.16000018E-3;0.0;
+;;;-5.15000010E-3;0.0;
+;;;-5.14000002E-3;0.0;
+;;;-5.12999995E-3;0.0;
+;;;-5.11999987E-3;0.0;
+;;;-5.10999979E-3;0.0;
+;;;-5.10000018E-3;0.0;
+;;;-5.09000011E-3;0.0;
+;;;-5.08000003E-3;0.0;
+;;;-5.06999996E-3;0.0;
+;;;-5.05999988E-3;0.0;
+;;;-5.04999980E-3;0.0;
+;;;-5.04000019E-3;-79.999998212E-3;
+;;;-5.03000012E-3;0.0;
+;;;-5.02000004E-3;0.0;
+;;;-5.00999996E-3;0.0;
+;;;-4.99999989E-3;0.0;
+;;;-4.98999981E-3;0.0;
+;;;-4.97999974E-3;0.0;
+;;;-4.97000013E-3;0.0;
+;;;-4.96000005E-3;0.0;
+;;;-4.94999997E-3;0.0;
+;;;-4.93999990E-3;0.0;
+;;;-4.92999982E-3;-79.999998212E-3;
+;;;-4.91999974E-3;0.0;
+;;;-4.91000013E-3;0.0;
+;;;-4.90000006E-3;0.0;
+;;;-4.88999998E-3;0.0;
+;;;-4.87999991E-3;0.0;
+;;;-4.86999983E-3;0.0;
+;;;-4.85999975E-3;0.0;
+;;;-4.85000014E-3;0.0;
+;;;-4.84000007E-3;0.0;
+;;;-4.82999999E-3;0.0;
+;;;-4.81999991E-3;0.0;
+;;;-4.80999984E-3;0.0;
+;;;-4.79999976E-3;0.0;
+;;;-4.79000015E-3;0.0;
+;;;-4.78000008E-3;0.0;
+;;;-4.77000000E-3;0.0;
+;;;-4.75999992E-3;0.0;
+;;;-4.74999985E-3;0.0;
+;;;-4.73999977E-3;0.0;
+;;;-4.73000016E-3;0.0;
+;;;-4.72000008E-3;0.0;
+;;;-4.71000001E-3;0.0;
+;;;-4.69999993E-3;0.0;
+;;;-4.68999986E-3;0.0;
+;;;-4.67999978E-3;-79.999998212E-3;
+;;;-4.67000017E-3;79.999998212E-3;
+;;;-4.66000009E-3;0.0;
+;;;-4.65000002E-3;0.0;
+;;;-4.63999994E-3;79.999998212E-3;
+;;;-4.62999986E-3;0.0;
+;;;-4.61999979E-3;0.0;
+;;;-4.61000018E-3;0.0;
+;;;-4.60000010E-3;0.0;
+;;;-4.59000003E-3;0.0;
+;;;-4.57999995E-3;0.0;
+;;;-4.56999987E-3;0.0;
+;;;-4.55999980E-3;0.0;
+;;;-4.55000019E-3;0.0;
+;;;-4.54000011E-3;0.0;
+;;;-4.53000003E-3;0.0;
+;;;-4.51999996E-3;0.0;
+;;;-4.50999988E-3;0.0;
+;;;-4.49999981E-3;0.0;
+;;;-4.49000020E-3;0.0;
+;;;-4.48000012E-3;0.0;
+;;;-4.47000004E-3;0.0;
+;;;-4.45999997E-3;0.0;
+;;;-4.44999989E-3;0.0;
+;;;-4.43999982E-3;0.0;
+;;;-4.43000020E-3;0.0;
+;;;-4.42000013E-3;79.999998212E-3;
+;;;-4.41000005E-3;0.0;
+;;;-4.39999998E-3;0.0;
+;;;-4.38999990E-3;0.0;
+;;;-4.37999982E-3;0.0;
+;;;-4.37000021E-3;0.0;
+;;;-4.36000014E-3;0.0;
+;;;-4.35000006E-3;0.0;
+;;;-4.33999998E-3;0.0;
+;;;-4.32999991E-3;0.0;
+;;;-4.31999983E-3;0.0;
+;;;-4.30999976E-3;79.999998212E-3;
+;;;-4.30000015E-3;79.999998212E-3;
+;;;-4.29000007E-3;0.0;
+;;;-4.27999999E-3;-79.999998212E-3;
+;;;-4.26999992E-3;0.0;
+;;;-4.25999984E-3;-79.999998212E-3;
+;;;-4.24999977E-3;0.0;
+;;;-4.24000015E-3;79.999998212E-3;
+;;;-4.23000008E-3;0.0;
+;;;-4.22000000E-3;0.0;
+;;;-4.20999993E-3;0.0;
+;;;-4.19999985E-3;0.0;
+;;;-4.18999977E-3;0.0;
+;;;-4.18000016E-3;0.0;
+;;;-4.17000009E-3;0.0;
+;;;-4.16000001E-3;79.999998212E-3;
+;;;-4.14999994E-3;0.0;
+;;;-4.13999986E-3;0.0;
+;;;-4.12999978E-3;0.0;
+;;;-4.12000017E-3;0.0;
+;;;-4.11000010E-3;0.0;
+;;;-4.10000002E-3;0.0;
+;;;-4.08999994E-3;-79.999998212E-3;
+;;;-4.07999987E-3;0.0;
+;;;-4.06999979E-3;0.0;
+;;;-4.06000018E-3;0.0;
+;;;-4.05000011E-3;0.0;
+;;;-4.04000003E-3;0.0;
+;;;-4.02999995E-3;0.0;
+;;;-4.01999988E-3;0.0;
+;;;-4.00999980E-3;0.0;
+;;;-4.00000019E-3;0.0;
+;;;-3.99000011E-3;0.0;
+;;;-3.98000004E-3;0.0;
+;;;-3.96999996E-3;0.0;
+;;;-3.95999989E-3;0.0;
+;;;-3.94999981E-3;0.0;
+;;;-3.94000020E-3;0.0;
+;;;-3.93000012E-3;0.0;
+;;;-3.92000005E-3;0.0;
+;;;-3.90999997E-3;0.0;
+;;;-3.89999989E-3;0.0;
+;;;-3.89000005E-3;0.0;
+;;;-3.87999997E-3;0.0;
+;;;-3.86999990E-3;-79.999998212E-3;
+;;;-3.86000006E-3;0.0;
+;;;-3.84999998E-3;0.0;
+;;;-3.83999990E-3;0.0;
+;;;-3.83000006E-3;0.0;
+;;;-3.81999998E-3;0.0;
+;;;-3.80999991E-3;0.0;
+;;;-3.80000006E-3;0.0;
+;;;-3.78999999E-3;0.0;
+;;;-3.77999991E-3;0.0;
+;;;-3.77000007E-3;0.0;
+;;;-3.75999999E-3;0.0;
+;;;-3.74999992E-3;0.0;
+;;;-3.74000007E-3;0.0;
+;;;-3.73000000E-3;0.0;
+;;;-3.71999992E-3;0.0;
+;;;-3.71000008E-3;0.0;
+;;;-3.70000000E-3;0.0;
+;;;-3.68999992E-3;0.0;
+;;;-3.68000008E-3;0.0;
+;;;-3.67000001E-3;0.0;
+;;;-3.65999993E-3;79.999998212E-3;
+;;;-3.65000009E-3;0.0;
+;;;-3.64000001E-3;0.0;
+;;;-3.62999993E-3;0.0;
+;;;-3.62000009E-3;0.0;
+;;;-3.61000001E-3;0.0;
+;;;-3.59999994E-3;0.0;
+;;;-3.59000009E-3;0.0;
+;;;-3.58000002E-3;0.0;
+;;;-3.56999994E-3;0.0;
+;;;-3.56000010E-3;0.0;
+;;;-3.55000002E-3;0.0;
+;;;-3.53999995E-3;0.0;
+;;;-3.53000010E-3;0.0;
+;;;-3.52000003E-3;0.0;
+;;;-3.50999995E-3;0.0;
+;;;-3.50000011E-3;0.0;
+;;;-3.49000003E-3;0.0;
+;;;-3.47999996E-3;0.0;
+;;;-3.47000011E-3;-79.999998212E-3;
+;;;-3.46000004E-3;0.0;
+;;;-3.44999996E-3;0.0;
+;;;-3.44000012E-3;0.0;
+;;;-3.43000004E-3;0.0;
+;;;-3.41999996E-3;0.0;
+;;;-3.41000012E-3;0.0;
+;;;-3.40000005E-3;0.0;
+;;;-3.38999997E-3;79.999998212E-3;
+;;;-3.38000013E-3;0.0;
+;;;-3.37000005E-3;0.0;
+;;;-3.35999997E-3;0.0;
+;;;-3.34999990E-3;0.0;
+;;;-3.34000005E-3;0.0;
+;;;-3.32999998E-3;0.0;
+;;;-3.31999990E-3;0.0;
+;;;-3.31000006E-3;0.0;
+;;;-3.29999998E-3;0.0;
+;;;-3.28999991E-3;0.0;
+;;;-3.28000006E-3;0.0;
+;;;-3.26999999E-3;0.0;
+;;;-3.25999991E-3;0.0;
+;;;-3.25000007E-3;0.0;
+;;;-3.23999999E-3;0.0;
+;;;-3.22999991E-3;0.0;
+;;;-3.22000007E-3;0.0;
+;;;-3.21000000E-3;0.0;
+;;;-3.19999992E-3;0.0;
+;;;-3.19000008E-3;0.0;
+;;;-3.18000000E-3;0.0;
+;;;-3.16999992E-3;0.0;
+;;;-3.16000008E-3;79.999998212E-3;
+;;;-3.15000000E-3;0.0;
+;;;-3.13999993E-3;0.0;
+;;;-3.13000008E-3;0.0;
+;;;-3.12000001E-3;0.0;
+;;;-3.10999993E-3;0.0;
+;;;-3.10000009E-3;0.0;
+;;;-3.09000001E-3;0.0;
+;;;-3.07999994E-3;0.0;
+;;;-3.07000009E-3;0.0;
+;;;-3.06000002E-3;0.0;
+;;;-3.04999994E-3;0.0;
+;;;-3.04000010E-3;0.0;
+;;;-3.03000002E-3;0.0;
+;;;-3.01999995E-3;0.0;
+;;;-3.01000010E-3;0.0;
+;;;-3.00000003E-3;0.0;
+;;;-2.98999995E-3;0.0;
+;;;-2.98000011E-3;0.0;
+;;;-2.97000003E-3;0.0;
+;;;-2.95999995E-3;0.0;
+;;;-2.95000011E-3;0.0;
+;;;-2.94000003E-3;0.0;
+;;;-2.92999996E-3;0.0;
+;;;-2.92000012E-3;0.0;
+;;;-2.91000004E-3;0.0;
+;;;-2.89999996E-3;0.0;
+;;;-2.89000012E-3;0.0;
+;;;-2.88000004E-3;0.0;
+;;;-2.86999997E-3;0.0;
+;;;-2.86000012E-3;0.0;
+;;;-2.85000005E-3;0.0;
+;;;-2.83999997E-3;0.0;
+;;;-2.83000013E-3;0.0;
+;;;-2.82000005E-3;0.0;
+;;;-2.80999998E-3;0.0;
+;;;-2.80000013E-3;0.0;
+;;;-2.79000006E-3;0.0;
+;;;-2.77999998E-3;0.0;
+;;;-2.77000014E-3;0.0;
+;;;-2.76000006E-3;0.0;
+;;;-2.74999999E-3;0.0;
+;;;-2.73999991E-3;0.0;
+;;;-2.73000007E-3;0.0;
+;;;-2.71999999E-3;0.0;
+;;;-2.7099999E-3;0.0;
+;;;-2.7000001E-3;0.0;
+;;;-2.6900000E-3;0.0;
+;;;-2.6799999E-3;0.0;
+;;;-2.6700001E-3;0.0;
+;;;-2.6600000E-3;79.999998212E-3;
+;;;-2.6499999E-3;0.0;
+;;;-2.6400001E-3;0.0;
+;;;-2.6300000E-3;79.999998212E-3;
+;;;-2.6199999E-3;0.0;
+;;;-2.6100001E-3;0.0;
+;;;-2.6000000E-3;0.0;
+;;;-2.5899999E-3;0.0;
+;;;-2.5800001E-3;0.0;
+;;;-2.5700000E-3;0.0;
+;;;-2.5599999E-3;0.0;
+;;;-2.5500001E-3;0.0;
+;;;-2.5400000E-3;0.0;
+;;;-2.5299999E-3;0.0;
+;;;-2.5200001E-3;0.0;
+;;;-2.5100000E-3;0.0;
+;;;-2.4999999E-3;0.0;
+;;;-2.4900001E-3;-79.999998212E-3;
+;;;-2.4800000E-3;0.0;
+;;;-2.4699999E-3;0.0;
+;;;-2.4600001E-3;79.999998212E-3;
+;;;-2.4500000E-3;0.0;
+;;;-2.4400000E-3;0.0;
+;;;-2.4300001E-3;0.0;
+;;;-2.4200000E-3;0.0;
+;;;-2.4100000E-3;0.0;
+;;;-2.4000001E-3;0.0;
+;;;-2.3900000E-3;0.0;
+;;;-2.3800000E-3;0.0;
+;;;-2.3700001E-3;0.0;
+;;;-2.3600000E-3;79.999998212E-3;
+;;;-2.3500000E-3;79.999998212E-3;
+;;;-2.3400001E-3;0.0;
+;;;-2.3300000E-3;0.0;
+;;;-2.3200000E-3;0.0;
+;;;-2.3100001E-3;0.0;
+;;;-2.3000001E-3;0.0;
+;;;-2.2900000E-3;239.99999464E-3;
+;;;-2.2800001E-3;1.9200000;
+;;;-2.2700001E-3;4.48000002;
+;;;-2.2600000E-3;5.44000006;
+;;;-2.2500001E-3;5.44000006;
+;;;-2.2400001E-3;5.44000006;
+;;;-2.2300000E-3;5.35999966;
+;;;-2.2200001E-3;5.27999973;
+;;;-2.2100001E-3;4.15999985;
+;;;-2.2000000E-3;1.8399999;
+;;;-2.1900001E-3;-399.99997616E-3;
+;;;-2.1800001E-3;-399.99997616E-3;
+;;;-2.1700000E-3;-399.99997616E-3;
+;;;-2.1600001E-3;-399.99997616E-3;
+;;;-2.1500001E-3;-319.99999285E-3;
+;;;-2.1400000E-3;-239.99999464E-3;
+;;;-2.1300002E-3;0.0;
+;;;-2.1200001E-3;799.999952316E-3;
+;;;-2.1100000E-3;1.6799999;
+;;;-2.1000002E-3;2.6399999;
+;;;-2.0900001E-3;3.11999989;
+;;;-2.0800000E-3;3.03999996;
+;;;-2.0699999E-3;2.4800000;
+;;;-2.0600001E-3;1.3600000;
+;;;-2.0500000E-3;79.999998212E-3;
+;;;-2.0399999E-3;-399.99997616E-3;
+;;;-2.0300001E-3;-319.99999285E-3;
+;;;-2.0200000E-3;-399.99997616E-3;
+;;;-2.0099999E-3;-399.99997616E-3;
+;;;-2.0000001E-3;-399.99997616E-3;
+;;;-1.9900000E-3;-319.99999285E-3;
+;;;-1.9799999E-3;-319.99999285E-3;
+;;;-1.9700001E-3;-319.99999285E-3;
+;;;-1.9600000E-3;-159.99999642E-3;
+;;;-1.9500001E-3;-79.999998212E-3;
+;;;-1.9400001E-3;319.99999285E-3;
+;;;-1.9300000E-3;639.999985695E-3;
+;;;-1.9200001E-3;879.999995232E-3;
+;;;-1.9100000E-3;959.999978542E-3;
+;;;-1.9000000E-3;879.999995232E-3;
+;;;-1.8900001E-3;719.999969006E-3;
+;;;-1.8800000E-3;399.99997616E-3;
+;;;-1.8700000E-3;79.999998212E-3;
+;;;-1.8600001E-3;-319.99999285E-3;
+;;;-1.8500000E-3;-399.99997616E-3;
+;;;-1.8400000E-3;-399.99997616E-3;
+;;;-1.8300001E-3;-319.99999285E-3;
+;;;-1.8200000E-3;-319.99999285E-3;
+;;;-1.8100000E-3;-399.99997616E-3;
+;;;-1.8000001E-3;-319.99999285E-3;
+;;;-1.7900000E-3;-399.99997616E-3;
+;;;-1.7800000E-3;-399.99997616E-3;
+;;;-1.7700001E-3;-319.99999285E-3;
+;;;-1.7600000E-3;-319.99999285E-3;
+;;;-1.7500001E-3;-399.99997616E-3;
+;;;-1.7400001E-3;-399.99997616E-3;
+;;;-1.7300000E-3;-399.99997616E-3;
+;;;-1.7200001E-3;-399.99997616E-3;
+;;;-1.7100001E-3;-399.99997616E-3;
+;;;-1.7000000E-3;-399.99997616E-3;
+;;;-1.6900001E-3;-399.99997616E-3;
+;;;-1.6800001E-3;-399.99997616E-3;
+;;;-1.6700000E-3;-399.99997616E-3;
+;;;-1.6600001E-3;-399.99997616E-3;
+;;;-1.6500001E-3;-399.99997616E-3;
+;;;-1.6400000E-3;-479.999989271E-3;
+;;;-1.6300001E-3;-319.99999285E-3;
+;;;-1.6200000E-3;-399.99997616E-3;
+;;;-1.6100000E-3;-399.99997616E-3;
+;;;-1.6000001E-3;-399.99997616E-3;
+;;;-1.5900000E-3;-479.999989271E-3;
+;;;-1.5800000E-3;-399.99997616E-3;
+;;;-1.5700001E-3;-399.99997616E-3;
+;;;-1.5600000E-3;-399.99997616E-3;
+;;;-1.5500000E-3;-479.999989271E-3;
+;;;-1.5400001E-3;-399.99997616E-3;
+;;;-1.5300000E-3;-399.99997616E-3;
+;;;-1.5200000E-3;-399.99997616E-3;
+;;;-1.5100001E-3;-399.99997616E-3;
+;;;-1.5000000E-3;-399.99997616E-3;
+;;;-1.4900001E-3;-399.99997616E-3;
+;;;-1.4800001E-3;-399.99997616E-3;
+;;;-1.4700000E-3;-399.99997616E-3;
+;;;-1.4600001E-3;-399.99997616E-3;
+;;;-1.4500001E-3;-399.99997616E-3;
+;;;-1.4400000E-3;-399.99997616E-3;
+;;;-1.4300001E-3;-399.99997616E-3;
+;;;-1.4200001E-3;-319.99999285E-3;
+;;;-1.4100000E-3;-399.99997616E-3;
+;;;-1.4000001E-3;-399.99997616E-3;
+;;;-1.3900001E-3;-399.99997616E-3;
+;;;-1.3800000E-3;-479.999989271E-3;
+;;;-1.3700001E-3;-399.99997616E-3;
+;;;-1.3600001E-3;-399.99997616E-3;
+;;;-1.3500000E-3;-399.99997616E-3;
+;;;-1.3400001E-3;-399.99997616E-3;
+;;;-1.3300001E-3;-399.99997616E-3;
+;;;-1.3200000E-3;-319.99999285E-3;
+;;;-1.3100001E-3;-319.99999285E-3;
+;;;-1.3000001E-3;-399.99997616E-3;
+;;;-1.2900000E-3;-399.99997616E-3;
+;;;-1.2800001E-3;-399.99997616E-3;
+;;;-1.2700000E-3;-399.99997616E-3;
+;;;-1.2600000E-3;-319.99999285E-3;
+;;;-1.2500001E-3;-399.99997616E-3;
+;;;-1.2400000E-3;-399.99997616E-3;
+;;;-1.2300001E-3;-319.99999285E-3;
+;;;-1.2200001E-3;-399.99997616E-3;
+;;;-1.2100000E-3;-319.99999285E-3;
+;;;-1.2000001E-3;-319.99999285E-3;
+;;;-1.1900001E-3;-319.99999285E-3;
+;;;-1.1800000E-3;-399.99997616E-3;
+;;;-1.1700001E-3;-319.99999285E-3;
+;;;-1.1600001E-3;-319.99999285E-3;
+;;;-1.1500000E-3;-399.99997616E-3;
+;;;-1.1400001E-3;-319.99999285E-3;
+;;;-1.1300001E-3;-239.99999464E-3;
+;;;-1.1200000E-3;-239.99999464E-3;
+;;;-1.1100001E-3;-159.99999642E-3;
+;;;-1.1000001E-3;79.999998212E-3;
+;;;-1.0900000E-3;319.99999285E-3;
+;;;-1.0800001E-3;639.999985695E-3;
+;;;-1.0700001E-3;959.999978542E-3;
+;;;-1.0600000E-3;1.1200000;
+;;;-1.0500001E-3;1.3600000;
+;;;-1.0400001E-3;1.5200000;
+;;;-1.0300000E-3;1.3600000;
+;;;-1.0200001E-3;1.1200000;
+;;;-1.0100001E-3;799.999952316E-3;
+;;;-1.0000000E-3;479.999989271E-3;
+;;;-990.000087768E-6;159.99999642E-3;
+;;;-980.000011623E-6;-79.999998212E-3;
+;;;-970.000051893E-6;-159.99999642E-3;
+;;;-960.000092164E-6;0.0;
+;;;-950.000074226E-6;239.99999464E-3;
+;;;-940.000056289E-6;719.999969006E-3;
+;;;-930.000096560E-6;1.3600000;
+;;;-920.000078622E-6;1.9200000;
+;;;-910.000060685E-6;2.4800000;
+;;;-900.000100955E-6;2.96000004;
+;;;-890.000083018E-6;3.35999990;
+;;;-880.000065081E-6;3.59999990;
+;;;-870.000047144E-6;3.59999990;
+;;;-860.000087414E-6;3.51999998;
+;;;-850.000069477E-6;3.35999990;
+;;;-840.000051539E-6;3.19999981;
+;;;-830.000091810E-6;2.87999988;
+;;;-820.000073873E-6;2.6399999;
+;;;-810.000055935E-6;2.3999999;
+;;;-800.000096206E-6;2.1599998;
+;;;-790.000078268E-6;2.0799999;
+;;;-780.000060331E-6;2.0000000;
+;;;-770.000100601E-6;1.9200000;
+;;;-760.000082664E-6;2.0000000;
+;;;-750.000064727E-6;2.0799999;
+;;;-740.000046790E-6;2.1599998;
+;;;-730.000087060E-6;2.2400000;
+;;;-720.000069123E-6;2.2400000;
+;;;-710.000051185E-6;2.0799999;
+;;;-700.000091456E-6;1.8399999;
+;;;-690.000073519E-6;1.5999999;
+;;;-680.000055581E-6;1.2800000;
+;;;-670.000095852E-6;879.999995232E-3;
+;;;-660.000077914E-6;560.000002384E-3;
+;;;-650.000059977E-6;239.99999464E-3;
+;;;-640.000100248E-6;0.0;
+;;;-630.000082310E-6;0.0;
+;;;-620.000064373E-6;79.999998212E-3;
+;;;-610.000104643E-6;239.99999464E-3;
+;;;-600.000086706E-6;479.999989271E-3;
+;;;-590.000068769E-6;879.999995232E-3;
+;;;-580.000109039E-6;1.1999999;
+;;;-570.000091102E-6;1.5999999;
+;;;-560.000073165E-6;2.0000000;
+;;;-550.000055227E-6;2.1599998;
+;;;-540.000095498E-6;2.3199999;
+;;;-530.000077561E-6;2.2400000;
+;;;-520.000059623E-6;2.1599998;
+;;;-510.000099894E-6;1.9200000;
+;;;-500.000081956E-6;1.5999999;
+;;;-490.000064019E-6;1.1999999;
+;;;-480.000075186E-6;959.999978542E-3;
+;;;-470.000086352E-6;879.999995232E-3;
+;;;-460.000068415E-6;799.999952316E-3;
+;;;-450.000079582E-6;959.999978542E-3;
+;;;-440.000090748E-6;1.1999999;
+;;;-430.000072811E-6;1.4399999;
+;;;-420.000083977E-6;1.6799999;
+;;;-410.000095144E-6;1.9200000;
+;;;-400.00007721E-6;2.2400000;
+;;;-390.00008837E-6;2.3999999;
+;;;-380.00009954E-6;2.3199999;
+;;;-370.00008160E-6;2.2400000;
+;;;-360.00009277E-6;2.0000000;
+;;;-350.00007483E-6;1.6799999;
+;;;-340.00008600E-6;1.3600000;
+;;;-330.00009716E-6;1.0400000;
+;;;-320.00007923E-6;560.000002384E-3;
+;;;-310.00009039E-6;319.99999285E-3;
+;;;-300.00007246E-6;0.0;
+;;;-290.00008362E-6;-159.99999642E-3;
+;;;-280.00009479E-6;-159.99999642E-3;
+;;;-270.00007685E-6;-79.999998212E-3;
+;;;-260.00008802E-6;159.99999642E-3;
+;;;-250.00009919E-6;399.99997616E-3;
+;;;-240.00008125E-6;719.999969006E-3;
+;;;-230.00009242E-6;1.0400000;
+;;;-220.00008903E-6;1.3600000;
+;;;-210.00008564E-6;1.5200000;
+;;;-200.00009681E-6;1.6799999;
+;;;-190.00009343E-6;1.7600000;
+;;;-180.00009004E-6;1.6799999;
+;;;-170.00008665E-6;1.5200000;
+;;;-160.00008327E-6;1.3600000;
+;;;-150.00009444E-6;1.0400000;
+;;;-140.0000911E-6;719.999969006E-3;
+;;;-130.0000877E-6;399.99997616E-3;
+;;;-120.0000916E-6;239.99999464E-3;
+;;;-110.0000954E-6;79.999998212E-3;
+;;;-100.0000921E-6;0.0;
+;;;-90.000088676E-6;0.0;
+;;;-80.000092566E-6;79.999998212E-3;
+;;;-70.000096457E-6;159.99999642E-3;
+;;;-60.000093072E-6;239.99999464E-3;
+;;;-50.00009332E-6;239.99999464E-3;
+;;;-40.00009358E-6;319.99999285E-3;
+;;;-30.00009383E-6;319.99999285E-3;
+;;;-20.0000941E-6;319.99999285E-3;
+;;;-10.0000943E-6;239.99999464E-3;
+;;;-94.587448597E-12;159.99999642E-3;
+;;;9.999905160E-6;0.0;
+;;;19.9999049E-6;-79.999998212E-3;
+;;;29.99990465E-6;-239.99999464E-3;
+;;;39.99990440E-6;-239.99999464E-3;
+;;;49.99990415E-6;-319.99999285E-3;
+;;;59.999903897E-6;-319.99999285E-3;
+;;;69.999907282E-6;-159.99999642E-3;
+;;;79.999903392E-6;-159.99999642E-3;
+;;;89.999899501E-6;-79.999998212E-3;
+;;;99.999902886E-6;0.0;
+;;;109.9999063E-6;79.999998212E-3;
+;;;119.9999024E-6;159.99999642E-3;
+;;;129.9998985E-6;239.99999464E-3;
+;;;139.9999019E-6;319.99999285E-3;
+;;;149.99990526E-6;399.99997616E-3;
+;;;159.99990865E-6;560.000002384E-3;
+;;;169.99989748E-6;560.000002384E-3;
+;;;179.99990087E-6;560.000002384E-3;
+;;;189.99990425E-6;560.000002384E-3;
+;;;199.99989308E-6;560.000002384E-3;
+;;;209.99989647E-6;639.999985695E-3;
+;;;219.99989985E-6;639.999985695E-3;
+;;;229.99990324E-6;799.999952316E-3;
+;;;239.99990663E-6;799.999952316E-3;
+;;;249.99989546E-6;959.999978542E-3;
+;;;259.99988429E-6;1.1999999;
+;;;269.99990223E-6;1.1999999;
+;;;279.99989106E-6;1.2800000;
+;;;289.99990900E-6;1.3600000;
+;;;299.99989783E-6;1.4399999;
+;;;309.99988667E-6;1.4399999;
+;;;319.99990460E-6;1.3600000;
+;;;329.99989344E-6;1.3600000;
+;;;339.99991138E-6;1.2800000;
+;;;349.99990021E-6;1.1999999;
+;;;359.99988904E-6;1.0400000;
+;;;369.99990698E-6;1.0400000;
+;;;379.99989581E-6;959.999978542E-3;
+;;;389.99988465E-6;879.999995232E-3;
+;;;399.99990258E-6;879.999995232E-3;
+;;;409.999891417E-6;879.999995232E-3;
+;;;419.999880251E-6;799.999952316E-3;
+;;;429.999898188E-6;879.999995232E-3;
+;;;439.999887021E-6;879.999995232E-3;
+;;;449.999904959E-6;879.999995232E-3;
+;;;459.999893792E-6;959.999978542E-3;
+;;;469.999882625E-6;1.0400000;
+;;;479.999900563E-6;1.1200000;
+;;;489.999889396E-6;1.1999999;
+;;;499.999907333E-6;1.3600000;
+;;;509.999867063E-6;1.3600000;
+;;;519.999885000E-6;1.4399999;
+;;;529.999902938E-6;1.3600000;
+;;;539.999920875E-6;1.3600000;
+;;;549.999880604E-6;1.2800000;
+;;;559.999898542E-6;1.1999999;
+;;;569.999916479E-6;1.0400000;
+;;;579.999876209E-6;879.999995232E-3;
+;;;589.999894146E-6;799.999952316E-3;
+;;;599.999912083E-6;719.999969006E-3;
+;;;609.999871813E-6;719.999969006E-3;
+;;;619.999889750E-6;719.999969006E-3;
+;;;629.999907687E-6;719.999969006E-3;
+;;;639.999867417E-6;879.999995232E-3;
+;;;649.999885354E-6;959.999978542E-3;
+;;;659.999903291E-6;1.1999999;
+;;;669.999863021E-6;1.3600000;
+;;;679.999880958E-6;1.5200000;
+;;;689.999898896E-6;1.6799999;
+;;;699.999858625E-6;1.7600000;
+;;;709.999876563E-6;1.8399999;
+;;;719.999894500E-6;1.8399999;
+;;;729.999912437E-6;1.7600000;
+;;;739.999872167E-6;1.5999999;
+;;;749.999890104E-6;1.5200000;
+;;;759.999908041E-6;1.4399999;
+;;;769.999867771E-6;1.2800000;
+;;;779.999885708E-6;1.2800000;
+;;;789.999903645E-6;1.3600000;
+;;;799.999863375E-6;1.4399999;
+;;;809.999881312E-6;1.5999999;
+;;;819.999899250E-6;1.6799999;
+;;;829.999858979E-6;1.9200000;
+;;;839.999876916E-6;2.0000000;
+;;;849.999894854E-6;1.9200000;
+;;;859.999912791E-6;1.9200000;
+;;;869.999872521E-6;1.8399999;
+;;;879.999890458E-6;1.7600000;
+;;;889.999908395E-6;1.6799999;
+;;;899.999868125E-6;1.5999999;
+;;;909.999886062E-6;1.5999999;
+;;;919.999903999E-6;1.5200000;
+;;;929.999863729E-6;1.5200000;
+;;;939.999881666E-6;1.5999999;
+;;;949.999899603E-6;1.6799999;
+;;;959.999859333E-6;1.6799999;
+;;;969.999877270E-6;1.6799999;
+;;;979.999895208E-6;1.7600000;
+;;;989.999854937E-6;1.7600000;
+;;;999.999931082E-6;1.7600000;
+;;;1.0099999E-3;1.8399999;
+;;;1.0199999E-3;1.7600000;
+;;;1.0299999E-3;1.7600000;
+;;;1.0399999E-3;1.6799999;
+;;;1.0499998E-3;1.6799999;
+;;;1.0599999E-3;1.5999999;
+;;;1.0699999E-3;1.5200000;
+;;;1.0799998E-3;1.3600000;
+;;;1.0899999E-3;1.2800000;
+;;;1.0999999E-3;1.1200000;
+;;;1.1099998E-3;1.1200000;
+;;;1.1199999E-3;879.999995232E-3;
+;;;1.1299999E-3;879.999995232E-3;
+;;;1.1399998E-3;879.999995232E-3;
+;;;1.1499999E-3;879.999995232E-3;
+;;;1.1599999E-3;879.999995232E-3;
+;;;1.1699998E-3;879.999995232E-3;
+;;;1.1799999E-3;959.999978542E-3;
+;;;1.1899999E-3;959.999978542E-3;
+;;;1.1999998E-3;959.999978542E-3;
+;;;1.2099999E-3;1.0400000;
+;;;1.2199999E-3;959.999978542E-3;
+;;;1.2299998E-3;959.999978542E-3;
+;;;1.2399999E-3;879.999995232E-3;
+;;;1.2499999E-3;719.999969006E-3;
+;;;1.2599998E-3;639.999985695E-3;
+;;;1.2699999E-3;479.999989271E-3;
+;;;1.2799999E-3;319.99999285E-3;
+;;;1.2899999E-3;239.99999464E-3;
+;;;1.2999999E-3;79.999998212E-3;
+;;;1.3099998E-3;0.0;
+;;;1.3199999E-3;-79.999998212E-3;
+;;;1.3299999E-3;0.0;
+;;;1.3399998E-3;0.0;
+;;;1.3499999E-3;79.999998212E-3;
+;;;1.3599999E-3;159.99999642E-3;
+;;;1.3699998E-3;319.99999285E-3;
+;;;1.3799999E-3;479.999989271E-3;
+;;;1.3899999E-3;560.000002384E-3;
+;;;1.3999998E-3;719.999969006E-3;
+;;;1.4099999E-3;879.999995232E-3;
+;;;1.4199999E-3;959.999978542E-3;
+;;;1.4299998E-3;1.0400000;
+;;;1.4399999E-3;1.1200000;
+;;;1.4499999E-3;1.1999999;
+;;;1.4599998E-3;1.2800000;
+;;;1.4699999E-3;1.2800000;
+;;;1.4799999E-3;1.2800000;
+;;;1.4899998E-3;1.4399999;
+;;;1.4999999E-3;1.4399999;
+;;;1.5099999E-3;1.5999999;
+;;;1.5199998E-3;1.6799999;
+;;;1.5299999E-3;1.8399999;
+;;;1.5399999E-3;2.0000000;
+;;;1.5499998E-3;2.1599998;
+;;;1.5599999E-3;2.3199999;
+;;;1.5699998E-3;2.3999999;
+;;;1.5799999E-3;2.6399999;
+;;;1.5899999E-3;2.72000003;
+;;;1.5999998E-3;2.79999995;
+;;;1.6099999E-3;2.79999995;
+;;;1.6199999E-3;2.87999988;
+;;;1.6299998E-3;2.87999988;
+;;;1.6399999E-3;2.87999988;
+;;;1.6499999E-3;2.87999988;
+;;;1.6599998E-3;2.72000003;
+;;;1.6699999E-3;2.72000003;
+;;;1.6799999E-3;2.5599999;
+;;;1.6899998E-3;2.3999999;
+;;;1.6999999E-3;2.1599998;
+;;;1.7099999E-3;1.9200000;
+;;;1.7199998E-3;1.5999999;
+;;;1.7299999E-3;1.3600000;
+;;;1.7399999E-3;1.0400000;
+;;;1.7499998E-3;879.999995232E-3;
+;;;1.7599999E-3;639.999985695E-3;
+;;;1.7699999E-3;560.000002384E-3;
+;;;1.7799998E-3;560.000002384E-3;
+;;;1.7899999E-3;560.000002384E-3;
+;;;1.7999999E-3;639.999985695E-3;
+;;;1.8099998E-3;879.999995232E-3;
+;;;1.8199999E-3;959.999978542E-3;
+;;;1.8299998E-3;1.1200000;
+;;;1.8399998E-3;1.1999999;
+;;;1.8499999E-3;1.1999999;
+;;;1.8599998E-3;1.1999999;
+;;;1.8699998E-3;1.1999999;
+;;;1.8799999E-3;1.1999999;
+;;;1.8899998E-3;959.999978542E-3;
+;;;1.8999998E-3;879.999995232E-3;
+;;;1.9099999E-3;799.999952316E-3;
+;;;1.9199998E-3;719.999969006E-3;
+;;;1.9299999E-3;719.999969006E-3;
+;;;1.9399999E-3;719.999969006E-3;
+;;;1.9499998E-3;719.999969006E-3;
+;;;1.9599998E-3;799.999952316E-3;
+;;;1.9699999E-3;879.999995232E-3;
+;;;1.9799999E-3;879.999995232E-3;
+;;;1.9899998E-3;959.999978542E-3;
+;;;1.9999999E-3;959.999978542E-3;
+;;;2.0099999E-3;1.0400000;
+;;;2.0199998E-3;1.0400000;
+;;;2.0299999E-3;1.1999999;
+;;;2.0399999E-3;1.2800000;
+;;;2.0499998E-3;1.4399999;
+;;;2.0599999E-3;1.5999999;
+;;;2.0699999E-3;1.8399999;
+;;;2.0799998E-3;2.1599998;
+;;;2.0899998E-3;2.3999999;
+;;;2.0999999E-3;2.4800000;
+;;;2.1099998E-3;2.5599999;
+;;;2.1199998E-3;2.5599999;
+;;;2.1299999E-3;2.5599999;
+;;;2.1399998E-3;2.5599999;
+;;;2.1499998E-3;2.3999999;
+;;;2.1599999E-3;2.3999999;
+;;;2.1699998E-3;2.3199999;
+;;;2.1799998E-3;2.2400000;
+;;;2.1899999E-3;2.1599998;
+;;;2.1999998E-3;2.0000000;
+;;;2.2099998E-3;1.8399999;
+;;;2.2199999E-3;1.5999999;
+;;;2.2299998E-3;1.3600000;
+;;;2.2399998E-3;1.1200000;
+;;;2.2499999E-3;799.999952316E-3;
+;;;2.2599997E-3;560.000002384E-3;
+;;;2.2699998E-3;319.99999285E-3;
+;;;2.2799999E-3;159.99999642E-3;
+;;;2.2899997E-3;0.0;
+;;;2.2999998E-3;0.0;
+;;;2.3099999E-3;-159.99999642E-3;
+;;;2.3199997E-3;-159.99999642E-3;
+;;;2.3299998E-3;-159.99999642E-3;
+;;;2.3399999E-3;0.0;
+;;;2.3499997E-3;0.0;
+;;;2.3599998E-3;0.0;
+;;;2.3699999E-3;79.999998212E-3;
+;;;2.3800000E-3;239.99999464E-3;
+;;;2.3899998E-3;319.99999285E-3;
+;;;2.3999999E-3;399.99997616E-3;
+;;;2.4100000E-3;479.999989271E-3;
+;;;2.4199998E-3;639.999985695E-3;
+;;;2.4299999E-3;639.999985695E-3;
+;;;2.4400000E-3;719.999969006E-3;
+;;;2.4499998E-3;639.999985695E-3;
+;;;2.4599999E-3;639.999985695E-3;
+;;;2.4699999E-3;560.000002384E-3;
+;;;2.4799998E-3;560.000002384E-3;
+;;;2.4899999E-3;479.999989271E-3;
+;;;2.4999999E-3;319.99999285E-3;
+;;;2.5099998E-3;319.99999285E-3;
+;;;2.5199999E-3;319.99999285E-3;
+;;;2.5299999E-3;399.99997616E-3;
+;;;2.5399998E-3;479.999989271E-3;
+;;;2.5499999E-3;639.999985695E-3;
+;;;2.5599999E-3;879.999995232E-3;
+;;;2.5699998E-3;1.0400000;
+;;;2.5799999E-3;1.1999999;
+;;;2.5899999E-3;1.4399999;
+;;;2.5999998E-3;1.5999999;
+;;;2.6099999E-3;1.6799999;
+;;;2.6199999E-3;1.6799999;
+;;;2.6299998E-3;1.6799999;
+;;;2.6399998E-3;1.5999999;
+;;;2.6499999E-3;1.4399999;
+;;;2.6599998E-3;1.2800000;
+;;;2.6699998E-3;1.1200000;
+;;;2.6799999E-3;1.0400000;
+;;;2.6899998E-3;959.999978542E-3;
+;;;2.6999998E-3;879.999995232E-3;
+;;;2.7099999E-3;879.999995232E-3;
+;;;2.71999976E-3;879.999995232E-3;
+;;;2.72999983E-3;879.999995232E-3;
+;;;2.73999991E-3;1.0400000;
+;;;2.74999975E-3;1.1200000;
+;;;2.75999983E-3;1.1999999;
+;;;2.76999990E-3;1.3600000;
+;;;2.77999975E-3;1.4399999;
+;;;2.78999982E-3;1.5999999;
+;;;2.79999990E-3;1.6799999;
+;;;2.80999974E-3;1.8399999;
+;;;2.81999982E-3;1.9200000;
+;;;2.82999990E-3;2.0000000;
+;;;2.83999974E-3;2.1599998;
+;;;2.84999982E-3;2.1599998;
+;;;2.85999989E-3;2.1599998;
+;;;2.86999973E-3;2.2400000;
+;;;2.87999981E-3;2.1599998;
+;;;2.88999989E-3;2.0000000;
+;;;2.89999973E-3;1.8399999;
+;;;2.90999981E-3;1.6799999;
+;;;2.91999988E-3;1.4399999;
+;;;2.92999973E-3;1.1999999;
+;;;2.93999980E-3;959.999978542E-3;
+;;;2.94999988E-3;719.999969006E-3;
+;;;2.95999972E-3;479.999989271E-3;
+;;;2.96999980E-3;319.99999285E-3;
+;;;2.97999987E-3;239.99999464E-3;
+;;;2.98999972E-3;159.99999642E-3;
+;;;2.99999979E-3;159.99999642E-3;
+;;;3.00999987E-3;239.99999464E-3;
+;;;3.01999971E-3;239.99999464E-3;
+;;;3.02999979E-3;239.99999464E-3;
+;;;3.03999986E-3;239.99999464E-3;
+;;;3.04999994E-3;239.99999464E-3;
+;;;3.05999978E-3;239.99999464E-3;
+;;;3.06999986E-3;239.99999464E-3;
+;;;3.07999994E-3;159.99999642E-3;
+;;;3.08999978E-3;79.999998212E-3;
+;;;3.09999986E-3;0.0;
+;;;3.10999993E-3;-79.999998212E-3;
+;;;3.11999978E-3;-239.99999464E-3;
+;;;3.12999985E-3;-239.99999464E-3;
+;;;3.13999993E-3;-319.99999285E-3;
+;;;3.14999977E-3;-319.99999285E-3;
+;;;3.15999985E-3;-239.99999464E-3;
+;;;3.16999992E-3;-319.99999285E-3;
+;;;3.17999977E-3;-239.99999464E-3;
+;;;3.18999984E-3;-159.99999642E-3;
+;;;3.19999992E-3;-239.99999464E-3;
+;;;3.20999976E-3;-159.99999642E-3;
+;;;3.21999984E-3;-79.999998212E-3;
+;;;3.22999991E-3;0.0;
+;;;3.23999976E-3;239.99999464E-3;
+;;;3.24999983E-3;399.99997616E-3;
+;;;3.25999991E-3;639.999985695E-3;
+;;;3.26999975E-3;879.999995232E-3;
+;;;3.27999983E-3;1.1200000;
+;;;3.28999991E-3;1.4399999;
+;;;3.29999975E-3;1.5999999;
+;;;3.30999983E-3;1.7600000;
+;;;3.31999990E-3;1.8399999;
+;;;3.32999974E-3;1.9200000;
+;;;3.33999982E-3;2.0000000;
+;;;3.34999990E-3;1.9200000;
+;;;3.35999974E-3;1.8399999;
+;;;3.36999982E-3;1.6799999;
+;;;3.37999989E-3;1.5999999;
+;;;3.38999974E-3;1.3600000;
+;;;3.39999981E-3;1.1200000;
+;;;3.40999989E-3;959.999978542E-3;
+;;;3.41999973E-3;879.999995232E-3;
+;;;3.42999981E-3;560.000002384E-3;
+;;;3.43999988E-3;479.999989271E-3;
+;;;3.44999973E-3;319.99999285E-3;
+;;;3.45999980E-3;239.99999464E-3;
+;;;3.46999988E-3;159.99999642E-3;
+;;;3.47999972E-3;79.999998212E-3;
+;;;3.48999980E-3;0.0;
+;;;3.49999988E-3;0.0;
+;;;3.50999972E-3;-79.999998212E-3;
+;;;3.51999979E-3;-79.999998212E-3;
+;;;3.52999987E-3;-159.99999642E-3;
+;;;3.53999971E-3;-159.99999642E-3;
+;;;3.54999979E-3;-239.99999464E-3;
+;;;3.55999987E-3;-239.99999464E-3;
+;;;3.56999971E-3;-319.99999285E-3;
+;;;3.57999979E-3;-239.99999464E-3;
+;;;3.58999986E-3;-239.99999464E-3;
+;;;3.59999971E-3;-239.99999464E-3;
+;;;3.60999978E-3;-319.99999285E-3;
+;;;3.61999986E-3;-319.99999285E-3;
+;;;3.62999970E-3;-319.99999285E-3;
+;;;3.63999978E-3;-319.99999285E-3;
+;;;3.64999985E-3;-319.99999285E-3;
+;;;3.65999993E-3;-319.99999285E-3;
+;;;3.66999977E-3;-239.99999464E-3;
+;;;3.67999985E-3;-239.99999464E-3;
+;;;3.68999992E-3;-239.99999464E-3;
+;;;3.69999977E-3;-159.99999642E-3;
+;;;3.70999984E-3;-159.99999642E-3;
+;;;3.71999992E-3;-159.99999642E-3;
+;;;3.72999976E-3;-79.999998212E-3;
+;;;3.73999984E-3;-79.999998212E-3;
+;;;3.74999992E-3;0.0;
+;;;3.75999976E-3;0.0;
+;;;3.76999984E-3;79.999998212E-3;
+;;;3.77999991E-3;79.999998212E-3;
+;;;3.78999976E-3;79.999998212E-3;
+;;;3.79999983E-3;0.0;
+;;;3.80999991E-3;0.0;
+;;;3.81999975E-3;-159.99999642E-3;
+;;;3.82999983E-3;-239.99999464E-3;
+;;;3.83999990E-3;-239.99999464E-3;
+;;;3.84999975E-3;-239.99999464E-3;
+;;;3.85999982E-3;-239.99999464E-3;
+;;;3.86999990E-3;-319.99999285E-3;
+;;;3.87999974E-3;-239.99999464E-3;
+;;;3.88999982E-3;-239.99999464E-3;
+;;;3.89999989E-3;-239.99999464E-3;
+;;;3.90999997E-3;-159.99999642E-3;
+;;;3.91999958E-3;-159.99999642E-3;
+;;;3.92999966E-3;-79.999998212E-3;
+;;;3.93999973E-3;-79.999998212E-3;
+;;;3.94999981E-3;79.999998212E-3;
+;;;3.95999989E-3;79.999998212E-3;
+;;;3.96999996E-3;159.99999642E-3;
+;;;3.97999957E-3;159.99999642E-3;
+;;;3.98999965E-3;79.999998212E-3;
+;;;3.99999972E-3;79.999998212E-3;
+;;;4.00999980E-3;0.0;
+;;;4.01999988E-3;-79.999998212E-3;
+;;;4.02999995E-3;-239.99999464E-3;
+;;;4.04000003E-3;-319.99999285E-3;
+;;;4.04999964E-3;-319.99999285E-3;
+;;;4.05999972E-3;-319.99999285E-3;
+;;;4.06999979E-3;-319.99999285E-3;
+;;;4.07999987E-3;-319.99999285E-3;
+;;;4.08999994E-3;-319.99999285E-3;
+;;;4.10000002E-3;-319.99999285E-3;
+;;;4.10999963E-3;-319.99999285E-3;
+;;;4.11999971E-3;-319.99999285E-3;
+;;;4.12999978E-3;-319.99999285E-3;
+;;;4.13999986E-3;-319.99999285E-3;
+;;;4.14999994E-3;-319.99999285E-3;
+;;;4.16000001E-3;-239.99999464E-3;
+;;;4.16999962E-3;-239.99999464E-3;
+;;;4.17999970E-3;-239.99999464E-3;
+;;;4.18999977E-3;-319.99999285E-3;
+;;;4.19999985E-3;-319.99999285E-3;
+;;;4.20999993E-3;-239.99999464E-3;
+;;;4.22000000E-3;-399.99997616E-3;
+;;;4.22999961E-3;-319.99999285E-3;
+;;;4.23999969E-3;-319.99999285E-3;
+;;;4.24999977E-3;-319.99999285E-3;
+;;;4.25999984E-3;-319.99999285E-3;
+;;;4.26999992E-3;-319.99999285E-3;
+;;;4.27999999E-3;-319.99999285E-3;
+;;;4.28999960E-3;-399.99997616E-3;
+;;;4.29999968E-3;-319.99999285E-3;
+;;;4.30999976E-3;-319.99999285E-3;
+;;;4.31999983E-3;-319.99999285E-3;
+;;;4.32999991E-3;-319.99999285E-3;
+;;;4.33999998E-3;-319.99999285E-3;
+;;;4.34999960E-3;-319.99999285E-3;
+;;;4.35999967E-3;-319.99999285E-3;
+;;;4.36999975E-3;-319.99999285E-3;
+;;;4.37999982E-3;-319.99999285E-3;
+;;;4.38999990E-3;-319.99999285E-3;
+;;;4.39999998E-3;-319.99999285E-3;
+;;;4.40999959E-3;-319.99999285E-3;
+;;;4.41999966E-3;-319.99999285E-3;
+;;;4.42999974E-3;-319.99999285E-3;
+;;;4.43999982E-3;-319.99999285E-3;
+;;;4.44999989E-3;-319.99999285E-3;
+;;;4.45999997E-3;-319.99999285E-3;
+;;;4.46999958E-3;-239.99999464E-3;
+;;;4.47999965E-3;-239.99999464E-3;
+;;;4.48999973E-3;-239.99999464E-3;
+;;;4.49999981E-3;-159.99999642E-3;
+;;;4.50999988E-3;-239.99999464E-3;
+;;;4.51999996E-3;-159.99999642E-3;
+;;;4.52999957E-3;-159.99999642E-3;
+;;;4.53999965E-3;-79.999998212E-3;
+;;;4.54999972E-3;-79.999998212E-3;
+;;;4.55999980E-3;0.0;
+;;;4.56999987E-3;0.0;
+;;;4.57999995E-3;0.0;
+;;;4.58999956E-3;159.99999642E-3;
+;;;4.59999964E-3;239.99999464E-3;
+;;;4.60999971E-3;239.99999464E-3;
+;;;4.61999979E-3;239.99999464E-3;
+;;;4.62999986E-3;319.99999285E-3;
+;;;4.63999994E-3;319.99999285E-3;
+;;;4.65000002E-3;319.99999285E-3;
+;;;4.65999963E-3;399.99997616E-3;
+;;;4.66999970E-3;399.99997616E-3;
+;;;4.67999978E-3;319.99999285E-3;
+;;;4.68999986E-3;399.99997616E-3;
+;;;4.69999993E-3;399.99997616E-3;
+;;;4.71000001E-3;399.99997616E-3;
+;;;4.71999962E-3;319.99999285E-3;
+;;;4.72999969E-3;319.99999285E-3;
+;;;4.73999977E-3;239.99999464E-3;
+;;;4.74999985E-3;239.99999464E-3;
+;;;4.75999992E-3;159.99999642E-3;
+;;;4.77000000E-3;79.999998212E-3;
+;;;4.77999961E-3;-79.999998212E-3;
+;;;4.78999969E-3;-79.999998212E-3;
+;;;4.79999976E-3;-239.99999464E-3;
+;;;4.80999984E-3;-159.99999642E-3;
+;;;4.81999991E-3;-239.99999464E-3;
+;;;4.82999999E-3;-239.99999464E-3;
+;;;4.83999960E-3;-239.99999464E-3;
+;;;4.84999968E-3;-239.99999464E-3;
+;;;4.85999975E-3;-239.99999464E-3;
+;;;4.86999983E-3;-239.99999464E-3;
+;;;4.87999991E-3;-239.99999464E-3;
+;;;4.88999998E-3;-319.99999285E-3;
+;;;4.89999959E-3;-239.99999464E-3;
+;;;4.90999967E-3;-239.99999464E-3;
+;;;4.91999974E-3;-239.99999464E-3;
+;;;4.92999982E-3;-239.99999464E-3;
+;;;4.93999990E-3;-319.99999285E-3;
+;;;4.94999997E-3;-239.99999464E-3;
+;;;4.95999958E-3;-319.99999285E-3;
+;;;4.96999966E-3;-319.99999285E-3;
+;;;4.97999974E-3;-319.99999285E-3;
+;;;4.98999981E-3;-239.99999464E-3;
+;;;4.99999989E-3;-319.99999285E-3;
+;;;5.00999996E-3;-239.99999464E-3;
+;;;5.01999957E-3;-319.99999285E-3;
+;;;5.02999965E-3;-239.99999464E-3;
+;;;5.03999973E-3;-319.99999285E-3;
+;;;5.04999980E-3;-319.99999285E-3;
+;;;5.05999988E-3;-239.99999464E-3;
+;;;5.06999996E-3;-319.99999285E-3;
+;;;5.07999957E-3;-319.99999285E-3;
+;;;5.08999964E-3;-319.99999285E-3;
+;;;5.09999972E-3;-239.99999464E-3;
+;;;5.10999979E-3;-319.99999285E-3;
+;;;5.11999987E-3;-319.99999285E-3;
+;;;5.12999995E-3;-319.99999285E-3;
+;;;5.13999956E-3;-319.99999285E-3;
+;;;5.14999963E-3;-239.99999464E-3;
+;;;5.15999971E-3;-319.99999285E-3;
+;;;5.16999979E-3;-239.99999464E-3;
+;;;5.17999986E-3;-319.99999285E-3;
+;;;5.18999994E-3;-319.99999285E-3;
+;;;5.19999955E-3;-319.99999285E-3;
+;;;5.20999962E-3;-319.99999285E-3;
+;;;5.21999970E-3;-319.99999285E-3;
+;;;5.22999978E-3;-319.99999285E-3;
+;;;5.23999985E-3;-319.99999285E-3;
+;;;5.24999993E-3;-319.99999285E-3;
+;;;5.26000001E-3;-319.99999285E-3;
+;;;5.26999962E-3;-319.99999285E-3;
+;;;5.27999969E-3;-319.99999285E-3;
+;;;5.28999977E-3;-319.99999285E-3;
+;;;5.29999984E-3;-319.99999285E-3;
+;;;5.30999992E-3;-319.99999285E-3;
+;;;5.32000000E-3;-319.99999285E-3;
+;;;5.32999961E-3;-319.99999285E-3;
+;;;5.33999968E-3;-239.99999464E-3;
+;;;5.34999976E-3;-319.99999285E-3;
+;;;5.35999984E-3;-319.99999285E-3;
+;;;5.36999991E-3;-239.99999464E-3;
+;;;5.37999999E-3;-399.99997616E-3;
+;;;5.38999960E-3;-399.99997616E-3;
+;;;5.39999967E-3;-319.99999285E-3;
+;;;5.40999975E-3;-319.99999285E-3;
+;;;5.41999983E-3;-319.99999285E-3;
+;;;5.42999990E-3;-319.99999285E-3;
+;;;5.43999998E-3;-319.99999285E-3;
+;;;5.44999959E-3;-319.99999285E-3;
+;;;5.45999967E-3;-399.99997616E-3;
+;;;5.46999974E-3;-319.99999285E-3;
+;;;5.47999982E-3;-319.99999285E-3;
+;;;5.48999989E-3;-319.99999285E-3;
+;;;5.49999997E-3;-319.99999285E-3;
+;;;5.50999958E-3;-239.99999464E-3;
+;;;5.51999966E-3;-239.99999464E-3;
+;;;5.52999973E-3;-319.99999285E-3;
+;;;5.53999981E-3;-319.99999285E-3;
+;;;5.54999989E-3;-319.99999285E-3;
+;;;5.55999996E-3;-319.99999285E-3;
+;;;5.56999957E-3;-319.99999285E-3;
+;;;5.57999965E-3;-239.99999464E-3;
+;;;5.58999972E-3;-319.99999285E-3;
+;;;5.59999980E-3;-319.99999285E-3;
+;;;5.60999988E-3;-319.99999285E-3;
+;;;5.61999995E-3;-319.99999285E-3;
+;;;5.62999956E-3;-239.99999464E-3;
+;;;5.63999964E-3;-319.99999285E-3;
+;;;5.64999972E-3;-239.99999464E-3;
+;;;5.65999979E-3;-239.99999464E-3;
+;;;5.66999987E-3;-239.99999464E-3;
+;;;5.67999994E-3;-159.99999642E-3;
+;;;5.68999955E-3;-159.99999642E-3;
+;;;5.69999963E-3;-79.999998212E-3;
+;;;5.70999971E-3;0.0;
+;;;5.71999978E-3;159.99999642E-3;
+;;;5.72999986E-3;159.99999642E-3;
+;;;5.73999994E-3;319.99999285E-3;
+;;;5.74999955E-3;399.99997616E-3;
+;;;5.75999962E-3;560.000002384E-3;
+;;;5.76999970E-3;639.999985695E-3;
+;;;5.77999977E-3;799.999952316E-3;
+;;;5.78999985E-3;879.999995232E-3;
+;;;5.79999993E-3;959.999978542E-3;
+;;;5.80999954E-3;1.0400000;
+;;;5.81999961E-3;1.0400000;
+;;;5.82999969E-3;1.1999999;
+;;;5.83999977E-3;1.1999999;
+;;;5.84999984E-3;1.2800000;
+;;;5.85999992E-3;1.4399999;
+;;;5.86999953E-3;1.5200000;
+;;;5.87999960E-3;1.5200000;
+;;;5.88999968E-3;1.5999999;
+;;;5.89999976E-3;1.5999999;
+;;;5.90999983E-3;1.6799999;
+;;;5.91999991E-3;1.6799999;
+;;;5.92999998E-3;1.6799999;
+;;;5.93999960E-3;1.6799999;
+;;;5.94999967E-3;1.6799999;
+;;;5.95999975E-3;1.6799999;
+;;;5.96999982E-3;1.6799999;
+;;;5.97999990E-3;1.6799999;
+;;;5.98999998E-3;1.6799999;
+;;;5.99999959E-3;1.6799999;
+;;;6.00999966E-3;1.6799999;
+;;;6.01999974E-3;1.6799999;
+;;;6.02999981E-3;1.5999999;
+;;;6.03999989E-3;1.5999999;
+;;;6.04999997E-3;1.5999999;
+;;;6.05999958E-3;1.5200000;
+;;;6.06999965E-3;1.5200000;
+;;;6.07999973E-3;1.4399999;
+;;;6.08999981E-3;1.3600000;
+;;;6.09999988E-3;1.2800000;
+;;;6.10999996E-3;1.2800000;
+;;;6.11999957E-3;1.1200000;
+;;;6.12999965E-3;1.0400000;
+;;;6.13999972E-3;959.999978542E-3;
+;;;6.14999980E-3;879.999995232E-3;
+;;;6.15999987E-3;879.999995232E-3;
+;;;6.16999995E-3;719.999969006E-3;
+;;;6.17999956E-3;639.999985695E-3;
+;;;6.18999964E-3;560.000002384E-3;
+;;;6.19999971E-3;560.000002384E-3;
+;;;6.20999979E-3;560.000002384E-3;
+;;;6.21999986E-3;479.999989271E-3;
+;;;6.22999994E-3;399.99997616E-3;
+;;;6.23999955E-3;399.99997616E-3;
+;;;6.24999963E-3;319.99999285E-3;
+;;;6.25999970E-3;239.99999464E-3;
+;;;6.26999978E-3;159.99999642E-3;
+;;;6.27999986E-3;159.99999642E-3;
+;;;6.28999993E-3;159.99999642E-3;
+;;;6.29999954E-3;79.999998212E-3;
+;;;6.30999962E-3;-79.999998212E-3;
+;;;6.31999969E-3;-79.999998212E-3;
+;;;6.32999977E-3;-159.99999642E-3;
+;;;6.33999985E-3;-239.99999464E-3;
+;;;6.34999992E-3;-239.99999464E-3;
+;;;6.35999953E-3;-239.99999464E-3;
+;;;6.36999961E-3;-239.99999464E-3;
+;;;6.37999969E-3;-319.99999285E-3;
+;;;6.38999976E-3;-239.99999464E-3;
+;;;6.39999984E-3;-239.99999464E-3;
+;;;6.40999991E-3;-239.99999464E-3;
+;;;6.41999952E-3;-239.99999464E-3;
+;;;6.42999960E-3;-319.99999285E-3;
+;;;6.43999968E-3;-239.99999464E-3;
+;;;6.44999975E-3;-319.99999285E-3;
+;;;6.45999983E-3;-239.99999464E-3;
+;;;6.46999991E-3;-239.99999464E-3;
+;;;6.47999952E-3;-239.99999464E-3;
+;;;6.48999959E-3;-319.99999285E-3;
+;;;6.49999967E-3;-239.99999464E-3;
+;;;6.50999974E-3;-239.99999464E-3;
+;;;6.51999982E-3;-239.99999464E-3;
+;;;6.52999990E-3;-239.99999464E-3;
+;;;6.53999951E-3;-239.99999464E-3;
+;;;6.54999958E-3;-319.99999285E-3;
+;;;6.55999966E-3;-319.99999285E-3;
+;;;6.56999974E-3;-239.99999464E-3;
+;;;6.57999981E-3;-239.99999464E-3;
+;;;6.58999989E-3;-239.99999464E-3;
+;;;6.59999996E-3;-239.99999464E-3;
+;;;6.60999957E-3;-239.99999464E-3;
+;;;6.61999965E-3;-239.99999464E-3;
+;;;6.62999973E-3;-239.99999464E-3;
+;;;6.63999980E-3;-159.99999642E-3;
+;;;6.64999988E-3;-159.99999642E-3;
+;;;6.65999996E-3;0.0;
+;;;6.66999957E-3;159.99999642E-3;
+;;;6.67999964E-3;319.99999285E-3;
+;;;6.68999972E-3;479.999989271E-3;
+;;;6.69999979E-3;719.999969006E-3;
+;;;6.70999987E-3;799.999952316E-3;
+;;;6.71999995E-3;879.999995232E-3;
+;;;6.72999956E-3;879.999995232E-3;
+;;;6.73999963E-3;799.999952316E-3;
+;;;6.74999971E-3;639.999985695E-3;
+;;;6.75999979E-3;560.000002384E-3;
+;;;6.76999986E-3;399.99997616E-3;
+;;;6.77999994E-3;239.99999464E-3;
+;;;6.78999955E-3;159.99999642E-3;
+;;;6.79999962E-3;0.0;
+;;;6.80999970E-3;0.0;
+;;;6.81999978E-3;-79.999998212E-3;
+;;;6.82999985E-3;-79.999998212E-3;
+;;;6.83999993E-3;0.0;
+;;;6.84999954E-3;0.0;
+;;;6.85999962E-3;79.999998212E-3;
+;;;6.86999969E-3;79.999998212E-3;
+;;;6.87999977E-3;239.99999464E-3;
+;;;6.88999984E-3;239.99999464E-3;
+;;;6.89999992E-3;239.99999464E-3;
+;;;6.90999953E-3;319.99999285E-3;
+;;;6.91999961E-3;319.99999285E-3;
+;;;6.92999968E-3;399.99997616E-3;
+;;;6.93999976E-3;479.999989271E-3;
+;;;6.94999984E-3;479.999989271E-3;
+;;;6.95999991E-3;560.000002384E-3;
+;;;6.96999952E-3;560.000002384E-3;
+;;;6.97999960E-3;639.999985695E-3;
+;;;6.98999967E-3;639.999985695E-3;
+;;;6.99999975E-3;639.999985695E-3;
+;;;7.00999983E-3;799.999952316E-3;
+;;;7.01999990E-3;799.999952316E-3;
+;;;7.02999951E-3;799.999952316E-3;
+;;;7.03999959E-3;879.999995232E-3;
+;;;7.04999967E-3;959.999978542E-3;
+;;;7.05999974E-3;959.999978542E-3;
+;;;7.06999982E-3;1.1200000;
+;;;7.07999989E-3;1.1200000;
+;;;7.08999950E-3;1.1999999;
+;;;7.09999958E-3;1.2800000;
+;;;7.10999966E-3;1.3600000;
+;;;7.11999973E-3;1.3600000;
+;;;7.12999981E-3;1.4399999;
+;;;7.13999989E-3;1.4399999;
+;;;7.14999950E-3;1.4399999;
+;;;7.15999957E-3;1.4399999;
+;;;7.16999965E-3;1.4399999;
+;;;7.17999972E-3;1.4399999;
+;;;7.18999980E-3;1.3600000;
+;;;7.19999988E-3;1.3600000;
+;;;7.20999995E-3;1.2800000;
+;;;7.21999956E-3;1.1999999;
+;;;7.22999964E-3;1.1200000;
+;;;7.23999972E-3;1.1999999;
+;;;7.24999979E-3;1.1200000;
+;;;7.25999987E-3;1.0400000;
+;;;7.26999994E-3;1.0400000;
+;;;7.27999955E-3;959.999978542E-3;
+;;;7.28999963E-3;1.0400000;
+;;;7.29999971E-3;959.999978542E-3;
+;;;7.30999978E-3;879.999995232E-3;
+;;;7.31999986E-3;959.999978542E-3;
+;;;7.32999993E-3;879.999995232E-3;
+;;;7.33999955E-3;879.999995232E-3;
+;;;7.34999962E-3;879.999995232E-3;
+;;;7.35999970E-3;879.999995232E-3;
+;;;7.36999977E-3;879.999995232E-3;
+;;;7.37999985E-3;879.999995232E-3;
+;;;7.389999926E-3;959.999978542E-3;
+;;;7.399999537E-3;959.999978542E-3;
+;;;7.409999613E-3;1.0400000;
+;;;7.419999689E-3;1.0400000;
+;;;7.429999765E-3;1.1200000;
+;;;7.439999841E-3;1.1999999;
+;;;7.449999917E-3;1.1999999;
+;;;7.459999528E-3;1.2800000;
+;;;7.469999604E-3;1.2800000;
+;;;7.479999680E-3;1.3600000;
+;;;7.489999756E-3;1.3600000;
+;;;7.499999832E-3;1.2800000;
+;;;7.509999909E-3;1.3600000;
+;;;7.519999519E-3;1.3600000;
+;;;7.529999595E-3;1.3600000;
+;;;7.539999671E-3;1.3600000;
+;;;7.549999747E-3;1.3600000;
+;;;7.559999824E-3;1.2800000;
+;;;7.569999900E-3;1.3600000;
+;;;7.579999510E-3;1.3600000;
+;;;7.589999586E-3;1.3600000;
+;;;7.599999662E-3;1.3600000;
+;;;7.609999739E-3;1.3600000;
+;;;7.619999815E-3;1.3600000;
+;;;7.629999891E-3;1.4399999;
+;;;7.639999501E-3;1.4399999;
+;;;7.649999578E-3;1.3600000;
+;;;7.659999654E-3;1.3600000;
+;;;7.669999730E-3;1.3600000;
+;;;7.679999806E-3;1.3600000;
+;;;7.689999882E-3;1.2800000;
+;;;7.699999493E-3;1.2800000;
+;;;7.709999569E-3;1.2800000;
+;;;7.719999645E-3;1.1999999;
+;;;7.729999721E-3;1.1999999;
+;;;7.739999797E-3;1.1200000;
+;;;7.749999873E-3;1.1200000;
+;;;7.759999484E-3;1.0400000;
+;;;7.769999560E-3;1.0400000;
+;;;7.779999636E-3;1.0400000;
+;;;7.789999712E-3;1.0400000;
+;;;7.799999788E-3;1.0400000;
+;;;7.809999865E-3;1.1200000;
+;;;7.819999941E-3;1.0400000;
+;;;7.829999551E-3;1.1200000;
+;;;7.840000093E-3;1.1999999;
+;;;7.849999703E-3;1.1999999;
+;;;7.859999314E-3;1.1999999;
+;;;7.869999856E-3;1.2800000;
+;;;7.879999466E-3;1.3600000;
+;;;7.890000008E-3;1.3600000;
+;;;7.899999619E-3;1.4399999;
+;;;7.910000160E-3;1.5200000;
+;;;7.919999771E-3;1.5200000;
+;;;7.929999381E-3;1.5200000;
+;;;7.939999923E-3;1.5999999;
+;;;7.949999534E-3;1.6799999;
+;;;7.960000075E-3;1.6799999;
+;;;7.969999686E-3;1.7600000;
+;;;7.979999296E-3;1.7600000;
+;;;7.989999838E-3;1.6799999;
+;;;7.999999449E-3;1.6799999;
+;;;8.009999990E-3;1.6799999;
+;;;8.019999601E-3;1.5999999;
+;;;8.030000143E-3;1.5999999;
+;;;8.039999753E-3;1.5200000;
+;;;8.049999364E-3;1.5200000;
+;;;8.059999906E-3;1.5200000;
+;;;8.069999516E-3;1.5200000;
+;;;8.080000058E-3;1.4399999;
+;;;8.089999668E-3;1.3600000;
+;;;8.099999279E-3;1.3600000;
+;;;8.109999821E-3;1.2800000;
+;;;8.119999431E-3;1.2800000;
+;;;8.129999973E-3;1.1999999;
+;;;8.139999583E-3;1.1999999;
+;;;8.150000125E-3;1.1999999;
+;;;8.159999736E-3;1.1999999;
+;;;8.169999346E-3;1.1200000;
+;;;8.179999888E-3;1.1200000;
+;;;8.189999498E-3;1.1200000;
+;;;8.200000040E-3;1.0400000;
+;;;8.209999651E-3;1.0400000;
+;;;8.219999261E-3;1.0400000;
+;;;8.229999803E-3;1.0400000;
+;;;8.239999413E-3;959.999978542E-3;
+;;;8.249999955E-3;1.0400000;
+;;;8.259999566E-3;879.999995232E-3;
+;;;8.270000108E-3;959.999978542E-3;
+;;;8.279999718E-3;959.999978542E-3;
+;;;8.289999329E-3;959.999978542E-3;
+;;;8.299999870E-3;959.999978542E-3;
+;;;8.309999481E-3;959.999978542E-3;
+;;;8.320000023E-3;879.999995232E-3;
+;;;8.329999633E-3;959.999978542E-3;
+;;;8.339999244E-3;959.999978542E-3;
+;;;8.349999785E-3;959.999978542E-3;
+;;;8.359999396E-3;959.999978542E-3;
+;;;8.369999938E-3;959.999978542E-3;
+;;;8.379999548E-3;959.999978542E-3;
+;;;8.390000090E-3;959.999978542E-3;
+;;;8.399999700E-3;959.999978542E-3;
+;;;8.409999311E-3;879.999995232E-3;
+;;;8.419999853E-3;879.999995232E-3;
+;;;8.429999463E-3;799.999952316E-3;
+;;;8.440000005E-3;719.999969006E-3;
+;;;8.449999616E-3;719.999969006E-3;
+;;;8.460000157E-3;719.999969006E-3;
+;;;8.469999768E-3;719.999969006E-3;
+;;;8.479999378E-3;719.999969006E-3;
+;;;8.489999920E-3;560.000002384E-3;
+;;;8.499999531E-3;639.999985695E-3;
+;;;8.510000072E-3;560.000002384E-3;
+;;;8.519999683E-3;639.999985695E-3;
+;;;8.529999293E-3;639.999985695E-3;
+;;;8.539999835E-3;560.000002384E-3;
+;;;8.549999446E-3;560.000002384E-3;
+;;;8.559999987E-3;560.000002384E-3;
+;;;8.569999598E-3;479.999989271E-3;
+;;;8.580000140E-3;479.999989271E-3;
+;;;8.589999750E-3;479.999989271E-3;
+;;;8.599999361E-3;319.99999285E-3;
+;;;8.609999903E-3;399.99997616E-3;
+;;;8.619999513E-3;479.999989271E-3;
+;;;8.630000055E-3;319.99999285E-3;
+;;;8.639999665E-3;319.99999285E-3;
+;;;8.649999276E-3;239.99999464E-3;
+;;;8.659999818E-3;239.99999464E-3;
+;;;8.669999428E-3;319.99999285E-3;
+;;;8.679999970E-3;239.99999464E-3;
+;;;8.689999580E-3;239.99999464E-3;
+;;;8.700000122E-3;319.99999285E-3;
+;;;8.709999733E-3;239.99999464E-3;
+;;;8.719999343E-3;239.99999464E-3;
+;;;8.729999885E-3;239.99999464E-3;
+;;;8.739999495E-3;239.99999464E-3;
+;;;8.750000037E-3;239.99999464E-3;
+;;;8.759999648E-3;319.99999285E-3;
+;;;8.769999258E-3;319.99999285E-3;
+;;;8.779999800E-3;399.99997616E-3;
+;;;8.789999411E-3;399.99997616E-3;
+;;;8.799999952E-3;399.99997616E-3;
+;;;8.809999563E-3;399.99997616E-3;
+;;;8.820000105E-3;399.99997616E-3;
+;;;8.829999715E-3;479.999989271E-3;
+;;;8.839999326E-3;479.999989271E-3;
+;;;8.849999867E-3;479.999989271E-3;
+;;;8.859999478E-3;479.999989271E-3;
+;;;8.870000020E-3;399.99997616E-3;
+;;;8.879999630E-3;399.99997616E-3;
+;;;8.889999241E-3;399.99997616E-3;
+;;;8.899999782E-3;319.99999285E-3;
+;;;8.909999393E-3;239.99999464E-3;
+;;;8.919999935E-3;239.99999464E-3;
+;;;8.929999545E-3;159.99999642E-3;
+;;;8.940000087E-3;159.99999642E-3;
+;;;8.949999698E-3;159.99999642E-3;
+;;;8.959999308E-3;79.999998212E-3;
+;;;8.969999850E-3;79.999998212E-3;
+;;;8.979999460E-3;159.99999642E-3;
+;;;8.990000002E-3;159.99999642E-3;
+;;;8.999999613E-3;159.99999642E-3;
+;;;9.009999223E-3;159.99999642E-3;
+;;;9.019999765E-3;159.99999642E-3;
+;;;9.029999375E-3;79.999998212E-3;
+;;;9.039999917E-3;0.0;
+;;;9.049999528E-3;-79.999998212E-3;
+;;;9.060000069E-3;-159.99999642E-3;
+;;;9.069999680E-3;-239.99999464E-3;
+;;;9.079999290E-3;-239.99999464E-3;
+;;;9.089999832E-3;-239.99999464E-3;
+;;;9.099999443E-3;-239.99999464E-3;
+;;;9.109999985E-3;-79.999998212E-3;
+;;;9.119999595E-3;0.0;
+;;;9.130000137E-3;0.0;
+;;;9.139999747E-3;79.999998212E-3;
+;;;9.149999358E-3;159.99999642E-3;
+;;;9.159999900E-3;159.99999642E-3;
+;;;9.169999510E-3;239.99999464E-3;
+;;;9.180000052E-3;239.99999464E-3;
+;;;9.189999662E-3;239.99999464E-3;
+;;;9.199999273E-3;239.99999464E-3;
+;;;9.209999815E-3;239.99999464E-3;
+;;;9.219999425E-3;239.99999464E-3;
+;;;9.229999967E-3;239.99999464E-3;
+;;;9.239999577E-3;239.99999464E-3;
+;;;9.250000119E-3;239.99999464E-3;
+;;;9.259999730E-3;159.99999642E-3;
+;;;9.269999340E-3;159.99999642E-3;
+;;;9.279999882E-3;79.999998212E-3;
+;;;9.289999492E-3;79.999998212E-3;
+;;;9.300000034E-3;0.0;
+;;;9.309999645E-3;0.0;
+;;;9.319999255E-3;0.0;
+;;;9.329999797E-3;0.0;
+;;;9.339999408E-3;0.0;
+;;;9.349999949E-3;0.0;
+;;;9.359999560E-3;79.999998212E-3;
+;;;9.370000102E-3;79.999998212E-3;
+;;;9.379999712E-3;0.0;
+;;;9.389999323E-3;0.0;
+;;;9.399999864E-3;0.0;
+;;;9.409999475E-3;0.0;
+;;;9.420000017E-3;0.0;
+;;;9.429999627E-3;0.0;
+;;;9.439999238E-3;0.0;
+;;;9.449999779E-3;0.0;
+;;;9.459999390E-3;79.999998212E-3;
+;;;9.469999932E-3;0.0;
+;;;9.479999542E-3;79.999998212E-3;
+;;;9.490000084E-3;159.99999642E-3;
+;;;9.499999695E-3;159.99999642E-3;
+;;;9.509999305E-3;159.99999642E-3;
+;;;9.519999847E-3;239.99999464E-3;
+;;;9.529999457E-3;239.99999464E-3;
+;;;9.539999999E-3;239.99999464E-3;
+;;;9.549999610E-3;319.99999285E-3;
+;;;9.559999220E-3;399.99997616E-3;
+;;;9.569999762E-3;319.99999285E-3;
+;;;9.579999372E-3;479.999989271E-3;
+;;;9.589999914E-3;560.000002384E-3;
+;;;9.599999525E-3;560.000002384E-3;
+;;;9.610000066E-3;560.000002384E-3;
+;;;9.619999677E-3;560.000002384E-3;
+;;;9.629999287E-3;560.000002384E-3;
+;;;9.639999829E-3;560.000002384E-3;
+;;;9.649999440E-3;560.000002384E-3;
+;;;9.659999982E-3;560.000002384E-3;
+;;;9.669999592E-3;479.999989271E-3;
+;;;9.679999202E-3;399.99997616E-3;
+;;;9.689999744E-3;479.999989271E-3;
+;;;9.699999355E-3;399.99997616E-3;
+;;;9.709999897E-3;479.999989271E-3;
+;;;9.719999507E-3;319.99999285E-3;
+;;;9.730000049E-3;319.99999285E-3;
+;;;9.739999659E-3;319.99999285E-3;
+;;;9.749999270E-3;319.99999285E-3;
+;;;9.759999812E-3;319.99999285E-3;
+;;;9.769999422E-3;319.99999285E-3;
+;;;9.779999964E-3;239.99999464E-3;
+;;;9.789999574E-3;239.99999464E-3;
+;;;9.800000116E-3;239.99999464E-3;
+;;;9.809999727E-3;239.99999464E-3;
+;;;9.819999337E-3;239.99999464E-3;
+;;;9.829999879E-3;239.99999464E-3;
+;;;9.839999489E-3;239.99999464E-3;
+;;;9.850000031E-3;239.99999464E-3;
+;;;9.859999642E-3;239.99999464E-3;
+;;;9.869999252E-3;239.99999464E-3;
+;;;9.879999794E-3;239.99999464E-3;
+;;;9.889999405E-3;239.99999464E-3;
+;;;9.899999946E-3;159.99999642E-3;
+;;;9.909999557E-3;159.99999642E-3;
+;;;9.920000099E-3;159.99999642E-3;
+;;;9.929999709E-3;239.99999464E-3;
+;;;9.939999320E-3;239.99999464E-3;
+;;;9.949999861E-3;239.99999464E-3;
+;;;9.959999472E-3;239.99999464E-3;
+;;;9.970000014E-3;239.99999464E-3;
+;;;9.979999624E-3;319.99999285E-3;
+;;;9.989999235E-3;319.99999285E-3;
+;;;9.999999776E-3;239.99999464E-3;
+;;;10.0099994E-3;239.99999464E-3;
+;;;10.0199999E-3;239.99999464E-3;
+;;;10.0299995E-3;239.99999464E-3;
+;;;10.0400001E-3;319.99999285E-3;
+;;;10.0499997E-3;239.99999464E-3;
+;;;10.0599993E-3;239.99999464E-3;
+;;;10.0699998E-3;239.99999464E-3;
+;;;10.0799995E-3;159.99999642E-3;
+;;;10.0900000E-3;159.99999642E-3;
+;;;10.0999996E-3;79.999998212E-3;
+;;;10.1099992E-3;159.99999642E-3;
+;;;10.1199998E-3;159.99999642E-3;
+;;;10.1299994E-3;159.99999642E-3;
+;;;10.1399999E-3;159.99999642E-3;
+;;;10.1499995E-3;159.99999642E-3;
+;;;10.1600001E-3;159.99999642E-3;
+;;;10.1699997E-3;159.99999642E-3;
+;;;10.1799993E-3;159.99999642E-3;
+;;;10.1899998E-3;159.99999642E-3;
+;;;10.1999994E-3;159.99999642E-3;
+;;;10.2100000E-3;159.99999642E-3;
+;;;10.2199996E-3;159.99999642E-3;
+;;;10.2299992E-3;159.99999642E-3;
+;;;10.2399997E-3;239.99999464E-3;
+;;;10.2499994E-3;239.99999464E-3;
+;;;10.2599999E-3;159.99999642E-3;
+;;;10.2699995E-3;159.99999642E-3;
+;;;10.2800000E-3;159.99999642E-3;
+;;;10.2899997E-3;159.99999642E-3;
+;;;10.2999993E-3;159.99999642E-3;
+;;;10.3099998E-3;159.99999642E-3;
+;;;10.3199994E-3;79.999998212E-3;
+;;;10.3300000E-3;79.999998212E-3;
+;;;10.3399996E-3;0.0;
+;;;10.3499992E-3;0.0;
+;;;10.3599997E-3;0.0;
+;;;10.3699993E-3;0.0;
+;;;10.3799999E-3;0.0;
+;;;10.3899995E-3;0.0;
+;;;10.4000000E-3;-79.999998212E-3;
+;;;10.4099996E-3;0.0;
+;;;10.4199992E-3;0.0;
+;;;10.4299998E-3;0.0;
+;;;10.4399994E-3;0.0;
+;;;10.4499999E-3;0.0;
+;;;10.4599996E-3;-79.999998212E-3;
+;;;10.4700001E-3;0.0;
+;;;10.4799997E-3;-159.99999642E-3;
+;;;10.4899993E-3;-159.99999642E-3;
+;;;10.4999999E-3;-159.99999642E-3;
+;;;10.5099995E-3;-79.999998212E-3;
+;;;10.5200000E-3;-159.99999642E-3;
+;;;10.5299996E-3;-79.999998212E-3;
+;;;10.5399992E-3;-159.99999642E-3;
+;;;10.5499998E-3;-79.999998212E-3;
+;;;10.5599994E-3;-79.999998212E-3;
+;;;10.5699999E-3;-159.99999642E-3;
+;;;10.5799995E-3;-79.999998212E-3;
+;;;10.5900001E-3;-159.99999642E-3;
+;;;10.5999997E-3;-159.99999642E-3;
+;;;10.6099993E-3;-79.999998212E-3;
+;;;10.6199998E-3;0.0;
+;;;10.6299995E-3;-79.999998212E-3;
+;;;10.6400000E-3;-159.99999642E-3;
+;;;10.6499996E-3;-159.99999642E-3;
+;;;10.6599992E-3;-159.99999642E-3;
+;;;10.6699998E-3;-79.999998212E-3;
+;;;10.6799994E-3;-79.999998212E-3;
+;;;10.6899999E-3;-159.99999642E-3;
+;;;10.6999995E-3;-159.99999642E-3;
+;;;10.7100001E-3;-159.99999642E-3;
+;;;10.7199997E-3;-159.99999642E-3;
+;;;10.7299993E-3;-159.99999642E-3;
+;;;10.7399998E-3;-159.99999642E-3;
+;;;10.7499994E-3;-159.99999642E-3;
+;;;10.7600000E-3;-159.99999642E-3;
+;;;10.7699996E-3;-159.99999642E-3;
+;;;10.7799992E-3;-159.99999642E-3;
+;;;10.7899997E-3;-159.99999642E-3;
+;;;10.7999993E-3;-159.99999642E-3;
+;;;10.8099999E-3;-239.99999464E-3;
+;;;10.8199995E-3;-239.99999464E-3;
+;;;10.8300000E-3;-159.99999642E-3;
+;;;10.8399997E-3;-159.99999642E-3;
+;;;10.8499993E-3;-239.99999464E-3;
+;;;10.8599998E-3;-159.99999642E-3;
+;;;10.8699994E-3;-79.999998212E-3;
+;;;10.8800000E-3;-159.99999642E-3;
+;;;10.8899996E-3;-159.99999642E-3;
+;;;10.8999992E-3;-79.999998212E-3;
+;;;10.9099997E-3;-79.999998212E-3;
+;;;10.9199993E-3;-79.999998212E-3;
+;;;10.9299999E-3;-159.99999642E-3;
+;;;10.9399995E-3;-159.99999642E-3;
+;;;10.9500000E-3;-159.99999642E-3;
+;;;10.9599996E-3;-159.99999642E-3;
+;;;10.9699992E-3;-239.99999464E-3;
+;;;10.9799998E-3;-159.99999642E-3;
+;;;10.9899994E-3;-159.99999642E-3;
+;;;10.9999999E-3;-159.99999642E-3;
+;;;11.0099996E-3;-159.99999642E-3;
+;;;11.0199992E-3;-159.99999642E-3;
+;;;11.0299997E-3;-159.99999642E-3;
+;;;11.0399993E-3;-159.99999642E-3;
+;;;11.0499999E-3;-159.99999642E-3;
+;;;11.0599995E-3;-159.99999642E-3;
+;;;11.0700000E-3;-239.99999464E-3;
+;;;11.0799996E-3;-239.99999464E-3;
+;;;11.0899992E-3;-239.99999464E-3;
+;;;11.0999998E-3;-239.99999464E-3;
+;;;11.1099994E-3;-239.99999464E-3;
+;;;11.1199999E-3;-239.99999464E-3;
+;;;11.1299995E-3;-239.99999464E-3;
+;;;11.1400001E-3;-239.99999464E-3;
+;;;11.1499997E-3;-239.99999464E-3;
+;;;11.1599993E-3;-239.99999464E-3;
+;;;11.1699998E-3;-239.99999464E-3;
+;;;11.1799994E-3;-239.99999464E-3;
+;;;11.1900000E-3;-239.99999464E-3;
+;;;11.1999996E-3;-319.99999285E-3;
+;;;11.2099992E-3;-319.99999285E-3;
+;;;11.2199998E-3;-239.99999464E-3;
+;;;11.2299994E-3;-239.99999464E-3;
+;;;11.2399999E-3;-239.99999464E-3;
+;;;11.2499995E-3;-239.99999464E-3;
+;;;11.2600001E-3;-239.99999464E-3;
+;;;11.2699997E-3;-239.99999464E-3;
+;;;11.2799993E-3;-239.99999464E-3;
+;;;11.2899998E-3;-239.99999464E-3;
+;;;11.2999994E-3;-239.99999464E-3;
+;;;11.3100000E-3;-239.99999464E-3;
+;;;11.3199996E-3;-239.99999464E-3;
+;;;11.3299992E-3;-239.99999464E-3;
+;;;11.3399997E-3;-239.99999464E-3;
+;;;11.3499993E-3;-239.99999464E-3;
+;;;11.3599999E-3;-239.99999464E-3;
+;;;11.3699995E-3;-239.99999464E-3;
+;;;11.3800000E-3;-239.99999464E-3;
+;;;11.3899997E-3;-239.99999464E-3;
+;;;11.3999993E-3;-319.99999285E-3;
+;;;11.4099998E-3;-239.99999464E-3;
+;;;11.4199994E-3;-159.99999642E-3;
+;;;11.4300000E-3;-159.99999642E-3;
+;;;11.4399996E-3;-159.99999642E-3;
+;;;11.4499992E-3;-159.99999642E-3;
+;;;11.4599997E-3;-159.99999642E-3;
+;;;11.4699993E-3;-159.99999642E-3;
+;;;11.4799999E-3;-159.99999642E-3;
+;;;11.4899995E-3;-159.99999642E-3;
+;;;11.5000000E-3;-79.999998212E-3;
+;;;11.5099996E-3;-159.99999642E-3;
+;;;11.5199992E-3;-159.99999642E-3;
+;;;11.5299998E-3;-79.999998212E-3;
+;;;11.5399994E-3;-79.999998212E-3;
+;;;11.5499999E-3;-79.999998212E-3;
+;;;11.5599995E-3;-79.999998212E-3;
+;;;11.5699992E-3;-79.999998212E-3;
+;;;11.5799997E-3;-79.999998212E-3;
+;;;11.5899993E-3;0.0;
+;;;11.5999999E-3;0.0;
+;;;11.6099995E-3;-79.999998212E-3;
+;;;11.6200000E-3;-79.999998212E-3;
+;;;11.6299996E-3;-79.999998212E-3;
+;;;11.6399992E-3;-79.999998212E-3;
+;;;11.6499998E-3;0.0;
+;;;11.6599994E-3;-79.999998212E-3;
+;;;11.6699999E-3;-79.999998212E-3;
+;;;11.6799995E-3;0.0;
+;;;11.6900001E-3;0.0;
+;;;11.6999997E-3;0.0;
+;;;11.7099993E-3;0.0;
+;;;11.7199998E-3;79.999998212E-3;
+;;;11.7299994E-3;0.0;
+;;;11.7400000E-3;0.0;
+;;;11.7499996E-3;0.0;
+;;;11.7599992E-3;0.0;
+;;;11.7699997E-3;0.0;
+;;;11.7799994E-3;79.999998212E-3;
+;;;11.7899999E-3;79.999998212E-3;
+;;;11.7999995E-3;79.999998212E-3;
+;;;11.8100001E-3;79.999998212E-3;
+;;;11.8199997E-3;79.999998212E-3;
+;;;11.8299993E-3;159.99999642E-3;
+;;;11.8399998E-3;79.999998212E-3;
+;;;11.8499994E-3;159.99999642E-3;
+;;;11.8600000E-3;159.99999642E-3;
+;;;11.8699996E-3;79.999998212E-3;
+;;;11.8799992E-3;159.99999642E-3;
+;;;11.8899997E-3;159.99999642E-3;
+;;;11.8999993E-3;159.99999642E-3;
+;;;11.9099999E-3;159.99999642E-3;
+;;;11.9199995E-3;159.99999642E-3;
+;;;11.9300000E-3;159.99999642E-3;
+;;;11.9399996E-3;159.99999642E-3;
+;;;11.9499993E-3;159.99999642E-3;
+;;;11.9599998E-3;159.99999642E-3;
+;;;11.9699994E-3;159.99999642E-3;
+;;;11.9800000E-3;239.99999464E-3;
+;;;11.9899996E-3;159.99999642E-3;
+;;;11.9999992E-3;159.99999642E-3;
+;;;12.0099997E-3;159.99999642E-3;
+;;;12.0199993E-3;239.99999464E-3;
+;;;12.0299999E-3;159.99999642E-3;
+;;;12.0399995E-3;239.99999464E-3;
+;;;12.0500000E-3;239.99999464E-3;
+;;;12.0599996E-3;239.99999464E-3;
+;;;12.0699992E-3;239.99999464E-3;
+;;;12.0799998E-3;319.99999285E-3;
+;;;12.0899994E-3;319.99999285E-3;
+;;;12.0999999E-3;399.99997616E-3;
+;;;12.1099995E-3;319.99999285E-3;
+;;;12.1199992E-3;399.99997616E-3;
+;;;12.1299997E-3;319.99999285E-3;
+;;;12.1399993E-3;399.99997616E-3;
+;;;12.1499998E-3;399.99997616E-3;
+;;;12.1599995E-3;399.99997616E-3;
+;;;12.1700000E-3;399.99997616E-3;
+;;;12.1799996E-3;479.999989271E-3;
+;;;12.1899992E-3;479.999989271E-3;
+;;;12.1999998E-3;479.999989271E-3;
+;;;12.2099994E-3;399.99997616E-3;
+;;;12.2199999E-3;479.999989271E-3;
+;;;12.2299995E-3;479.999989271E-3;
+;;;12.2399991E-3;479.999989271E-3;
+;;;12.2499997E-3;479.999989271E-3;
+;;;12.2599993E-3;479.999989271E-3;
+;;;12.2699998E-3;399.99997616E-3;
+;;;12.2799994E-3;399.99997616E-3;
+;;;12.2900000E-3;399.99997616E-3;
+;;;12.2999996E-3;399.99997616E-3;
+;;;12.3099992E-3;399.99997616E-3;
+;;;12.3199997E-3;399.99997616E-3;
+;;;12.3299994E-3;399.99997616E-3;
+;;;12.3399999E-3;479.999989271E-3;
+;;;12.3499995E-3;479.999989271E-3;
+;;;12.3600001E-3;479.999989271E-3;
+;;;12.3699997E-3;479.999989271E-3;
+;;;12.3799993E-3;479.999989271E-3;
+;;;12.3899998E-3;399.99997616E-3;
+;;;12.3999994E-3;479.999989271E-3;
+;;;12.4100000E-3;479.999989271E-3;
+;;;12.4199996E-3;479.999989271E-3;
+;;;12.4299992E-3;399.99997616E-3;
+;;;12.4399997E-3;479.999989271E-3;
+;;;12.4499993E-3;479.999989271E-3;
+;;;12.4599999E-3;479.999989271E-3;
+;;;12.4699995E-3;479.999989271E-3;
+;;;12.4800000E-3;560.000002384E-3;
+;;;12.4899996E-3;560.000002384E-3;
+;;;12.4999993E-3;560.000002384E-3;
+;;;12.5099998E-3;560.000002384E-3;
+;;;12.5199994E-3;560.000002384E-3;
+;;;12.5299999E-3;560.000002384E-3;
+;;;12.5399996E-3;560.000002384E-3;
+;;;12.5499992E-3;560.000002384E-3;
+;;;12.5599997E-3;560.000002384E-3;
+;;;12.5699993E-3;560.000002384E-3;
+;;;12.5799999E-3;560.000002384E-3;
+;;;12.5899995E-3;560.000002384E-3;
+;;;12.6000000E-3;560.000002384E-3;
+;;;12.6099996E-3;560.000002384E-3;
+;;;12.6199992E-3;639.999985695E-3;
+;;;12.6299998E-3;560.000002384E-3;
+;;;12.6399994E-3;639.999985695E-3;
+;;;12.6499999E-3;639.999985695E-3;
+;;;12.6599995E-3;560.000002384E-3;
+;;;12.6699992E-3;560.000002384E-3;
+;;;12.6799997E-3;639.999985695E-3;
+;;;12.6899993E-3;639.999985695E-3;
+;;;12.6999998E-3;639.999985695E-3;
+;;;12.7099995E-3;639.999985695E-3;
+;;;12.7200000E-3;719.999969006E-3;
+;;;12.7299996E-3;719.999969006E-3;
+;;;12.7399992E-3;639.999985695E-3;
+;;;12.7499998E-3;639.999985695E-3;
+;;;12.7599994E-3;719.999969006E-3;
+;;;12.7699999E-3;719.999969006E-3;
+;;;12.7799995E-3;719.999969006E-3;
+;;;12.7899991E-3;719.999969006E-3;
+;;;12.7999997E-3;719.999969006E-3;
+;;;12.8099993E-3;719.999969006E-3;
+;;;12.8199998E-3;719.999969006E-3;
+;;;12.8299994E-3;719.999969006E-3;
+;;;12.8400000E-3;799.999952316E-3;
+;;;12.8499996E-3;799.999952316E-3;
+;;;12.8599992E-3;799.999952316E-3;
+;;;12.8699997E-3;799.999952316E-3;
+;;;12.8799994E-3;799.999952316E-3;
+;;;12.8899999E-3;799.999952316E-3;
+;;;12.8999995E-3;799.999952316E-3;
+;;;12.9099991E-3;799.999952316E-3;
+;;;12.9199997E-3;799.999952316E-3;
+;;;12.9299993E-3;799.999952316E-3;
+;;;12.9399998E-3;799.999952316E-3;
+;;;12.9499994E-3;799.999952316E-3;
+;;;12.9600000E-3;799.999952316E-3;
+;;;12.9699996E-3;879.999995232E-3;
+;;;12.9799992E-3;799.999952316E-3;
+;;;12.9899997E-3;799.999952316E-3;
+;;;12.9999993E-3;799.999952316E-3;
+;;;13.0099999E-3;799.999952316E-3;
+;;;13.0199995E-3;799.999952316E-3;
+;;;13.0300000E-3;799.999952316E-3;
+;;;13.0399996E-3;799.999952316E-3;
+;;;13.0499993E-3;799.999952316E-3;
+;;;13.0599998E-3;799.999952316E-3;
+;;;13.0699994E-3;719.999969006E-3;
+;;;13.0799999E-3;719.999969006E-3;
+;;;13.0899996E-3;799.999952316E-3;
+;;;13.0999992E-3;719.999969006E-3;
+;;;13.1099997E-3;799.999952316E-3;
+;;;13.1199993E-3;799.999952316E-3;
+;;;13.1299999E-3;719.999969006E-3;
+;;;13.1399995E-3;719.999969006E-3;
+;;;13.1500000E-3;719.999969006E-3;
+;;;13.1599996E-3;719.999969006E-3;
+;;;13.1699992E-3;719.999969006E-3;
+;;;13.1799998E-3;719.999969006E-3;
+;;;13.1899994E-3;639.999985695E-3;
+;;;13.1999999E-3;639.999985695E-3;
+;;;13.2099995E-3;639.999985695E-3;
+;;;13.2199991E-3;639.999985695E-3;
+;;;13.2299997E-3;560.000002384E-3;
+;;;13.2399993E-3;560.000002384E-3;
+;;;13.2499998E-3;639.999985695E-3;
+;;;13.2599995E-3;560.000002384E-3;
+;;;13.2700000E-3;479.999989271E-3;
+;;;13.2799996E-3;560.000002384E-3;
+;;;13.2899992E-3;479.999989271E-3;
+;;;13.2999998E-3;560.000002384E-3;
+;;;13.3099994E-3;560.000002384E-3;
+;;;13.3199999E-3;479.999989271E-3;
+;;;13.3299995E-3;560.000002384E-3;
+;;;13.3399991E-3;560.000002384E-3;
+;;;13.3499997E-3;560.000002384E-3;
+;;;13.3599993E-3;560.000002384E-3;
+;;;13.3699998E-3;560.000002384E-3;
+;;;13.3799994E-3;560.000002384E-3;
+;;;13.3900000E-3;560.000002384E-3;
+;;;13.3999996E-3;639.999985695E-3;
+;;;13.4099992E-3;639.999985695E-3;
+;;;13.4199997E-3;639.999985695E-3;
+;;;13.4299994E-3;639.999985695E-3;
+;;;13.4399999E-3;639.999985695E-3;
+;;;13.4499995E-3;719.999969006E-3;
+;;;13.4599991E-3;719.999969006E-3;
+;;;13.4699997E-3;719.999969006E-3;
+;;;13.4799993E-3;719.999969006E-3;
+;;;13.4899998E-3;719.999969006E-3;
+;;;13.4999994E-3;719.999969006E-3;
+;;;13.5100000E-3;719.999969006E-3;
+;;;13.5199996E-3;719.999969006E-3;
+;;;13.5299992E-3;719.999969006E-3;
+;;;13.5399997E-3;719.999969006E-3;
+;;;13.5499993E-3;639.999985695E-3;
+;;;13.5599999E-3;639.999985695E-3;
+;;;13.5699995E-3;639.999985695E-3;
+;;;13.5800000E-3;639.999985695E-3;
+;;;13.5899996E-3;639.999985695E-3;
+;;;13.5999992E-3;639.999985695E-3;
+;;;13.6099998E-3;560.000002384E-3;
+;;;13.6199994E-3;639.999985695E-3;
+;;;13.6299999E-3;560.000002384E-3;
+;;;13.6399996E-3;560.000002384E-3;
+;;;13.6499992E-3;560.000002384E-3;
+;;;13.6599997E-3;560.000002384E-3;
+;;;13.6699993E-3;560.000002384E-3;
+;;;13.6799999E-3;560.000002384E-3;
+;;;13.6899995E-3;560.000002384E-3;
+;;;13.7000000E-3;560.000002384E-3;
+;;;13.7099996E-3;560.000002384E-3;
+;;;13.7199992E-3;639.999985695E-3;
+;;;13.7299998E-3;639.999985695E-3;
+;;;13.7399994E-3;639.999985695E-3;
+;;;13.7499999E-3;639.999985695E-3;
+;;;13.7599995E-3;719.999969006E-3;
+;;;13.7699991E-3;719.999969006E-3;
+;;;13.7799997E-3;719.999969006E-3;
+;;;13.7899993E-3;719.999969006E-3;
+;;;13.7999998E-3;719.999969006E-3;
+;;;13.8099995E-3;719.999969006E-3;
+;;;13.8200000E-3;719.999969006E-3;
+;;;13.8299996E-3;719.999969006E-3;
+;;;13.8399992E-3;799.999952316E-3;
+;;;13.8499998E-3;719.999969006E-3;
+;;;13.8599994E-3;719.999969006E-3;
+;;;13.8699999E-3;799.999952316E-3;
+;;;13.8799995E-3;719.999969006E-3;
+;;;13.8899991E-3;719.999969006E-3;
+;;;13.8999997E-3;719.999969006E-3;
+;;;13.9099993E-3;719.999969006E-3;
+;;;13.9199998E-3;719.999969006E-3;
+;;;13.9299994E-3;719.999969006E-3;
+;;;13.9400000E-3;639.999985695E-3;
+;;;13.9499996E-3;639.999985695E-3;
+;;;13.9599992E-3;639.999985695E-3;
+;;;13.9699997E-3;560.000002384E-3;
+;;;13.9799993E-3;639.999985695E-3;
+;;;13.9899999E-3;560.000002384E-3;
+;;;13.9999995E-3;560.000002384E-3;
+;;;14.0099991E-3;479.999989271E-3;
+;;;14.0199997E-3;479.999989271E-3;
+;;;14.0299993E-3;479.999989271E-3;
+;;;14.0399998E-3;479.999989271E-3;
+;;;14.0499994E-3;560.000002384E-3;
+;;;14.0600000E-3;479.999989271E-3;
+;;;14.0699996E-3;479.999989271E-3;
+;;;14.0799992E-3;479.999989271E-3;
+;;;14.0899997E-3;479.999989271E-3;
+;;;14.0999993E-3;399.99997616E-3;
+;;;14.1099999E-3;399.99997616E-3;
+;;;14.1199995E-3;399.99997616E-3;
+;;;14.1299991E-3;399.99997616E-3;
+;;;14.1399996E-3;399.99997616E-3;
+;;;14.1499992E-3;319.99999285E-3;
+;;;14.1599998E-3;319.99999285E-3;
+;;;14.1699994E-3;239.99999464E-3;
+;;;14.1799999E-3;239.99999464E-3;
+;;;14.1899996E-3;239.99999464E-3;
+;;;14.1999992E-3;159.99999642E-3;
+;;;14.2099997E-3;159.99999642E-3;
+;;;14.2199993E-3;159.99999642E-3;
+;;;14.2299999E-3;159.99999642E-3;
+;;;14.2399995E-3;159.99999642E-3;
+;;;14.2500000E-3;159.99999642E-3;
diff --git a/doc/data/piezo-filter-1/piezo-filter-waveform-raw-ch2.csv b/doc/data/piezo-filter-1/piezo-filter-waveform-raw-ch2.csv
new file mode 100644
index 0000000..9da17a8
--- /dev/null
+++ b/doc/data/piezo-filter-1/piezo-filter-waveform-raw-ch2.csv
@@ -0,0 +1,2500 @@
+Record Length;2500;Points;-10.7399998E-3;0.0;
+Sample Interval;9.999999747E-6;s;-10.7300002E-3;0.0;
+Trigger Point;1.0740001E3;Samples;-10.7199997E-3;0.0;
+;;;-10.7100001E-3;79.999998212E-3;
+;;;-10.6999995E-3;0.0;
+;;;-10.6899999E-3;79.999998212E-3;
+Source;CH2;;-10.6799994E-3;0.0;
+Vertical Units;Volts;;-10.6699998E-3;0.0;
+Vertical Scale;2.0000000;;-10.6600001E-3;0.0;
+Vertical Offset;0;;-10.6499996E-3;79.999998212E-3;
+Horizontal Units;s;;-10.6400000E-3;79.999998212E-3;
+Horizontal Scale;2.4999999E-3;;-10.6299995E-3;79.999998212E-3;
+Pt Fmt;Y;;-10.6199998E-3;0.0;
+Yzero;0.0;;-10.6100002E-3;79.999998212E-3;
+Probe Atten;1.000000;;-10.5999997E-3;0.0;
+;;;-10.5900001E-3;0.0;
+Note;TDS 2024C - 14:39:34 23.02.2018;;-10.5799995E-3;0.0;
+;;;-10.5699999E-3;0.0;
+;;;-10.5599994E-3;0.0;
+;;;-10.5499998E-3;79.999998212E-3;
+;;;-10.5400002E-3;79.999998212E-3;
+;;;-10.5299996E-3;79.999998212E-3;
+;;;-10.5200000E-3;0.0;
+;;;-10.5099995E-3;0.0;
+;;;-10.4999999E-3;0.0;
+;;;-10.4900002E-3;0.0;
+;;;-10.4799997E-3;79.999998212E-3;
+;;;-10.4700001E-3;79.999998212E-3;
+;;;-10.4599996E-3;0.0;
+;;;-10.4499999E-3;79.999998212E-3;
+;;;-10.4399994E-3;0.0;
+;;;-10.4299998E-3;0.0;
+;;;-10.4200002E-3;79.999998212E-3;
+;;;-10.4099996E-3;0.0;
+;;;-10.4000000E-3;79.999998212E-3;
+;;;-10.3899995E-3;0.0;
+;;;-10.3799999E-3;0.0;
+;;;-10.3700003E-3;0.0;
+;;;-10.3599997E-3;79.999998212E-3;
+;;;-10.3500001E-3;0.0;
+;;;-10.3399996E-3;79.999998212E-3;
+;;;-10.3300000E-3;79.999998212E-3;
+;;;-10.3199994E-3;0.0;
+;;;-10.3099998E-3;0.0;
+;;;-10.3000002E-3;0.0;
+;;;-10.2899997E-3;79.999998212E-3;
+;;;-10.2800000E-3;0.0;
+;;;-10.2699995E-3;0.0;
+;;;-10.2599999E-3;79.999998212E-3;
+;;;-10.2500003E-3;0.0;
+;;;-10.2399997E-3;0.0;
+;;;-10.2300001E-3;0.0;
+;;;-10.2199996E-3;0.0;
+;;;-10.2100000E-3;0.0;
+;;;-10.1999994E-3;0.0;
+;;;-10.1899998E-3;0.0;
+;;;-10.1800002E-3;0.0;
+;;;-10.1699997E-3;79.999998212E-3;
+;;;-10.1600001E-3;0.0;
+;;;-10.1499995E-3;0.0;
+;;;-10.1399999E-3;79.999998212E-3;
+;;;-10.1300003E-3;0.0;
+;;;-10.1199998E-3;0.0;
+;;;-10.1100001E-3;0.0;
+;;;-10.0999996E-3;79.999998212E-3;
+;;;-10.0900000E-3;0.0;
+;;;-10.0799995E-3;79.999998212E-3;
+;;;-10.0699998E-3;79.999998212E-3;
+;;;-10.0600002E-3;79.999998212E-3;
+;;;-10.0499997E-3;0.0;
+;;;-10.0400001E-3;79.999998212E-3;
+;;;-10.0299995E-3;0.0;
+;;;-10.0199999E-3;0.0;
+;;;-10.0099994E-3;79.999998212E-3;
+;;;-9.999999776E-3;0.0;
+;;;-9.990000166E-3;79.999998212E-3;
+;;;-9.979999624E-3;79.999998212E-3;
+;;;-9.970000014E-3;79.999998212E-3;
+;;;-9.959999472E-3;0.0;
+;;;-9.949999861E-3;0.0;
+;;;-9.940000251E-3;0.0;
+;;;-9.929999709E-3;79.999998212E-3;
+;;;-9.920000099E-3;0.0;
+;;;-9.909999557E-3;0.0;
+;;;-9.899999946E-3;79.999998212E-3;
+;;;-9.889999405E-3;79.999998212E-3;
+;;;-9.879999794E-3;79.999998212E-3;
+;;;-9.870000184E-3;79.999998212E-3;
+;;;-9.859999642E-3;0.0;
+;;;-9.850000031E-3;0.0;
+;;;-9.839999489E-3;0.0;
+;;;-9.829999879E-3;0.0;
+;;;-9.820000269E-3;0.0;
+;;;-9.809999727E-3;79.999998212E-3;
+;;;-9.800000116E-3;79.999998212E-3;
+;;;-9.789999574E-3;79.999998212E-3;
+;;;-9.779999964E-3;0.0;
+;;;-9.769999422E-3;79.999998212E-3;
+;;;-9.759999812E-3;0.0;
+;;;-9.750000201E-3;0.0;
+;;;-9.739999659E-3;0.0;
+;;;-9.730000049E-3;79.999998212E-3;
+;;;-9.719999507E-3;0.0;
+;;;-9.709999897E-3;0.0;
+;;;-9.700000286E-3;79.999998212E-3;
+;;;-9.689999744E-3;79.999998212E-3;
+;;;-9.680000134E-3;0.0;
+;;;-9.669999592E-3;79.999998212E-3;
+;;;-9.659999982E-3;0.0;
+;;;-9.649999440E-3;0.0;
+;;;-9.639999829E-3;79.999998212E-3;
+;;;-9.630000219E-3;0.0;
+;;;-9.619999677E-3;79.999998212E-3;
+;;;-9.610000066E-3;0.0;
+;;;-9.599999525E-3;0.0;
+;;;-9.589999914E-3;0.0;
+;;;-9.580000304E-3;0.0;
+;;;-9.569999762E-3;79.999998212E-3;
+;;;-9.560000151E-3;0.0;
+;;;-9.549999610E-3;79.999998212E-3;
+;;;-9.539999999E-3;0.0;
+;;;-9.529999457E-3;79.999998212E-3;
+;;;-9.519999847E-3;0.0;
+;;;-9.510000236E-3;79.999998212E-3;
+;;;-9.499999695E-3;0.0;
+;;;-9.490000084E-3;79.999998212E-3;
+;;;-9.479999542E-3;0.0;
+;;;-9.469999932E-3;0.0;
+;;;-9.460000321E-3;0.0;
+;;;-9.449999779E-3;79.999998212E-3;
+;;;-9.440000169E-3;0.0;
+;;;-9.429999627E-3;79.999998212E-3;
+;;;-9.420000017E-3;0.0;
+;;;-9.409999475E-3;0.0;
+;;;-9.399999864E-3;0.0;
+;;;-9.390000254E-3;79.999998212E-3;
+;;;-9.379999712E-3;79.999998212E-3;
+;;;-9.370000102E-3;0.0;
+;;;-9.359999560E-3;0.0;
+;;;-9.349999949E-3;0.0;
+;;;-9.339999408E-3;0.0;
+;;;-9.329999797E-3;79.999998212E-3;
+;;;-9.320000187E-3;0.0;
+;;;-9.309999645E-3;0.0;
+;;;-9.300000034E-3;0.0;
+;;;-9.289999492E-3;0.0;
+;;;-9.279999882E-3;0.0;
+;;;-9.270000271E-3;0.0;
+;;;-9.259999730E-3;0.0;
+;;;-9.250000119E-3;79.999998212E-3;
+;;;-9.239999577E-3;79.999998212E-3;
+;;;-9.229999967E-3;79.999998212E-3;
+;;;-9.219999425E-3;0.0;
+;;;-9.209999815E-3;0.0;
+;;;-9.200000204E-3;0.0;
+;;;-9.189999662E-3;0.0;
+;;;-9.180000052E-3;0.0;
+;;;-9.169999510E-3;79.999998212E-3;
+;;;-9.159999900E-3;0.0;
+;;;-9.150000289E-3;0.0;
+;;;-9.139999747E-3;0.0;
+;;;-9.130000137E-3;79.999998212E-3;
+;;;-9.119999595E-3;0.0;
+;;;-9.109999985E-3;0.0;
+;;;-9.099999443E-3;0.0;
+;;;-9.089999832E-3;79.999998212E-3;
+;;;-9.080000222E-3;0.0;
+;;;-9.069999680E-3;0.0;
+;;;-9.060000069E-3;0.0;
+;;;-9.049999528E-3;0.0;
+;;;-9.039999917E-3;79.999998212E-3;
+;;;-9.030000307E-3;0.0;
+;;;-9.019999765E-3;159.99999642E-3;
+;;;-9.010000154E-3;79.999998212E-3;
+;;;-8.999999613E-3;0.0;
+;;;-8.990000002E-3;79.999998212E-3;
+;;;-8.979999460E-3;0.0;
+;;;-8.969999850E-3;0.0;
+;;;-8.960000239E-3;0.0;
+;;;-8.949999698E-3;79.999998212E-3;
+;;;-8.940000087E-3;0.0;
+;;;-8.929999545E-3;0.0;
+;;;-8.919999935E-3;79.999998212E-3;
+;;;-8.910000324E-3;0.0;
+;;;-8.899999782E-3;0.0;
+;;;-8.890000172E-3;0.0;
+;;;-8.879999630E-3;79.999998212E-3;
+;;;-8.870000020E-3;0.0;
+;;;-8.859999478E-3;79.999998212E-3;
+;;;-8.849999867E-3;0.0;
+;;;-8.840000257E-3;79.999998212E-3;
+;;;-8.829999715E-3;79.999998212E-3;
+;;;-8.820000105E-3;0.0;
+;;;-8.809999563E-3;0.0;
+;;;-8.799999952E-3;0.0;
+;;;-8.789999411E-3;79.999998212E-3;
+;;;-8.779999800E-3;79.999998212E-3;
+;;;-8.770000190E-3;0.0;
+;;;-8.759999648E-3;79.999998212E-3;
+;;;-8.750000037E-3;79.999998212E-3;
+;;;-8.739999495E-3;0.0;
+;;;-8.729999885E-3;0.0;
+;;;-8.720000274E-3;0.0;
+;;;-8.709999733E-3;79.999998212E-3;
+;;;-8.700000122E-3;0.0;
+;;;-8.689999580E-3;0.0;
+;;;-8.679999970E-3;0.0;
+;;;-8.669999428E-3;0.0;
+;;;-8.659999818E-3;0.0;
+;;;-8.650000207E-3;0.0;
+;;;-8.639999665E-3;0.0;
+;;;-8.630000055E-3;79.999998212E-3;
+;;;-8.619999513E-3;0.0;
+;;;-8.609999903E-3;79.999998212E-3;
+;;;-8.600000292E-3;0.0;
+;;;-8.589999750E-3;79.999998212E-3;
+;;;-8.580000140E-3;0.0;
+;;;-8.569999598E-3;0.0;
+;;;-8.559999987E-3;79.999998212E-3;
+;;;-8.549999446E-3;79.999998212E-3;
+;;;-8.539999835E-3;0.0;
+;;;-8.530000225E-3;79.999998212E-3;
+;;;-8.519999683E-3;0.0;
+;;;-8.510000072E-3;79.999998212E-3;
+;;;-8.499999531E-3;0.0;
+;;;-8.489999920E-3;0.0;
+;;;-8.480000310E-3;0.0;
+;;;-8.469999768E-3;0.0;
+;;;-8.460000157E-3;0.0;
+;;;-8.449999616E-3;0.0;
+;;;-8.440000005E-3;79.999998212E-3;
+;;;-8.429999463E-3;0.0;
+;;;-8.419999853E-3;79.999998212E-3;
+;;;-8.410000242E-3;79.999998212E-3;
+;;;-8.399999700E-3;0.0;
+;;;-8.390000090E-3;0.0;
+;;;-8.379999548E-3;0.0;
+;;;-8.369999938E-3;79.999998212E-3;
+;;;-8.360000327E-3;0.0;
+;;;-8.349999785E-3;79.999998212E-3;
+;;;-8.340000175E-3;0.0;
+;;;-8.329999633E-3;79.999998212E-3;
+;;;-8.320000023E-3;79.999998212E-3;
+;;;-8.309999481E-3;79.999998212E-3;
+;;;-8.299999870E-3;79.999998212E-3;
+;;;-8.290000260E-3;79.999998212E-3;
+;;;-8.279999718E-3;79.999998212E-3;
+;;;-8.270000108E-3;0.0;
+;;;-8.259999566E-3;0.0;
+;;;-8.249999955E-3;0.0;
+;;;-8.240000345E-3;0.0;
+;;;-8.229999803E-3;0.0;
+;;;-8.220000193E-3;0.0;
+;;;-8.209999651E-3;79.999998212E-3;
+;;;-8.200000040E-3;0.0;
+;;;-8.189999498E-3;79.999998212E-3;
+;;;-8.179999888E-3;79.999998212E-3;
+;;;-8.170000277E-3;0.0;
+;;;-8.159999736E-3;0.0;
+;;;-8.150000125E-3;79.999998212E-3;
+;;;-8.139999583E-3;0.0;
+;;;-8.129999973E-3;79.999998212E-3;
+;;;-8.119999431E-3;0.0;
+;;;-8.109999821E-3;0.0;
+;;;-8.100000210E-3;0.0;
+;;;-8.089999668E-3;79.999998212E-3;
+;;;-8.080000058E-3;0.0;
+;;;-8.069999516E-3;0.0;
+;;;-8.059999906E-3;0.0;
+;;;-8.050000295E-3;0.0;
+;;;-8.039999753E-3;0.0;
+;;;-8.030000143E-3;0.0;
+;;;-8.019999601E-3;79.999998212E-3;
+;;;-8.009999990E-3;0.0;
+;;;-7.999999449E-3;0.0;
+;;;-7.989999838E-3;0.0;
+;;;-7.980000228E-3;0.0;
+;;;-7.969999686E-3;79.999998212E-3;
+;;;-7.960000075E-3;79.999998212E-3;
+;;;-7.949999534E-3;0.0;
+;;;-7.939999923E-3;79.999998212E-3;
+;;;-7.930000313E-3;0.0;
+;;;-7.919999771E-3;0.0;
+;;;-7.910000160E-3;79.999998212E-3;
+;;;-7.899999619E-3;79.999998212E-3;
+;;;-7.890000008E-3;79.999998212E-3;
+;;;-7.879999466E-3;0.0;
+;;;-7.869999856E-3;0.0;
+;;;-7.860000245E-3;0.0;
+;;;-7.849999703E-3;79.999998212E-3;
+;;;-7.840000093E-3;0.0;
+;;;-7.829999551E-3;0.0;
+;;;-7.819999941E-3;79.999998212E-3;
+;;;-7.809999865E-3;0.0;
+;;;-7.799999788E-3;0.0;
+;;;-7.789999712E-3;0.0;
+;;;-7.780000102E-3;0.0;
+;;;-7.770000026E-3;0.0;
+;;;-7.759999949E-3;0.0;
+;;;-7.749999873E-3;0.0;
+;;;-7.739999797E-3;79.999998212E-3;
+;;;-7.729999721E-3;79.999998212E-3;
+;;;-7.720000111E-3;0.0;
+;;;-7.710000034E-3;0.0;
+;;;-7.699999958E-3;79.999998212E-3;
+;;;-7.689999882E-3;0.0;
+;;;-7.679999806E-3;0.0;
+;;;-7.669999730E-3;0.0;
+;;;-7.660000119E-3;0.0;
+;;;-7.650000043E-3;79.999998212E-3;
+;;;-7.639999967E-3;0.0;
+;;;-7.629999891E-3;79.999998212E-3;
+;;;-7.619999815E-3;0.0;
+;;;-7.609999739E-3;79.999998212E-3;
+;;;-7.600000128E-3;0.0;
+;;;-7.590000052E-3;0.0;
+;;;-7.579999976E-3;0.0;
+;;;-7.569999900E-3;0.0;
+;;;-7.559999824E-3;79.999998212E-3;
+;;;-7.549999747E-3;79.999998212E-3;
+;;;-7.539999671E-3;0.0;
+;;;-7.530000061E-3;0.0;
+;;;-7.519999985E-3;0.0;
+;;;-7.509999909E-3;0.0;
+;;;-7.499999832E-3;79.999998212E-3;
+;;;-7.489999756E-3;0.0;
+;;;-7.479999680E-3;79.999998212E-3;
+;;;-7.470000070E-3;79.999998212E-3;
+;;;-7.459999993E-3;0.0;
+;;;-7.449999917E-3;79.999998212E-3;
+;;;-7.439999841E-3;79.999998212E-3;
+;;;-7.429999765E-3;79.999998212E-3;
+;;;-7.419999689E-3;79.999998212E-3;
+;;;-7.410000078E-3;0.0;
+;;;-7.400000002E-3;79.999998212E-3;
+;;;-7.389999926E-3;79.999998212E-3;
+;;;-7.37999985E-3;0.0;
+;;;-7.36999977E-3;0.0;
+;;;-7.35999970E-3;79.999998212E-3;
+;;;-7.35000009E-3;0.0;
+;;;-7.34000001E-3;0.0;
+;;;-7.32999993E-3;0.0;
+;;;-7.31999986E-3;79.999998212E-3;
+;;;-7.30999978E-3;0.0;
+;;;-7.29999971E-3;79.999998212E-3;
+;;;-7.29000010E-3;79.999998212E-3;
+;;;-7.28000002E-3;79.999998212E-3;
+;;;-7.26999994E-3;79.999998212E-3;
+;;;-7.25999987E-3;79.999998212E-3;
+;;;-7.24999979E-3;0.0;
+;;;-7.23999972E-3;0.0;
+;;;-7.23000010E-3;79.999998212E-3;
+;;;-7.22000003E-3;0.0;
+;;;-7.20999995E-3;79.999998212E-3;
+;;;-7.19999988E-3;79.999998212E-3;
+;;;-7.18999980E-3;0.0;
+;;;-7.17999972E-3;0.0;
+;;;-7.17000011E-3;79.999998212E-3;
+;;;-7.16000004E-3;79.999998212E-3;
+;;;-7.14999996E-3;0.0;
+;;;-7.13999989E-3;79.999998212E-3;
+;;;-7.12999981E-3;0.0;
+;;;-7.11999973E-3;0.0;
+;;;-7.11000012E-3;0.0;
+;;;-7.10000005E-3;79.999998212E-3;
+;;;-7.08999997E-3;0.0;
+;;;-7.07999989E-3;79.999998212E-3;
+;;;-7.06999982E-3;0.0;
+;;;-7.05999974E-3;0.0;
+;;;-7.05000013E-3;0.0;
+;;;-7.04000005E-3;0.0;
+;;;-7.02999998E-3;79.999998212E-3;
+;;;-7.01999990E-3;79.999998212E-3;
+;;;-7.00999983E-3;0.0;
+;;;-6.99999975E-3;79.999998212E-3;
+;;;-6.99000014E-3;0.0;
+;;;-6.98000006E-3;0.0;
+;;;-6.96999999E-3;79.999998212E-3;
+;;;-6.95999991E-3;0.0;
+;;;-6.94999984E-3;0.0;
+;;;-6.93999976E-3;79.999998212E-3;
+;;;-6.93000015E-3;0.0;
+;;;-6.92000007E-3;0.0;
+;;;-6.91000000E-3;79.999998212E-3;
+;;;-6.89999992E-3;79.999998212E-3;
+;;;-6.88999984E-3;79.999998212E-3;
+;;;-6.87999977E-3;79.999998212E-3;
+;;;-6.86999969E-3;0.0;
+;;;-6.86000008E-3;0.0;
+;;;-6.85000001E-3;0.0;
+;;;-6.83999993E-3;0.0;
+;;;-6.82999985E-3;79.999998212E-3;
+;;;-6.81999978E-3;0.0;
+;;;-6.80999970E-3;79.999998212E-3;
+;;;-6.80000009E-3;79.999998212E-3;
+;;;-6.79000001E-3;0.0;
+;;;-6.77999994E-3;0.0;
+;;;-6.76999986E-3;79.999998212E-3;
+;;;-6.75999979E-3;79.999998212E-3;
+;;;-6.74999971E-3;0.0;
+;;;-6.74000010E-3;79.999998212E-3;
+;;;-6.73000002E-3;0.0;
+;;;-6.71999995E-3;79.999998212E-3;
+;;;-6.70999987E-3;79.999998212E-3;
+;;;-6.69999979E-3;79.999998212E-3;
+;;;-6.68999972E-3;79.999998212E-3;
+;;;-6.68000011E-3;79.999998212E-3;
+;;;-6.67000003E-3;79.999998212E-3;
+;;;-6.65999996E-3;79.999998212E-3;
+;;;-6.64999988E-3;79.999998212E-3;
+;;;-6.63999980E-3;0.0;
+;;;-6.62999973E-3;79.999998212E-3;
+;;;-6.62000012E-3;0.0;
+;;;-6.61000004E-3;0.0;
+;;;-6.59999996E-3;79.999998212E-3;
+;;;-6.58999989E-3;0.0;
+;;;-6.57999981E-3;79.999998212E-3;
+;;;-6.56999974E-3;0.0;
+;;;-6.56000013E-3;0.0;
+;;;-6.55000005E-3;0.0;
+;;;-6.53999997E-3;79.999998212E-3;
+;;;-6.52999990E-3;0.0;
+;;;-6.51999982E-3;79.999998212E-3;
+;;;-6.50999974E-3;79.999998212E-3;
+;;;-6.50000013E-3;0.0;
+;;;-6.49000006E-3;79.999998212E-3;
+;;;-6.47999998E-3;0.0;
+;;;-6.46999991E-3;79.999998212E-3;
+;;;-6.45999983E-3;0.0;
+;;;-6.44999975E-3;0.0;
+;;;-6.44000014E-3;0.0;
+;;;-6.43000007E-3;79.999998212E-3;
+;;;-6.41999999E-3;79.999998212E-3;
+;;;-6.40999991E-3;0.0;
+;;;-6.39999984E-3;79.999998212E-3;
+;;;-6.38999976E-3;79.999998212E-3;
+;;;-6.38000015E-3;0.0;
+;;;-6.37000008E-3;0.0;
+;;;-6.36000000E-3;79.999998212E-3;
+;;;-6.34999992E-3;79.999998212E-3;
+;;;-6.33999985E-3;79.999998212E-3;
+;;;-6.32999977E-3;0.0;
+;;;-6.32000016E-3;79.999998212E-3;
+;;;-6.31000008E-3;0.0;
+;;;-6.30000001E-3;0.0;
+;;;-6.28999993E-3;0.0;
+;;;-6.27999986E-3;0.0;
+;;;-6.26999978E-3;79.999998212E-3;
+;;;-6.26000017E-3;0.0;
+;;;-6.25000009E-3;79.999998212E-3;
+;;;-6.24000002E-3;79.999998212E-3;
+;;;-6.22999994E-3;79.999998212E-3;
+;;;-6.21999986E-3;0.0;
+;;;-6.20999979E-3;0.0;
+;;;-6.19999971E-3;0.0;
+;;;-6.19000010E-3;79.999998212E-3;
+;;;-6.18000003E-3;79.999998212E-3;
+;;;-6.16999995E-3;0.0;
+;;;-6.15999987E-3;79.999998212E-3;
+;;;-6.14999980E-3;79.999998212E-3;
+;;;-6.13999972E-3;79.999998212E-3;
+;;;-6.13000011E-3;79.999998212E-3;
+;;;-6.12000003E-3;0.0;
+;;;-6.10999996E-3;79.999998212E-3;
+;;;-6.09999988E-3;79.999998212E-3;
+;;;-6.08999981E-3;0.0;
+;;;-6.07999973E-3;0.0;
+;;;-6.07000012E-3;79.999998212E-3;
+;;;-6.06000004E-3;0.0;
+;;;-6.04999997E-3;0.0;
+;;;-6.03999989E-3;79.999998212E-3;
+;;;-6.02999981E-3;0.0;
+;;;-6.01999974E-3;79.999998212E-3;
+;;;-6.01000013E-3;79.999998212E-3;
+;;;-6.00000005E-3;79.999998212E-3;
+;;;-5.98999998E-3;0.0;
+;;;-5.97999990E-3;79.999998212E-3;
+;;;-5.96999982E-3;0.0;
+;;;-5.95999975E-3;79.999998212E-3;
+;;;-5.95000014E-3;79.999998212E-3;
+;;;-5.94000006E-3;79.999998212E-3;
+;;;-5.92999998E-3;0.0;
+;;;-5.91999991E-3;79.999998212E-3;
+;;;-5.90999983E-3;79.999998212E-3;
+;;;-5.89999976E-3;79.999998212E-3;
+;;;-5.89000015E-3;79.999998212E-3;
+;;;-5.88000007E-3;0.0;
+;;;-5.86999999E-3;79.999998212E-3;
+;;;-5.85999992E-3;79.999998212E-3;
+;;;-5.84999984E-3;79.999998212E-3;
+;;;-5.83999977E-3;79.999998212E-3;
+;;;-5.83000015E-3;79.999998212E-3;
+;;;-5.82000008E-3;0.0;
+;;;-5.81000000E-3;79.999998212E-3;
+;;;-5.79999993E-3;0.0;
+;;;-5.78999985E-3;0.0;
+;;;-5.77999977E-3;79.999998212E-3;
+;;;-5.77000016E-3;0.0;
+;;;-5.76000009E-3;79.999998212E-3;
+;;;-5.75000001E-3;0.0;
+;;;-5.73999994E-3;0.0;
+;;;-5.72999986E-3;0.0;
+;;;-5.71999978E-3;79.999998212E-3;
+;;;-5.71000017E-3;0.0;
+;;;-5.70000010E-3;79.999998212E-3;
+;;;-5.69000002E-3;0.0;
+;;;-5.67999994E-3;79.999998212E-3;
+;;;-5.66999987E-3;0.0;
+;;;-5.65999979E-3;0.0;
+;;;-5.65000018E-3;0.0;
+;;;-5.64000010E-3;0.0;
+;;;-5.63000003E-3;0.0;
+;;;-5.61999995E-3;0.0;
+;;;-5.60999988E-3;79.999998212E-3;
+;;;-5.59999980E-3;79.999998212E-3;
+;;;-5.58999972E-3;79.999998212E-3;
+;;;-5.58000011E-3;0.0;
+;;;-5.57000004E-3;79.999998212E-3;
+;;;-5.55999996E-3;0.0;
+;;;-5.54999989E-3;0.0;
+;;;-5.53999981E-3;0.0;
+;;;-5.52999973E-3;0.0;
+;;;-5.52000012E-3;0.0;
+;;;-5.51000005E-3;79.999998212E-3;
+;;;-5.49999997E-3;79.999998212E-3;
+;;;-5.48999989E-3;0.0;
+;;;-5.47999982E-3;79.999998212E-3;
+;;;-5.46999974E-3;79.999998212E-3;
+;;;-5.46000013E-3;0.0;
+;;;-5.45000006E-3;79.999998212E-3;
+;;;-5.43999998E-3;0.0;
+;;;-5.42999990E-3;79.999998212E-3;
+;;;-5.41999983E-3;0.0;
+;;;-5.40999975E-3;79.999998212E-3;
+;;;-5.40000014E-3;0.0;
+;;;-5.39000006E-3;79.999998212E-3;
+;;;-5.37999999E-3;0.0;
+;;;-5.36999991E-3;79.999998212E-3;
+;;;-5.35999984E-3;0.0;
+;;;-5.34999976E-3;0.0;
+;;;-5.34000015E-3;79.999998212E-3;
+;;;-5.33000007E-3;79.999998212E-3;
+;;;-5.32000000E-3;0.0;
+;;;-5.30999992E-3;79.999998212E-3;
+;;;-5.29999984E-3;79.999998212E-3;
+;;;-5.28999977E-3;0.0;
+;;;-5.28000016E-3;79.999998212E-3;
+;;;-5.27000008E-3;79.999998212E-3;
+;;;-5.26000001E-3;79.999998212E-3;
+;;;-5.24999993E-3;0.0;
+;;;-5.23999985E-3;0.0;
+;;;-5.22999978E-3;0.0;
+;;;-5.22000017E-3;0.0;
+;;;-5.21000009E-3;0.0;
+;;;-5.20000001E-3;0.0;
+;;;-5.18999994E-3;79.999998212E-3;
+;;;-5.17999986E-3;79.999998212E-3;
+;;;-5.16999979E-3;79.999998212E-3;
+;;;-5.16000018E-3;0.0;
+;;;-5.15000010E-3;79.999998212E-3;
+;;;-5.14000002E-3;79.999998212E-3;
+;;;-5.12999995E-3;0.0;
+;;;-5.11999987E-3;0.0;
+;;;-5.10999979E-3;0.0;
+;;;-5.10000018E-3;79.999998212E-3;
+;;;-5.09000011E-3;0.0;
+;;;-5.08000003E-3;79.999998212E-3;
+;;;-5.06999996E-3;0.0;
+;;;-5.05999988E-3;79.999998212E-3;
+;;;-5.04999980E-3;0.0;
+;;;-5.04000019E-3;0.0;
+;;;-5.03000012E-3;0.0;
+;;;-5.02000004E-3;79.999998212E-3;
+;;;-5.00999996E-3;79.999998212E-3;
+;;;-4.99999989E-3;0.0;
+;;;-4.98999981E-3;79.999998212E-3;
+;;;-4.97999974E-3;0.0;
+;;;-4.97000013E-3;79.999998212E-3;
+;;;-4.96000005E-3;0.0;
+;;;-4.94999997E-3;79.999998212E-3;
+;;;-4.93999990E-3;0.0;
+;;;-4.92999982E-3;0.0;
+;;;-4.91999974E-3;79.999998212E-3;
+;;;-4.91000013E-3;0.0;
+;;;-4.90000006E-3;0.0;
+;;;-4.88999998E-3;0.0;
+;;;-4.87999991E-3;79.999998212E-3;
+;;;-4.86999983E-3;0.0;
+;;;-4.85999975E-3;0.0;
+;;;-4.85000014E-3;0.0;
+;;;-4.84000007E-3;0.0;
+;;;-4.82999999E-3;0.0;
+;;;-4.81999991E-3;79.999998212E-3;
+;;;-4.80999984E-3;0.0;
+;;;-4.79999976E-3;79.999998212E-3;
+;;;-4.79000015E-3;79.999998212E-3;
+;;;-4.78000008E-3;79.999998212E-3;
+;;;-4.77000000E-3;0.0;
+;;;-4.75999992E-3;79.999998212E-3;
+;;;-4.74999985E-3;0.0;
+;;;-4.73999977E-3;0.0;
+;;;-4.73000016E-3;0.0;
+;;;-4.72000008E-3;79.999998212E-3;
+;;;-4.71000001E-3;0.0;
+;;;-4.69999993E-3;79.999998212E-3;
+;;;-4.68999986E-3;0.0;
+;;;-4.67999978E-3;79.999998212E-3;
+;;;-4.67000017E-3;0.0;
+;;;-4.66000009E-3;0.0;
+;;;-4.65000002E-3;0.0;
+;;;-4.63999994E-3;0.0;
+;;;-4.62999986E-3;79.999998212E-3;
+;;;-4.61999979E-3;0.0;
+;;;-4.61000018E-3;0.0;
+;;;-4.60000010E-3;79.999998212E-3;
+;;;-4.59000003E-3;0.0;
+;;;-4.57999995E-3;79.999998212E-3;
+;;;-4.56999987E-3;79.999998212E-3;
+;;;-4.55999980E-3;79.999998212E-3;
+;;;-4.55000019E-3;0.0;
+;;;-4.54000011E-3;79.999998212E-3;
+;;;-4.53000003E-3;0.0;
+;;;-4.51999996E-3;79.999998212E-3;
+;;;-4.50999988E-3;79.999998212E-3;
+;;;-4.49999981E-3;0.0;
+;;;-4.49000020E-3;0.0;
+;;;-4.48000012E-3;0.0;
+;;;-4.47000004E-3;79.999998212E-3;
+;;;-4.45999997E-3;0.0;
+;;;-4.44999989E-3;79.999998212E-3;
+;;;-4.43999982E-3;79.999998212E-3;
+;;;-4.43000020E-3;0.0;
+;;;-4.42000013E-3;0.0;
+;;;-4.41000005E-3;79.999998212E-3;
+;;;-4.39999998E-3;79.999998212E-3;
+;;;-4.38999990E-3;79.999998212E-3;
+;;;-4.37999982E-3;0.0;
+;;;-4.37000021E-3;79.999998212E-3;
+;;;-4.36000014E-3;0.0;
+;;;-4.35000006E-3;79.999998212E-3;
+;;;-4.33999998E-3;79.999998212E-3;
+;;;-4.32999991E-3;79.999998212E-3;
+;;;-4.31999983E-3;79.999998212E-3;
+;;;-4.30999976E-3;79.999998212E-3;
+;;;-4.30000015E-3;79.999998212E-3;
+;;;-4.29000007E-3;79.999998212E-3;
+;;;-4.27999999E-3;0.0;
+;;;-4.26999992E-3;79.999998212E-3;
+;;;-4.25999984E-3;79.999998212E-3;
+;;;-4.24999977E-3;79.999998212E-3;
+;;;-4.24000015E-3;0.0;
+;;;-4.23000008E-3;79.999998212E-3;
+;;;-4.22000000E-3;0.0;
+;;;-4.20999993E-3;79.999998212E-3;
+;;;-4.19999985E-3;0.0;
+;;;-4.18999977E-3;0.0;
+;;;-4.18000016E-3;0.0;
+;;;-4.17000009E-3;0.0;
+;;;-4.16000001E-3;79.999998212E-3;
+;;;-4.14999994E-3;0.0;
+;;;-4.13999986E-3;0.0;
+;;;-4.12999978E-3;0.0;
+;;;-4.12000017E-3;0.0;
+;;;-4.11000010E-3;0.0;
+;;;-4.10000002E-3;79.999998212E-3;
+;;;-4.08999994E-3;79.999998212E-3;
+;;;-4.07999987E-3;0.0;
+;;;-4.06999979E-3;0.0;
+;;;-4.06000018E-3;79.999998212E-3;
+;;;-4.05000011E-3;0.0;
+;;;-4.04000003E-3;79.999998212E-3;
+;;;-4.02999995E-3;0.0;
+;;;-4.01999988E-3;0.0;
+;;;-4.00999980E-3;0.0;
+;;;-4.00000019E-3;79.999998212E-3;
+;;;-3.99000011E-3;79.999998212E-3;
+;;;-3.98000004E-3;79.999998212E-3;
+;;;-3.96999996E-3;79.999998212E-3;
+;;;-3.95999989E-3;0.0;
+;;;-3.94999981E-3;79.999998212E-3;
+;;;-3.94000020E-3;0.0;
+;;;-3.93000012E-3;0.0;
+;;;-3.92000005E-3;0.0;
+;;;-3.90999997E-3;0.0;
+;;;-3.89999989E-3;79.999998212E-3;
+;;;-3.89000005E-3;0.0;
+;;;-3.87999997E-3;79.999998212E-3;
+;;;-3.86999990E-3;79.999998212E-3;
+;;;-3.86000006E-3;79.999998212E-3;
+;;;-3.84999998E-3;0.0;
+;;;-3.83999990E-3;0.0;
+;;;-3.83000006E-3;0.0;
+;;;-3.81999998E-3;79.999998212E-3;
+;;;-3.80999991E-3;79.999998212E-3;
+;;;-3.80000006E-3;0.0;
+;;;-3.78999999E-3;79.999998212E-3;
+;;;-3.77999991E-3;79.999998212E-3;
+;;;-3.77000007E-3;79.999998212E-3;
+;;;-3.75999999E-3;0.0;
+;;;-3.74999992E-3;0.0;
+;;;-3.74000007E-3;79.999998212E-3;
+;;;-3.73000000E-3;0.0;
+;;;-3.71999992E-3;0.0;
+;;;-3.71000008E-3;0.0;
+;;;-3.70000000E-3;79.999998212E-3;
+;;;-3.68999992E-3;79.999998212E-3;
+;;;-3.68000008E-3;79.999998212E-3;
+;;;-3.67000001E-3;79.999998212E-3;
+;;;-3.65999993E-3;79.999998212E-3;
+;;;-3.65000009E-3;0.0;
+;;;-3.64000001E-3;79.999998212E-3;
+;;;-3.62999993E-3;0.0;
+;;;-3.62000009E-3;79.999998212E-3;
+;;;-3.61000001E-3;0.0;
+;;;-3.59999994E-3;79.999998212E-3;
+;;;-3.59000009E-3;0.0;
+;;;-3.58000002E-3;0.0;
+;;;-3.56999994E-3;0.0;
+;;;-3.56000010E-3;79.999998212E-3;
+;;;-3.55000002E-3;79.999998212E-3;
+;;;-3.53999995E-3;79.999998212E-3;
+;;;-3.53000010E-3;0.0;
+;;;-3.52000003E-3;79.999998212E-3;
+;;;-3.50999995E-3;79.999998212E-3;
+;;;-3.50000011E-3;0.0;
+;;;-3.49000003E-3;79.999998212E-3;
+;;;-3.47999996E-3;0.0;
+;;;-3.47000011E-3;0.0;
+;;;-3.46000004E-3;79.999998212E-3;
+;;;-3.44999996E-3;79.999998212E-3;
+;;;-3.44000012E-3;79.999998212E-3;
+;;;-3.43000004E-3;0.0;
+;;;-3.41999996E-3;0.0;
+;;;-3.41000012E-3;0.0;
+;;;-3.40000005E-3;79.999998212E-3;
+;;;-3.38999997E-3;79.999998212E-3;
+;;;-3.38000013E-3;0.0;
+;;;-3.37000005E-3;79.999998212E-3;
+;;;-3.35999997E-3;0.0;
+;;;-3.34999990E-3;79.999998212E-3;
+;;;-3.34000005E-3;0.0;
+;;;-3.32999998E-3;0.0;
+;;;-3.31999990E-3;0.0;
+;;;-3.31000006E-3;0.0;
+;;;-3.29999998E-3;0.0;
+;;;-3.28999991E-3;0.0;
+;;;-3.28000006E-3;0.0;
+;;;-3.26999999E-3;0.0;
+;;;-3.25999991E-3;79.999998212E-3;
+;;;-3.25000007E-3;79.999998212E-3;
+;;;-3.23999999E-3;79.999998212E-3;
+;;;-3.22999991E-3;0.0;
+;;;-3.22000007E-3;0.0;
+;;;-3.21000000E-3;0.0;
+;;;-3.19999992E-3;79.999998212E-3;
+;;;-3.19000008E-3;79.999998212E-3;
+;;;-3.18000000E-3;0.0;
+;;;-3.16999992E-3;79.999998212E-3;
+;;;-3.16000008E-3;79.999998212E-3;
+;;;-3.15000000E-3;0.0;
+;;;-3.13999993E-3;79.999998212E-3;
+;;;-3.13000008E-3;0.0;
+;;;-3.12000001E-3;79.999998212E-3;
+;;;-3.10999993E-3;0.0;
+;;;-3.10000009E-3;0.0;
+;;;-3.09000001E-3;0.0;
+;;;-3.07999994E-3;79.999998212E-3;
+;;;-3.07000009E-3;79.999998212E-3;
+;;;-3.06000002E-3;79.999998212E-3;
+;;;-3.04999994E-3;79.999998212E-3;
+;;;-3.04000010E-3;79.999998212E-3;
+;;;-3.03000002E-3;0.0;
+;;;-3.01999995E-3;0.0;
+;;;-3.01000010E-3;0.0;
+;;;-3.00000003E-3;79.999998212E-3;
+;;;-2.98999995E-3;79.999998212E-3;
+;;;-2.98000011E-3;79.999998212E-3;
+;;;-2.97000003E-3;0.0;
+;;;-2.95999995E-3;79.999998212E-3;
+;;;-2.95000011E-3;0.0;
+;;;-2.94000003E-3;0.0;
+;;;-2.92999996E-3;79.999998212E-3;
+;;;-2.92000012E-3;79.999998212E-3;
+;;;-2.91000004E-3;79.999998212E-3;
+;;;-2.89999996E-3;79.999998212E-3;
+;;;-2.89000012E-3;79.999998212E-3;
+;;;-2.88000004E-3;0.0;
+;;;-2.86999997E-3;79.999998212E-3;
+;;;-2.86000012E-3;0.0;
+;;;-2.85000005E-3;0.0;
+;;;-2.83999997E-3;0.0;
+;;;-2.83000013E-3;79.999998212E-3;
+;;;-2.82000005E-3;0.0;
+;;;-2.80999998E-3;0.0;
+;;;-2.80000013E-3;0.0;
+;;;-2.79000006E-3;79.999998212E-3;
+;;;-2.77999998E-3;0.0;
+;;;-2.77000014E-3;0.0;
+;;;-2.76000006E-3;79.999998212E-3;
+;;;-2.74999999E-3;0.0;
+;;;-2.73999991E-3;79.999998212E-3;
+;;;-2.73000007E-3;0.0;
+;;;-2.71999999E-3;79.999998212E-3;
+;;;-2.7099999E-3;79.999998212E-3;
+;;;-2.7000001E-3;79.999998212E-3;
+;;;-2.6900000E-3;79.999998212E-3;
+;;;-2.6799999E-3;0.0;
+;;;-2.6700001E-3;0.0;
+;;;-2.6600000E-3;79.999998212E-3;
+;;;-2.6499999E-3;79.999998212E-3;
+;;;-2.6400001E-3;0.0;
+;;;-2.6300000E-3;79.999998212E-3;
+;;;-2.6199999E-3;79.999998212E-3;
+;;;-2.6100001E-3;79.999998212E-3;
+;;;-2.6000000E-3;0.0;
+;;;-2.5899999E-3;79.999998212E-3;
+;;;-2.5800001E-3;79.999998212E-3;
+;;;-2.5700000E-3;0.0;
+;;;-2.5599999E-3;0.0;
+;;;-2.5500001E-3;0.0;
+;;;-2.5400000E-3;0.0;
+;;;-2.5299999E-3;0.0;
+;;;-2.5200001E-3;79.999998212E-3;
+;;;-2.5100000E-3;79.999998212E-3;
+;;;-2.4999999E-3;79.999998212E-3;
+;;;-2.4900001E-3;79.999998212E-3;
+;;;-2.4800000E-3;0.0;
+;;;-2.4699999E-3;79.999998212E-3;
+;;;-2.4600001E-3;79.999998212E-3;
+;;;-2.4500000E-3;0.0;
+;;;-2.4400000E-3;79.999998212E-3;
+;;;-2.4300001E-3;79.999998212E-3;
+;;;-2.4200000E-3;79.999998212E-3;
+;;;-2.4100000E-3;0.0;
+;;;-2.4000001E-3;0.0;
+;;;-2.3900000E-3;0.0;
+;;;-2.3800000E-3;0.0;
+;;;-2.3700001E-3;79.999998212E-3;
+;;;-2.3600000E-3;0.0;
+;;;-2.3500000E-3;0.0;
+;;;-2.3400001E-3;79.999998212E-3;
+;;;-2.3300000E-3;0.0;
+;;;-2.3200000E-3;79.999998212E-3;
+;;;-2.3100001E-3;79.999998212E-3;
+;;;-2.3000001E-3;79.999998212E-3;
+;;;-2.2900000E-3;0.0;
+;;;-2.2800001E-3;0.0;
+;;;-2.2700001E-3;0.0;
+;;;-2.2600000E-3;0.0;
+;;;-2.2500001E-3;0.0;
+;;;-2.2400001E-3;0.0;
+;;;-2.2300000E-3;0.0;
+;;;-2.2200001E-3;0.0;
+;;;-2.2100001E-3;0.0;
+;;;-2.2000000E-3;0.0;
+;;;-2.1900001E-3;79.999998212E-3;
+;;;-2.1800001E-3;0.0;
+;;;-2.1700000E-3;79.999998212E-3;
+;;;-2.1600001E-3;79.999998212E-3;
+;;;-2.1500001E-3;79.999998212E-3;
+;;;-2.1400000E-3;79.999998212E-3;
+;;;-2.1300002E-3;79.999998212E-3;
+;;;-2.1200001E-3;0.0;
+;;;-2.1100000E-3;0.0;
+;;;-2.1000002E-3;0.0;
+;;;-2.0900001E-3;0.0;
+;;;-2.0800000E-3;0.0;
+;;;-2.0699999E-3;0.0;
+;;;-2.0600001E-3;79.999998212E-3;
+;;;-2.0500000E-3;0.0;
+;;;-2.0399999E-3;0.0;
+;;;-2.0300001E-3;0.0;
+;;;-2.0200000E-3;79.999998212E-3;
+;;;-2.0099999E-3;0.0;
+;;;-2.0000001E-3;79.999998212E-3;
+;;;-1.9900000E-3;0.0;
+;;;-1.9799999E-3;0.0;
+;;;-1.9700001E-3;0.0;
+;;;-1.9600000E-3;0.0;
+;;;-1.9500001E-3;0.0;
+;;;-1.9400001E-3;79.999998212E-3;
+;;;-1.9300000E-3;79.999998212E-3;
+;;;-1.9200001E-3;79.999998212E-3;
+;;;-1.9100000E-3;79.999998212E-3;
+;;;-1.9000000E-3;0.0;
+;;;-1.8900001E-3;79.999998212E-3;
+;;;-1.8800000E-3;0.0;
+;;;-1.8700000E-3;79.999998212E-3;
+;;;-1.8600001E-3;79.999998212E-3;
+;;;-1.8500000E-3;79.999998212E-3;
+;;;-1.8400000E-3;0.0;
+;;;-1.8300001E-3;0.0;
+;;;-1.8200000E-3;79.999998212E-3;
+;;;-1.8100000E-3;79.999998212E-3;
+;;;-1.8000001E-3;0.0;
+;;;-1.7900000E-3;0.0;
+;;;-1.7800000E-3;0.0;
+;;;-1.7700001E-3;79.999998212E-3;
+;;;-1.7600000E-3;79.999998212E-3;
+;;;-1.7500001E-3;79.999998212E-3;
+;;;-1.7400001E-3;79.999998212E-3;
+;;;-1.7300000E-3;79.999998212E-3;
+;;;-1.7200001E-3;0.0;
+;;;-1.7100001E-3;79.999998212E-3;
+;;;-1.7000000E-3;79.999998212E-3;
+;;;-1.6900001E-3;79.999998212E-3;
+;;;-1.6800001E-3;79.999998212E-3;
+;;;-1.6700000E-3;0.0;
+;;;-1.6600001E-3;0.0;
+;;;-1.6500001E-3;0.0;
+;;;-1.6400000E-3;0.0;
+;;;-1.6300001E-3;0.0;
+;;;-1.6200000E-3;79.999998212E-3;
+;;;-1.6100000E-3;0.0;
+;;;-1.6000001E-3;0.0;
+;;;-1.5900000E-3;0.0;
+;;;-1.5800000E-3;0.0;
+;;;-1.5700001E-3;79.999998212E-3;
+;;;-1.5600000E-3;79.999998212E-3;
+;;;-1.5500000E-3;0.0;
+;;;-1.5400001E-3;0.0;
+;;;-1.5300000E-3;0.0;
+;;;-1.5200000E-3;0.0;
+;;;-1.5100001E-3;79.999998212E-3;
+;;;-1.5000000E-3;0.0;
+;;;-1.4900001E-3;0.0;
+;;;-1.4800001E-3;0.0;
+;;;-1.4700000E-3;0.0;
+;;;-1.4600001E-3;0.0;
+;;;-1.4500001E-3;0.0;
+;;;-1.4400000E-3;79.999998212E-3;
+;;;-1.4300001E-3;0.0;
+;;;-1.4200001E-3;0.0;
+;;;-1.4100000E-3;0.0;
+;;;-1.4000001E-3;0.0;
+;;;-1.3900001E-3;0.0;
+;;;-1.3800000E-3;0.0;
+;;;-1.3700001E-3;0.0;
+;;;-1.3600001E-3;79.999998212E-3;
+;;;-1.3500000E-3;79.999998212E-3;
+;;;-1.3400001E-3;0.0;
+;;;-1.3300001E-3;79.999998212E-3;
+;;;-1.3200000E-3;79.999998212E-3;
+;;;-1.3100001E-3;79.999998212E-3;
+;;;-1.3000001E-3;79.999998212E-3;
+;;;-1.2900000E-3;0.0;
+;;;-1.2800001E-3;79.999998212E-3;
+;;;-1.2700000E-3;79.999998212E-3;
+;;;-1.2600000E-3;79.999998212E-3;
+;;;-1.2500001E-3;0.0;
+;;;-1.2400000E-3;0.0;
+;;;-1.2300001E-3;79.999998212E-3;
+;;;-1.2200001E-3;0.0;
+;;;-1.2100000E-3;79.999998212E-3;
+;;;-1.2000001E-3;0.0;
+;;;-1.1900001E-3;79.999998212E-3;
+;;;-1.1800000E-3;0.0;
+;;;-1.1700001E-3;79.999998212E-3;
+;;;-1.1600001E-3;79.999998212E-3;
+;;;-1.1500000E-3;0.0;
+;;;-1.1400001E-3;0.0;
+;;;-1.1300001E-3;0.0;
+;;;-1.1200000E-3;79.999998212E-3;
+;;;-1.1100001E-3;0.0;
+;;;-1.1000001E-3;79.999998212E-3;
+;;;-1.0900000E-3;0.0;
+;;;-1.0800001E-3;79.999998212E-3;
+;;;-1.0700001E-3;0.0;
+;;;-1.0600000E-3;0.0;
+;;;-1.0500001E-3;79.999998212E-3;
+;;;-1.0400001E-3;0.0;
+;;;-1.0300000E-3;79.999998212E-3;
+;;;-1.0200001E-3;79.999998212E-3;
+;;;-1.0100001E-3;0.0;
+;;;-1.0000000E-3;4.96000004;
+;;;-990.000087768E-6;4.96000004;
+;;;-980.000011623E-6;4.96000004;
+;;;-970.000051893E-6;5.03999996;
+;;;-960.000092164E-6;4.96000004;
+;;;-950.000074226E-6;4.96000004;
+;;;-940.000056289E-6;5.03999996;
+;;;-930.000096560E-6;4.96000004;
+;;;-920.000078622E-6;4.96000004;
+;;;-910.000060685E-6;4.96000004;
+;;;-900.000100955E-6;5.03999996;
+;;;-890.000083018E-6;5.03999996;
+;;;-880.000065081E-6;5.03999996;
+;;;-870.000047144E-6;4.88000011;
+;;;-860.000087414E-6;5.03999996;
+;;;-850.000069477E-6;4.96000004;
+;;;-840.000051539E-6;4.96000004;
+;;;-830.000091810E-6;4.96000004;
+;;;-820.000073873E-6;5.03999996;
+;;;-810.000055935E-6;4.96000004;
+;;;-800.000096206E-6;5.03999996;
+;;;-790.000078268E-6;4.96000004;
+;;;-780.000060331E-6;5.03999996;
+;;;-770.000100601E-6;4.96000004;
+;;;-760.000082664E-6;4.96000004;
+;;;-750.000064727E-6;5.03999996;
+;;;-740.000046790E-6;5.03999996;
+;;;-730.000087060E-6;5.03999996;
+;;;-720.000069123E-6;4.96000004;
+;;;-710.000051185E-6;5.03999996;
+;;;-700.000091456E-6;4.96000004;
+;;;-690.000073519E-6;5.03999996;
+;;;-680.000055581E-6;5.03999996;
+;;;-670.000095852E-6;5.03999996;
+;;;-660.000077914E-6;4.96000004;
+;;;-650.000059977E-6;4.96000004;
+;;;-640.000100248E-6;4.96000004;
+;;;-630.000082310E-6;4.96000004;
+;;;-620.000064373E-6;4.96000004;
+;;;-610.000104643E-6;5.03999996;
+;;;-600.000086706E-6;4.96000004;
+;;;-590.000068769E-6;5.03999996;
+;;;-580.000109039E-6;4.96000004;
+;;;-570.000091102E-6;5.03999996;
+;;;-560.000073165E-6;4.96000004;
+;;;-550.000055227E-6;4.96000004;
+;;;-540.000095498E-6;4.96000004;
+;;;-530.000077561E-6;4.96000004;
+;;;-520.000059623E-6;4.96000004;
+;;;-510.000099894E-6;4.96000004;
+;;;-500.000081956E-6;5.03999996;
+;;;-490.000064019E-6;4.96000004;
+;;;-480.000075186E-6;4.96000004;
+;;;-470.000086352E-6;4.96000004;
+;;;-460.000068415E-6;5.03999996;
+;;;-450.000079582E-6;4.96000004;
+;;;-440.000090748E-6;4.96000004;
+;;;-430.000072811E-6;4.96000004;
+;;;-420.000083977E-6;4.96000004;
+;;;-410.000095144E-6;4.96000004;
+;;;-400.00007721E-6;4.96000004;
+;;;-390.00008837E-6;4.96000004;
+;;;-380.00009954E-6;5.03999996;
+;;;-370.00008160E-6;4.96000004;
+;;;-360.00009277E-6;5.03999996;
+;;;-350.00007483E-6;4.96000004;
+;;;-340.00008600E-6;4.96000004;
+;;;-330.00009716E-6;4.96000004;
+;;;-320.00007923E-6;5.03999996;
+;;;-310.00009039E-6;4.96000004;
+;;;-300.00007246E-6;4.96000004;
+;;;-290.00008362E-6;4.96000004;
+;;;-280.00009479E-6;5.03999996;
+;;;-270.00007685E-6;4.96000004;
+;;;-260.00008802E-6;4.96000004;
+;;;-250.00009919E-6;5.03999996;
+;;;-240.00008125E-6;4.96000004;
+;;;-230.00009242E-6;4.96000004;
+;;;-220.00008903E-6;5.03999996;
+;;;-210.00008564E-6;5.03999996;
+;;;-200.00009681E-6;4.96000004;
+;;;-190.00009343E-6;4.96000004;
+;;;-180.00009004E-6;4.96000004;
+;;;-170.00008665E-6;5.03999996;
+;;;-160.00008327E-6;4.96000004;
+;;;-150.00009444E-6;4.96000004;
+;;;-140.0000911E-6;4.96000004;
+;;;-130.0000877E-6;5.03999996;
+;;;-120.0000916E-6;5.03999996;
+;;;-110.0000954E-6;4.96000004;
+;;;-100.0000921E-6;5.03999996;
+;;;-90.000088676E-6;5.03999996;
+;;;-80.000092566E-6;5.03999996;
+;;;-70.000096457E-6;4.88000011;
+;;;-60.000093072E-6;5.03999996;
+;;;-50.00009332E-6;4.96000004;
+;;;-40.00009358E-6;4.96000004;
+;;;-30.00009383E-6;5.03999996;
+;;;-20.0000941E-6;4.96000004;
+;;;-10.0000943E-6;5.03999996;
+;;;-94.587448597E-12;4.96000004;
+;;;9.999905160E-6;4.96000004;
+;;;19.9999049E-6;5.03999996;
+;;;29.99990465E-6;4.96000004;
+;;;39.99990440E-6;5.03999996;
+;;;49.99990415E-6;4.96000004;
+;;;59.999903897E-6;4.96000004;
+;;;69.999907282E-6;4.96000004;
+;;;79.999903392E-6;5.03999996;
+;;;89.999899501E-6;4.96000004;
+;;;99.999902886E-6;4.96000004;
+;;;109.9999063E-6;5.03999996;
+;;;119.9999024E-6;4.96000004;
+;;;129.9998985E-6;5.03999996;
+;;;139.9999019E-6;4.88000011;
+;;;149.99990526E-6;5.03999996;
+;;;159.99990865E-6;5.03999996;
+;;;169.99989748E-6;4.96000004;
+;;;179.99990087E-6;4.96000004;
+;;;189.99990425E-6;5.03999996;
+;;;199.99989308E-6;5.03999996;
+;;;209.99989647E-6;5.03999996;
+;;;219.99989985E-6;4.96000004;
+;;;229.99990324E-6;5.03999996;
+;;;239.99990663E-6;4.96000004;
+;;;249.99989546E-6;4.96000004;
+;;;259.99988429E-6;5.03999996;
+;;;269.99990223E-6;5.03999996;
+;;;279.99989106E-6;4.96000004;
+;;;289.99990900E-6;4.96000004;
+;;;299.99989783E-6;5.03999996;
+;;;309.99988667E-6;4.96000004;
+;;;319.99990460E-6;4.96000004;
+;;;329.99989344E-6;5.03999996;
+;;;339.99991138E-6;5.03999996;
+;;;349.99990021E-6;4.96000004;
+;;;359.99988904E-6;5.03999996;
+;;;369.99990698E-6;5.03999996;
+;;;379.99989581E-6;4.96000004;
+;;;389.99988465E-6;4.88000011;
+;;;399.99990258E-6;5.03999996;
+;;;409.999891417E-6;5.03999996;
+;;;419.999880251E-6;4.96000004;
+;;;429.999898188E-6;4.96000004;
+;;;439.999887021E-6;5.03999996;
+;;;449.999904959E-6;5.03999996;
+;;;459.999893792E-6;5.03999996;
+;;;469.999882625E-6;4.96000004;
+;;;479.999900563E-6;5.03999996;
+;;;489.999889396E-6;5.03999996;
+;;;499.999907333E-6;4.96000004;
+;;;509.999867063E-6;4.96000004;
+;;;519.999885000E-6;4.96000004;
+;;;529.999902938E-6;5.03999996;
+;;;539.999920875E-6;4.96000004;
+;;;549.999880604E-6;5.03999996;
+;;;559.999898542E-6;5.03999996;
+;;;569.999916479E-6;4.88000011;
+;;;579.999876209E-6;4.96000004;
+;;;589.999894146E-6;4.96000004;
+;;;599.999912083E-6;4.96000004;
+;;;609.999871813E-6;4.96000004;
+;;;619.999889750E-6;4.96000004;
+;;;629.999907687E-6;4.96000004;
+;;;639.999867417E-6;5.03999996;
+;;;649.999885354E-6;4.96000004;
+;;;659.999903291E-6;4.96000004;
+;;;669.999863021E-6;4.96000004;
+;;;679.999880958E-6;5.03999996;
+;;;689.999898896E-6;5.03999996;
+;;;699.999858625E-6;4.96000004;
+;;;709.999876563E-6;4.96000004;
+;;;719.999894500E-6;5.03999996;
+;;;729.999912437E-6;4.96000004;
+;;;739.999872167E-6;4.88000011;
+;;;749.999890104E-6;5.03999996;
+;;;759.999908041E-6;4.96000004;
+;;;769.999867771E-6;4.96000004;
+;;;779.999885708E-6;4.96000004;
+;;;789.999903645E-6;5.03999996;
+;;;799.999863375E-6;5.03999996;
+;;;809.999881312E-6;4.96000004;
+;;;819.999899250E-6;4.96000004;
+;;;829.999858979E-6;4.96000004;
+;;;839.999876916E-6;4.96000004;
+;;;849.999894854E-6;4.96000004;
+;;;859.999912791E-6;5.03999996;
+;;;869.999872521E-6;5.03999996;
+;;;879.999890458E-6;5.03999996;
+;;;889.999908395E-6;4.96000004;
+;;;899.999868125E-6;4.96000004;
+;;;909.999886062E-6;5.03999996;
+;;;919.999903999E-6;4.96000004;
+;;;929.999863729E-6;4.96000004;
+;;;939.999881666E-6;5.03999996;
+;;;949.999899603E-6;4.96000004;
+;;;959.999859333E-6;4.96000004;
+;;;969.999877270E-6;4.96000004;
+;;;979.999895208E-6;4.96000004;
+;;;989.999854937E-6;4.96000004;
+;;;999.999931082E-6;4.96000004;
+;;;1.0099999E-3;4.96000004;
+;;;1.0199999E-3;5.03999996;
+;;;1.0299999E-3;5.03999996;
+;;;1.0399999E-3;4.96000004;
+;;;1.0499998E-3;4.96000004;
+;;;1.0599999E-3;5.03999996;
+;;;1.0699999E-3;5.03999996;
+;;;1.0799998E-3;4.96000004;
+;;;1.0899999E-3;4.96000004;
+;;;1.0999999E-3;4.96000004;
+;;;1.1099998E-3;4.96000004;
+;;;1.1199999E-3;5.03999996;
+;;;1.1299999E-3;4.96000004;
+;;;1.1399998E-3;5.03999996;
+;;;1.1499999E-3;5.03999996;
+;;;1.1599999E-3;4.96000004;
+;;;1.1699998E-3;4.96000004;
+;;;1.1799999E-3;5.03999996;
+;;;1.1899999E-3;4.96000004;
+;;;1.1999998E-3;4.88000011;
+;;;1.2099999E-3;4.96000004;
+;;;1.2199999E-3;4.96000004;
+;;;1.2299998E-3;5.03999996;
+;;;1.2399999E-3;4.96000004;
+;;;1.2499999E-3;5.03999996;
+;;;1.2599998E-3;5.03999996;
+;;;1.2699999E-3;4.96000004;
+;;;1.2799999E-3;5.03999996;
+;;;1.2899999E-3;4.96000004;
+;;;1.2999999E-3;4.96000004;
+;;;1.3099998E-3;4.96000004;
+;;;1.3199999E-3;5.03999996;
+;;;1.3299999E-3;4.96000004;
+;;;1.3399998E-3;5.03999996;
+;;;1.3499999E-3;5.03999996;
+;;;1.3599999E-3;5.03999996;
+;;;1.3699998E-3;4.96000004;
+;;;1.3799999E-3;4.96000004;
+;;;1.3899999E-3;4.96000004;
+;;;1.3999998E-3;5.03999996;
+;;;1.4099999E-3;5.03999996;
+;;;1.4199999E-3;4.96000004;
+;;;1.4299998E-3;4.96000004;
+;;;1.4399999E-3;4.96000004;
+;;;1.4499999E-3;4.96000004;
+;;;1.4599998E-3;4.96000004;
+;;;1.4699999E-3;5.03999996;
+;;;1.4799999E-3;5.03999996;
+;;;1.4899998E-3;4.96000004;
+;;;1.4999999E-3;4.96000004;
+;;;1.5099999E-3;5.03999996;
+;;;1.5199998E-3;5.03999996;
+;;;1.5299999E-3;4.96000004;
+;;;1.5399999E-3;4.96000004;
+;;;1.5499998E-3;5.03999996;
+;;;1.5599999E-3;5.03999996;
+;;;1.5699998E-3;4.96000004;
+;;;1.5799999E-3;4.96000004;
+;;;1.5899999E-3;5.03999996;
+;;;1.5999998E-3;5.03999996;
+;;;1.6099999E-3;5.03999996;
+;;;1.6199999E-3;5.03999996;
+;;;1.6299998E-3;4.96000004;
+;;;1.6399999E-3;4.96000004;
+;;;1.6499999E-3;4.96000004;
+;;;1.6599998E-3;5.03999996;
+;;;1.6699999E-3;4.96000004;
+;;;1.6799999E-3;5.03999996;
+;;;1.6899998E-3;5.03999996;
+;;;1.6999999E-3;5.03999996;
+;;;1.7099999E-3;4.96000004;
+;;;1.7199998E-3;4.96000004;
+;;;1.7299999E-3;5.03999996;
+;;;1.7399999E-3;4.96000004;
+;;;1.7499998E-3;4.96000004;
+;;;1.7599999E-3;5.03999996;
+;;;1.7699999E-3;4.96000004;
+;;;1.7799998E-3;5.03999996;
+;;;1.7899999E-3;4.96000004;
+;;;1.7999999E-3;4.96000004;
+;;;1.8099998E-3;5.03999996;
+;;;1.8199999E-3;5.03999996;
+;;;1.8299998E-3;4.96000004;
+;;;1.8399998E-3;4.96000004;
+;;;1.8499999E-3;5.03999996;
+;;;1.8599998E-3;4.96000004;
+;;;1.8699998E-3;4.96000004;
+;;;1.8799999E-3;4.96000004;
+;;;1.8899998E-3;5.03999996;
+;;;1.8999998E-3;5.03999996;
+;;;1.9099999E-3;4.96000004;
+;;;1.9199998E-3;4.96000004;
+;;;1.9299999E-3;4.96000004;
+;;;1.9399999E-3;4.96000004;
+;;;1.9499998E-3;4.96000004;
+;;;1.9599998E-3;5.03999996;
+;;;1.9699999E-3;5.03999996;
+;;;1.9799999E-3;4.96000004;
+;;;1.9899998E-3;4.96000004;
+;;;1.9999999E-3;5.03999996;
+;;;2.0099999E-3;5.03999996;
+;;;2.0199998E-3;5.03999996;
+;;;2.0299999E-3;4.96000004;
+;;;2.0399999E-3;4.96000004;
+;;;2.0499998E-3;5.03999996;
+;;;2.0599999E-3;5.03999996;
+;;;2.0699999E-3;4.96000004;
+;;;2.0799998E-3;4.96000004;
+;;;2.0899998E-3;4.96000004;
+;;;2.0999999E-3;5.03999996;
+;;;2.1099998E-3;4.96000004;
+;;;2.1199998E-3;4.88000011;
+;;;2.1299999E-3;4.96000004;
+;;;2.1399998E-3;5.03999996;
+;;;2.1499998E-3;5.03999996;
+;;;2.1599999E-3;4.96000004;
+;;;2.1699998E-3;4.96000004;
+;;;2.1799998E-3;4.96000004;
+;;;2.1899999E-3;5.03999996;
+;;;2.1999998E-3;4.96000004;
+;;;2.2099998E-3;4.96000004;
+;;;2.2199999E-3;5.03999996;
+;;;2.2299998E-3;4.96000004;
+;;;2.2399998E-3;4.88000011;
+;;;2.2499999E-3;5.03999996;
+;;;2.2599997E-3;4.96000004;
+;;;2.2699998E-3;4.96000004;
+;;;2.2799999E-3;5.03999996;
+;;;2.2899997E-3;5.03999996;
+;;;2.2999998E-3;4.96000004;
+;;;2.3099999E-3;5.03999996;
+;;;2.3199997E-3;5.03999996;
+;;;2.3299998E-3;4.96000004;
+;;;2.3399999E-3;4.96000004;
+;;;2.3499997E-3;4.96000004;
+;;;2.3599998E-3;5.03999996;
+;;;2.3699999E-3;4.96000004;
+;;;2.3800000E-3;4.96000004;
+;;;2.3899998E-3;4.96000004;
+;;;2.3999999E-3;5.03999996;
+;;;2.4100000E-3;5.03999996;
+;;;2.4199998E-3;4.96000004;
+;;;2.4299999E-3;4.96000004;
+;;;2.4400000E-3;5.03999996;
+;;;2.4499998E-3;5.03999996;
+;;;2.4599999E-3;5.03999996;
+;;;2.4699999E-3;4.96000004;
+;;;2.4799998E-3;5.03999996;
+;;;2.4899999E-3;4.96000004;
+;;;2.4999999E-3;4.96000004;
+;;;2.5099998E-3;4.96000004;
+;;;2.5199999E-3;5.03999996;
+;;;2.5299999E-3;5.03999996;
+;;;2.5399998E-3;4.96000004;
+;;;2.5499999E-3;5.03999996;
+;;;2.5599999E-3;4.96000004;
+;;;2.5699998E-3;4.96000004;
+;;;2.5799999E-3;5.03999996;
+;;;2.5899999E-3;4.96000004;
+;;;2.5999998E-3;4.96000004;
+;;;2.6099999E-3;4.96000004;
+;;;2.6199999E-3;4.96000004;
+;;;2.6299998E-3;5.03999996;
+;;;2.6399998E-3;5.03999996;
+;;;2.6499999E-3;4.96000004;
+;;;2.6599998E-3;4.96000004;
+;;;2.6699998E-3;5.03999996;
+;;;2.6799999E-3;4.96000004;
+;;;2.6899998E-3;5.03999996;
+;;;2.6999998E-3;4.96000004;
+;;;2.7099999E-3;4.96000004;
+;;;2.71999976E-3;5.03999996;
+;;;2.72999983E-3;5.03999996;
+;;;2.73999991E-3;4.96000004;
+;;;2.74999975E-3;4.96000004;
+;;;2.75999983E-3;5.03999996;
+;;;2.76999990E-3;4.96000004;
+;;;2.77999975E-3;4.88000011;
+;;;2.78999982E-3;4.96000004;
+;;;2.79999990E-3;5.03999996;
+;;;2.80999974E-3;5.03999996;
+;;;2.81999982E-3;4.96000004;
+;;;2.82999990E-3;4.96000004;
+;;;2.83999974E-3;4.96000004;
+;;;2.84999982E-3;4.96000004;
+;;;2.85999989E-3;5.03999996;
+;;;2.86999973E-3;4.88000011;
+;;;2.87999981E-3;5.03999996;
+;;;2.88999989E-3;5.03999996;
+;;;2.89999973E-3;4.96000004;
+;;;2.90999981E-3;4.96000004;
+;;;2.91999988E-3;4.96000004;
+;;;2.92999973E-3;4.96000004;
+;;;2.93999980E-3;5.03999996;
+;;;2.94999988E-3;5.03999996;
+;;;2.95999972E-3;4.96000004;
+;;;2.96999980E-3;4.96000004;
+;;;2.97999987E-3;5.03999996;
+;;;2.98999972E-3;4.96000004;
+;;;2.99999979E-3;5.03999996;
+;;;3.00999987E-3;4.96000004;
+;;;3.01999971E-3;5.03999996;
+;;;3.02999979E-3;5.03999996;
+;;;3.03999986E-3;4.96000004;
+;;;3.04999994E-3;5.03999996;
+;;;3.05999978E-3;4.96000004;
+;;;3.06999986E-3;4.96000004;
+;;;3.07999994E-3;4.96000004;
+;;;3.08999978E-3;5.03999996;
+;;;3.09999986E-3;4.96000004;
+;;;3.10999993E-3;4.96000004;
+;;;3.11999978E-3;4.96000004;
+;;;3.12999985E-3;4.96000004;
+;;;3.13999993E-3;5.03999996;
+;;;3.14999977E-3;4.96000004;
+;;;3.15999985E-3;4.96000004;
+;;;3.16999992E-3;5.03999996;
+;;;3.17999977E-3;4.96000004;
+;;;3.18999984E-3;4.96000004;
+;;;3.19999992E-3;4.96000004;
+;;;3.20999976E-3;5.03999996;
+;;;3.21999984E-3;4.96000004;
+;;;3.22999991E-3;4.96000004;
+;;;3.23999976E-3;4.96000004;
+;;;3.24999983E-3;5.03999996;
+;;;3.25999991E-3;4.96000004;
+;;;3.26999975E-3;4.96000004;
+;;;3.27999983E-3;5.03999996;
+;;;3.28999991E-3;5.03999996;
+;;;3.29999975E-3;4.96000004;
+;;;3.30999983E-3;4.96000004;
+;;;3.31999990E-3;5.03999996;
+;;;3.32999974E-3;4.96000004;
+;;;3.33999982E-3;4.96000004;
+;;;3.34999990E-3;4.96000004;
+;;;3.35999974E-3;5.03999996;
+;;;3.36999982E-3;5.03999996;
+;;;3.37999989E-3;4.96000004;
+;;;3.38999974E-3;4.96000004;
+;;;3.39999981E-3;5.03999996;
+;;;3.40999989E-3;4.96000004;
+;;;3.41999973E-3;4.96000004;
+;;;3.42999981E-3;4.96000004;
+;;;3.43999988E-3;5.03999996;
+;;;3.44999973E-3;5.03999996;
+;;;3.45999980E-3;5.03999996;
+;;;3.46999988E-3;4.96000004;
+;;;3.47999972E-3;5.03999996;
+;;;3.48999980E-3;5.03999996;
+;;;3.49999988E-3;5.03999996;
+;;;3.50999972E-3;4.96000004;
+;;;3.51999979E-3;4.96000004;
+;;;3.52999987E-3;4.96000004;
+;;;3.53999971E-3;4.96000004;
+;;;3.54999979E-3;5.03999996;
+;;;3.55999987E-3;5.03999996;
+;;;3.56999971E-3;4.96000004;
+;;;3.57999979E-3;4.96000004;
+;;;3.58999986E-3;4.96000004;
+;;;3.59999971E-3;4.96000004;
+;;;3.60999978E-3;4.96000004;
+;;;3.61999986E-3;4.96000004;
+;;;3.62999970E-3;4.96000004;
+;;;3.63999978E-3;5.03999996;
+;;;3.64999985E-3;4.96000004;
+;;;3.65999993E-3;5.03999996;
+;;;3.66999977E-3;4.96000004;
+;;;3.67999985E-3;5.03999996;
+;;;3.68999992E-3;5.03999996;
+;;;3.69999977E-3;4.96000004;
+;;;3.70999984E-3;4.96000004;
+;;;3.71999992E-3;5.03999996;
+;;;3.72999976E-3;5.03999996;
+;;;3.73999984E-3;4.96000004;
+;;;3.74999992E-3;4.96000004;
+;;;3.75999976E-3;5.03999996;
+;;;3.76999984E-3;4.96000004;
+;;;3.77999991E-3;4.96000004;
+;;;3.78999976E-3;4.96000004;
+;;;3.79999983E-3;5.03999996;
+;;;3.80999991E-3;5.03999996;
+;;;3.81999975E-3;4.96000004;
+;;;3.82999983E-3;4.96000004;
+;;;3.83999990E-3;5.03999996;
+;;;3.84999975E-3;4.96000004;
+;;;3.85999982E-3;4.88000011;
+;;;3.86999990E-3;5.03999996;
+;;;3.87999974E-3;4.96000004;
+;;;3.88999982E-3;5.03999996;
+;;;3.89999989E-3;4.96000004;
+;;;3.90999997E-3;5.03999996;
+;;;3.91999958E-3;4.96000004;
+;;;3.92999966E-3;5.03999996;
+;;;3.93999973E-3;5.03999996;
+;;;3.94999981E-3;4.96000004;
+;;;3.95999989E-3;5.03999996;
+;;;3.96999996E-3;5.03999996;
+;;;3.97999957E-3;4.96000004;
+;;;3.98999965E-3;4.96000004;
+;;;3.99999972E-3;4.96000004;
+;;;4.00999980E-3;4.96000004;
+;;;4.01999988E-3;4.96000004;
+;;;4.02999995E-3;4.96000004;
+;;;4.04000003E-3;5.03999996;
+;;;4.04999964E-3;5.03999996;
+;;;4.05999972E-3;4.96000004;
+;;;4.06999979E-3;4.96000004;
+;;;4.07999987E-3;5.03999996;
+;;;4.08999994E-3;5.03999996;
+;;;4.10000002E-3;4.96000004;
+;;;4.10999963E-3;5.03999996;
+;;;4.11999971E-3;4.96000004;
+;;;4.12999978E-3;5.03999996;
+;;;4.13999986E-3;4.96000004;
+;;;4.14999994E-3;5.03999996;
+;;;4.16000001E-3;5.03999996;
+;;;4.16999962E-3;4.96000004;
+;;;4.17999970E-3;4.96000004;
+;;;4.18999977E-3;5.03999996;
+;;;4.19999985E-3;5.03999996;
+;;;4.20999993E-3;4.96000004;
+;;;4.22000000E-3;4.96000004;
+;;;4.22999961E-3;5.03999996;
+;;;4.23999969E-3;5.03999996;
+;;;4.24999977E-3;5.03999996;
+;;;4.25999984E-3;5.03999996;
+;;;4.26999992E-3;4.96000004;
+;;;4.27999999E-3;4.96000004;
+;;;4.28999960E-3;5.03999996;
+;;;4.29999968E-3;5.03999996;
+;;;4.30999976E-3;4.96000004;
+;;;4.31999983E-3;5.03999996;
+;;;4.32999991E-3;5.03999996;
+;;;4.33999998E-3;4.96000004;
+;;;4.34999960E-3;4.96000004;
+;;;4.35999967E-3;4.96000004;
+;;;4.36999975E-3;5.03999996;
+;;;4.37999982E-3;5.03999996;
+;;;4.38999990E-3;4.96000004;
+;;;4.39999998E-3;4.96000004;
+;;;4.40999959E-3;5.03999996;
+;;;4.41999966E-3;5.03999996;
+;;;4.42999974E-3;4.96000004;
+;;;4.43999982E-3;4.96000004;
+;;;4.44999989E-3;4.96000004;
+;;;4.45999997E-3;5.03999996;
+;;;4.46999958E-3;5.03999996;
+;;;4.47999965E-3;4.96000004;
+;;;4.48999973E-3;5.03999996;
+;;;4.49999981E-3;5.03999996;
+;;;4.50999988E-3;5.03999996;
+;;;4.51999996E-3;4.96000004;
+;;;4.52999957E-3;5.03999996;
+;;;4.53999965E-3;5.03999996;
+;;;4.54999972E-3;4.96000004;
+;;;4.55999980E-3;4.96000004;
+;;;4.56999987E-3;5.03999996;
+;;;4.57999995E-3;4.96000004;
+;;;4.58999956E-3;5.03999996;
+;;;4.59999964E-3;5.03999996;
+;;;4.60999971E-3;4.96000004;
+;;;4.61999979E-3;4.96000004;
+;;;4.62999986E-3;4.96000004;
+;;;4.63999994E-3;4.96000004;
+;;;4.65000002E-3;4.96000004;
+;;;4.65999963E-3;4.96000004;
+;;;4.66999970E-3;4.96000004;
+;;;4.67999978E-3;5.03999996;
+;;;4.68999986E-3;4.96000004;
+;;;4.69999993E-3;4.96000004;
+;;;4.71000001E-3;4.96000004;
+;;;4.71999962E-3;4.96000004;
+;;;4.72999969E-3;4.96000004;
+;;;4.73999977E-3;4.96000004;
+;;;4.74999985E-3;4.96000004;
+;;;4.75999992E-3;4.96000004;
+;;;4.77000000E-3;5.03999996;
+;;;4.77999961E-3;4.96000004;
+;;;4.78999969E-3;4.96000004;
+;;;4.79999976E-3;5.03999996;
+;;;4.80999984E-3;5.03999996;
+;;;4.81999991E-3;4.96000004;
+;;;4.82999999E-3;4.96000004;
+;;;4.83999960E-3;4.96000004;
+;;;4.84999968E-3;5.03999996;
+;;;4.85999975E-3;4.96000004;
+;;;4.86999983E-3;5.03999996;
+;;;4.87999991E-3;4.96000004;
+;;;4.88999998E-3;4.96000004;
+;;;4.89999959E-3;4.96000004;
+;;;4.90999967E-3;5.03999996;
+;;;4.91999974E-3;4.96000004;
+;;;4.92999982E-3;4.96000004;
+;;;4.93999990E-3;5.03999996;
+;;;4.94999997E-3;4.96000004;
+;;;4.95999958E-3;4.96000004;
+;;;4.96999966E-3;4.96000004;
+;;;4.97999974E-3;5.03999996;
+;;;4.98999981E-3;5.03999996;
+;;;4.99999989E-3;4.96000004;
+;;;5.00999996E-3;4.96000004;
+;;;5.01999957E-3;79.999998212E-3;
+;;;5.02999965E-3;79.999998212E-3;
+;;;5.03999973E-3;79.999998212E-3;
+;;;5.04999980E-3;0.0;
+;;;5.05999988E-3;0.0;
+;;;5.06999996E-3;0.0;
+;;;5.07999957E-3;0.0;
+;;;5.08999964E-3;0.0;
+;;;5.09999972E-3;79.999998212E-3;
+;;;5.10999979E-3;0.0;
+;;;5.11999987E-3;0.0;
+;;;5.12999995E-3;79.999998212E-3;
+;;;5.13999956E-3;79.999998212E-3;
+;;;5.14999963E-3;0.0;
+;;;5.15999971E-3;0.0;
+;;;5.16999979E-3;0.0;
+;;;5.17999986E-3;0.0;
+;;;5.18999994E-3;0.0;
+;;;5.19999955E-3;0.0;
+;;;5.20999962E-3;79.999998212E-3;
+;;;5.21999970E-3;0.0;
+;;;5.22999978E-3;0.0;
+;;;5.23999985E-3;0.0;
+;;;5.24999993E-3;79.999998212E-3;
+;;;5.26000001E-3;0.0;
+;;;5.26999962E-3;0.0;
+;;;5.27999969E-3;79.999998212E-3;
+;;;5.28999977E-3;0.0;
+;;;5.29999984E-3;79.999998212E-3;
+;;;5.30999992E-3;0.0;
+;;;5.32000000E-3;0.0;
+;;;5.32999961E-3;0.0;
+;;;5.33999968E-3;79.999998212E-3;
+;;;5.34999976E-3;0.0;
+;;;5.35999984E-3;79.999998212E-3;
+;;;5.36999991E-3;0.0;
+;;;5.37999999E-3;79.999998212E-3;
+;;;5.38999960E-3;79.999998212E-3;
+;;;5.39999967E-3;0.0;
+;;;5.40999975E-3;79.999998212E-3;
+;;;5.41999983E-3;79.999998212E-3;
+;;;5.42999990E-3;79.999998212E-3;
+;;;5.43999998E-3;0.0;
+;;;5.44999959E-3;79.999998212E-3;
+;;;5.45999967E-3;0.0;
+;;;5.46999974E-3;79.999998212E-3;
+;;;5.47999982E-3;79.999998212E-3;
+;;;5.48999989E-3;79.999998212E-3;
+;;;5.49999997E-3;0.0;
+;;;5.50999958E-3;79.999998212E-3;
+;;;5.51999966E-3;0.0;
+;;;5.52999973E-3;79.999998212E-3;
+;;;5.53999981E-3;79.999998212E-3;
+;;;5.54999989E-3;79.999998212E-3;
+;;;5.55999996E-3;0.0;
+;;;5.56999957E-3;0.0;
+;;;5.57999965E-3;79.999998212E-3;
+;;;5.58999972E-3;0.0;
+;;;5.59999980E-3;0.0;
+;;;5.60999988E-3;0.0;
+;;;5.61999995E-3;79.999998212E-3;
+;;;5.62999956E-3;79.999998212E-3;
+;;;5.63999964E-3;0.0;
+;;;5.64999972E-3;0.0;
+;;;5.65999979E-3;79.999998212E-3;
+;;;5.66999987E-3;79.999998212E-3;
+;;;5.67999994E-3;0.0;
+;;;5.68999955E-3;79.999998212E-3;
+;;;5.69999963E-3;0.0;
+;;;5.70999971E-3;0.0;
+;;;5.71999978E-3;0.0;
+;;;5.72999986E-3;0.0;
+;;;5.73999994E-3;0.0;
+;;;5.74999955E-3;0.0;
+;;;5.75999962E-3;0.0;
+;;;5.76999970E-3;0.0;
+;;;5.77999977E-3;0.0;
+;;;5.78999985E-3;0.0;
+;;;5.79999993E-3;0.0;
+;;;5.80999954E-3;79.999998212E-3;
+;;;5.81999961E-3;0.0;
+;;;5.82999969E-3;0.0;
+;;;5.83999977E-3;79.999998212E-3;
+;;;5.84999984E-3;79.999998212E-3;
+;;;5.85999992E-3;0.0;
+;;;5.86999953E-3;79.999998212E-3;
+;;;5.87999960E-3;0.0;
+;;;5.88999968E-3;0.0;
+;;;5.89999976E-3;0.0;
+;;;5.90999983E-3;0.0;
+;;;5.91999991E-3;0.0;
+;;;5.92999998E-3;79.999998212E-3;
+;;;5.93999960E-3;0.0;
+;;;5.94999967E-3;79.999998212E-3;
+;;;5.95999975E-3;79.999998212E-3;
+;;;5.96999982E-3;79.999998212E-3;
+;;;5.97999990E-3;0.0;
+;;;5.98999998E-3;0.0;
+;;;5.99999959E-3;79.999998212E-3;
+;;;6.00999966E-3;0.0;
+;;;6.01999974E-3;79.999998212E-3;
+;;;6.02999981E-3;79.999998212E-3;
+;;;6.03999989E-3;79.999998212E-3;
+;;;6.04999997E-3;0.0;
+;;;6.05999958E-3;0.0;
+;;;6.06999965E-3;0.0;
+;;;6.07999973E-3;79.999998212E-3;
+;;;6.08999981E-3;79.999998212E-3;
+;;;6.09999988E-3;0.0;
+;;;6.10999996E-3;0.0;
+;;;6.11999957E-3;0.0;
+;;;6.12999965E-3;79.999998212E-3;
+;;;6.13999972E-3;0.0;
+;;;6.14999980E-3;79.999998212E-3;
+;;;6.15999987E-3;0.0;
+;;;6.16999995E-3;79.999998212E-3;
+;;;6.17999956E-3;79.999998212E-3;
+;;;6.18999964E-3;79.999998212E-3;
+;;;6.19999971E-3;0.0;
+;;;6.20999979E-3;79.999998212E-3;
+;;;6.21999986E-3;79.999998212E-3;
+;;;6.22999994E-3;79.999998212E-3;
+;;;6.23999955E-3;0.0;
+;;;6.24999963E-3;79.999998212E-3;
+;;;6.25999970E-3;79.999998212E-3;
+;;;6.26999978E-3;0.0;
+;;;6.27999986E-3;79.999998212E-3;
+;;;6.28999993E-3;79.999998212E-3;
+;;;6.29999954E-3;79.999998212E-3;
+;;;6.30999962E-3;0.0;
+;;;6.31999969E-3;79.999998212E-3;
+;;;6.32999977E-3;0.0;
+;;;6.33999985E-3;79.999998212E-3;
+;;;6.34999992E-3;0.0;
+;;;6.35999953E-3;79.999998212E-3;
+;;;6.36999961E-3;79.999998212E-3;
+;;;6.37999969E-3;0.0;
+;;;6.38999976E-3;79.999998212E-3;
+;;;6.39999984E-3;0.0;
+;;;6.40999991E-3;79.999998212E-3;
+;;;6.41999952E-3;0.0;
+;;;6.42999960E-3;0.0;
+;;;6.43999968E-3;0.0;
+;;;6.44999975E-3;79.999998212E-3;
+;;;6.45999983E-3;0.0;
+;;;6.46999991E-3;0.0;
+;;;6.47999952E-3;0.0;
+;;;6.48999959E-3;0.0;
+;;;6.49999967E-3;0.0;
+;;;6.50999974E-3;79.999998212E-3;
+;;;6.51999982E-3;0.0;
+;;;6.52999990E-3;79.999998212E-3;
+;;;6.53999951E-3;0.0;
+;;;6.54999958E-3;79.999998212E-3;
+;;;6.55999966E-3;79.999998212E-3;
+;;;6.56999974E-3;0.0;
+;;;6.57999981E-3;0.0;
+;;;6.58999989E-3;79.999998212E-3;
+;;;6.59999996E-3;79.999998212E-3;
+;;;6.60999957E-3;0.0;
+;;;6.61999965E-3;79.999998212E-3;
+;;;6.62999973E-3;0.0;
+;;;6.63999980E-3;0.0;
+;;;6.64999988E-3;0.0;
+;;;6.65999996E-3;79.999998212E-3;
+;;;6.66999957E-3;0.0;
+;;;6.67999964E-3;0.0;
+;;;6.68999972E-3;0.0;
+;;;6.69999979E-3;0.0;
+;;;6.70999987E-3;0.0;
+;;;6.71999995E-3;79.999998212E-3;
+;;;6.72999956E-3;79.999998212E-3;
+;;;6.73999963E-3;79.999998212E-3;
+;;;6.74999971E-3;79.999998212E-3;
+;;;6.75999979E-3;79.999998212E-3;
+;;;6.76999986E-3;79.999998212E-3;
+;;;6.77999994E-3;0.0;
+;;;6.78999955E-3;0.0;
+;;;6.79999962E-3;79.999998212E-3;
+;;;6.80999970E-3;0.0;
+;;;6.81999978E-3;0.0;
+;;;6.82999985E-3;0.0;
+;;;6.83999993E-3;79.999998212E-3;
+;;;6.84999954E-3;79.999998212E-3;
+;;;6.85999962E-3;0.0;
+;;;6.86999969E-3;79.999998212E-3;
+;;;6.87999977E-3;0.0;
+;;;6.88999984E-3;79.999998212E-3;
+;;;6.89999992E-3;79.999998212E-3;
+;;;6.90999953E-3;0.0;
+;;;6.91999961E-3;0.0;
+;;;6.92999968E-3;79.999998212E-3;
+;;;6.93999976E-3;0.0;
+;;;6.94999984E-3;0.0;
+;;;6.95999991E-3;0.0;
+;;;6.96999952E-3;0.0;
+;;;6.97999960E-3;79.999998212E-3;
+;;;6.98999967E-3;0.0;
+;;;6.99999975E-3;0.0;
+;;;7.00999983E-3;0.0;
+;;;7.01999990E-3;0.0;
+;;;7.02999951E-3;0.0;
+;;;7.03999959E-3;0.0;
+;;;7.04999967E-3;79.999998212E-3;
+;;;7.05999974E-3;0.0;
+;;;7.06999982E-3;79.999998212E-3;
+;;;7.07999989E-3;0.0;
+;;;7.08999950E-3;0.0;
+;;;7.09999958E-3;0.0;
+;;;7.10999966E-3;0.0;
+;;;7.11999973E-3;0.0;
+;;;7.12999981E-3;0.0;
+;;;7.13999989E-3;0.0;
+;;;7.14999950E-3;0.0;
+;;;7.15999957E-3;0.0;
+;;;7.16999965E-3;79.999998212E-3;
+;;;7.17999972E-3;79.999998212E-3;
+;;;7.18999980E-3;0.0;
+;;;7.19999988E-3;0.0;
+;;;7.20999995E-3;79.999998212E-3;
+;;;7.21999956E-3;79.999998212E-3;
+;;;7.22999964E-3;0.0;
+;;;7.23999972E-3;0.0;
+;;;7.24999979E-3;0.0;
+;;;7.25999987E-3;0.0;
+;;;7.26999994E-3;79.999998212E-3;
+;;;7.27999955E-3;79.999998212E-3;
+;;;7.28999963E-3;0.0;
+;;;7.29999971E-3;0.0;
+;;;7.30999978E-3;0.0;
+;;;7.31999986E-3;79.999998212E-3;
+;;;7.32999993E-3;0.0;
+;;;7.33999955E-3;79.999998212E-3;
+;;;7.34999962E-3;0.0;
+;;;7.35999970E-3;79.999998212E-3;
+;;;7.36999977E-3;0.0;
+;;;7.37999985E-3;79.999998212E-3;
+;;;7.389999926E-3;0.0;
+;;;7.399999537E-3;79.999998212E-3;
+;;;7.409999613E-3;0.0;
+;;;7.419999689E-3;79.999998212E-3;
+;;;7.429999765E-3;0.0;
+;;;7.439999841E-3;79.999998212E-3;
+;;;7.449999917E-3;0.0;
+;;;7.459999528E-3;79.999998212E-3;
+;;;7.469999604E-3;0.0;
+;;;7.479999680E-3;79.999998212E-3;
+;;;7.489999756E-3;79.999998212E-3;
+;;;7.499999832E-3;0.0;
+;;;7.509999909E-3;0.0;
+;;;7.519999519E-3;79.999998212E-3;
+;;;7.529999595E-3;0.0;
+;;;7.539999671E-3;0.0;
+;;;7.549999747E-3;0.0;
+;;;7.559999824E-3;0.0;
+;;;7.569999900E-3;0.0;
+;;;7.579999510E-3;0.0;
+;;;7.589999586E-3;79.999998212E-3;
+;;;7.599999662E-3;0.0;
+;;;7.609999739E-3;0.0;
+;;;7.619999815E-3;0.0;
+;;;7.629999891E-3;79.999998212E-3;
+;;;7.639999501E-3;0.0;
+;;;7.649999578E-3;0.0;
+;;;7.659999654E-3;0.0;
+;;;7.669999730E-3;0.0;
+;;;7.679999806E-3;0.0;
+;;;7.689999882E-3;0.0;
+;;;7.699999493E-3;79.999998212E-3;
+;;;7.709999569E-3;0.0;
+;;;7.719999645E-3;0.0;
+;;;7.729999721E-3;79.999998212E-3;
+;;;7.739999797E-3;0.0;
+;;;7.749999873E-3;0.0;
+;;;7.759999484E-3;0.0;
+;;;7.769999560E-3;79.999998212E-3;
+;;;7.779999636E-3;79.999998212E-3;
+;;;7.789999712E-3;79.999998212E-3;
+;;;7.799999788E-3;79.999998212E-3;
+;;;7.809999865E-3;0.0;
+;;;7.819999941E-3;0.0;
+;;;7.829999551E-3;79.999998212E-3;
+;;;7.840000093E-3;0.0;
+;;;7.849999703E-3;0.0;
+;;;7.859999314E-3;79.999998212E-3;
+;;;7.869999856E-3;79.999998212E-3;
+;;;7.879999466E-3;0.0;
+;;;7.890000008E-3;0.0;
+;;;7.899999619E-3;0.0;
+;;;7.910000160E-3;0.0;
+;;;7.919999771E-3;79.999998212E-3;
+;;;7.929999381E-3;0.0;
+;;;7.939999923E-3;0.0;
+;;;7.949999534E-3;0.0;
+;;;7.960000075E-3;79.999998212E-3;
+;;;7.969999686E-3;0.0;
+;;;7.979999296E-3;79.999998212E-3;
+;;;7.989999838E-3;0.0;
+;;;7.999999449E-3;79.999998212E-3;
+;;;8.009999990E-3;79.999998212E-3;
+;;;8.019999601E-3;79.999998212E-3;
+;;;8.030000143E-3;0.0;
+;;;8.039999753E-3;79.999998212E-3;
+;;;8.049999364E-3;79.999998212E-3;
+;;;8.059999906E-3;0.0;
+;;;8.069999516E-3;79.999998212E-3;
+;;;8.080000058E-3;79.999998212E-3;
+;;;8.089999668E-3;79.999998212E-3;
+;;;8.099999279E-3;0.0;
+;;;8.109999821E-3;79.999998212E-3;
+;;;8.119999431E-3;79.999998212E-3;
+;;;8.129999973E-3;0.0;
+;;;8.139999583E-3;0.0;
+;;;8.150000125E-3;79.999998212E-3;
+;;;8.159999736E-3;79.999998212E-3;
+;;;8.169999346E-3;79.999998212E-3;
+;;;8.179999888E-3;79.999998212E-3;
+;;;8.189999498E-3;0.0;
+;;;8.200000040E-3;0.0;
+;;;8.209999651E-3;0.0;
+;;;8.219999261E-3;79.999998212E-3;
+;;;8.229999803E-3;0.0;
+;;;8.239999413E-3;79.999998212E-3;
+;;;8.249999955E-3;0.0;
+;;;8.259999566E-3;79.999998212E-3;
+;;;8.270000108E-3;79.999998212E-3;
+;;;8.279999718E-3;0.0;
+;;;8.289999329E-3;0.0;
+;;;8.299999870E-3;0.0;
+;;;8.309999481E-3;79.999998212E-3;
+;;;8.320000023E-3;0.0;
+;;;8.329999633E-3;0.0;
+;;;8.339999244E-3;79.999998212E-3;
+;;;8.349999785E-3;0.0;
+;;;8.359999396E-3;0.0;
+;;;8.369999938E-3;79.999998212E-3;
+;;;8.379999548E-3;0.0;
+;;;8.390000090E-3;0.0;
+;;;8.399999700E-3;0.0;
+;;;8.409999311E-3;79.999998212E-3;
+;;;8.419999853E-3;79.999998212E-3;
+;;;8.429999463E-3;79.999998212E-3;
+;;;8.440000005E-3;0.0;
+;;;8.449999616E-3;79.999998212E-3;
+;;;8.460000157E-3;0.0;
+;;;8.469999768E-3;79.999998212E-3;
+;;;8.479999378E-3;0.0;
+;;;8.489999920E-3;79.999998212E-3;
+;;;8.499999531E-3;79.999998212E-3;
+;;;8.510000072E-3;0.0;
+;;;8.519999683E-3;0.0;
+;;;8.529999293E-3;79.999998212E-3;
+;;;8.539999835E-3;0.0;
+;;;8.549999446E-3;0.0;
+;;;8.559999987E-3;0.0;
+;;;8.569999598E-3;79.999998212E-3;
+;;;8.580000140E-3;79.999998212E-3;
+;;;8.589999750E-3;0.0;
+;;;8.599999361E-3;79.999998212E-3;
+;;;8.609999903E-3;0.0;
+;;;8.619999513E-3;79.999998212E-3;
+;;;8.630000055E-3;79.999998212E-3;
+;;;8.639999665E-3;79.999998212E-3;
+;;;8.649999276E-3;79.999998212E-3;
+;;;8.659999818E-3;0.0;
+;;;8.669999428E-3;0.0;
+;;;8.679999970E-3;79.999998212E-3;
+;;;8.689999580E-3;0.0;
+;;;8.700000122E-3;79.999998212E-3;
+;;;8.709999733E-3;0.0;
+;;;8.719999343E-3;0.0;
+;;;8.729999885E-3;0.0;
+;;;8.739999495E-3;0.0;
+;;;8.750000037E-3;79.999998212E-3;
+;;;8.759999648E-3;0.0;
+;;;8.769999258E-3;79.999998212E-3;
+;;;8.779999800E-3;0.0;
+;;;8.789999411E-3;0.0;
+;;;8.799999952E-3;79.999998212E-3;
+;;;8.809999563E-3;0.0;
+;;;8.820000105E-3;0.0;
+;;;8.829999715E-3;79.999998212E-3;
+;;;8.839999326E-3;0.0;
+;;;8.849999867E-3;0.0;
+;;;8.859999478E-3;0.0;
+;;;8.870000020E-3;0.0;
+;;;8.879999630E-3;0.0;
+;;;8.889999241E-3;0.0;
+;;;8.899999782E-3;0.0;
+;;;8.909999393E-3;0.0;
+;;;8.919999935E-3;0.0;
+;;;8.929999545E-3;79.999998212E-3;
+;;;8.940000087E-3;0.0;
+;;;8.949999698E-3;0.0;
+;;;8.959999308E-3;0.0;
+;;;8.969999850E-3;79.999998212E-3;
+;;;8.979999460E-3;79.999998212E-3;
+;;;8.990000002E-3;0.0;
+;;;8.999999613E-3;0.0;
+;;;9.009999223E-3;0.0;
+;;;9.019999765E-3;79.999998212E-3;
+;;;9.029999375E-3;0.0;
+;;;9.039999917E-3;79.999998212E-3;
+;;;9.049999528E-3;79.999998212E-3;
+;;;9.060000069E-3;79.999998212E-3;
+;;;9.069999680E-3;0.0;
+;;;9.079999290E-3;0.0;
+;;;9.089999832E-3;0.0;
+;;;9.099999443E-3;0.0;
+;;;9.109999985E-3;79.999998212E-3;
+;;;9.119999595E-3;79.999998212E-3;
+;;;9.130000137E-3;0.0;
+;;;9.139999747E-3;0.0;
+;;;9.149999358E-3;159.99999642E-3;
+;;;9.159999900E-3;79.999998212E-3;
+;;;9.169999510E-3;79.999998212E-3;
+;;;9.180000052E-3;0.0;
+;;;9.189999662E-3;79.999998212E-3;
+;;;9.199999273E-3;0.0;
+;;;9.209999815E-3;0.0;
+;;;9.219999425E-3;0.0;
+;;;9.229999967E-3;0.0;
+;;;9.239999577E-3;0.0;
+;;;9.250000119E-3;79.999998212E-3;
+;;;9.259999730E-3;79.999998212E-3;
+;;;9.269999340E-3;0.0;
+;;;9.279999882E-3;79.999998212E-3;
+;;;9.289999492E-3;79.999998212E-3;
+;;;9.300000034E-3;79.999998212E-3;
+;;;9.309999645E-3;0.0;
+;;;9.319999255E-3;79.999998212E-3;
+;;;9.329999797E-3;0.0;
+;;;9.339999408E-3;79.999998212E-3;
+;;;9.349999949E-3;79.999998212E-3;
+;;;9.359999560E-3;0.0;
+;;;9.370000102E-3;79.999998212E-3;
+;;;9.379999712E-3;79.999998212E-3;
+;;;9.389999323E-3;0.0;
+;;;9.399999864E-3;0.0;
+;;;9.409999475E-3;0.0;
+;;;9.420000017E-3;79.999998212E-3;
+;;;9.429999627E-3;79.999998212E-3;
+;;;9.439999238E-3;79.999998212E-3;
+;;;9.449999779E-3;0.0;
+;;;9.459999390E-3;0.0;
+;;;9.469999932E-3;0.0;
+;;;9.479999542E-3;79.999998212E-3;
+;;;9.490000084E-3;0.0;
+;;;9.499999695E-3;79.999998212E-3;
+;;;9.509999305E-3;0.0;
+;;;9.519999847E-3;0.0;
+;;;9.529999457E-3;0.0;
+;;;9.539999999E-3;79.999998212E-3;
+;;;9.549999610E-3;79.999998212E-3;
+;;;9.559999220E-3;79.999998212E-3;
+;;;9.569999762E-3;79.999998212E-3;
+;;;9.579999372E-3;0.0;
+;;;9.589999914E-3;79.999998212E-3;
+;;;9.599999525E-3;79.999998212E-3;
+;;;9.610000066E-3;79.999998212E-3;
+;;;9.619999677E-3;0.0;
+;;;9.629999287E-3;79.999998212E-3;
+;;;9.639999829E-3;79.999998212E-3;
+;;;9.649999440E-3;0.0;
+;;;9.659999982E-3;79.999998212E-3;
+;;;9.669999592E-3;79.999998212E-3;
+;;;9.679999202E-3;0.0;
+;;;9.689999744E-3;0.0;
+;;;9.699999355E-3;159.99999642E-3;
+;;;9.709999897E-3;79.999998212E-3;
+;;;9.719999507E-3;0.0;
+;;;9.730000049E-3;79.999998212E-3;
+;;;9.739999659E-3;0.0;
+;;;9.749999270E-3;79.999998212E-3;
+;;;9.759999812E-3;79.999998212E-3;
+;;;9.769999422E-3;79.999998212E-3;
+;;;9.779999964E-3;0.0;
+;;;9.789999574E-3;0.0;
+;;;9.800000116E-3;0.0;
+;;;9.809999727E-3;0.0;
+;;;9.819999337E-3;79.999998212E-3;
+;;;9.829999879E-3;0.0;
+;;;9.839999489E-3;0.0;
+;;;9.850000031E-3;79.999998212E-3;
+;;;9.859999642E-3;0.0;
+;;;9.869999252E-3;0.0;
+;;;9.879999794E-3;0.0;
+;;;9.889999405E-3;0.0;
+;;;9.899999946E-3;0.0;
+;;;9.909999557E-3;79.999998212E-3;
+;;;9.920000099E-3;79.999998212E-3;
+;;;9.929999709E-3;79.999998212E-3;
+;;;9.939999320E-3;0.0;
+;;;9.949999861E-3;0.0;
+;;;9.959999472E-3;79.999998212E-3;
+;;;9.970000014E-3;0.0;
+;;;9.979999624E-3;79.999998212E-3;
+;;;9.989999235E-3;0.0;
+;;;9.999999776E-3;79.999998212E-3;
+;;;10.0099994E-3;0.0;
+;;;10.0199999E-3;0.0;
+;;;10.0299995E-3;79.999998212E-3;
+;;;10.0400001E-3;79.999998212E-3;
+;;;10.0499997E-3;79.999998212E-3;
+;;;10.0599993E-3;0.0;
+;;;10.0699998E-3;79.999998212E-3;
+;;;10.0799995E-3;79.999998212E-3;
+;;;10.0900000E-3;79.999998212E-3;
+;;;10.0999996E-3;79.999998212E-3;
+;;;10.1099992E-3;0.0;
+;;;10.1199998E-3;0.0;
+;;;10.1299994E-3;0.0;
+;;;10.1399999E-3;0.0;
+;;;10.1499995E-3;79.999998212E-3;
+;;;10.1600001E-3;79.999998212E-3;
+;;;10.1699997E-3;0.0;
+;;;10.1799993E-3;79.999998212E-3;
+;;;10.1899998E-3;79.999998212E-3;
+;;;10.1999994E-3;0.0;
+;;;10.2100000E-3;79.999998212E-3;
+;;;10.2199996E-3;0.0;
+;;;10.2299992E-3;0.0;
+;;;10.2399997E-3;79.999998212E-3;
+;;;10.2499994E-3;0.0;
+;;;10.2599999E-3;79.999998212E-3;
+;;;10.2699995E-3;79.999998212E-3;
+;;;10.2800000E-3;0.0;
+;;;10.2899997E-3;0.0;
+;;;10.2999993E-3;79.999998212E-3;
+;;;10.3099998E-3;0.0;
+;;;10.3199994E-3;0.0;
+;;;10.3300000E-3;0.0;
+;;;10.3399996E-3;0.0;
+;;;10.3499992E-3;0.0;
+;;;10.3599997E-3;0.0;
+;;;10.3699993E-3;0.0;
+;;;10.3799999E-3;79.999998212E-3;
+;;;10.3899995E-3;79.999998212E-3;
+;;;10.4000000E-3;0.0;
+;;;10.4099996E-3;0.0;
+;;;10.4199992E-3;0.0;
+;;;10.4299998E-3;79.999998212E-3;
+;;;10.4399994E-3;0.0;
+;;;10.4499999E-3;0.0;
+;;;10.4599996E-3;0.0;
+;;;10.4700001E-3;0.0;
+;;;10.4799997E-3;0.0;
+;;;10.4899993E-3;0.0;
+;;;10.4999999E-3;0.0;
+;;;10.5099995E-3;0.0;
+;;;10.5200000E-3;0.0;
+;;;10.5299996E-3;79.999998212E-3;
+;;;10.5399992E-3;0.0;
+;;;10.5499998E-3;0.0;
+;;;10.5599994E-3;0.0;
+;;;10.5699999E-3;79.999998212E-3;
+;;;10.5799995E-3;79.999998212E-3;
+;;;10.5900001E-3;79.999998212E-3;
+;;;10.5999997E-3;0.0;
+;;;10.6099993E-3;0.0;
+;;;10.6199998E-3;79.999998212E-3;
+;;;10.6299995E-3;0.0;
+;;;10.6400000E-3;0.0;
+;;;10.6499996E-3;79.999998212E-3;
+;;;10.6599992E-3;0.0;
+;;;10.6699998E-3;79.999998212E-3;
+;;;10.6799994E-3;79.999998212E-3;
+;;;10.6899999E-3;0.0;
+;;;10.6999995E-3;0.0;
+;;;10.7100001E-3;79.999998212E-3;
+;;;10.7199997E-3;0.0;
+;;;10.7299993E-3;0.0;
+;;;10.7399998E-3;0.0;
+;;;10.7499994E-3;79.999998212E-3;
+;;;10.7600000E-3;0.0;
+;;;10.7699996E-3;79.999998212E-3;
+;;;10.7799992E-3;79.999998212E-3;
+;;;10.7899997E-3;0.0;
+;;;10.7999993E-3;0.0;
+;;;10.8099999E-3;0.0;
+;;;10.8199995E-3;0.0;
+;;;10.8300000E-3;79.999998212E-3;
+;;;10.8399997E-3;79.999998212E-3;
+;;;10.8499993E-3;79.999998212E-3;
+;;;10.8599998E-3;79.999998212E-3;
+;;;10.8699994E-3;0.0;
+;;;10.8800000E-3;79.999998212E-3;
+;;;10.8899996E-3;79.999998212E-3;
+;;;10.8999992E-3;79.999998212E-3;
+;;;10.9099997E-3;0.0;
+;;;10.9199993E-3;79.999998212E-3;
+;;;10.9299999E-3;79.999998212E-3;
+;;;10.9399995E-3;79.999998212E-3;
+;;;10.9500000E-3;79.999998212E-3;
+;;;10.9599996E-3;0.0;
+;;;10.9699992E-3;0.0;
+;;;10.9799998E-3;79.999998212E-3;
+;;;10.9899994E-3;0.0;
+;;;10.9999999E-3;79.999998212E-3;
+;;;11.0099996E-3;79.999998212E-3;
+;;;11.0199992E-3;0.0;
+;;;11.0299997E-3;0.0;
+;;;11.0399993E-3;79.999998212E-3;
+;;;11.0499999E-3;79.999998212E-3;
+;;;11.0599995E-3;0.0;
+;;;11.0700000E-3;79.999998212E-3;
+;;;11.0799996E-3;79.999998212E-3;
+;;;11.0899992E-3;0.0;
+;;;11.0999998E-3;0.0;
+;;;11.1099994E-3;0.0;
+;;;11.1199999E-3;79.999998212E-3;
+;;;11.1299995E-3;79.999998212E-3;
+;;;11.1400001E-3;0.0;
+;;;11.1499997E-3;0.0;
+;;;11.1599993E-3;79.999998212E-3;
+;;;11.1699998E-3;0.0;
+;;;11.1799994E-3;79.999998212E-3;
+;;;11.1900000E-3;0.0;
+;;;11.1999996E-3;0.0;
+;;;11.2099992E-3;79.999998212E-3;
+;;;11.2199998E-3;0.0;
+;;;11.2299994E-3;79.999998212E-3;
+;;;11.2399999E-3;0.0;
+;;;11.2499995E-3;0.0;
+;;;11.2600001E-3;79.999998212E-3;
+;;;11.2699997E-3;0.0;
+;;;11.2799993E-3;79.999998212E-3;
+;;;11.2899998E-3;0.0;
+;;;11.2999994E-3;0.0;
+;;;11.3100000E-3;0.0;
+;;;11.3199996E-3;79.999998212E-3;
+;;;11.3299992E-3;79.999998212E-3;
+;;;11.3399997E-3;0.0;
+;;;11.3499993E-3;79.999998212E-3;
+;;;11.3599999E-3;79.999998212E-3;
+;;;11.3699995E-3;79.999998212E-3;
+;;;11.3800000E-3;0.0;
+;;;11.3899997E-3;79.999998212E-3;
+;;;11.3999993E-3;0.0;
+;;;11.4099998E-3;0.0;
+;;;11.4199994E-3;79.999998212E-3;
+;;;11.4300000E-3;79.999998212E-3;
+;;;11.4399996E-3;79.999998212E-3;
+;;;11.4499992E-3;0.0;
+;;;11.4599997E-3;79.999998212E-3;
+;;;11.4699993E-3;0.0;
+;;;11.4799999E-3;0.0;
+;;;11.4899995E-3;0.0;
+;;;11.5000000E-3;79.999998212E-3;
+;;;11.5099996E-3;79.999998212E-3;
+;;;11.5199992E-3;79.999998212E-3;
+;;;11.5299998E-3;0.0;
+;;;11.5399994E-3;79.999998212E-3;
+;;;11.5499999E-3;0.0;
+;;;11.5599995E-3;0.0;
+;;;11.5699992E-3;0.0;
+;;;11.5799997E-3;0.0;
+;;;11.5899993E-3;0.0;
+;;;11.5999999E-3;0.0;
+;;;11.6099995E-3;79.999998212E-3;
+;;;11.6200000E-3;79.999998212E-3;
+;;;11.6299996E-3;79.999998212E-3;
+;;;11.6399992E-3;0.0;
+;;;11.6499998E-3;79.999998212E-3;
+;;;11.6599994E-3;79.999998212E-3;
+;;;11.6699999E-3;79.999998212E-3;
+;;;11.6799995E-3;79.999998212E-3;
+;;;11.6900001E-3;79.999998212E-3;
+;;;11.6999997E-3;79.999998212E-3;
+;;;11.7099993E-3;0.0;
+;;;11.7199998E-3;0.0;
+;;;11.7299994E-3;79.999998212E-3;
+;;;11.7400000E-3;0.0;
+;;;11.7499996E-3;0.0;
+;;;11.7599992E-3;79.999998212E-3;
+;;;11.7699997E-3;0.0;
+;;;11.7799994E-3;0.0;
+;;;11.7899999E-3;79.999998212E-3;
+;;;11.7999995E-3;0.0;
+;;;11.8100001E-3;79.999998212E-3;
+;;;11.8199997E-3;79.999998212E-3;
+;;;11.8299993E-3;79.999998212E-3;
+;;;11.8399998E-3;79.999998212E-3;
+;;;11.8499994E-3;0.0;
+;;;11.8600000E-3;0.0;
+;;;11.8699996E-3;79.999998212E-3;
+;;;11.8799992E-3;79.999998212E-3;
+;;;11.8899997E-3;79.999998212E-3;
+;;;11.8999993E-3;79.999998212E-3;
+;;;11.9099999E-3;0.0;
+;;;11.9199995E-3;79.999998212E-3;
+;;;11.9300000E-3;0.0;
+;;;11.9399996E-3;79.999998212E-3;
+;;;11.9499993E-3;79.999998212E-3;
+;;;11.9599998E-3;0.0;
+;;;11.9699994E-3;0.0;
+;;;11.9800000E-3;0.0;
+;;;11.9899996E-3;79.999998212E-3;
+;;;11.9999992E-3;0.0;
+;;;12.0099997E-3;79.999998212E-3;
+;;;12.0199993E-3;79.999998212E-3;
+;;;12.0299999E-3;0.0;
+;;;12.0399995E-3;0.0;
+;;;12.0500000E-3;0.0;
+;;;12.0599996E-3;0.0;
+;;;12.0699992E-3;79.999998212E-3;
+;;;12.0799998E-3;79.999998212E-3;
+;;;12.0899994E-3;0.0;
+;;;12.0999999E-3;79.999998212E-3;
+;;;12.1099995E-3;0.0;
+;;;12.1199992E-3;0.0;
+;;;12.1299997E-3;79.999998212E-3;
+;;;12.1399993E-3;79.999998212E-3;
+;;;12.1499998E-3;79.999998212E-3;
+;;;12.1599995E-3;0.0;
+;;;12.1700000E-3;0.0;
+;;;12.1799996E-3;0.0;
+;;;12.1899992E-3;79.999998212E-3;
+;;;12.1999998E-3;79.999998212E-3;
+;;;12.2099994E-3;79.999998212E-3;
+;;;12.2199999E-3;0.0;
+;;;12.2299995E-3;0.0;
+;;;12.2399991E-3;79.999998212E-3;
+;;;12.2499997E-3;79.999998212E-3;
+;;;12.2599993E-3;79.999998212E-3;
+;;;12.2699998E-3;0.0;
+;;;12.2799994E-3;0.0;
+;;;12.2900000E-3;0.0;
+;;;12.2999996E-3;0.0;
+;;;12.3099992E-3;0.0;
+;;;12.3199997E-3;79.999998212E-3;
+;;;12.3299994E-3;79.999998212E-3;
+;;;12.3399999E-3;0.0;
+;;;12.3499995E-3;0.0;
+;;;12.3600001E-3;79.999998212E-3;
+;;;12.3699997E-3;79.999998212E-3;
+;;;12.3799993E-3;0.0;
+;;;12.3899998E-3;0.0;
+;;;12.3999994E-3;79.999998212E-3;
+;;;12.4100000E-3;0.0;
+;;;12.4199996E-3;0.0;
+;;;12.4299992E-3;0.0;
+;;;12.4399997E-3;0.0;
+;;;12.4499993E-3;79.999998212E-3;
+;;;12.4599999E-3;0.0;
+;;;12.4699995E-3;0.0;
+;;;12.4800000E-3;0.0;
+;;;12.4899996E-3;159.99999642E-3;
+;;;12.4999993E-3;0.0;
+;;;12.5099998E-3;79.999998212E-3;
+;;;12.5199994E-3;79.999998212E-3;
+;;;12.5299999E-3;0.0;
+;;;12.5399996E-3;79.999998212E-3;
+;;;12.5499992E-3;79.999998212E-3;
+;;;12.5599997E-3;0.0;
+;;;12.5699993E-3;0.0;
+;;;12.5799999E-3;0.0;
+;;;12.5899995E-3;0.0;
+;;;12.6000000E-3;0.0;
+;;;12.6099996E-3;0.0;
+;;;12.6199992E-3;0.0;
+;;;12.6299998E-3;0.0;
+;;;12.6399994E-3;79.999998212E-3;
+;;;12.6499999E-3;79.999998212E-3;
+;;;12.6599995E-3;0.0;
+;;;12.6699992E-3;0.0;
+;;;12.6799997E-3;0.0;
+;;;12.6899993E-3;0.0;
+;;;12.6999998E-3;0.0;
+;;;12.7099995E-3;0.0;
+;;;12.7200000E-3;79.999998212E-3;
+;;;12.7299996E-3;79.999998212E-3;
+;;;12.7399992E-3;79.999998212E-3;
+;;;12.7499998E-3;0.0;
+;;;12.7599994E-3;0.0;
+;;;12.7699999E-3;79.999998212E-3;
+;;;12.7799995E-3;79.999998212E-3;
+;;;12.7899991E-3;0.0;
+;;;12.7999997E-3;0.0;
+;;;12.8099993E-3;0.0;
+;;;12.8199998E-3;79.999998212E-3;
+;;;12.8299994E-3;0.0;
+;;;12.8400000E-3;79.999998212E-3;
+;;;12.8499996E-3;79.999998212E-3;
+;;;12.8599992E-3;0.0;
+;;;12.8699997E-3;0.0;
+;;;12.8799994E-3;79.999998212E-3;
+;;;12.8899999E-3;79.999998212E-3;
+;;;12.8999995E-3;0.0;
+;;;12.9099991E-3;0.0;
+;;;12.9199997E-3;0.0;
+;;;12.9299993E-3;0.0;
+;;;12.9399998E-3;0.0;
+;;;12.9499994E-3;79.999998212E-3;
+;;;12.9600000E-3;79.999998212E-3;
+;;;12.9699996E-3;79.999998212E-3;
+;;;12.9799992E-3;0.0;
+;;;12.9899997E-3;79.999998212E-3;
+;;;12.9999993E-3;0.0;
+;;;13.0099999E-3;79.999998212E-3;
+;;;13.0199995E-3;0.0;
+;;;13.0300000E-3;79.999998212E-3;
+;;;13.0399996E-3;79.999998212E-3;
+;;;13.0499993E-3;0.0;
+;;;13.0599998E-3;79.999998212E-3;
+;;;13.0699994E-3;79.999998212E-3;
+;;;13.0799999E-3;79.999998212E-3;
+;;;13.0899996E-3;79.999998212E-3;
+;;;13.0999992E-3;79.999998212E-3;
+;;;13.1099997E-3;0.0;
+;;;13.1199993E-3;79.999998212E-3;
+;;;13.1299999E-3;79.999998212E-3;
+;;;13.1399995E-3;79.999998212E-3;
+;;;13.1500000E-3;79.999998212E-3;
+;;;13.1599996E-3;79.999998212E-3;
+;;;13.1699992E-3;0.0;
+;;;13.1799998E-3;0.0;
+;;;13.1899994E-3;79.999998212E-3;
+;;;13.1999999E-3;79.999998212E-3;
+;;;13.2099995E-3;0.0;
+;;;13.2199991E-3;79.999998212E-3;
+;;;13.2299997E-3;0.0;
+;;;13.2399993E-3;0.0;
+;;;13.2499998E-3;0.0;
+;;;13.2599995E-3;79.999998212E-3;
+;;;13.2700000E-3;0.0;
+;;;13.2799996E-3;0.0;
+;;;13.2899992E-3;79.999998212E-3;
+;;;13.2999998E-3;79.999998212E-3;
+;;;13.3099994E-3;0.0;
+;;;13.3199999E-3;0.0;
+;;;13.3299995E-3;79.999998212E-3;
+;;;13.3399991E-3;79.999998212E-3;
+;;;13.3499997E-3;0.0;
+;;;13.3599993E-3;0.0;
+;;;13.3699998E-3;79.999998212E-3;
+;;;13.3799994E-3;79.999998212E-3;
+;;;13.3900000E-3;79.999998212E-3;
+;;;13.3999996E-3;0.0;
+;;;13.4099992E-3;0.0;
+;;;13.4199997E-3;0.0;
+;;;13.4299994E-3;0.0;
+;;;13.4399999E-3;0.0;
+;;;13.4499995E-3;79.999998212E-3;
+;;;13.4599991E-3;0.0;
+;;;13.4699997E-3;0.0;
+;;;13.4799993E-3;0.0;
+;;;13.4899998E-3;79.999998212E-3;
+;;;13.4999994E-3;0.0;
+;;;13.5100000E-3;0.0;
+;;;13.5199996E-3;0.0;
+;;;13.5299992E-3;79.999998212E-3;
+;;;13.5399997E-3;0.0;
+;;;13.5499993E-3;0.0;
+;;;13.5599999E-3;0.0;
+;;;13.5699995E-3;0.0;
+;;;13.5800000E-3;0.0;
+;;;13.5899996E-3;0.0;
+;;;13.5999992E-3;79.999998212E-3;
+;;;13.6099998E-3;0.0;
+;;;13.6199994E-3;79.999998212E-3;
+;;;13.6299999E-3;0.0;
+;;;13.6399996E-3;79.999998212E-3;
+;;;13.6499992E-3;0.0;
+;;;13.6599997E-3;79.999998212E-3;
+;;;13.6699993E-3;79.999998212E-3;
+;;;13.6799999E-3;0.0;
+;;;13.6899995E-3;79.999998212E-3;
+;;;13.7000000E-3;0.0;
+;;;13.7099996E-3;0.0;
+;;;13.7199992E-3;0.0;
+;;;13.7299998E-3;0.0;
+;;;13.7399994E-3;79.999998212E-3;
+;;;13.7499999E-3;0.0;
+;;;13.7599995E-3;79.999998212E-3;
+;;;13.7699991E-3;0.0;
+;;;13.7799997E-3;79.999998212E-3;
+;;;13.7899993E-3;0.0;
+;;;13.7999998E-3;0.0;
+;;;13.8099995E-3;0.0;
+;;;13.8200000E-3;0.0;
+;;;13.8299996E-3;0.0;
+;;;13.8399992E-3;0.0;
+;;;13.8499998E-3;0.0;
+;;;13.8599994E-3;0.0;
+;;;13.8699999E-3;79.999998212E-3;
+;;;13.8799995E-3;79.999998212E-3;
+;;;13.8899991E-3;79.999998212E-3;
+;;;13.8999997E-3;0.0;
+;;;13.9099993E-3;79.999998212E-3;
+;;;13.9199998E-3;0.0;
+;;;13.9299994E-3;79.999998212E-3;
+;;;13.9400000E-3;79.999998212E-3;
+;;;13.9499996E-3;79.999998212E-3;
+;;;13.9599992E-3;79.999998212E-3;
+;;;13.9699997E-3;0.0;
+;;;13.9799993E-3;79.999998212E-3;
+;;;13.9899999E-3;0.0;
+;;;13.9999995E-3;79.999998212E-3;
+;;;14.0099991E-3;79.999998212E-3;
+;;;14.0199997E-3;0.0;
+;;;14.0299993E-3;0.0;
+;;;14.0399998E-3;0.0;
+;;;14.0499994E-3;0.0;
+;;;14.0600000E-3;79.999998212E-3;
+;;;14.0699996E-3;0.0;
+;;;14.0799992E-3;79.999998212E-3;
+;;;14.0899997E-3;79.999998212E-3;
+;;;14.0999993E-3;0.0;
+;;;14.1099999E-3;79.999998212E-3;
+;;;14.1199995E-3;0.0;
+;;;14.1299991E-3;0.0;
+;;;14.1399996E-3;0.0;
+;;;14.1499992E-3;0.0;
+;;;14.1599998E-3;79.999998212E-3;
+;;;14.1699994E-3;0.0;
+;;;14.1799999E-3;0.0;
+;;;14.1899996E-3;79.999998212E-3;
+;;;14.1999992E-3;0.0;
+;;;14.2099997E-3;0.0;
+;;;14.2199993E-3;79.999998212E-3;
+;;;14.2299999E-3;79.999998212E-3;
+;;;14.2399995E-3;79.999998212E-3;
+;;;14.2500000E-3;79.999998212E-3;
diff --git a/doc/data/piezo-filter-1/piezo-filter-waveform-raw-ch3.csv b/doc/data/piezo-filter-1/piezo-filter-waveform-raw-ch3.csv
new file mode 100644
index 0000000..f4653a0
--- /dev/null
+++ b/doc/data/piezo-filter-1/piezo-filter-waveform-raw-ch3.csv
@@ -0,0 +1,2500 @@
+Record Length;2500;Points;-10.7399998E-3;79.999998212E-3;
+Sample Interval;9.999999747E-6;s;-10.7300002E-3;79.999998212E-3;
+Trigger Point;1.0740001E3;Samples;-10.7199997E-3;79.999998212E-3;
+;;;-10.7100001E-3;0.0;
+;;;-10.6999995E-3;0.0;
+;;;-10.6899999E-3;79.999998212E-3;
+Source;CH3;;-10.6799994E-3;79.999998212E-3;
+Vertical Units;Volts;;-10.6699998E-3;0.0;
+Vertical Scale;2.0000000;;-10.6600001E-3;0.0;
+Vertical Offset;0;;-10.6499996E-3;79.999998212E-3;
+Horizontal Units;s;;-10.6400000E-3;79.999998212E-3;
+Horizontal Scale;2.4999999E-3;;-10.6299995E-3;0.0;
+Pt Fmt;Y;;-10.6199998E-3;0.0;
+Yzero;80.000000000E-3;;-10.6100002E-3;79.999998212E-3;
+Probe Atten;10.0000000;;-10.5999997E-3;79.999998212E-3;
+;;;-10.5900001E-3;0.0;
+Note;TDS 2024C - 14:39:34 23.02.2018;;-10.5799995E-3;0.0;
+;;;-10.5699999E-3;0.0;
+;;;-10.5599994E-3;79.999998212E-3;
+;;;-10.5499998E-3;79.999998212E-3;
+;;;-10.5400002E-3;0.0;
+;;;-10.5299996E-3;79.999998212E-3;
+;;;-10.5200000E-3;0.0;
+;;;-10.5099995E-3;0.0;
+;;;-10.4999999E-3;0.0;
+;;;-10.4900002E-3;79.999998212E-3;
+;;;-10.4799997E-3;0.0;
+;;;-10.4700001E-3;79.999998212E-3;
+;;;-10.4599996E-3;0.0;
+;;;-10.4499999E-3;0.0;
+;;;-10.4399994E-3;0.0;
+;;;-10.4299998E-3;0.0;
+;;;-10.4200002E-3;79.999998212E-3;
+;;;-10.4099996E-3;0.0;
+;;;-10.4000000E-3;0.0;
+;;;-10.3899995E-3;0.0;
+;;;-10.3799999E-3;79.999998212E-3;
+;;;-10.3700003E-3;0.0;
+;;;-10.3599997E-3;0.0;
+;;;-10.3500001E-3;0.0;
+;;;-10.3399996E-3;79.999998212E-3;
+;;;-10.3300000E-3;0.0;
+;;;-10.3199994E-3;79.999998212E-3;
+;;;-10.3099998E-3;79.999998212E-3;
+;;;-10.3000002E-3;0.0;
+;;;-10.2899997E-3;79.999998212E-3;
+;;;-10.2800000E-3;79.999998212E-3;
+;;;-10.2699995E-3;0.0;
+;;;-10.2599999E-3;79.999998212E-3;
+;;;-10.2500003E-3;79.999998212E-3;
+;;;-10.2399997E-3;79.999998212E-3;
+;;;-10.2300001E-3;0.0;
+;;;-10.2199996E-3;79.999998212E-3;
+;;;-10.2100000E-3;79.999998212E-3;
+;;;-10.1999994E-3;0.0;
+;;;-10.1899998E-3;79.999998212E-3;
+;;;-10.1800002E-3;0.0;
+;;;-10.1699997E-3;79.999998212E-3;
+;;;-10.1600001E-3;0.0;
+;;;-10.1499995E-3;79.999998212E-3;
+;;;-10.1399999E-3;0.0;
+;;;-10.1300003E-3;0.0;
+;;;-10.1199998E-3;0.0;
+;;;-10.1100001E-3;79.999998212E-3;
+;;;-10.0999996E-3;0.0;
+;;;-10.0900000E-3;0.0;
+;;;-10.0799995E-3;0.0;
+;;;-10.0699998E-3;79.999998212E-3;
+;;;-10.0600002E-3;0.0;
+;;;-10.0499997E-3;0.0;
+;;;-10.0400001E-3;159.99999642E-3;
+;;;-10.0299995E-3;79.999998212E-3;
+;;;-10.0199999E-3;0.0;
+;;;-10.0099994E-3;79.999998212E-3;
+;;;-9.999999776E-3;79.999998212E-3;
+;;;-9.990000166E-3;0.0;
+;;;-9.979999624E-3;0.0;
+;;;-9.970000014E-3;0.0;
+;;;-9.959999472E-3;79.999998212E-3;
+;;;-9.949999861E-3;79.999998212E-3;
+;;;-9.940000251E-3;79.999998212E-3;
+;;;-9.929999709E-3;79.999998212E-3;
+;;;-9.920000099E-3;79.999998212E-3;
+;;;-9.909999557E-3;79.999998212E-3;
+;;;-9.899999946E-3;79.999998212E-3;
+;;;-9.889999405E-3;0.0;
+;;;-9.879999794E-3;79.999998212E-3;
+;;;-9.870000184E-3;79.999998212E-3;
+;;;-9.859999642E-3;79.999998212E-3;
+;;;-9.850000031E-3;0.0;
+;;;-9.839999489E-3;0.0;
+;;;-9.829999879E-3;0.0;
+;;;-9.820000269E-3;79.999998212E-3;
+;;;-9.809999727E-3;0.0;
+;;;-9.800000116E-3;0.0;
+;;;-9.789999574E-3;0.0;
+;;;-9.779999964E-3;79.999998212E-3;
+;;;-9.769999422E-3;79.999998212E-3;
+;;;-9.759999812E-3;0.0;
+;;;-9.750000201E-3;79.999998212E-3;
+;;;-9.739999659E-3;79.999998212E-3;
+;;;-9.730000049E-3;0.0;
+;;;-9.719999507E-3;79.999998212E-3;
+;;;-9.709999897E-3;79.999998212E-3;
+;;;-9.700000286E-3;79.999998212E-3;
+;;;-9.689999744E-3;79.999998212E-3;
+;;;-9.680000134E-3;79.999998212E-3;
+;;;-9.669999592E-3;79.999998212E-3;
+;;;-9.659999982E-3;0.0;
+;;;-9.649999440E-3;0.0;
+;;;-9.639999829E-3;0.0;
+;;;-9.630000219E-3;79.999998212E-3;
+;;;-9.619999677E-3;79.999998212E-3;
+;;;-9.610000066E-3;0.0;
+;;;-9.599999525E-3;0.0;
+;;;-9.589999914E-3;79.999998212E-3;
+;;;-9.580000304E-3;79.999998212E-3;
+;;;-9.569999762E-3;79.999998212E-3;
+;;;-9.560000151E-3;0.0;
+;;;-9.549999610E-3;79.999998212E-3;
+;;;-9.539999999E-3;159.99999642E-3;
+;;;-9.529999457E-3;79.999998212E-3;
+;;;-9.519999847E-3;79.999998212E-3;
+;;;-9.510000236E-3;0.0;
+;;;-9.499999695E-3;0.0;
+;;;-9.490000084E-3;0.0;
+;;;-9.479999542E-3;0.0;
+;;;-9.469999932E-3;79.999998212E-3;
+;;;-9.460000321E-3;0.0;
+;;;-9.449999779E-3;79.999998212E-3;
+;;;-9.440000169E-3;0.0;
+;;;-9.429999627E-3;79.999998212E-3;
+;;;-9.420000017E-3;0.0;
+;;;-9.409999475E-3;79.999998212E-3;
+;;;-9.399999864E-3;79.999998212E-3;
+;;;-9.390000254E-3;79.999998212E-3;
+;;;-9.379999712E-3;0.0;
+;;;-9.370000102E-3;79.999998212E-3;
+;;;-9.359999560E-3;79.999998212E-3;
+;;;-9.349999949E-3;79.999998212E-3;
+;;;-9.339999408E-3;0.0;
+;;;-9.329999797E-3;79.999998212E-3;
+;;;-9.320000187E-3;0.0;
+;;;-9.309999645E-3;0.0;
+;;;-9.300000034E-3;79.999998212E-3;
+;;;-9.289999492E-3;0.0;
+;;;-9.279999882E-3;79.999998212E-3;
+;;;-9.270000271E-3;-79.999998212E-3;
+;;;-9.259999730E-3;79.999998212E-3;
+;;;-9.250000119E-3;0.0;
+;;;-9.239999577E-3;0.0;
+;;;-9.229999967E-3;79.999998212E-3;
+;;;-9.219999425E-3;79.999998212E-3;
+;;;-9.209999815E-3;0.0;
+;;;-9.200000204E-3;79.999998212E-3;
+;;;-9.189999662E-3;0.0;
+;;;-9.180000052E-3;79.999998212E-3;
+;;;-9.169999510E-3;79.999998212E-3;
+;;;-9.159999900E-3;0.0;
+;;;-9.150000289E-3;0.0;
+;;;-9.139999747E-3;79.999998212E-3;
+;;;-9.130000137E-3;79.999998212E-3;
+;;;-9.119999595E-3;0.0;
+;;;-9.109999985E-3;79.999998212E-3;
+;;;-9.099999443E-3;79.999998212E-3;
+;;;-9.089999832E-3;79.999998212E-3;
+;;;-9.080000222E-3;0.0;
+;;;-9.069999680E-3;159.99999642E-3;
+;;;-9.060000069E-3;79.999998212E-3;
+;;;-9.049999528E-3;0.0;
+;;;-9.039999917E-3;0.0;
+;;;-9.030000307E-3;0.0;
+;;;-9.019999765E-3;79.999998212E-3;
+;;;-9.010000154E-3;79.999998212E-3;
+;;;-8.999999613E-3;79.999998212E-3;
+;;;-8.990000002E-3;79.999998212E-3;
+;;;-8.979999460E-3;79.999998212E-3;
+;;;-8.969999850E-3;0.0;
+;;;-8.960000239E-3;0.0;
+;;;-8.949999698E-3;79.999998212E-3;
+;;;-8.940000087E-3;0.0;
+;;;-8.929999545E-3;0.0;
+;;;-8.919999935E-3;0.0;
+;;;-8.910000324E-3;79.999998212E-3;
+;;;-8.899999782E-3;0.0;
+;;;-8.890000172E-3;79.999998212E-3;
+;;;-8.879999630E-3;0.0;
+;;;-8.870000020E-3;79.999998212E-3;
+;;;-8.859999478E-3;0.0;
+;;;-8.849999867E-3;79.999998212E-3;
+;;;-8.840000257E-3;0.0;
+;;;-8.829999715E-3;0.0;
+;;;-8.820000105E-3;0.0;
+;;;-8.809999563E-3;0.0;
+;;;-8.799999952E-3;0.0;
+;;;-8.789999411E-3;0.0;
+;;;-8.779999800E-3;0.0;
+;;;-8.770000190E-3;79.999998212E-3;
+;;;-8.759999648E-3;79.999998212E-3;
+;;;-8.750000037E-3;79.999998212E-3;
+;;;-8.739999495E-3;79.999998212E-3;
+;;;-8.729999885E-3;0.0;
+;;;-8.720000274E-3;159.99999642E-3;
+;;;-8.709999733E-3;0.0;
+;;;-8.700000122E-3;0.0;
+;;;-8.689999580E-3;79.999998212E-3;
+;;;-8.679999970E-3;79.999998212E-3;
+;;;-8.669999428E-3;0.0;
+;;;-8.659999818E-3;0.0;
+;;;-8.650000207E-3;79.999998212E-3;
+;;;-8.639999665E-3;79.999998212E-3;
+;;;-8.630000055E-3;79.999998212E-3;
+;;;-8.619999513E-3;0.0;
+;;;-8.609999903E-3;0.0;
+;;;-8.600000292E-3;79.999998212E-3;
+;;;-8.589999750E-3;0.0;
+;;;-8.580000140E-3;0.0;
+;;;-8.569999598E-3;0.0;
+;;;-8.559999987E-3;0.0;
+;;;-8.549999446E-3;0.0;
+;;;-8.539999835E-3;0.0;
+;;;-8.530000225E-3;0.0;
+;;;-8.519999683E-3;0.0;
+;;;-8.510000072E-3;79.999998212E-3;
+;;;-8.499999531E-3;79.999998212E-3;
+;;;-8.489999920E-3;79.999998212E-3;
+;;;-8.480000310E-3;79.999998212E-3;
+;;;-8.469999768E-3;159.99999642E-3;
+;;;-8.460000157E-3;79.999998212E-3;
+;;;-8.449999616E-3;79.999998212E-3;
+;;;-8.440000005E-3;79.999998212E-3;
+;;;-8.429999463E-3;79.999998212E-3;
+;;;-8.419999853E-3;79.999998212E-3;
+;;;-8.410000242E-3;79.999998212E-3;
+;;;-8.399999700E-3;0.0;
+;;;-8.390000090E-3;159.99999642E-3;
+;;;-8.379999548E-3;79.999998212E-3;
+;;;-8.369999938E-3;79.999998212E-3;
+;;;-8.360000327E-3;0.0;
+;;;-8.349999785E-3;0.0;
+;;;-8.340000175E-3;0.0;
+;;;-8.329999633E-3;0.0;
+;;;-8.320000023E-3;79.999998212E-3;
+;;;-8.309999481E-3;0.0;
+;;;-8.299999870E-3;79.999998212E-3;
+;;;-8.290000260E-3;79.999998212E-3;
+;;;-8.279999718E-3;0.0;
+;;;-8.270000108E-3;79.999998212E-3;
+;;;-8.259999566E-3;79.999998212E-3;
+;;;-8.249999955E-3;79.999998212E-3;
+;;;-8.240000345E-3;79.999998212E-3;
+;;;-8.229999803E-3;159.99999642E-3;
+;;;-8.220000193E-3;79.999998212E-3;
+;;;-8.209999651E-3;0.0;
+;;;-8.200000040E-3;79.999998212E-3;
+;;;-8.189999498E-3;0.0;
+;;;-8.179999888E-3;79.999998212E-3;
+;;;-8.170000277E-3;0.0;
+;;;-8.159999736E-3;79.999998212E-3;
+;;;-8.150000125E-3;79.999998212E-3;
+;;;-8.139999583E-3;0.0;
+;;;-8.129999973E-3;-79.999998212E-3;
+;;;-8.119999431E-3;0.0;
+;;;-8.109999821E-3;0.0;
+;;;-8.100000210E-3;79.999998212E-3;
+;;;-8.089999668E-3;0.0;
+;;;-8.080000058E-3;79.999998212E-3;
+;;;-8.069999516E-3;0.0;
+;;;-8.059999906E-3;79.999998212E-3;
+;;;-8.050000295E-3;79.999998212E-3;
+;;;-8.039999753E-3;79.999998212E-3;
+;;;-8.030000143E-3;79.999998212E-3;
+;;;-8.019999601E-3;0.0;
+;;;-8.009999990E-3;79.999998212E-3;
+;;;-7.999999449E-3;0.0;
+;;;-7.989999838E-3;0.0;
+;;;-7.980000228E-3;0.0;
+;;;-7.969999686E-3;0.0;
+;;;-7.960000075E-3;79.999998212E-3;
+;;;-7.949999534E-3;79.999998212E-3;
+;;;-7.939999923E-3;0.0;
+;;;-7.930000313E-3;79.999998212E-3;
+;;;-7.919999771E-3;0.0;
+;;;-7.910000160E-3;0.0;
+;;;-7.899999619E-3;0.0;
+;;;-7.890000008E-3;79.999998212E-3;
+;;;-7.879999466E-3;0.0;
+;;;-7.869999856E-3;79.999998212E-3;
+;;;-7.860000245E-3;79.999998212E-3;
+;;;-7.849999703E-3;79.999998212E-3;
+;;;-7.840000093E-3;0.0;
+;;;-7.829999551E-3;79.999998212E-3;
+;;;-7.819999941E-3;79.999998212E-3;
+;;;-7.809999865E-3;79.999998212E-3;
+;;;-7.799999788E-3;79.999998212E-3;
+;;;-7.789999712E-3;79.999998212E-3;
+;;;-7.780000102E-3;79.999998212E-3;
+;;;-7.770000026E-3;79.999998212E-3;
+;;;-7.759999949E-3;0.0;
+;;;-7.749999873E-3;0.0;
+;;;-7.739999797E-3;79.999998212E-3;
+;;;-7.729999721E-3;0.0;
+;;;-7.720000111E-3;0.0;
+;;;-7.710000034E-3;79.999998212E-3;
+;;;-7.699999958E-3;0.0;
+;;;-7.689999882E-3;0.0;
+;;;-7.679999806E-3;0.0;
+;;;-7.669999730E-3;0.0;
+;;;-7.660000119E-3;79.999998212E-3;
+;;;-7.650000043E-3;0.0;
+;;;-7.639999967E-3;0.0;
+;;;-7.629999891E-3;79.999998212E-3;
+;;;-7.619999815E-3;79.999998212E-3;
+;;;-7.609999739E-3;79.999998212E-3;
+;;;-7.600000128E-3;0.0;
+;;;-7.590000052E-3;79.999998212E-3;
+;;;-7.579999976E-3;79.999998212E-3;
+;;;-7.569999900E-3;0.0;
+;;;-7.559999824E-3;0.0;
+;;;-7.549999747E-3;0.0;
+;;;-7.539999671E-3;0.0;
+;;;-7.530000061E-3;79.999998212E-3;
+;;;-7.519999985E-3;79.999998212E-3;
+;;;-7.509999909E-3;0.0;
+;;;-7.499999832E-3;0.0;
+;;;-7.489999756E-3;0.0;
+;;;-7.479999680E-3;0.0;
+;;;-7.470000070E-3;0.0;
+;;;-7.459999993E-3;0.0;
+;;;-7.449999917E-3;0.0;
+;;;-7.439999841E-3;0.0;
+;;;-7.429999765E-3;79.999998212E-3;
+;;;-7.419999689E-3;0.0;
+;;;-7.410000078E-3;79.999998212E-3;
+;;;-7.400000002E-3;0.0;
+;;;-7.389999926E-3;0.0;
+;;;-7.37999985E-3;0.0;
+;;;-7.36999977E-3;79.999998212E-3;
+;;;-7.35999970E-3;0.0;
+;;;-7.35000009E-3;79.999998212E-3;
+;;;-7.34000001E-3;0.0;
+;;;-7.32999993E-3;79.999998212E-3;
+;;;-7.31999986E-3;0.0;
+;;;-7.30999978E-3;79.999998212E-3;
+;;;-7.29999971E-3;79.999998212E-3;
+;;;-7.29000010E-3;79.999998212E-3;
+;;;-7.28000002E-3;0.0;
+;;;-7.26999994E-3;0.0;
+;;;-7.25999987E-3;0.0;
+;;;-7.24999979E-3;0.0;
+;;;-7.23999972E-3;79.999998212E-3;
+;;;-7.23000010E-3;79.999998212E-3;
+;;;-7.22000003E-3;0.0;
+;;;-7.20999995E-3;79.999998212E-3;
+;;;-7.19999988E-3;79.999998212E-3;
+;;;-7.18999980E-3;0.0;
+;;;-7.17999972E-3;79.999998212E-3;
+;;;-7.17000011E-3;79.999998212E-3;
+;;;-7.16000004E-3;79.999998212E-3;
+;;;-7.14999996E-3;0.0;
+;;;-7.13999989E-3;79.999998212E-3;
+;;;-7.12999981E-3;79.999998212E-3;
+;;;-7.11999973E-3;0.0;
+;;;-7.11000012E-3;79.999998212E-3;
+;;;-7.10000005E-3;79.999998212E-3;
+;;;-7.08999997E-3;79.999998212E-3;
+;;;-7.07999989E-3;0.0;
+;;;-7.06999982E-3;79.999998212E-3;
+;;;-7.05999974E-3;0.0;
+;;;-7.05000013E-3;79.999998212E-3;
+;;;-7.04000005E-3;79.999998212E-3;
+;;;-7.02999998E-3;0.0;
+;;;-7.01999990E-3;0.0;
+;;;-7.00999983E-3;79.999998212E-3;
+;;;-6.99999975E-3;0.0;
+;;;-6.99000014E-3;79.999998212E-3;
+;;;-6.98000006E-3;0.0;
+;;;-6.96999999E-3;79.999998212E-3;
+;;;-6.95999991E-3;0.0;
+;;;-6.94999984E-3;0.0;
+;;;-6.93999976E-3;0.0;
+;;;-6.93000015E-3;0.0;
+;;;-6.92000007E-3;0.0;
+;;;-6.91000000E-3;0.0;
+;;;-6.89999992E-3;0.0;
+;;;-6.88999984E-3;0.0;
+;;;-6.87999977E-3;0.0;
+;;;-6.86999969E-3;0.0;
+;;;-6.86000008E-3;159.99999642E-3;
+;;;-6.85000001E-3;79.999998212E-3;
+;;;-6.83999993E-3;0.0;
+;;;-6.82999985E-3;0.0;
+;;;-6.81999978E-3;79.999998212E-3;
+;;;-6.80999970E-3;79.999998212E-3;
+;;;-6.80000009E-3;0.0;
+;;;-6.79000001E-3;0.0;
+;;;-6.77999994E-3;79.999998212E-3;
+;;;-6.76999986E-3;0.0;
+;;;-6.75999979E-3;0.0;
+;;;-6.74999971E-3;79.999998212E-3;
+;;;-6.74000010E-3;159.99999642E-3;
+;;;-6.73000002E-3;0.0;
+;;;-6.71999995E-3;79.999998212E-3;
+;;;-6.70999987E-3;0.0;
+;;;-6.69999979E-3;0.0;
+;;;-6.68999972E-3;79.999998212E-3;
+;;;-6.68000011E-3;79.999998212E-3;
+;;;-6.67000003E-3;0.0;
+;;;-6.65999996E-3;0.0;
+;;;-6.64999988E-3;79.999998212E-3;
+;;;-6.63999980E-3;79.999998212E-3;
+;;;-6.62999973E-3;0.0;
+;;;-6.62000012E-3;79.999998212E-3;
+;;;-6.61000004E-3;0.0;
+;;;-6.59999996E-3;79.999998212E-3;
+;;;-6.58999989E-3;0.0;
+;;;-6.57999981E-3;79.999998212E-3;
+;;;-6.56999974E-3;79.999998212E-3;
+;;;-6.56000013E-3;0.0;
+;;;-6.55000005E-3;0.0;
+;;;-6.53999997E-3;79.999998212E-3;
+;;;-6.52999990E-3;0.0;
+;;;-6.51999982E-3;0.0;
+;;;-6.50999974E-3;79.999998212E-3;
+;;;-6.50000013E-3;79.999998212E-3;
+;;;-6.49000006E-3;0.0;
+;;;-6.47999998E-3;0.0;
+;;;-6.46999991E-3;79.999998212E-3;
+;;;-6.45999983E-3;79.999998212E-3;
+;;;-6.44999975E-3;0.0;
+;;;-6.44000014E-3;79.999998212E-3;
+;;;-6.43000007E-3;79.999998212E-3;
+;;;-6.41999999E-3;0.0;
+;;;-6.40999991E-3;0.0;
+;;;-6.39999984E-3;79.999998212E-3;
+;;;-6.38999976E-3;79.999998212E-3;
+;;;-6.38000015E-3;0.0;
+;;;-6.37000008E-3;0.0;
+;;;-6.36000000E-3;0.0;
+;;;-6.34999992E-3;0.0;
+;;;-6.33999985E-3;0.0;
+;;;-6.32999977E-3;0.0;
+;;;-6.32000016E-3;0.0;
+;;;-6.31000008E-3;0.0;
+;;;-6.30000001E-3;79.999998212E-3;
+;;;-6.28999993E-3;79.999998212E-3;
+;;;-6.27999986E-3;0.0;
+;;;-6.26999978E-3;0.0;
+;;;-6.26000017E-3;79.999998212E-3;
+;;;-6.25000009E-3;79.999998212E-3;
+;;;-6.24000002E-3;0.0;
+;;;-6.22999994E-3;79.999998212E-3;
+;;;-6.21999986E-3;0.0;
+;;;-6.20999979E-3;79.999998212E-3;
+;;;-6.19999971E-3;0.0;
+;;;-6.19000010E-3;79.999998212E-3;
+;;;-6.18000003E-3;0.0;
+;;;-6.16999995E-3;0.0;
+;;;-6.15999987E-3;0.0;
+;;;-6.14999980E-3;79.999998212E-3;
+;;;-6.13999972E-3;79.999998212E-3;
+;;;-6.13000011E-3;79.999998212E-3;
+;;;-6.12000003E-3;0.0;
+;;;-6.10999996E-3;0.0;
+;;;-6.09999988E-3;79.999998212E-3;
+;;;-6.08999981E-3;79.999998212E-3;
+;;;-6.07999973E-3;0.0;
+;;;-6.07000012E-3;79.999998212E-3;
+;;;-6.06000004E-3;0.0;
+;;;-6.04999997E-3;79.999998212E-3;
+;;;-6.03999989E-3;0.0;
+;;;-6.02999981E-3;0.0;
+;;;-6.01999974E-3;79.999998212E-3;
+;;;-6.01000013E-3;0.0;
+;;;-6.00000005E-3;0.0;
+;;;-5.98999998E-3;79.999998212E-3;
+;;;-5.97999990E-3;0.0;
+;;;-5.96999982E-3;79.999998212E-3;
+;;;-5.95999975E-3;79.999998212E-3;
+;;;-5.95000014E-3;0.0;
+;;;-5.94000006E-3;0.0;
+;;;-5.92999998E-3;79.999998212E-3;
+;;;-5.91999991E-3;0.0;
+;;;-5.90999983E-3;79.999998212E-3;
+;;;-5.89999976E-3;79.999998212E-3;
+;;;-5.89000015E-3;79.999998212E-3;
+;;;-5.88000007E-3;79.999998212E-3;
+;;;-5.86999999E-3;79.999998212E-3;
+;;;-5.85999992E-3;79.999998212E-3;
+;;;-5.84999984E-3;79.999998212E-3;
+;;;-5.83999977E-3;79.999998212E-3;
+;;;-5.83000015E-3;0.0;
+;;;-5.82000008E-3;0.0;
+;;;-5.81000000E-3;0.0;
+;;;-5.79999993E-3;79.999998212E-3;
+;;;-5.78999985E-3;79.999998212E-3;
+;;;-5.77999977E-3;0.0;
+;;;-5.77000016E-3;159.99999642E-3;
+;;;-5.76000009E-3;79.999998212E-3;
+;;;-5.75000001E-3;0.0;
+;;;-5.73999994E-3;0.0;
+;;;-5.72999986E-3;0.0;
+;;;-5.71999978E-3;79.999998212E-3;
+;;;-5.71000017E-3;79.999998212E-3;
+;;;-5.70000010E-3;0.0;
+;;;-5.69000002E-3;79.999998212E-3;
+;;;-5.67999994E-3;79.999998212E-3;
+;;;-5.66999987E-3;79.999998212E-3;
+;;;-5.65999979E-3;0.0;
+;;;-5.65000018E-3;79.999998212E-3;
+;;;-5.64000010E-3;79.999998212E-3;
+;;;-5.63000003E-3;0.0;
+;;;-5.61999995E-3;0.0;
+;;;-5.60999988E-3;159.99999642E-3;
+;;;-5.59999980E-3;79.999998212E-3;
+;;;-5.58999972E-3;-79.999998212E-3;
+;;;-5.58000011E-3;0.0;
+;;;-5.57000004E-3;79.999998212E-3;
+;;;-5.55999996E-3;79.999998212E-3;
+;;;-5.54999989E-3;0.0;
+;;;-5.53999981E-3;79.999998212E-3;
+;;;-5.52999973E-3;79.999998212E-3;
+;;;-5.52000012E-3;79.999998212E-3;
+;;;-5.51000005E-3;0.0;
+;;;-5.49999997E-3;79.999998212E-3;
+;;;-5.48999989E-3;0.0;
+;;;-5.47999982E-3;0.0;
+;;;-5.46999974E-3;0.0;
+;;;-5.46000013E-3;79.999998212E-3;
+;;;-5.45000006E-3;79.999998212E-3;
+;;;-5.43999998E-3;79.999998212E-3;
+;;;-5.42999990E-3;0.0;
+;;;-5.41999983E-3;79.999998212E-3;
+;;;-5.40999975E-3;79.999998212E-3;
+;;;-5.40000014E-3;0.0;
+;;;-5.39000006E-3;79.999998212E-3;
+;;;-5.37999999E-3;79.999998212E-3;
+;;;-5.36999991E-3;79.999998212E-3;
+;;;-5.35999984E-3;0.0;
+;;;-5.34999976E-3;0.0;
+;;;-5.34000015E-3;79.999998212E-3;
+;;;-5.33000007E-3;79.999998212E-3;
+;;;-5.32000000E-3;0.0;
+;;;-5.30999992E-3;0.0;
+;;;-5.29999984E-3;79.999998212E-3;
+;;;-5.28999977E-3;79.999998212E-3;
+;;;-5.28000016E-3;79.999998212E-3;
+;;;-5.27000008E-3;0.0;
+;;;-5.26000001E-3;0.0;
+;;;-5.24999993E-3;0.0;
+;;;-5.23999985E-3;79.999998212E-3;
+;;;-5.22999978E-3;0.0;
+;;;-5.22000017E-3;0.0;
+;;;-5.21000009E-3;0.0;
+;;;-5.20000001E-3;79.999998212E-3;
+;;;-5.18999994E-3;79.999998212E-3;
+;;;-5.17999986E-3;0.0;
+;;;-5.16999979E-3;0.0;
+;;;-5.16000018E-3;79.999998212E-3;
+;;;-5.15000010E-3;79.999998212E-3;
+;;;-5.14000002E-3;0.0;
+;;;-5.12999995E-3;0.0;
+;;;-5.11999987E-3;79.999998212E-3;
+;;;-5.10999979E-3;79.999998212E-3;
+;;;-5.10000018E-3;0.0;
+;;;-5.09000011E-3;0.0;
+;;;-5.08000003E-3;0.0;
+;;;-5.06999996E-3;79.999998212E-3;
+;;;-5.05999988E-3;0.0;
+;;;-5.04999980E-3;0.0;
+;;;-5.04000019E-3;79.999998212E-3;
+;;;-5.03000012E-3;79.999998212E-3;
+;;;-5.02000004E-3;0.0;
+;;;-5.00999996E-3;0.0;
+;;;-4.99999989E-3;0.0;
+;;;-4.98999981E-3;79.999998212E-3;
+;;;-4.97999974E-3;79.999998212E-3;
+;;;-4.97000013E-3;0.0;
+;;;-4.96000005E-3;0.0;
+;;;-4.94999997E-3;79.999998212E-3;
+;;;-4.93999990E-3;79.999998212E-3;
+;;;-4.92999982E-3;79.999998212E-3;
+;;;-4.91999974E-3;0.0;
+;;;-4.91000013E-3;0.0;
+;;;-4.90000006E-3;79.999998212E-3;
+;;;-4.88999998E-3;0.0;
+;;;-4.87999991E-3;0.0;
+;;;-4.86999983E-3;79.999998212E-3;
+;;;-4.85999975E-3;159.99999642E-3;
+;;;-4.85000014E-3;79.999998212E-3;
+;;;-4.84000007E-3;79.999998212E-3;
+;;;-4.82999999E-3;0.0;
+;;;-4.81999991E-3;79.999998212E-3;
+;;;-4.80999984E-3;79.999998212E-3;
+;;;-4.79999976E-3;79.999998212E-3;
+;;;-4.79000015E-3;79.999998212E-3;
+;;;-4.78000008E-3;0.0;
+;;;-4.77000000E-3;79.999998212E-3;
+;;;-4.75999992E-3;0.0;
+;;;-4.74999985E-3;79.999998212E-3;
+;;;-4.73999977E-3;0.0;
+;;;-4.73000016E-3;79.999998212E-3;
+;;;-4.72000008E-3;0.0;
+;;;-4.71000001E-3;79.999998212E-3;
+;;;-4.69999993E-3;0.0;
+;;;-4.68999986E-3;0.0;
+;;;-4.67999978E-3;0.0;
+;;;-4.67000017E-3;79.999998212E-3;
+;;;-4.66000009E-3;79.999998212E-3;
+;;;-4.65000002E-3;0.0;
+;;;-4.63999994E-3;79.999998212E-3;
+;;;-4.62999986E-3;0.0;
+;;;-4.61999979E-3;79.999998212E-3;
+;;;-4.61000018E-3;0.0;
+;;;-4.60000010E-3;79.999998212E-3;
+;;;-4.59000003E-3;159.99999642E-3;
+;;;-4.57999995E-3;79.999998212E-3;
+;;;-4.56999987E-3;79.999998212E-3;
+;;;-4.55999980E-3;79.999998212E-3;
+;;;-4.55000019E-3;0.0;
+;;;-4.54000011E-3;79.999998212E-3;
+;;;-4.53000003E-3;0.0;
+;;;-4.51999996E-3;0.0;
+;;;-4.50999988E-3;0.0;
+;;;-4.49999981E-3;79.999998212E-3;
+;;;-4.49000020E-3;0.0;
+;;;-4.48000012E-3;79.999998212E-3;
+;;;-4.47000004E-3;0.0;
+;;;-4.45999997E-3;79.999998212E-3;
+;;;-4.44999989E-3;0.0;
+;;;-4.43999982E-3;0.0;
+;;;-4.43000020E-3;0.0;
+;;;-4.42000013E-3;79.999998212E-3;
+;;;-4.41000005E-3;0.0;
+;;;-4.39999998E-3;0.0;
+;;;-4.38999990E-3;0.0;
+;;;-4.37999982E-3;79.999998212E-3;
+;;;-4.37000021E-3;79.999998212E-3;
+;;;-4.36000014E-3;79.999998212E-3;
+;;;-4.35000006E-3;0.0;
+;;;-4.33999998E-3;79.999998212E-3;
+;;;-4.32999991E-3;79.999998212E-3;
+;;;-4.31999983E-3;0.0;
+;;;-4.30999976E-3;79.999998212E-3;
+;;;-4.30000015E-3;0.0;
+;;;-4.29000007E-3;79.999998212E-3;
+;;;-4.27999999E-3;79.999998212E-3;
+;;;-4.26999992E-3;79.999998212E-3;
+;;;-4.25999984E-3;0.0;
+;;;-4.24999977E-3;79.999998212E-3;
+;;;-4.24000015E-3;0.0;
+;;;-4.23000008E-3;0.0;
+;;;-4.22000000E-3;0.0;
+;;;-4.20999993E-3;79.999998212E-3;
+;;;-4.19999985E-3;79.999998212E-3;
+;;;-4.18999977E-3;0.0;
+;;;-4.18000016E-3;0.0;
+;;;-4.17000009E-3;79.999998212E-3;
+;;;-4.16000001E-3;0.0;
+;;;-4.14999994E-3;0.0;
+;;;-4.13999986E-3;0.0;
+;;;-4.12999978E-3;159.99999642E-3;
+;;;-4.12000017E-3;79.999998212E-3;
+;;;-4.11000010E-3;79.999998212E-3;
+;;;-4.10000002E-3;0.0;
+;;;-4.08999994E-3;0.0;
+;;;-4.07999987E-3;0.0;
+;;;-4.06999979E-3;79.999998212E-3;
+;;;-4.06000018E-3;0.0;
+;;;-4.05000011E-3;0.0;
+;;;-4.04000003E-3;79.999998212E-3;
+;;;-4.02999995E-3;79.999998212E-3;
+;;;-4.01999988E-3;79.999998212E-3;
+;;;-4.00999980E-3;0.0;
+;;;-4.00000019E-3;79.999998212E-3;
+;;;-3.99000011E-3;79.999998212E-3;
+;;;-3.98000004E-3;0.0;
+;;;-3.96999996E-3;0.0;
+;;;-3.95999989E-3;79.999998212E-3;
+;;;-3.94999981E-3;79.999998212E-3;
+;;;-3.94000020E-3;0.0;
+;;;-3.93000012E-3;0.0;
+;;;-3.92000005E-3;79.999998212E-3;
+;;;-3.90999997E-3;0.0;
+;;;-3.89999989E-3;0.0;
+;;;-3.89000005E-3;79.999998212E-3;
+;;;-3.87999997E-3;79.999998212E-3;
+;;;-3.86999990E-3;79.999998212E-3;
+;;;-3.86000006E-3;79.999998212E-3;
+;;;-3.84999998E-3;79.999998212E-3;
+;;;-3.83999990E-3;79.999998212E-3;
+;;;-3.83000006E-3;0.0;
+;;;-3.81999998E-3;0.0;
+;;;-3.80999991E-3;0.0;
+;;;-3.80000006E-3;0.0;
+;;;-3.78999999E-3;0.0;
+;;;-3.77999991E-3;0.0;
+;;;-3.77000007E-3;0.0;
+;;;-3.75999999E-3;0.0;
+;;;-3.74999992E-3;79.999998212E-3;
+;;;-3.74000007E-3;-79.999998212E-3;
+;;;-3.73000000E-3;79.999998212E-3;
+;;;-3.71999992E-3;0.0;
+;;;-3.71000008E-3;159.99999642E-3;
+;;;-3.70000000E-3;0.0;
+;;;-3.68999992E-3;0.0;
+;;;-3.68000008E-3;0.0;
+;;;-3.67000001E-3;79.999998212E-3;
+;;;-3.65999993E-3;79.999998212E-3;
+;;;-3.65000009E-3;79.999998212E-3;
+;;;-3.64000001E-3;0.0;
+;;;-3.62999993E-3;0.0;
+;;;-3.62000009E-3;79.999998212E-3;
+;;;-3.61000001E-3;79.999998212E-3;
+;;;-3.59999994E-3;79.999998212E-3;
+;;;-3.59000009E-3;79.999998212E-3;
+;;;-3.58000002E-3;79.999998212E-3;
+;;;-3.56999994E-3;79.999998212E-3;
+;;;-3.56000010E-3;0.0;
+;;;-3.55000002E-3;79.999998212E-3;
+;;;-3.53999995E-3;79.999998212E-3;
+;;;-3.53000010E-3;79.999998212E-3;
+;;;-3.52000003E-3;79.999998212E-3;
+;;;-3.50999995E-3;0.0;
+;;;-3.50000011E-3;79.999998212E-3;
+;;;-3.49000003E-3;0.0;
+;;;-3.47999996E-3;79.999998212E-3;
+;;;-3.47000011E-3;0.0;
+;;;-3.46000004E-3;79.999998212E-3;
+;;;-3.44999996E-3;0.0;
+;;;-3.44000012E-3;0.0;
+;;;-3.43000004E-3;79.999998212E-3;
+;;;-3.41999996E-3;79.999998212E-3;
+;;;-3.41000012E-3;0.0;
+;;;-3.40000005E-3;79.999998212E-3;
+;;;-3.38999997E-3;0.0;
+;;;-3.38000013E-3;79.999998212E-3;
+;;;-3.37000005E-3;79.999998212E-3;
+;;;-3.35999997E-3;79.999998212E-3;
+;;;-3.34999990E-3;79.999998212E-3;
+;;;-3.34000005E-3;0.0;
+;;;-3.32999998E-3;79.999998212E-3;
+;;;-3.31999990E-3;0.0;
+;;;-3.31000006E-3;79.999998212E-3;
+;;;-3.29999998E-3;0.0;
+;;;-3.28999991E-3;0.0;
+;;;-3.28000006E-3;79.999998212E-3;
+;;;-3.26999999E-3;79.999998212E-3;
+;;;-3.25999991E-3;0.0;
+;;;-3.25000007E-3;79.999998212E-3;
+;;;-3.23999999E-3;79.999998212E-3;
+;;;-3.22999991E-3;0.0;
+;;;-3.22000007E-3;79.999998212E-3;
+;;;-3.21000000E-3;0.0;
+;;;-3.19999992E-3;0.0;
+;;;-3.19000008E-3;0.0;
+;;;-3.18000000E-3;79.999998212E-3;
+;;;-3.16999992E-3;0.0;
+;;;-3.16000008E-3;0.0;
+;;;-3.15000000E-3;0.0;
+;;;-3.13999993E-3;0.0;
+;;;-3.13000008E-3;79.999998212E-3;
+;;;-3.12000001E-3;79.999998212E-3;
+;;;-3.10999993E-3;0.0;
+;;;-3.10000009E-3;79.999998212E-3;
+;;;-3.09000001E-3;79.999998212E-3;
+;;;-3.07999994E-3;0.0;
+;;;-3.07000009E-3;0.0;
+;;;-3.06000002E-3;0.0;
+;;;-3.04999994E-3;79.999998212E-3;
+;;;-3.04000010E-3;0.0;
+;;;-3.03000002E-3;0.0;
+;;;-3.01999995E-3;0.0;
+;;;-3.01000010E-3;79.999998212E-3;
+;;;-3.00000003E-3;0.0;
+;;;-2.98999995E-3;79.999998212E-3;
+;;;-2.98000011E-3;0.0;
+;;;-2.97000003E-3;79.999998212E-3;
+;;;-2.95999995E-3;0.0;
+;;;-2.95000011E-3;0.0;
+;;;-2.94000003E-3;79.999998212E-3;
+;;;-2.92999996E-3;0.0;
+;;;-2.92000012E-3;79.999998212E-3;
+;;;-2.91000004E-3;79.999998212E-3;
+;;;-2.89999996E-3;79.999998212E-3;
+;;;-2.89000012E-3;79.999998212E-3;
+;;;-2.88000004E-3;79.999998212E-3;
+;;;-2.86999997E-3;79.999998212E-3;
+;;;-2.86000012E-3;79.999998212E-3;
+;;;-2.85000005E-3;0.0;
+;;;-2.83999997E-3;79.999998212E-3;
+;;;-2.83000013E-3;79.999998212E-3;
+;;;-2.82000005E-3;79.999998212E-3;
+;;;-2.80999998E-3;0.0;
+;;;-2.80000013E-3;79.999998212E-3;
+;;;-2.79000006E-3;79.999998212E-3;
+;;;-2.77999998E-3;0.0;
+;;;-2.77000014E-3;0.0;
+;;;-2.76000006E-3;79.999998212E-3;
+;;;-2.74999999E-3;0.0;
+;;;-2.73999991E-3;0.0;
+;;;-2.73000007E-3;0.0;
+;;;-2.71999999E-3;79.999998212E-3;
+;;;-2.7099999E-3;79.999998212E-3;
+;;;-2.7000001E-3;0.0;
+;;;-2.6900000E-3;79.999998212E-3;
+;;;-2.6799999E-3;0.0;
+;;;-2.6700001E-3;0.0;
+;;;-2.6600000E-3;79.999998212E-3;
+;;;-2.6499999E-3;79.999998212E-3;
+;;;-2.6400001E-3;79.999998212E-3;
+;;;-2.6300000E-3;0.0;
+;;;-2.6199999E-3;79.999998212E-3;
+;;;-2.6100001E-3;79.999998212E-3;
+;;;-2.6000000E-3;79.999998212E-3;
+;;;-2.5899999E-3;79.999998212E-3;
+;;;-2.5800001E-3;0.0;
+;;;-2.5700000E-3;0.0;
+;;;-2.5599999E-3;79.999998212E-3;
+;;;-2.5500001E-3;79.999998212E-3;
+;;;-2.5400000E-3;0.0;
+;;;-2.5299999E-3;0.0;
+;;;-2.5200001E-3;79.999998212E-3;
+;;;-2.5100000E-3;79.999998212E-3;
+;;;-2.4999999E-3;79.999998212E-3;
+;;;-2.4900001E-3;79.999998212E-3;
+;;;-2.4800000E-3;79.999998212E-3;
+;;;-2.4699999E-3;79.999998212E-3;
+;;;-2.4600001E-3;0.0;
+;;;-2.4500000E-3;0.0;
+;;;-2.4400000E-3;0.0;
+;;;-2.4300001E-3;0.0;
+;;;-2.4200000E-3;79.999998212E-3;
+;;;-2.4100000E-3;79.999998212E-3;
+;;;-2.4000001E-3;0.0;
+;;;-2.3900000E-3;79.999998212E-3;
+;;;-2.3800000E-3;79.999998212E-3;
+;;;-2.3700001E-3;79.999998212E-3;
+;;;-2.3600000E-3;0.0;
+;;;-2.3500000E-3;79.999998212E-3;
+;;;-2.3400001E-3;79.999998212E-3;
+;;;-2.3300000E-3;79.999998212E-3;
+;;;-2.3200000E-3;0.0;
+;;;-2.3100001E-3;0.0;
+;;;-2.3000001E-3;79.999998212E-3;
+;;;-2.2900000E-3;0.0;
+;;;-2.2800001E-3;0.0;
+;;;-2.2700001E-3;0.0;
+;;;-2.2600000E-3;0.0;
+;;;-2.2500001E-3;0.0;
+;;;-2.2400001E-3;79.999998212E-3;
+;;;-2.2300000E-3;0.0;
+;;;-2.2200001E-3;79.999998212E-3;
+;;;-2.2100001E-3;79.999998212E-3;
+;;;-2.2000000E-3;79.999998212E-3;
+;;;-2.1900001E-3;79.999998212E-3;
+;;;-2.1800001E-3;79.999998212E-3;
+;;;-2.1700000E-3;0.0;
+;;;-2.1600001E-3;79.999998212E-3;
+;;;-2.1500001E-3;79.999998212E-3;
+;;;-2.1400000E-3;0.0;
+;;;-2.1300002E-3;0.0;
+;;;-2.1200001E-3;0.0;
+;;;-2.1100000E-3;79.999998212E-3;
+;;;-2.1000002E-3;79.999998212E-3;
+;;;-2.0900001E-3;79.999998212E-3;
+;;;-2.0800000E-3;79.999998212E-3;
+;;;-2.0699999E-3;79.999998212E-3;
+;;;-2.0600001E-3;79.999998212E-3;
+;;;-2.0500000E-3;0.0;
+;;;-2.0399999E-3;0.0;
+;;;-2.0300001E-3;79.999998212E-3;
+;;;-2.0200000E-3;0.0;
+;;;-2.0099999E-3;0.0;
+;;;-2.0000001E-3;0.0;
+;;;-1.9900000E-3;79.999998212E-3;
+;;;-1.9799999E-3;0.0;
+;;;-1.9700001E-3;79.999998212E-3;
+;;;-1.9600000E-3;0.0;
+;;;-1.9500001E-3;79.999998212E-3;
+;;;-1.9400001E-3;79.999998212E-3;
+;;;-1.9300000E-3;79.999998212E-3;
+;;;-1.9200001E-3;79.999998212E-3;
+;;;-1.9100000E-3;0.0;
+;;;-1.9000000E-3;0.0;
+;;;-1.8900001E-3;0.0;
+;;;-1.8800000E-3;79.999998212E-3;
+;;;-1.8700000E-3;0.0;
+;;;-1.8600001E-3;79.999998212E-3;
+;;;-1.8500000E-3;0.0;
+;;;-1.8400000E-3;0.0;
+;;;-1.8300001E-3;0.0;
+;;;-1.8200000E-3;0.0;
+;;;-1.8100000E-3;79.999998212E-3;
+;;;-1.8000001E-3;0.0;
+;;;-1.7900000E-3;79.999998212E-3;
+;;;-1.7800000E-3;79.999998212E-3;
+;;;-1.7700001E-3;79.999998212E-3;
+;;;-1.7600000E-3;79.999998212E-3;
+;;;-1.7500001E-3;79.999998212E-3;
+;;;-1.7400001E-3;0.0;
+;;;-1.7300000E-3;0.0;
+;;;-1.7200001E-3;79.999998212E-3;
+;;;-1.7100001E-3;79.999998212E-3;
+;;;-1.7000000E-3;0.0;
+;;;-1.6900001E-3;0.0;
+;;;-1.6800001E-3;79.999998212E-3;
+;;;-1.6700000E-3;79.999998212E-3;
+;;;-1.6600001E-3;0.0;
+;;;-1.6500001E-3;79.999998212E-3;
+;;;-1.6400000E-3;0.0;
+;;;-1.6300001E-3;79.999998212E-3;
+;;;-1.6200000E-3;0.0;
+;;;-1.6100000E-3;79.999998212E-3;
+;;;-1.6000001E-3;0.0;
+;;;-1.5900000E-3;0.0;
+;;;-1.5800000E-3;79.999998212E-3;
+;;;-1.5700001E-3;0.0;
+;;;-1.5600000E-3;79.999998212E-3;
+;;;-1.5500000E-3;0.0;
+;;;-1.5400001E-3;0.0;
+;;;-1.5300000E-3;79.999998212E-3;
+;;;-1.5200000E-3;159.99999642E-3;
+;;;-1.5100001E-3;0.0;
+;;;-1.5000000E-3;79.999998212E-3;
+;;;-1.4900001E-3;159.99999642E-3;
+;;;-1.4800001E-3;79.999998212E-3;
+;;;-1.4700000E-3;0.0;
+;;;-1.4600001E-3;0.0;
+;;;-1.4500001E-3;0.0;
+;;;-1.4400000E-3;79.999998212E-3;
+;;;-1.4300001E-3;79.999998212E-3;
+;;;-1.4200001E-3;79.999998212E-3;
+;;;-1.4100000E-3;0.0;
+;;;-1.4000001E-3;0.0;
+;;;-1.3900001E-3;79.999998212E-3;
+;;;-1.3800000E-3;0.0;
+;;;-1.3700001E-3;0.0;
+;;;-1.3600001E-3;79.999998212E-3;
+;;;-1.3500000E-3;79.999998212E-3;
+;;;-1.3400001E-3;79.999998212E-3;
+;;;-1.3300001E-3;79.999998212E-3;
+;;;-1.3200000E-3;0.0;
+;;;-1.3100001E-3;0.0;
+;;;-1.3000001E-3;79.999998212E-3;
+;;;-1.2900000E-3;79.999998212E-3;
+;;;-1.2800001E-3;79.999998212E-3;
+;;;-1.2700000E-3;79.999998212E-3;
+;;;-1.2600000E-3;0.0;
+;;;-1.2500001E-3;79.999998212E-3;
+;;;-1.2400000E-3;0.0;
+;;;-1.2300001E-3;79.999998212E-3;
+;;;-1.2200001E-3;79.999998212E-3;
+;;;-1.2100000E-3;0.0;
+;;;-1.2000001E-3;79.999998212E-3;
+;;;-1.1900001E-3;0.0;
+;;;-1.1800000E-3;0.0;
+;;;-1.1700001E-3;0.0;
+;;;-1.1600001E-3;0.0;
+;;;-1.1500000E-3;0.0;
+;;;-1.1400001E-3;79.999998212E-3;
+;;;-1.1300001E-3;79.999998212E-3;
+;;;-1.1200000E-3;79.999998212E-3;
+;;;-1.1100001E-3;0.0;
+;;;-1.1000001E-3;0.0;
+;;;-1.0900000E-3;79.999998212E-3;
+;;;-1.0800001E-3;79.999998212E-3;
+;;;-1.0700001E-3;0.0;
+;;;-1.0600000E-3;79.999998212E-3;
+;;;-1.0500001E-3;79.999998212E-3;
+;;;-1.0400001E-3;0.0;
+;;;-1.0300000E-3;0.0;
+;;;-1.0200001E-3;79.999998212E-3;
+;;;-1.0100001E-3;79.999998212E-3;
+;;;-1.0000000E-3;79.999998212E-3;
+;;;-990.000087768E-6;79.999998212E-3;
+;;;-980.000011623E-6;79.999998212E-3;
+;;;-970.000051893E-6;79.999998212E-3;
+;;;-960.000092164E-6;0.0;
+;;;-950.000074226E-6;0.0;
+;;;-940.000056289E-6;79.999998212E-3;
+;;;-930.000096560E-6;79.999998212E-3;
+;;;-920.000078622E-6;79.999998212E-3;
+;;;-910.000060685E-6;0.0;
+;;;-900.000100955E-6;0.0;
+;;;-890.000083018E-6;79.999998212E-3;
+;;;-880.000065081E-6;79.999998212E-3;
+;;;-870.000047144E-6;0.0;
+;;;-860.000087414E-6;0.0;
+;;;-850.000069477E-6;79.999998212E-3;
+;;;-840.000051539E-6;79.999998212E-3;
+;;;-830.000091810E-6;0.0;
+;;;-820.000073873E-6;0.0;
+;;;-810.000055935E-6;0.0;
+;;;-800.000096206E-6;79.999998212E-3;
+;;;-790.000078268E-6;0.0;
+;;;-780.000060331E-6;0.0;
+;;;-770.000100601E-6;79.999998212E-3;
+;;;-760.000082664E-6;79.999998212E-3;
+;;;-750.000064727E-6;0.0;
+;;;-740.000046790E-6;79.999998212E-3;
+;;;-730.000087060E-6;0.0;
+;;;-720.000069123E-6;0.0;
+;;;-710.000051185E-6;79.999998212E-3;
+;;;-700.000091456E-6;79.999998212E-3;
+;;;-690.000073519E-6;79.999998212E-3;
+;;;-680.000055581E-6;0.0;
+;;;-670.000095852E-6;0.0;
+;;;-660.000077914E-6;79.999998212E-3;
+;;;-650.000059977E-6;0.0;
+;;;-640.000100248E-6;0.0;
+;;;-630.000082310E-6;159.99999642E-3;
+;;;-620.000064373E-6;0.0;
+;;;-610.000104643E-6;0.0;
+;;;-600.000086706E-6;0.0;
+;;;-590.000068769E-6;79.999998212E-3;
+;;;-580.000109039E-6;0.0;
+;;;-570.000091102E-6;0.0;
+;;;-560.000073165E-6;79.999998212E-3;
+;;;-550.000055227E-6;0.0;
+;;;-540.000095498E-6;0.0;
+;;;-530.000077561E-6;0.0;
+;;;-520.000059623E-6;79.999998212E-3;
+;;;-510.000099894E-6;0.0;
+;;;-500.000081956E-6;5.03999996;
+;;;-490.000064019E-6;5.11999989;
+;;;-480.000075186E-6;5.03999996;
+;;;-470.000086352E-6;5.11999989;
+;;;-460.000068415E-6;5.11999989;
+;;;-450.000079582E-6;5.11999989;
+;;;-440.000090748E-6;5.03999996;
+;;;-430.000072811E-6;5.03999996;
+;;;-420.000083977E-6;5.11999989;
+;;;-410.000095144E-6;5.11999989;
+;;;-400.00007721E-6;5.03999996;
+;;;-390.00008837E-6;5.03999996;
+;;;-380.00009954E-6;5.03999996;
+;;;-370.00008160E-6;5.03999996;
+;;;-360.00009277E-6;5.11999989;
+;;;-350.00007483E-6;5.03999996;
+;;;-340.00008600E-6;5.11999989;
+;;;-330.00009716E-6;5.03999996;
+;;;-320.00007923E-6;5.03999996;
+;;;-310.00009039E-6;5.03999996;
+;;;-300.00007246E-6;5.03999996;
+;;;-290.00008362E-6;4.96000004;
+;;;-280.00009479E-6;5.03999996;
+;;;-270.00007685E-6;5.03999996;
+;;;-260.00008802E-6;5.03999996;
+;;;-250.00009919E-6;5.03999996;
+;;;-240.00008125E-6;5.03999996;
+;;;-230.00009242E-6;5.03999996;
+;;;-220.00008903E-6;5.03999996;
+;;;-210.00008564E-6;5.03999996;
+;;;-200.00009681E-6;4.96000004;
+;;;-190.00009343E-6;5.03999996;
+;;;-180.00009004E-6;5.03999996;
+;;;-170.00008665E-6;4.96000004;
+;;;-160.00008327E-6;5.03999996;
+;;;-150.00009444E-6;5.03999996;
+;;;-140.0000911E-6;5.03999996;
+;;;-130.0000877E-6;5.03999996;
+;;;-120.0000916E-6;5.03999996;
+;;;-110.0000954E-6;5.03999996;
+;;;-100.0000921E-6;5.03999996;
+;;;-90.000088676E-6;4.96000004;
+;;;-80.000092566E-6;5.03999996;
+;;;-70.000096457E-6;4.96000004;
+;;;-60.000093072E-6;5.03999996;
+;;;-50.00009332E-6;5.03999996;
+;;;-40.00009358E-6;4.96000004;
+;;;-30.00009383E-6;5.03999996;
+;;;-20.0000941E-6;5.11999989;
+;;;-10.0000943E-6;5.03999996;
+;;;-94.587448597E-12;0.0;
+;;;9.999905160E-6;-79.999998212E-3;
+;;;19.9999049E-6;0.0;
+;;;29.99990465E-6;0.0;
+;;;39.99990440E-6;0.0;
+;;;49.99990415E-6;0.0;
+;;;59.999903897E-6;0.0;
+;;;69.999907282E-6;0.0;
+;;;79.999903392E-6;0.0;
+;;;89.999899501E-6;0.0;
+;;;99.999902886E-6;0.0;
+;;;109.9999063E-6;0.0;
+;;;119.9999024E-6;0.0;
+;;;129.9998985E-6;79.999998212E-3;
+;;;139.9999019E-6;0.0;
+;;;149.99990526E-6;0.0;
+;;;159.99990865E-6;0.0;
+;;;169.99989748E-6;0.0;
+;;;179.99990087E-6;0.0;
+;;;189.99990425E-6;0.0;
+;;;199.99989308E-6;0.0;
+;;;209.99989647E-6;0.0;
+;;;219.99989985E-6;79.999998212E-3;
+;;;229.99990324E-6;0.0;
+;;;239.99990663E-6;79.999998212E-3;
+;;;249.99989546E-6;0.0;
+;;;259.99988429E-6;0.0;
+;;;269.99990223E-6;0.0;
+;;;279.99989106E-6;79.999998212E-3;
+;;;289.99990900E-6;0.0;
+;;;299.99989783E-6;79.999998212E-3;
+;;;309.99988667E-6;0.0;
+;;;319.99990460E-6;79.999998212E-3;
+;;;329.99989344E-6;0.0;
+;;;339.99991138E-6;79.999998212E-3;
+;;;349.99990021E-6;79.999998212E-3;
+;;;359.99988904E-6;79.999998212E-3;
+;;;369.99990698E-6;79.999998212E-3;
+;;;379.99989581E-6;79.999998212E-3;
+;;;389.99988465E-6;0.0;
+;;;399.99990258E-6;79.999998212E-3;
+;;;409.999891417E-6;79.999998212E-3;
+;;;419.999880251E-6;0.0;
+;;;429.999898188E-6;0.0;
+;;;439.999887021E-6;0.0;
+;;;449.999904959E-6;79.999998212E-3;
+;;;459.999893792E-6;0.0;
+;;;469.999882625E-6;79.999998212E-3;
+;;;479.999900563E-6;0.0;
+;;;489.999889396E-6;79.999998212E-3;
+;;;499.999907333E-6;5.11999989;
+;;;509.999867063E-6;5.11999989;
+;;;519.999885000E-6;5.11999989;
+;;;529.999902938E-6;5.11999989;
+;;;539.999920875E-6;5.03999996;
+;;;549.999880604E-6;5.03999996;
+;;;559.999898542E-6;5.03999996;
+;;;569.999916479E-6;5.03999996;
+;;;579.999876209E-6;5.03999996;
+;;;589.999894146E-6;5.03999996;
+;;;599.999912083E-6;5.11999989;
+;;;609.999871813E-6;5.11999989;
+;;;619.999889750E-6;5.03999996;
+;;;629.999907687E-6;5.03999996;
+;;;639.999867417E-6;5.03999996;
+;;;649.999885354E-6;5.03999996;
+;;;659.999903291E-6;5.03999996;
+;;;669.999863021E-6;5.03999996;
+;;;679.999880958E-6;5.03999996;
+;;;689.999898896E-6;5.03999996;
+;;;699.999858625E-6;5.03999996;
+;;;709.999876563E-6;5.03999996;
+;;;719.999894500E-6;5.03999996;
+;;;729.999912437E-6;5.11999989;
+;;;739.999872167E-6;5.03999996;
+;;;749.999890104E-6;4.96000004;
+;;;759.999908041E-6;4.96000004;
+;;;769.999867771E-6;4.96000004;
+;;;779.999885708E-6;5.03999996;
+;;;789.999903645E-6;5.03999996;
+;;;799.999863375E-6;4.96000004;
+;;;809.999881312E-6;5.03999996;
+;;;819.999899250E-6;4.96000004;
+;;;829.999858979E-6;5.03999996;
+;;;839.999876916E-6;5.03999996;
+;;;849.999894854E-6;5.03999996;
+;;;859.999912791E-6;4.96000004;
+;;;869.999872521E-6;5.03999996;
+;;;879.999890458E-6;4.96000004;
+;;;889.999908395E-6;5.03999996;
+;;;899.999868125E-6;5.03999996;
+;;;909.999886062E-6;4.96000004;
+;;;919.999903999E-6;5.03999996;
+;;;929.999863729E-6;4.96000004;
+;;;939.999881666E-6;5.11999989;
+;;;949.999899603E-6;5.03999996;
+;;;959.999859333E-6;5.03999996;
+;;;969.999877270E-6;5.03999996;
+;;;979.999895208E-6;4.96000004;
+;;;989.999854937E-6;4.96000004;
+;;;999.999931082E-6;4.96000004;
+;;;1.0099999E-3;5.03999996;
+;;;1.0199999E-3;5.03999996;
+;;;1.0299999E-3;4.96000004;
+;;;1.0399999E-3;5.03999996;
+;;;1.0499998E-3;5.03999996;
+;;;1.0599999E-3;5.03999996;
+;;;1.0699999E-3;5.03999996;
+;;;1.0799998E-3;5.03999996;
+;;;1.0899999E-3;5.03999996;
+;;;1.0999999E-3;5.03999996;
+;;;1.1099998E-3;5.03999996;
+;;;1.1199999E-3;4.96000004;
+;;;1.1299999E-3;4.96000004;
+;;;1.1399998E-3;5.03999996;
+;;;1.1499999E-3;5.03999996;
+;;;1.1599999E-3;5.03999996;
+;;;1.1699998E-3;5.03999996;
+;;;1.1799999E-3;4.96000004;
+;;;1.1899999E-3;5.03999996;
+;;;1.1999998E-3;5.03999996;
+;;;1.2099999E-3;4.96000004;
+;;;1.2199999E-3;4.96000004;
+;;;1.2299998E-3;4.96000004;
+;;;1.2399999E-3;5.03999996;
+;;;1.2499999E-3;4.96000004;
+;;;1.2599998E-3;4.96000004;
+;;;1.2699999E-3;5.03999996;
+;;;1.2799999E-3;5.03999996;
+;;;1.2899999E-3;4.96000004;
+;;;1.2999999E-3;4.96000004;
+;;;1.3099998E-3;5.03999996;
+;;;1.3199999E-3;5.03999996;
+;;;1.3299999E-3;5.03999996;
+;;;1.3399998E-3;5.03999996;
+;;;1.3499999E-3;5.03999996;
+;;;1.3599999E-3;5.03999996;
+;;;1.3699998E-3;5.03999996;
+;;;1.3799999E-3;5.03999996;
+;;;1.3899999E-3;5.03999996;
+;;;1.3999998E-3;4.96000004;
+;;;1.4099999E-3;5.03999996;
+;;;1.4199999E-3;4.96000004;
+;;;1.4299998E-3;5.03999996;
+;;;1.4399999E-3;4.96000004;
+;;;1.4499999E-3;5.03999996;
+;;;1.4599998E-3;4.96000004;
+;;;1.4699999E-3;5.03999996;
+;;;1.4799999E-3;5.03999996;
+;;;1.4899998E-3;5.03999996;
+;;;1.4999999E-3;5.03999996;
+;;;1.5099999E-3;5.03999996;
+;;;1.5199998E-3;5.03999996;
+;;;1.5299999E-3;5.03999996;
+;;;1.5399999E-3;4.96000004;
+;;;1.5499998E-3;4.96000004;
+;;;1.5599999E-3;4.96000004;
+;;;1.5699998E-3;4.96000004;
+;;;1.5799999E-3;5.03999996;
+;;;1.5899999E-3;5.03999996;
+;;;1.5999998E-3;5.03999996;
+;;;1.6099999E-3;5.03999996;
+;;;1.6199999E-3;5.03999996;
+;;;1.6299998E-3;4.96000004;
+;;;1.6399999E-3;5.03999996;
+;;;1.6499999E-3;5.03999996;
+;;;1.6599998E-3;5.03999996;
+;;;1.6699999E-3;5.03999996;
+;;;1.6799999E-3;5.03999996;
+;;;1.6899998E-3;4.96000004;
+;;;1.6999999E-3;5.03999996;
+;;;1.7099999E-3;4.96000004;
+;;;1.7199998E-3;4.96000004;
+;;;1.7299999E-3;4.96000004;
+;;;1.7399999E-3;5.03999996;
+;;;1.7499998E-3;4.96000004;
+;;;1.7599999E-3;4.96000004;
+;;;1.7699999E-3;4.96000004;
+;;;1.7799998E-3;5.03999996;
+;;;1.7899999E-3;4.96000004;
+;;;1.7999999E-3;5.03999996;
+;;;1.8099998E-3;4.96000004;
+;;;1.8199999E-3;5.03999996;
+;;;1.8299998E-3;4.96000004;
+;;;1.8399998E-3;5.03999996;
+;;;1.8499999E-3;4.96000004;
+;;;1.8599998E-3;5.03999996;
+;;;1.8699998E-3;5.03999996;
+;;;1.8799999E-3;5.03999996;
+;;;1.8899998E-3;5.03999996;
+;;;1.8999998E-3;5.03999996;
+;;;1.9099999E-3;5.03999996;
+;;;1.9199998E-3;5.03999996;
+;;;1.9299999E-3;4.96000004;
+;;;1.9399999E-3;4.96000004;
+;;;1.9499998E-3;4.96000004;
+;;;1.9599998E-3;4.96000004;
+;;;1.9699999E-3;5.03999996;
+;;;1.9799999E-3;5.03999996;
+;;;1.9899998E-3;4.96000004;
+;;;1.9999999E-3;4.96000004;
+;;;2.0099999E-3;-79.999998212E-3;
+;;;2.0199998E-3;0.0;
+;;;2.0299999E-3;-79.999998212E-3;
+;;;2.0399999E-3;0.0;
+;;;2.0499998E-3;-79.999998212E-3;
+;;;2.0599999E-3;0.0;
+;;;2.0699999E-3;0.0;
+;;;2.0799998E-3;0.0;
+;;;2.0899998E-3;0.0;
+;;;2.0999999E-3;0.0;
+;;;2.1099998E-3;0.0;
+;;;2.1199998E-3;0.0;
+;;;2.1299999E-3;0.0;
+;;;2.1399998E-3;0.0;
+;;;2.1499998E-3;79.999998212E-3;
+;;;2.1599999E-3;-79.999998212E-3;
+;;;2.1699998E-3;0.0;
+;;;2.1799998E-3;0.0;
+;;;2.1899999E-3;0.0;
+;;;2.1999998E-3;0.0;
+;;;2.2099998E-3;0.0;
+;;;2.2199999E-3;0.0;
+;;;2.2299998E-3;79.999998212E-3;
+;;;2.2399998E-3;0.0;
+;;;2.2499999E-3;0.0;
+;;;2.2599997E-3;159.99999642E-3;
+;;;2.2699998E-3;159.99999642E-3;
+;;;2.2799999E-3;0.0;
+;;;2.2899997E-3;0.0;
+;;;2.2999998E-3;159.99999642E-3;
+;;;2.3099999E-3;79.999998212E-3;
+;;;2.3199997E-3;0.0;
+;;;2.3299998E-3;0.0;
+;;;2.3399999E-3;79.999998212E-3;
+;;;2.3499997E-3;0.0;
+;;;2.3599998E-3;0.0;
+;;;2.3699999E-3;0.0;
+;;;2.3800000E-3;0.0;
+;;;2.3899998E-3;79.999998212E-3;
+;;;2.3999999E-3;0.0;
+;;;2.4100000E-3;0.0;
+;;;2.4199998E-3;0.0;
+;;;2.4299999E-3;79.999998212E-3;
+;;;2.4400000E-3;0.0;
+;;;2.4499998E-3;79.999998212E-3;
+;;;2.4599999E-3;0.0;
+;;;2.4699999E-3;0.0;
+;;;2.4799998E-3;0.0;
+;;;2.4899999E-3;79.999998212E-3;
+;;;2.4999999E-3;0.0;
+;;;2.5099998E-3;0.0;
+;;;2.5199999E-3;0.0;
+;;;2.5299999E-3;79.999998212E-3;
+;;;2.5399998E-3;79.999998212E-3;
+;;;2.5499999E-3;79.999998212E-3;
+;;;2.5599999E-3;0.0;
+;;;2.5699998E-3;79.999998212E-3;
+;;;2.5799999E-3;0.0;
+;;;2.5899999E-3;79.999998212E-3;
+;;;2.5999998E-3;79.999998212E-3;
+;;;2.6099999E-3;79.999998212E-3;
+;;;2.6199999E-3;79.999998212E-3;
+;;;2.6299998E-3;79.999998212E-3;
+;;;2.6399998E-3;79.999998212E-3;
+;;;2.6499999E-3;0.0;
+;;;2.6599998E-3;0.0;
+;;;2.6699998E-3;79.999998212E-3;
+;;;2.6799999E-3;0.0;
+;;;2.6899998E-3;79.999998212E-3;
+;;;2.6999998E-3;0.0;
+;;;2.7099999E-3;79.999998212E-3;
+;;;2.71999976E-3;79.999998212E-3;
+;;;2.72999983E-3;79.999998212E-3;
+;;;2.73999991E-3;0.0;
+;;;2.74999975E-3;0.0;
+;;;2.75999983E-3;0.0;
+;;;2.76999990E-3;79.999998212E-3;
+;;;2.77999975E-3;0.0;
+;;;2.78999982E-3;0.0;
+;;;2.79999990E-3;79.999998212E-3;
+;;;2.80999974E-3;79.999998212E-3;
+;;;2.81999982E-3;159.99999642E-3;
+;;;2.82999990E-3;0.0;
+;;;2.83999974E-3;0.0;
+;;;2.84999982E-3;79.999998212E-3;
+;;;2.85999989E-3;79.999998212E-3;
+;;;2.86999973E-3;0.0;
+;;;2.87999981E-3;0.0;
+;;;2.88999989E-3;0.0;
+;;;2.89999973E-3;79.999998212E-3;
+;;;2.90999981E-3;79.999998212E-3;
+;;;2.91999988E-3;0.0;
+;;;2.92999973E-3;79.999998212E-3;
+;;;2.93999980E-3;0.0;
+;;;2.94999988E-3;79.999998212E-3;
+;;;2.95999972E-3;0.0;
+;;;2.96999980E-3;79.999998212E-3;
+;;;2.97999987E-3;79.999998212E-3;
+;;;2.98999972E-3;0.0;
+;;;2.99999979E-3;0.0;
+;;;3.00999987E-3;0.0;
+;;;3.01999971E-3;0.0;
+;;;3.02999979E-3;79.999998212E-3;
+;;;3.03999986E-3;0.0;
+;;;3.04999994E-3;0.0;
+;;;3.05999978E-3;79.999998212E-3;
+;;;3.06999986E-3;79.999998212E-3;
+;;;3.07999994E-3;79.999998212E-3;
+;;;3.08999978E-3;0.0;
+;;;3.09999986E-3;79.999998212E-3;
+;;;3.10999993E-3;0.0;
+;;;3.11999978E-3;79.999998212E-3;
+;;;3.12999985E-3;0.0;
+;;;3.13999993E-3;79.999998212E-3;
+;;;3.14999977E-3;0.0;
+;;;3.15999985E-3;0.0;
+;;;3.16999992E-3;0.0;
+;;;3.17999977E-3;79.999998212E-3;
+;;;3.18999984E-3;0.0;
+;;;3.19999992E-3;79.999998212E-3;
+;;;3.20999976E-3;0.0;
+;;;3.21999984E-3;79.999998212E-3;
+;;;3.22999991E-3;79.999998212E-3;
+;;;3.23999976E-3;79.999998212E-3;
+;;;3.24999983E-3;79.999998212E-3;
+;;;3.25999991E-3;79.999998212E-3;
+;;;3.26999975E-3;79.999998212E-3;
+;;;3.27999983E-3;0.0;
+;;;3.28999991E-3;0.0;
+;;;3.29999975E-3;79.999998212E-3;
+;;;3.30999983E-3;79.999998212E-3;
+;;;3.31999990E-3;0.0;
+;;;3.32999974E-3;0.0;
+;;;3.33999982E-3;0.0;
+;;;3.34999990E-3;0.0;
+;;;3.35999974E-3;0.0;
+;;;3.36999982E-3;79.999998212E-3;
+;;;3.37999989E-3;0.0;
+;;;3.38999974E-3;0.0;
+;;;3.39999981E-3;0.0;
+;;;3.40999989E-3;79.999998212E-3;
+;;;3.41999973E-3;0.0;
+;;;3.42999981E-3;79.999998212E-3;
+;;;3.43999988E-3;0.0;
+;;;3.44999973E-3;79.999998212E-3;
+;;;3.45999980E-3;0.0;
+;;;3.46999988E-3;79.999998212E-3;
+;;;3.47999972E-3;0.0;
+;;;3.48999980E-3;79.999998212E-3;
+;;;3.49999988E-3;0.0;
+;;;3.50999972E-3;79.999998212E-3;
+;;;3.51999979E-3;79.999998212E-3;
+;;;3.52999987E-3;79.999998212E-3;
+;;;3.53999971E-3;79.999998212E-3;
+;;;3.54999979E-3;0.0;
+;;;3.55999987E-3;0.0;
+;;;3.56999971E-3;79.999998212E-3;
+;;;3.57999979E-3;0.0;
+;;;3.58999986E-3;0.0;
+;;;3.59999971E-3;79.999998212E-3;
+;;;3.60999978E-3;0.0;
+;;;3.61999986E-3;0.0;
+;;;3.62999970E-3;79.999998212E-3;
+;;;3.63999978E-3;0.0;
+;;;3.64999985E-3;0.0;
+;;;3.65999993E-3;0.0;
+;;;3.66999977E-3;0.0;
+;;;3.67999985E-3;0.0;
+;;;3.68999992E-3;79.999998212E-3;
+;;;3.69999977E-3;-79.999998212E-3;
+;;;3.70999984E-3;79.999998212E-3;
+;;;3.71999992E-3;0.0;
+;;;3.72999976E-3;79.999998212E-3;
+;;;3.73999984E-3;0.0;
+;;;3.74999992E-3;0.0;
+;;;3.75999976E-3;79.999998212E-3;
+;;;3.76999984E-3;79.999998212E-3;
+;;;3.77999991E-3;0.0;
+;;;3.78999976E-3;0.0;
+;;;3.79999983E-3;0.0;
+;;;3.80999991E-3;79.999998212E-3;
+;;;3.81999975E-3;0.0;
+;;;3.82999983E-3;0.0;
+;;;3.83999990E-3;79.999998212E-3;
+;;;3.84999975E-3;79.999998212E-3;
+;;;3.85999982E-3;79.999998212E-3;
+;;;3.86999990E-3;0.0;
+;;;3.87999974E-3;79.999998212E-3;
+;;;3.88999982E-3;0.0;
+;;;3.89999989E-3;0.0;
+;;;3.90999997E-3;0.0;
+;;;3.91999958E-3;79.999998212E-3;
+;;;3.92999966E-3;79.999998212E-3;
+;;;3.93999973E-3;0.0;
+;;;3.94999981E-3;79.999998212E-3;
+;;;3.95999989E-3;0.0;
+;;;3.96999996E-3;0.0;
+;;;3.97999957E-3;0.0;
+;;;3.98999965E-3;79.999998212E-3;
+;;;3.99999972E-3;0.0;
+;;;4.00999980E-3;79.999998212E-3;
+;;;4.01999988E-3;0.0;
+;;;4.02999995E-3;79.999998212E-3;
+;;;4.04000003E-3;0.0;
+;;;4.04999964E-3;79.999998212E-3;
+;;;4.05999972E-3;0.0;
+;;;4.06999979E-3;0.0;
+;;;4.07999987E-3;159.99999642E-3;
+;;;4.08999994E-3;159.99999642E-3;
+;;;4.10000002E-3;0.0;
+;;;4.10999963E-3;79.999998212E-3;
+;;;4.11999971E-3;79.999998212E-3;
+;;;4.12999978E-3;79.999998212E-3;
+;;;4.13999986E-3;0.0;
+;;;4.14999994E-3;-79.999998212E-3;
+;;;4.16000001E-3;0.0;
+;;;4.16999962E-3;0.0;
+;;;4.17999970E-3;0.0;
+;;;4.18999977E-3;0.0;
+;;;4.19999985E-3;79.999998212E-3;
+;;;4.20999993E-3;0.0;
+;;;4.22000000E-3;0.0;
+;;;4.22999961E-3;0.0;
+;;;4.23999969E-3;79.999998212E-3;
+;;;4.24999977E-3;0.0;
+;;;4.25999984E-3;0.0;
+;;;4.26999992E-3;0.0;
+;;;4.27999999E-3;79.999998212E-3;
+;;;4.28999960E-3;0.0;
+;;;4.29999968E-3;79.999998212E-3;
+;;;4.30999976E-3;79.999998212E-3;
+;;;4.31999983E-3;79.999998212E-3;
+;;;4.32999991E-3;79.999998212E-3;
+;;;4.33999998E-3;79.999998212E-3;
+;;;4.34999960E-3;79.999998212E-3;
+;;;4.35999967E-3;0.0;
+;;;4.36999975E-3;0.0;
+;;;4.37999982E-3;0.0;
+;;;4.38999990E-3;0.0;
+;;;4.39999998E-3;0.0;
+;;;4.40999959E-3;79.999998212E-3;
+;;;4.41999966E-3;79.999998212E-3;
+;;;4.42999974E-3;0.0;
+;;;4.43999982E-3;79.999998212E-3;
+;;;4.44999989E-3;0.0;
+;;;4.45999997E-3;79.999998212E-3;
+;;;4.46999958E-3;79.999998212E-3;
+;;;4.47999965E-3;0.0;
+;;;4.48999973E-3;0.0;
+;;;4.49999981E-3;79.999998212E-3;
+;;;4.50999988E-3;79.999998212E-3;
+;;;4.51999996E-3;79.999998212E-3;
+;;;4.52999957E-3;0.0;
+;;;4.53999965E-3;0.0;
+;;;4.54999972E-3;79.999998212E-3;
+;;;4.55999980E-3;0.0;
+;;;4.56999987E-3;79.999998212E-3;
+;;;4.57999995E-3;0.0;
+;;;4.58999956E-3;0.0;
+;;;4.59999964E-3;0.0;
+;;;4.60999971E-3;79.999998212E-3;
+;;;4.61999979E-3;0.0;
+;;;4.62999986E-3;79.999998212E-3;
+;;;4.63999994E-3;0.0;
+;;;4.65000002E-3;0.0;
+;;;4.65999963E-3;0.0;
+;;;4.66999970E-3;0.0;
+;;;4.67999978E-3;0.0;
+;;;4.68999986E-3;0.0;
+;;;4.69999993E-3;79.999998212E-3;
+;;;4.71000001E-3;79.999998212E-3;
+;;;4.71999962E-3;0.0;
+;;;4.72999969E-3;0.0;
+;;;4.73999977E-3;79.999998212E-3;
+;;;4.74999985E-3;79.999998212E-3;
+;;;4.75999992E-3;0.0;
+;;;4.77000000E-3;79.999998212E-3;
+;;;4.77999961E-3;79.999998212E-3;
+;;;4.78999969E-3;79.999998212E-3;
+;;;4.79999976E-3;0.0;
+;;;4.80999984E-3;79.999998212E-3;
+;;;4.81999991E-3;159.99999642E-3;
+;;;4.82999999E-3;0.0;
+;;;4.83999960E-3;0.0;
+;;;4.84999968E-3;0.0;
+;;;4.85999975E-3;0.0;
+;;;4.86999983E-3;0.0;
+;;;4.87999991E-3;79.999998212E-3;
+;;;4.88999998E-3;79.999998212E-3;
+;;;4.89999959E-3;79.999998212E-3;
+;;;4.90999967E-3;0.0;
+;;;4.91999974E-3;0.0;
+;;;4.92999982E-3;79.999998212E-3;
+;;;4.93999990E-3;0.0;
+;;;4.94999997E-3;0.0;
+;;;4.95999958E-3;0.0;
+;;;4.96999966E-3;79.999998212E-3;
+;;;4.97999974E-3;0.0;
+;;;4.98999981E-3;0.0;
+;;;4.99999989E-3;79.999998212E-3;
+;;;5.00999996E-3;79.999998212E-3;
+;;;5.01999957E-3;0.0;
+;;;5.02999965E-3;79.999998212E-3;
+;;;5.03999973E-3;79.999998212E-3;
+;;;5.04999980E-3;79.999998212E-3;
+;;;5.05999988E-3;0.0;
+;;;5.06999996E-3;0.0;
+;;;5.07999957E-3;79.999998212E-3;
+;;;5.08999964E-3;79.999998212E-3;
+;;;5.09999972E-3;0.0;
+;;;5.10999979E-3;0.0;
+;;;5.11999987E-3;0.0;
+;;;5.12999995E-3;79.999998212E-3;
+;;;5.13999956E-3;0.0;
+;;;5.14999963E-3;0.0;
+;;;5.15999971E-3;0.0;
+;;;5.16999979E-3;79.999998212E-3;
+;;;5.17999986E-3;0.0;
+;;;5.18999994E-3;0.0;
+;;;5.19999955E-3;79.999998212E-3;
+;;;5.20999962E-3;0.0;
+;;;5.21999970E-3;79.999998212E-3;
+;;;5.22999978E-3;79.999998212E-3;
+;;;5.23999985E-3;0.0;
+;;;5.24999993E-3;79.999998212E-3;
+;;;5.26000001E-3;79.999998212E-3;
+;;;5.26999962E-3;79.999998212E-3;
+;;;5.27999969E-3;0.0;
+;;;5.28999977E-3;0.0;
+;;;5.29999984E-3;0.0;
+;;;5.30999992E-3;159.99999642E-3;
+;;;5.32000000E-3;0.0;
+;;;5.32999961E-3;79.999998212E-3;
+;;;5.33999968E-3;0.0;
+;;;5.34999976E-3;0.0;
+;;;5.35999984E-3;0.0;
+;;;5.36999991E-3;0.0;
+;;;5.37999999E-3;159.99999642E-3;
+;;;5.38999960E-3;79.999998212E-3;
+;;;5.39999967E-3;0.0;
+;;;5.40999975E-3;159.99999642E-3;
+;;;5.41999983E-3;79.999998212E-3;
+;;;5.42999990E-3;0.0;
+;;;5.43999998E-3;79.999998212E-3;
+;;;5.44999959E-3;0.0;
+;;;5.45999967E-3;79.999998212E-3;
+;;;5.46999974E-3;0.0;
+;;;5.47999982E-3;79.999998212E-3;
+;;;5.48999989E-3;0.0;
+;;;5.49999997E-3;79.999998212E-3;
+;;;5.50999958E-3;0.0;
+;;;5.51999966E-3;0.0;
+;;;5.52999973E-3;0.0;
+;;;5.53999981E-3;0.0;
+;;;5.54999989E-3;79.999998212E-3;
+;;;5.55999996E-3;0.0;
+;;;5.56999957E-3;79.999998212E-3;
+;;;5.57999965E-3;159.99999642E-3;
+;;;5.58999972E-3;79.999998212E-3;
+;;;5.59999980E-3;0.0;
+;;;5.60999988E-3;0.0;
+;;;5.61999995E-3;0.0;
+;;;5.62999956E-3;0.0;
+;;;5.63999964E-3;79.999998212E-3;
+;;;5.64999972E-3;0.0;
+;;;5.65999979E-3;79.999998212E-3;
+;;;5.66999987E-3;0.0;
+;;;5.67999994E-3;0.0;
+;;;5.68999955E-3;0.0;
+;;;5.69999963E-3;0.0;
+;;;5.70999971E-3;0.0;
+;;;5.71999978E-3;0.0;
+;;;5.72999986E-3;0.0;
+;;;5.73999994E-3;79.999998212E-3;
+;;;5.74999955E-3;0.0;
+;;;5.75999962E-3;79.999998212E-3;
+;;;5.76999970E-3;0.0;
+;;;5.77999977E-3;79.999998212E-3;
+;;;5.78999985E-3;79.999998212E-3;
+;;;5.79999993E-3;0.0;
+;;;5.80999954E-3;0.0;
+;;;5.81999961E-3;79.999998212E-3;
+;;;5.82999969E-3;0.0;
+;;;5.83999977E-3;0.0;
+;;;5.84999984E-3;0.0;
+;;;5.85999992E-3;0.0;
+;;;5.86999953E-3;0.0;
+;;;5.87999960E-3;0.0;
+;;;5.88999968E-3;0.0;
+;;;5.89999976E-3;79.999998212E-3;
+;;;5.90999983E-3;79.999998212E-3;
+;;;5.91999991E-3;0.0;
+;;;5.92999998E-3;79.999998212E-3;
+;;;5.93999960E-3;159.99999642E-3;
+;;;5.94999967E-3;0.0;
+;;;5.95999975E-3;0.0;
+;;;5.96999982E-3;79.999998212E-3;
+;;;5.97999990E-3;0.0;
+;;;5.98999998E-3;0.0;
+;;;5.99999959E-3;0.0;
+;;;6.00999966E-3;5.11999989;
+;;;6.01999974E-3;5.03999996;
+;;;6.02999981E-3;5.11999989;
+;;;6.03999989E-3;5.03999996;
+;;;6.04999997E-3;5.03999996;
+;;;6.05999958E-3;5.03999996;
+;;;6.06999965E-3;5.11999989;
+;;;6.07999973E-3;5.11999989;
+;;;6.08999981E-3;5.11999989;
+;;;6.09999988E-3;5.03999996;
+;;;6.10999996E-3;5.03999996;
+;;;6.11999957E-3;5.11999989;
+;;;6.12999965E-3;5.11999989;
+;;;6.13999972E-3;5.03999996;
+;;;6.14999980E-3;4.96000004;
+;;;6.15999987E-3;5.03999996;
+;;;6.16999995E-3;4.96000004;
+;;;6.17999956E-3;5.03999996;
+;;;6.18999964E-3;4.96000004;
+;;;6.19999971E-3;5.03999996;
+;;;6.20999979E-3;4.96000004;
+;;;6.21999986E-3;5.03999996;
+;;;6.22999994E-3;4.96000004;
+;;;6.23999955E-3;4.96000004;
+;;;6.24999963E-3;4.96000004;
+;;;6.25999970E-3;5.11999989;
+;;;6.26999978E-3;4.88000011;
+;;;6.27999986E-3;5.03999996;
+;;;6.28999993E-3;4.96000004;
+;;;6.29999954E-3;5.11999989;
+;;;6.30999962E-3;5.03999996;
+;;;6.31999969E-3;5.11999989;
+;;;6.32999977E-3;5.03999996;
+;;;6.33999985E-3;5.03999996;
+;;;6.34999992E-3;4.96000004;
+;;;6.35999953E-3;5.03999996;
+;;;6.36999961E-3;5.03999996;
+;;;6.37999969E-3;4.96000004;
+;;;6.38999976E-3;4.96000004;
+;;;6.39999984E-3;5.03999996;
+;;;6.40999991E-3;4.96000004;
+;;;6.41999952E-3;5.03999996;
+;;;6.42999960E-3;4.96000004;
+;;;6.43999968E-3;4.96000004;
+;;;6.44999975E-3;5.03999996;
+;;;6.45999983E-3;5.11999989;
+;;;6.46999991E-3;4.96000004;
+;;;6.47999952E-3;4.96000004;
+;;;6.48999959E-3;5.03999996;
+;;;6.49999967E-3;5.03999996;
+;;;6.50999974E-3;5.03999996;
+;;;6.51999982E-3;-159.99999642E-3;
+;;;6.52999990E-3;0.0;
+;;;6.53999951E-3;0.0;
+;;;6.54999958E-3;0.0;
+;;;6.55999966E-3;-79.999998212E-3;
+;;;6.56999974E-3;79.999998212E-3;
+;;;6.57999981E-3;0.0;
+;;;6.58999989E-3;-79.999998212E-3;
+;;;6.59999996E-3;0.0;
+;;;6.60999957E-3;-79.999998212E-3;
+;;;6.61999965E-3;79.999998212E-3;
+;;;6.62999973E-3;-79.999998212E-3;
+;;;6.63999980E-3;0.0;
+;;;6.64999988E-3;0.0;
+;;;6.65999996E-3;0.0;
+;;;6.66999957E-3;0.0;
+;;;6.67999964E-3;79.999998212E-3;
+;;;6.68999972E-3;0.0;
+;;;6.69999979E-3;0.0;
+;;;6.70999987E-3;0.0;
+;;;6.71999995E-3;0.0;
+;;;6.72999956E-3;79.999998212E-3;
+;;;6.73999963E-3;0.0;
+;;;6.74999971E-3;0.0;
+;;;6.75999979E-3;0.0;
+;;;6.76999986E-3;0.0;
+;;;6.77999994E-3;0.0;
+;;;6.78999955E-3;79.999998212E-3;
+;;;6.79999962E-3;0.0;
+;;;6.80999970E-3;0.0;
+;;;6.81999978E-3;79.999998212E-3;
+;;;6.82999985E-3;79.999998212E-3;
+;;;6.83999993E-3;0.0;
+;;;6.84999954E-3;0.0;
+;;;6.85999962E-3;0.0;
+;;;6.86999969E-3;0.0;
+;;;6.87999977E-3;0.0;
+;;;6.88999984E-3;0.0;
+;;;6.89999992E-3;79.999998212E-3;
+;;;6.90999953E-3;0.0;
+;;;6.91999961E-3;79.999998212E-3;
+;;;6.92999968E-3;0.0;
+;;;6.93999976E-3;79.999998212E-3;
+;;;6.94999984E-3;0.0;
+;;;6.95999991E-3;79.999998212E-3;
+;;;6.96999952E-3;0.0;
+;;;6.97999960E-3;79.999998212E-3;
+;;;6.98999967E-3;0.0;
+;;;6.99999975E-3;79.999998212E-3;
+;;;7.00999983E-3;79.999998212E-3;
+;;;7.01999990E-3;0.0;
+;;;7.02999951E-3;79.999998212E-3;
+;;;7.03999959E-3;79.999998212E-3;
+;;;7.04999967E-3;79.999998212E-3;
+;;;7.05999974E-3;79.999998212E-3;
+;;;7.06999982E-3;0.0;
+;;;7.07999989E-3;79.999998212E-3;
+;;;7.08999950E-3;0.0;
+;;;7.09999958E-3;79.999998212E-3;
+;;;7.10999966E-3;0.0;
+;;;7.11999973E-3;79.999998212E-3;
+;;;7.12999981E-3;0.0;
+;;;7.13999989E-3;0.0;
+;;;7.14999950E-3;0.0;
+;;;7.15999957E-3;79.999998212E-3;
+;;;7.16999965E-3;0.0;
+;;;7.17999972E-3;79.999998212E-3;
+;;;7.18999980E-3;159.99999642E-3;
+;;;7.19999988E-3;79.999998212E-3;
+;;;7.20999995E-3;79.999998212E-3;
+;;;7.21999956E-3;0.0;
+;;;7.22999964E-3;0.0;
+;;;7.23999972E-3;79.999998212E-3;
+;;;7.24999979E-3;0.0;
+;;;7.25999987E-3;0.0;
+;;;7.26999994E-3;0.0;
+;;;7.27999955E-3;79.999998212E-3;
+;;;7.28999963E-3;79.999998212E-3;
+;;;7.29999971E-3;0.0;
+;;;7.30999978E-3;79.999998212E-3;
+;;;7.31999986E-3;0.0;
+;;;7.32999993E-3;0.0;
+;;;7.33999955E-3;0.0;
+;;;7.34999962E-3;79.999998212E-3;
+;;;7.35999970E-3;0.0;
+;;;7.36999977E-3;79.999998212E-3;
+;;;7.37999985E-3;0.0;
+;;;7.389999926E-3;79.999998212E-3;
+;;;7.399999537E-3;79.999998212E-3;
+;;;7.409999613E-3;79.999998212E-3;
+;;;7.419999689E-3;0.0;
+;;;7.429999765E-3;0.0;
+;;;7.439999841E-3;79.999998212E-3;
+;;;7.449999917E-3;79.999998212E-3;
+;;;7.459999528E-3;0.0;
+;;;7.469999604E-3;79.999998212E-3;
+;;;7.479999680E-3;79.999998212E-3;
+;;;7.489999756E-3;0.0;
+;;;7.499999832E-3;79.999998212E-3;
+;;;7.509999909E-3;0.0;
+;;;7.519999519E-3;5.11999989;
+;;;7.529999595E-3;5.11999989;
+;;;7.539999671E-3;5.11999989;
+;;;7.549999747E-3;5.11999989;
+;;;7.559999824E-3;5.03999996;
+;;;7.569999900E-3;5.03999996;
+;;;7.579999510E-3;5.11999989;
+;;;7.589999586E-3;5.03999996;
+;;;7.599999662E-3;5.03999996;
+;;;7.609999739E-3;5.03999996;
+;;;7.619999815E-3;5.03999996;
+;;;7.629999891E-3;5.03999996;
+;;;7.639999501E-3;5.11999989;
+;;;7.649999578E-3;5.03999996;
+;;;7.659999654E-3;5.03999996;
+;;;7.669999730E-3;5.03999996;
+;;;7.679999806E-3;4.96000004;
+;;;7.689999882E-3;5.03999996;
+;;;7.699999493E-3;5.03999996;
+;;;7.709999569E-3;5.03999996;
+;;;7.719999645E-3;5.03999996;
+;;;7.729999721E-3;5.03999996;
+;;;7.739999797E-3;5.03999996;
+;;;7.749999873E-3;4.96000004;
+;;;7.759999484E-3;5.03999996;
+;;;7.769999560E-3;5.03999996;
+;;;7.779999636E-3;4.96000004;
+;;;7.789999712E-3;4.96000004;
+;;;7.799999788E-3;4.96000004;
+;;;7.809999865E-3;5.03999996;
+;;;7.819999941E-3;5.03999996;
+;;;7.829999551E-3;4.96000004;
+;;;7.840000093E-3;5.03999996;
+;;;7.849999703E-3;4.96000004;
+;;;7.859999314E-3;5.03999996;
+;;;7.869999856E-3;4.96000004;
+;;;7.879999466E-3;4.96000004;
+;;;7.890000008E-3;4.96000004;
+;;;7.899999619E-3;5.03999996;
+;;;7.910000160E-3;4.96000004;
+;;;7.919999771E-3;5.03999996;
+;;;7.929999381E-3;5.03999996;
+;;;7.939999923E-3;5.03999996;
+;;;7.949999534E-3;5.03999996;
+;;;7.960000075E-3;5.03999996;
+;;;7.969999686E-3;5.03999996;
+;;;7.979999296E-3;5.03999996;
+;;;7.989999838E-3;4.96000004;
+;;;7.999999449E-3;4.96000004;
+;;;8.009999990E-3;4.96000004;
+;;;8.019999601E-3;5.03999996;
+;;;8.030000143E-3;4.96000004;
+;;;8.039999753E-3;4.96000004;
+;;;8.049999364E-3;4.96000004;
+;;;8.059999906E-3;4.96000004;
+;;;8.069999516E-3;4.96000004;
+;;;8.080000058E-3;4.96000004;
+;;;8.089999668E-3;5.03999996;
+;;;8.099999279E-3;4.96000004;
+;;;8.109999821E-3;4.96000004;
+;;;8.119999431E-3;4.96000004;
+;;;8.129999973E-3;5.03999996;
+;;;8.139999583E-3;4.96000004;
+;;;8.150000125E-3;4.96000004;
+;;;8.159999736E-3;4.96000004;
+;;;8.169999346E-3;5.03999996;
+;;;8.179999888E-3;5.03999996;
+;;;8.189999498E-3;5.03999996;
+;;;8.200000040E-3;4.96000004;
+;;;8.209999651E-3;5.03999996;
+;;;8.219999261E-3;5.03999996;
+;;;8.229999803E-3;5.03999996;
+;;;8.239999413E-3;4.96000004;
+;;;8.249999955E-3;5.03999996;
+;;;8.259999566E-3;5.03999996;
+;;;8.270000108E-3;5.03999996;
+;;;8.279999718E-3;5.03999996;
+;;;8.289999329E-3;5.03999996;
+;;;8.299999870E-3;5.03999996;
+;;;8.309999481E-3;5.03999996;
+;;;8.320000023E-3;4.96000004;
+;;;8.329999633E-3;5.03999996;
+;;;8.339999244E-3;4.96000004;
+;;;8.349999785E-3;5.03999996;
+;;;8.359999396E-3;5.03999996;
+;;;8.369999938E-3;4.96000004;
+;;;8.379999548E-3;4.96000004;
+;;;8.390000090E-3;5.03999996;
+;;;8.399999700E-3;4.96000004;
+;;;8.409999311E-3;5.03999996;
+;;;8.419999853E-3;5.03999996;
+;;;8.429999463E-3;5.03999996;
+;;;8.440000005E-3;5.03999996;
+;;;8.449999616E-3;5.03999996;
+;;;8.460000157E-3;5.03999996;
+;;;8.469999768E-3;4.96000004;
+;;;8.479999378E-3;5.03999996;
+;;;8.489999920E-3;4.96000004;
+;;;8.499999531E-3;5.03999996;
+;;;8.510000072E-3;4.96000004;
+;;;8.519999683E-3;-79.999998212E-3;
+;;;8.529999293E-3;-79.999998212E-3;
+;;;8.539999835E-3;-79.999998212E-3;
+;;;8.549999446E-3;0.0;
+;;;8.559999987E-3;0.0;
+;;;8.569999598E-3;0.0;
+;;;8.580000140E-3;79.999998212E-3;
+;;;8.589999750E-3;0.0;
+;;;8.599999361E-3;0.0;
+;;;8.609999903E-3;0.0;
+;;;8.619999513E-3;79.999998212E-3;
+;;;8.630000055E-3;0.0;
+;;;8.639999665E-3;0.0;
+;;;8.649999276E-3;79.999998212E-3;
+;;;8.659999818E-3;0.0;
+;;;8.669999428E-3;0.0;
+;;;8.679999970E-3;0.0;
+;;;8.689999580E-3;79.999998212E-3;
+;;;8.700000122E-3;0.0;
+;;;8.709999733E-3;0.0;
+;;;8.719999343E-3;0.0;
+;;;8.729999885E-3;0.0;
+;;;8.739999495E-3;79.999998212E-3;
+;;;8.750000037E-3;0.0;
+;;;8.759999648E-3;79.999998212E-3;
+;;;8.769999258E-3;0.0;
+;;;8.779999800E-3;79.999998212E-3;
+;;;8.789999411E-3;0.0;
+;;;8.799999952E-3;0.0;
+;;;8.809999563E-3;0.0;
+;;;8.820000105E-3;0.0;
+;;;8.829999715E-3;79.999998212E-3;
+;;;8.839999326E-3;79.999998212E-3;
+;;;8.849999867E-3;159.99999642E-3;
+;;;8.859999478E-3;0.0;
+;;;8.870000020E-3;0.0;
+;;;8.879999630E-3;0.0;
+;;;8.889999241E-3;159.99999642E-3;
+;;;8.899999782E-3;79.999998212E-3;
+;;;8.909999393E-3;79.999998212E-3;
+;;;8.919999935E-3;0.0;
+;;;8.929999545E-3;79.999998212E-3;
+;;;8.940000087E-3;79.999998212E-3;
+;;;8.949999698E-3;79.999998212E-3;
+;;;8.959999308E-3;79.999998212E-3;
+;;;8.969999850E-3;79.999998212E-3;
+;;;8.979999460E-3;0.0;
+;;;8.990000002E-3;0.0;
+;;;8.999999613E-3;0.0;
+;;;9.009999223E-3;0.0;
+;;;9.019999765E-3;0.0;
+;;;9.029999375E-3;79.999998212E-3;
+;;;9.039999917E-3;0.0;
+;;;9.049999528E-3;79.999998212E-3;
+;;;9.060000069E-3;0.0;
+;;;9.069999680E-3;79.999998212E-3;
+;;;9.079999290E-3;79.999998212E-3;
+;;;9.089999832E-3;0.0;
+;;;9.099999443E-3;0.0;
+;;;9.109999985E-3;79.999998212E-3;
+;;;9.119999595E-3;79.999998212E-3;
+;;;9.130000137E-3;79.999998212E-3;
+;;;9.139999747E-3;79.999998212E-3;
+;;;9.149999358E-3;79.999998212E-3;
+;;;9.159999900E-3;79.999998212E-3;
+;;;9.169999510E-3;0.0;
+;;;9.180000052E-3;79.999998212E-3;
+;;;9.189999662E-3;0.0;
+;;;9.199999273E-3;0.0;
+;;;9.209999815E-3;159.99999642E-3;
+;;;9.219999425E-3;79.999998212E-3;
+;;;9.229999967E-3;79.999998212E-3;
+;;;9.239999577E-3;0.0;
+;;;9.250000119E-3;79.999998212E-3;
+;;;9.259999730E-3;79.999998212E-3;
+;;;9.269999340E-3;0.0;
+;;;9.279999882E-3;79.999998212E-3;
+;;;9.289999492E-3;79.999998212E-3;
+;;;9.300000034E-3;79.999998212E-3;
+;;;9.309999645E-3;0.0;
+;;;9.319999255E-3;79.999998212E-3;
+;;;9.329999797E-3;79.999998212E-3;
+;;;9.339999408E-3;0.0;
+;;;9.349999949E-3;79.999998212E-3;
+;;;9.359999560E-3;79.999998212E-3;
+;;;9.370000102E-3;79.999998212E-3;
+;;;9.379999712E-3;0.0;
+;;;9.389999323E-3;79.999998212E-3;
+;;;9.399999864E-3;79.999998212E-3;
+;;;9.409999475E-3;0.0;
+;;;9.420000017E-3;79.999998212E-3;
+;;;9.429999627E-3;0.0;
+;;;9.439999238E-3;79.999998212E-3;
+;;;9.449999779E-3;79.999998212E-3;
+;;;9.459999390E-3;0.0;
+;;;9.469999932E-3;79.999998212E-3;
+;;;9.479999542E-3;79.999998212E-3;
+;;;9.490000084E-3;79.999998212E-3;
+;;;9.499999695E-3;79.999998212E-3;
+;;;9.509999305E-3;0.0;
+;;;9.519999847E-3;79.999998212E-3;
+;;;9.529999457E-3;0.0;
+;;;9.539999999E-3;79.999998212E-3;
+;;;9.549999610E-3;0.0;
+;;;9.559999220E-3;79.999998212E-3;
+;;;9.569999762E-3;0.0;
+;;;9.579999372E-3;0.0;
+;;;9.589999914E-3;0.0;
+;;;9.599999525E-3;79.999998212E-3;
+;;;9.610000066E-3;0.0;
+;;;9.619999677E-3;79.999998212E-3;
+;;;9.629999287E-3;0.0;
+;;;9.639999829E-3;0.0;
+;;;9.649999440E-3;0.0;
+;;;9.659999982E-3;0.0;
+;;;9.669999592E-3;0.0;
+;;;9.679999202E-3;0.0;
+;;;9.689999744E-3;79.999998212E-3;
+;;;9.699999355E-3;79.999998212E-3;
+;;;9.709999897E-3;79.999998212E-3;
+;;;9.719999507E-3;0.0;
+;;;9.730000049E-3;79.999998212E-3;
+;;;9.739999659E-3;79.999998212E-3;
+;;;9.749999270E-3;0.0;
+;;;9.759999812E-3;79.999998212E-3;
+;;;9.769999422E-3;79.999998212E-3;
+;;;9.779999964E-3;0.0;
+;;;9.789999574E-3;79.999998212E-3;
+;;;9.800000116E-3;0.0;
+;;;9.809999727E-3;79.999998212E-3;
+;;;9.819999337E-3;79.999998212E-3;
+;;;9.829999879E-3;0.0;
+;;;9.839999489E-3;0.0;
+;;;9.850000031E-3;0.0;
+;;;9.859999642E-3;79.999998212E-3;
+;;;9.869999252E-3;79.999998212E-3;
+;;;9.879999794E-3;0.0;
+;;;9.889999405E-3;79.999998212E-3;
+;;;9.899999946E-3;79.999998212E-3;
+;;;9.909999557E-3;79.999998212E-3;
+;;;9.920000099E-3;0.0;
+;;;9.929999709E-3;79.999998212E-3;
+;;;9.939999320E-3;0.0;
+;;;9.949999861E-3;0.0;
+;;;9.959999472E-3;0.0;
+;;;9.970000014E-3;79.999998212E-3;
+;;;9.979999624E-3;0.0;
+;;;9.989999235E-3;79.999998212E-3;
+;;;9.999999776E-3;79.999998212E-3;
+;;;10.0099994E-3;0.0;
+;;;10.0199999E-3;79.999998212E-3;
+;;;10.0299995E-3;79.999998212E-3;
+;;;10.0400001E-3;79.999998212E-3;
+;;;10.0499997E-3;79.999998212E-3;
+;;;10.0599993E-3;0.0;
+;;;10.0699998E-3;0.0;
+;;;10.0799995E-3;79.999998212E-3;
+;;;10.0900000E-3;0.0;
+;;;10.0999996E-3;79.999998212E-3;
+;;;10.1099992E-3;0.0;
+;;;10.1199998E-3;79.999998212E-3;
+;;;10.1299994E-3;0.0;
+;;;10.1399999E-3;79.999998212E-3;
+;;;10.1499995E-3;79.999998212E-3;
+;;;10.1600001E-3;79.999998212E-3;
+;;;10.1699997E-3;79.999998212E-3;
+;;;10.1799993E-3;0.0;
+;;;10.1899998E-3;0.0;
+;;;10.1999994E-3;79.999998212E-3;
+;;;10.2100000E-3;0.0;
+;;;10.2199996E-3;0.0;
+;;;10.2299992E-3;79.999998212E-3;
+;;;10.2399997E-3;79.999998212E-3;
+;;;10.2499994E-3;0.0;
+;;;10.2599999E-3;79.999998212E-3;
+;;;10.2699995E-3;79.999998212E-3;
+;;;10.2800000E-3;0.0;
+;;;10.2899997E-3;79.999998212E-3;
+;;;10.2999993E-3;79.999998212E-3;
+;;;10.3099998E-3;0.0;
+;;;10.3199994E-3;79.999998212E-3;
+;;;10.3300000E-3;79.999998212E-3;
+;;;10.3399996E-3;0.0;
+;;;10.3499992E-3;0.0;
+;;;10.3599997E-3;79.999998212E-3;
+;;;10.3699993E-3;79.999998212E-3;
+;;;10.3799999E-3;0.0;
+;;;10.3899995E-3;79.999998212E-3;
+;;;10.4000000E-3;79.999998212E-3;
+;;;10.4099996E-3;0.0;
+;;;10.4199992E-3;79.999998212E-3;
+;;;10.4299998E-3;159.99999642E-3;
+;;;10.4399994E-3;79.999998212E-3;
+;;;10.4499999E-3;0.0;
+;;;10.4599996E-3;79.999998212E-3;
+;;;10.4700001E-3;0.0;
+;;;10.4799997E-3;79.999998212E-3;
+;;;10.4899993E-3;0.0;
+;;;10.4999999E-3;79.999998212E-3;
+;;;10.5099995E-3;0.0;
+;;;10.5200000E-3;0.0;
+;;;10.5299996E-3;0.0;
+;;;10.5399992E-3;79.999998212E-3;
+;;;10.5499998E-3;0.0;
+;;;10.5599994E-3;79.999998212E-3;
+;;;10.5699999E-3;0.0;
+;;;10.5799995E-3;79.999998212E-3;
+;;;10.5900001E-3;79.999998212E-3;
+;;;10.5999997E-3;0.0;
+;;;10.6099993E-3;79.999998212E-3;
+;;;10.6199998E-3;79.999998212E-3;
+;;;10.6299995E-3;79.999998212E-3;
+;;;10.6400000E-3;79.999998212E-3;
+;;;10.6499996E-3;79.999998212E-3;
+;;;10.6599992E-3;159.99999642E-3;
+;;;10.6699998E-3;79.999998212E-3;
+;;;10.6799994E-3;79.999998212E-3;
+;;;10.6899999E-3;0.0;
+;;;10.6999995E-3;79.999998212E-3;
+;;;10.7100001E-3;79.999998212E-3;
+;;;10.7199997E-3;0.0;
+;;;10.7299993E-3;0.0;
+;;;10.7399998E-3;79.999998212E-3;
+;;;10.7499994E-3;0.0;
+;;;10.7600000E-3;79.999998212E-3;
+;;;10.7699996E-3;0.0;
+;;;10.7799992E-3;0.0;
+;;;10.7899997E-3;79.999998212E-3;
+;;;10.7999993E-3;79.999998212E-3;
+;;;10.8099999E-3;0.0;
+;;;10.8199995E-3;79.999998212E-3;
+;;;10.8300000E-3;79.999998212E-3;
+;;;10.8399997E-3;79.999998212E-3;
+;;;10.8499993E-3;0.0;
+;;;10.8599998E-3;0.0;
+;;;10.8699994E-3;79.999998212E-3;
+;;;10.8800000E-3;0.0;
+;;;10.8899996E-3;79.999998212E-3;
+;;;10.8999992E-3;0.0;
+;;;10.9099997E-3;79.999998212E-3;
+;;;10.9199993E-3;0.0;
+;;;10.9299999E-3;0.0;
+;;;10.9399995E-3;79.999998212E-3;
+;;;10.9500000E-3;0.0;
+;;;10.9599996E-3;0.0;
+;;;10.9699992E-3;79.999998212E-3;
+;;;10.9799998E-3;0.0;
+;;;10.9899994E-3;79.999998212E-3;
+;;;10.9999999E-3;0.0;
+;;;11.0099996E-3;79.999998212E-3;
+;;;11.0199992E-3;0.0;
+;;;11.0299997E-3;0.0;
+;;;11.0399993E-3;0.0;
+;;;11.0499999E-3;79.999998212E-3;
+;;;11.0599995E-3;0.0;
+;;;11.0700000E-3;0.0;
+;;;11.0799996E-3;0.0;
+;;;11.0899992E-3;0.0;
+;;;11.0999998E-3;79.999998212E-3;
+;;;11.1099994E-3;0.0;
+;;;11.1199999E-3;79.999998212E-3;
+;;;11.1299995E-3;0.0;
+;;;11.1400001E-3;0.0;
+;;;11.1499997E-3;79.999998212E-3;
+;;;11.1599993E-3;79.999998212E-3;
+;;;11.1699998E-3;0.0;
+;;;11.1799994E-3;0.0;
+;;;11.1900000E-3;79.999998212E-3;
+;;;11.1999996E-3;79.999998212E-3;
+;;;11.2099992E-3;79.999998212E-3;
+;;;11.2199998E-3;0.0;
+;;;11.2299994E-3;0.0;
+;;;11.2399999E-3;0.0;
+;;;11.2499995E-3;79.999998212E-3;
+;;;11.2600001E-3;0.0;
+;;;11.2699997E-3;79.999998212E-3;
+;;;11.2799993E-3;0.0;
+;;;11.2899998E-3;0.0;
+;;;11.2999994E-3;79.999998212E-3;
+;;;11.3100000E-3;79.999998212E-3;
+;;;11.3199996E-3;159.99999642E-3;
+;;;11.3299992E-3;79.999998212E-3;
+;;;11.3399997E-3;79.999998212E-3;
+;;;11.3499993E-3;0.0;
+;;;11.3599999E-3;79.999998212E-3;
+;;;11.3699995E-3;0.0;
+;;;11.3800000E-3;0.0;
+;;;11.3899997E-3;0.0;
+;;;11.3999993E-3;0.0;
+;;;11.4099998E-3;159.99999642E-3;
+;;;11.4199994E-3;0.0;
+;;;11.4300000E-3;0.0;
+;;;11.4399996E-3;0.0;
+;;;11.4499992E-3;0.0;
+;;;11.4599997E-3;0.0;
+;;;11.4699993E-3;79.999998212E-3;
+;;;11.4799999E-3;0.0;
+;;;11.4899995E-3;79.999998212E-3;
+;;;11.5000000E-3;0.0;
+;;;11.5099996E-3;0.0;
+;;;11.5199992E-3;0.0;
+;;;11.5299998E-3;79.999998212E-3;
+;;;11.5399994E-3;0.0;
+;;;11.5499999E-3;0.0;
+;;;11.5599995E-3;0.0;
+;;;11.5699992E-3;79.999998212E-3;
+;;;11.5799997E-3;0.0;
+;;;11.5899993E-3;79.999998212E-3;
+;;;11.5999999E-3;79.999998212E-3;
+;;;11.6099995E-3;0.0;
+;;;11.6200000E-3;0.0;
+;;;11.6299996E-3;79.999998212E-3;
+;;;11.6399992E-3;79.999998212E-3;
+;;;11.6499998E-3;79.999998212E-3;
+;;;11.6599994E-3;0.0;
+;;;11.6699999E-3;0.0;
+;;;11.6799995E-3;0.0;
+;;;11.6900001E-3;0.0;
+;;;11.6999997E-3;79.999998212E-3;
+;;;11.7099993E-3;-79.999998212E-3;
+;;;11.7199998E-3;79.999998212E-3;
+;;;11.7299994E-3;79.999998212E-3;
+;;;11.7400000E-3;79.999998212E-3;
+;;;11.7499996E-3;0.0;
+;;;11.7599992E-3;79.999998212E-3;
+;;;11.7699997E-3;0.0;
+;;;11.7799994E-3;0.0;
+;;;11.7899999E-3;0.0;
+;;;11.7999995E-3;0.0;
+;;;11.8100001E-3;79.999998212E-3;
+;;;11.8199997E-3;0.0;
+;;;11.8299993E-3;79.999998212E-3;
+;;;11.8399998E-3;79.999998212E-3;
+;;;11.8499994E-3;79.999998212E-3;
+;;;11.8600000E-3;79.999998212E-3;
+;;;11.8699996E-3;0.0;
+;;;11.8799992E-3;0.0;
+;;;11.8899997E-3;0.0;
+;;;11.8999993E-3;79.999998212E-3;
+;;;11.9099999E-3;0.0;
+;;;11.9199995E-3;0.0;
+;;;11.9300000E-3;79.999998212E-3;
+;;;11.9399996E-3;79.999998212E-3;
+;;;11.9499993E-3;0.0;
+;;;11.9599998E-3;0.0;
+;;;11.9699994E-3;79.999998212E-3;
+;;;11.9800000E-3;0.0;
+;;;11.9899996E-3;0.0;
+;;;11.9999992E-3;0.0;
+;;;12.0099997E-3;0.0;
+;;;12.0199993E-3;79.999998212E-3;
+;;;12.0299999E-3;0.0;
+;;;12.0399995E-3;0.0;
+;;;12.0500000E-3;0.0;
+;;;12.0599996E-3;0.0;
+;;;12.0699992E-3;0.0;
+;;;12.0799998E-3;0.0;
+;;;12.0899994E-3;0.0;
+;;;12.0999999E-3;79.999998212E-3;
+;;;12.1099995E-3;79.999998212E-3;
+;;;12.1199992E-3;0.0;
+;;;12.1299997E-3;0.0;
+;;;12.1399993E-3;79.999998212E-3;
+;;;12.1499998E-3;79.999998212E-3;
+;;;12.1599995E-3;79.999998212E-3;
+;;;12.1700000E-3;0.0;
+;;;12.1799996E-3;0.0;
+;;;12.1899992E-3;0.0;
+;;;12.1999998E-3;79.999998212E-3;
+;;;12.2099994E-3;0.0;
+;;;12.2199999E-3;79.999998212E-3;
+;;;12.2299995E-3;-79.999998212E-3;
+;;;12.2399991E-3;79.999998212E-3;
+;;;12.2499997E-3;79.999998212E-3;
+;;;12.2599993E-3;79.999998212E-3;
+;;;12.2699998E-3;79.999998212E-3;
+;;;12.2799994E-3;79.999998212E-3;
+;;;12.2900000E-3;0.0;
+;;;12.2999996E-3;79.999998212E-3;
+;;;12.3099992E-3;79.999998212E-3;
+;;;12.3199997E-3;0.0;
+;;;12.3299994E-3;79.999998212E-3;
+;;;12.3399999E-3;79.999998212E-3;
+;;;12.3499995E-3;79.999998212E-3;
+;;;12.3600001E-3;79.999998212E-3;
+;;;12.3699997E-3;0.0;
+;;;12.3799993E-3;79.999998212E-3;
+;;;12.3899998E-3;159.99999642E-3;
+;;;12.3999994E-3;79.999998212E-3;
+;;;12.4100000E-3;79.999998212E-3;
+;;;12.4199996E-3;79.999998212E-3;
+;;;12.4299992E-3;0.0;
+;;;12.4399997E-3;79.999998212E-3;
+;;;12.4499993E-3;79.999998212E-3;
+;;;12.4599999E-3;0.0;
+;;;12.4699995E-3;0.0;
+;;;12.4800000E-3;0.0;
+;;;12.4899996E-3;79.999998212E-3;
+;;;12.4999993E-3;79.999998212E-3;
+;;;12.5099998E-3;0.0;
+;;;12.5199994E-3;0.0;
+;;;12.5299999E-3;79.999998212E-3;
+;;;12.5399996E-3;0.0;
+;;;12.5499992E-3;79.999998212E-3;
+;;;12.5599997E-3;79.999998212E-3;
+;;;12.5699993E-3;79.999998212E-3;
+;;;12.5799999E-3;79.999998212E-3;
+;;;12.5899995E-3;0.0;
+;;;12.6000000E-3;79.999998212E-3;
+;;;12.6099996E-3;79.999998212E-3;
+;;;12.6199992E-3;0.0;
+;;;12.6299998E-3;0.0;
+;;;12.6399994E-3;0.0;
+;;;12.6499999E-3;79.999998212E-3;
+;;;12.6599995E-3;0.0;
+;;;12.6699992E-3;79.999998212E-3;
+;;;12.6799997E-3;79.999998212E-3;
+;;;12.6899993E-3;79.999998212E-3;
+;;;12.6999998E-3;79.999998212E-3;
+;;;12.7099995E-3;0.0;
+;;;12.7200000E-3;79.999998212E-3;
+;;;12.7299996E-3;0.0;
+;;;12.7399992E-3;79.999998212E-3;
+;;;12.7499998E-3;0.0;
+;;;12.7599994E-3;79.999998212E-3;
+;;;12.7699999E-3;79.999998212E-3;
+;;;12.7799995E-3;79.999998212E-3;
+;;;12.7899991E-3;0.0;
+;;;12.7999997E-3;79.999998212E-3;
+;;;12.8099993E-3;79.999998212E-3;
+;;;12.8199998E-3;79.999998212E-3;
+;;;12.8299994E-3;0.0;
+;;;12.8400000E-3;79.999998212E-3;
+;;;12.8499996E-3;79.999998212E-3;
+;;;12.8599992E-3;79.999998212E-3;
+;;;12.8699997E-3;0.0;
+;;;12.8799994E-3;0.0;
+;;;12.8899999E-3;0.0;
+;;;12.8999995E-3;79.999998212E-3;
+;;;12.9099991E-3;0.0;
+;;;12.9199997E-3;79.999998212E-3;
+;;;12.9299993E-3;79.999998212E-3;
+;;;12.9399998E-3;0.0;
+;;;12.9499994E-3;79.999998212E-3;
+;;;12.9600000E-3;79.999998212E-3;
+;;;12.9699996E-3;79.999998212E-3;
+;;;12.9799992E-3;0.0;
+;;;12.9899997E-3;79.999998212E-3;
+;;;12.9999993E-3;79.999998212E-3;
+;;;13.0099999E-3;0.0;
+;;;13.0199995E-3;0.0;
+;;;13.0300000E-3;0.0;
+;;;13.0399996E-3;0.0;
+;;;13.0499993E-3;0.0;
+;;;13.0599998E-3;0.0;
+;;;13.0699994E-3;0.0;
+;;;13.0799999E-3;79.999998212E-3;
+;;;13.0899996E-3;79.999998212E-3;
+;;;13.0999992E-3;0.0;
+;;;13.1099997E-3;0.0;
+;;;13.1199993E-3;79.999998212E-3;
+;;;13.1299999E-3;0.0;
+;;;13.1399995E-3;79.999998212E-3;
+;;;13.1500000E-3;79.999998212E-3;
+;;;13.1599996E-3;79.999998212E-3;
+;;;13.1699992E-3;0.0;
+;;;13.1799998E-3;0.0;
+;;;13.1899994E-3;79.999998212E-3;
+;;;13.1999999E-3;79.999998212E-3;
+;;;13.2099995E-3;0.0;
+;;;13.2199991E-3;159.99999642E-3;
+;;;13.2299997E-3;79.999998212E-3;
+;;;13.2399993E-3;0.0;
+;;;13.2499998E-3;0.0;
+;;;13.2599995E-3;0.0;
+;;;13.2700000E-3;0.0;
+;;;13.2799996E-3;79.999998212E-3;
+;;;13.2899992E-3;79.999998212E-3;
+;;;13.2999998E-3;0.0;
+;;;13.3099994E-3;0.0;
+;;;13.3199999E-3;79.999998212E-3;
+;;;13.3299995E-3;79.999998212E-3;
+;;;13.3399991E-3;0.0;
+;;;13.3499997E-3;0.0;
+;;;13.3599993E-3;79.999998212E-3;
+;;;13.3699998E-3;79.999998212E-3;
+;;;13.3799994E-3;0.0;
+;;;13.3900000E-3;79.999998212E-3;
+;;;13.3999996E-3;0.0;
+;;;13.4099992E-3;0.0;
+;;;13.4199997E-3;159.99999642E-3;
+;;;13.4299994E-3;79.999998212E-3;
+;;;13.4399999E-3;0.0;
+;;;13.4499995E-3;79.999998212E-3;
+;;;13.4599991E-3;79.999998212E-3;
+;;;13.4699997E-3;0.0;
+;;;13.4799993E-3;0.0;
+;;;13.4899998E-3;0.0;
+;;;13.4999994E-3;79.999998212E-3;
+;;;13.5100000E-3;0.0;
+;;;13.5199996E-3;0.0;
+;;;13.5299992E-3;0.0;
+;;;13.5399997E-3;0.0;
+;;;13.5499993E-3;79.999998212E-3;
+;;;13.5599999E-3;79.999998212E-3;
+;;;13.5699995E-3;0.0;
+;;;13.5800000E-3;0.0;
+;;;13.5899996E-3;0.0;
+;;;13.5999992E-3;79.999998212E-3;
+;;;13.6099998E-3;79.999998212E-3;
+;;;13.6199994E-3;79.999998212E-3;
+;;;13.6299999E-3;0.0;
+;;;13.6399996E-3;0.0;
+;;;13.6499992E-3;0.0;
+;;;13.6599997E-3;79.999998212E-3;
+;;;13.6699993E-3;79.999998212E-3;
+;;;13.6799999E-3;79.999998212E-3;
+;;;13.6899995E-3;0.0;
+;;;13.7000000E-3;159.99999642E-3;
+;;;13.7099996E-3;79.999998212E-3;
+;;;13.7199992E-3;79.999998212E-3;
+;;;13.7299998E-3;0.0;
+;;;13.7399994E-3;0.0;
+;;;13.7499999E-3;79.999998212E-3;
+;;;13.7599995E-3;79.999998212E-3;
+;;;13.7699991E-3;0.0;
+;;;13.7799997E-3;0.0;
+;;;13.7899993E-3;79.999998212E-3;
+;;;13.7999998E-3;79.999998212E-3;
+;;;13.8099995E-3;79.999998212E-3;
+;;;13.8200000E-3;0.0;
+;;;13.8299996E-3;159.99999642E-3;
+;;;13.8399992E-3;79.999998212E-3;
+;;;13.8499998E-3;79.999998212E-3;
+;;;13.8599994E-3;79.999998212E-3;
+;;;13.8699999E-3;79.999998212E-3;
+;;;13.8799995E-3;79.999998212E-3;
+;;;13.8899991E-3;0.0;
+;;;13.8999997E-3;0.0;
+;;;13.9099993E-3;79.999998212E-3;
+;;;13.9199998E-3;0.0;
+;;;13.9299994E-3;0.0;
+;;;13.9400000E-3;79.999998212E-3;
+;;;13.9499996E-3;79.999998212E-3;
+;;;13.9599992E-3;0.0;
+;;;13.9699997E-3;79.999998212E-3;
+;;;13.9799993E-3;0.0;
+;;;13.9899999E-3;79.999998212E-3;
+;;;13.9999995E-3;79.999998212E-3;
+;;;14.0099991E-3;0.0;
+;;;14.0199997E-3;0.0;
+;;;14.0299993E-3;79.999998212E-3;
+;;;14.0399998E-3;79.999998212E-3;
+;;;14.0499994E-3;0.0;
+;;;14.0600000E-3;0.0;
+;;;14.0699996E-3;79.999998212E-3;
+;;;14.0799992E-3;79.999998212E-3;
+;;;14.0899997E-3;-79.999998212E-3;
+;;;14.0999993E-3;0.0;
+;;;14.1099999E-3;0.0;
+;;;14.1199995E-3;79.999998212E-3;
+;;;14.1299991E-3;79.999998212E-3;
+;;;14.1399996E-3;0.0;
+;;;14.1499992E-3;0.0;
+;;;14.1599998E-3;79.999998212E-3;
+;;;14.1699994E-3;79.999998212E-3;
+;;;14.1799999E-3;79.999998212E-3;
+;;;14.1899996E-3;0.0;
+;;;14.1999992E-3;0.0;
+;;;14.2099997E-3;79.999998212E-3;
+;;;14.2199993E-3;0.0;
+;;;14.2299999E-3;0.0;
+;;;14.2399995E-3;79.999998212E-3;
+;;;14.2500000E-3;79.999998212E-3;
diff --git a/doc/figures/texput.log b/doc/figures/texput.log
deleted file mode 100644
index d8577d4..0000000
--- a/doc/figures/texput.log
+++ /dev/null
@@ -1,21 +0,0 @@
-This is XeTeX, Version 3.14159265-2.6-0.99998 (TeX Live 2017/W32TeX) (preloaded format=xelatex 2017.12.21) 22 DEC 2017 12:06
-entering extended mode
- \write18 enabled.
- %&-line parsing enabled.
-**reduced-circ.tex
-
-! Emergency stop.
-<*> reduced-circ.tex
-
-*** (job aborted, file error in nonstop mode)
-
-
-Here is how much of TeX's memory you used:
- 2 strings out of 493010
- 22 string characters out of 6138023
- 61747 words of memory out of 5000000
- 4072 multiletter control sequences out of 15000+600000
- 3640 words of font info for 14 fonts, out of 8000000 for 9000
- 1348 hyphenation exceptions out of 8191
- 0i,0n,0p,1b,6s stack positions out of 5000i,500n,10000p,200000b,80000s
-No pages of output.
diff --git a/doc/xilofono.tex b/doc/xilofono.tex
index e50ecbf..c3720d6 100644
--- a/doc/xilofono.tex
+++ b/doc/xilofono.tex
@@ -1,4 +1,7 @@
-\documentclass[a4paper, 10pt, conference]{IEEEtran}
+\documentclass[a4paper, 10pt]{report}
+
+% layout
+\usepackage[margin=3cm]{geometry}
% language / document
\usepackage[italian]{babel}
@@ -40,6 +43,7 @@
%\begin{abstract}
%\end{abstract}
+\chapter{Introduzione}
\section{Requisiti}
Lo Xilofono digitale \`e un dispositivo in grado di rilevare le note suonate dall'utente per poi salvarle in un dispositivo esterno in formato MIDI.
Esso \`e costruito utilizzando parti da uno Xilofono ``Sonor Tag 25'' modificato con dei circuiti di misura.
@@ -74,7 +78,7 @@ Per ogni listello della tastiera dello strumento \`e presente un circuito di mis
Il piezoelettrodo utilizzato \`e un Murata 7BB-20-06 con una frequenza di risonanza di \(6.3\pm 0.6~\mathrm{kHz}\).
\begin{figure}[H] \centering
- \includegraphics[width=\linewidth]{figures/reduced-circ.tikz}
+ \includegraphics[width=.5\linewidth]{figures/reduced-circ.tikz}
\caption{Circuito di misura}
\end{figure}
@@ -182,7 +186,7 @@ typedef enum {
\end{minipage}
\subsection{API per dispositivi senza allocazione di memoria dinamica}
-Purtroppo alcuni microcontrollori, tra cui il PIC18F45K22 non supportano l'allocazione di memoria dinamica necessaria per instanziare il flexible array member della struttura \texttt{midi\_message\_t}. Dunque la libreria MIDI \`e stata modificata per utilizzare la struttura dati come segue.
+Purtroppo alcuni microcontrollori, tra cui il PIC18F45K22 non supportano l'allocazione di memoria dinamica necessaria per allocare il flexible array member della struttura \texttt{midi\_message\_t}. Dunque la libreria MIDI \`e stata modificata per utilizzare la struttura dati come segue.
\begin{minipage}{\linewidth}
\begin{verbatim}
@@ -201,7 +205,7 @@ La macro \texttt{MIDI\_DYNAMIC\_MEMORY\_ALLOC}, normalmente non definita, indica
\begin{minipage}{\linewidth}
\begin{verbatim}
typedef struct {
- unsigned status :4;
+ unsigned status :4;
unsigned channel :4;
#ifdef MIDI_DYNAMIC_MEMORY_ALLOC
@@ -221,16 +225,15 @@ A seguire un esempio abbastanza generico per le piattaforme che implementano la
\begin{verbatim}
int eusart_write_midi(midi_message_t *pkt)
{
+ size_t lenght;
+ uint8_t *data;
+
if (pkt == NULL) {
return -1;
}
- if (pkt->data == NULL) {
- return -2;
- }
-
- size_t length = pkt->data_size;
- uint8_t *data = pkt->data;
+ length = pkt->data_size;
+ data = pkt->data;
putch((pkt->status<<4) | pkt->channel);
diff --git a/doc_office/Diario.docx b/doc_office/Diario.docx
index cb1d336..296fbf9 100644
--- a/doc_office/Diario.docx
+++ b/doc_office/Diario.docx
Binary files differ
diff --git a/doc_office/Pianificazione LIP.xlsx b/doc_office/Pianificazione LIP.xlsx
index 923ff98..8825ba7 100644
--- a/doc_office/Pianificazione LIP.xlsx
+++ b/doc_office/Pianificazione LIP.xlsx
Binary files differ
diff --git a/doc/RECEIPT_1236102222018035124.pdf b/doc_office/RECEIPT_1236102222018035124.pdf
index ecbfca9..ecbfca9 100644
--- a/doc/RECEIPT_1236102222018035124.pdf
+++ b/doc_office/RECEIPT_1236102222018035124.pdf
Binary files differ
diff --git a/src/disassembly/listing.disasm b/src/disassembly/listing.disasm
new file mode 100644
index 0000000..e830f54
--- /dev/null
+++ b/src/disassembly/listing.disasm
@@ -0,0 +1,931 @@
+Disassembly Listing for Xilofono
+Generated From:
+Z:/SAMB_4/projects/xilofono/src/dist/default/production/src.production.elf
+23-feb-2018 16:30:03
+
+--- Z:/SAMB_4/projects/xilofono/src/rs232.c -----------------------------------------------------------
+1: #include "rs232.h"
+2: #include <xc.h>
+3:
+4: void eusart1_init(void)
+5: {
+6: // set Async and 8 bits frame
+7: TXSTA1bits.SYNC = 0;
+03FC 98AC BCF TXSTA1, 4, ACCESS
+8: TXSTA1bits.TX9 = 0;
+03FE 9CAC BCF TXSTA1, 6, ACCESS
+9:
+10: // baud prescaler
+11: RCSTA1bits.SPEN = 1;
+0400 8EAB BSF RCSTA1, 7, ACCESS
+12: SPBRG1 = 31;
+0402 0E1F MOVLW 0x1F
+0404 6EAF MOVWF SPBRG1, ACCESS
+13: SPBRGH1 = 0;
+0406 0E00 MOVLW 0x0
+0408 6EB0 MOVWF SPBRGH1, ACCESS
+14: TXSTA1bits.BRGH = 0;
+040A 94AC BCF TXSTA1, 2, ACCESS
+15: BAUDCON1bits.BRG16 = 0;
+040C 96B8 BCF BAUDCON1, 3, ACCESS
+16:
+17: // set up TX / RX pins
+18: TRISCbits.TRISC7 = 1;
+040E 8E94 BSF TRISC, 7, ACCESS
+19: TRISCbits.TRISC6 = 1;
+0410 8C94 BSF TRISC, 6, ACCESS
+20: RCSTA1bits.CREN = 1; // enable continuous reception
+0412 88AB BSF RCSTA1, 4, ACCESS
+21: TXSTA1bits.TXEN = 1;
+0414 8AAC BSF TXSTA1, 5, ACCESS
+22: }
+0416 0012 RETURN 0
+23:
+24: void eusart2_init(void)
+25: {
+26: // TODO
+27: }
+28:
+29: void putch(char c)
+0418 6E1A MOVWF p1, ACCESS
+30: {
+31: while (!TX1IF);
+041A A89E BTFSS PIR1, 4, ACCESS
+041C D7FE BRA 0x41A
+32: TX1REG = c;
+041E C01A MOVFF p1, TXREG1
+0420 FFAD NOP
+33: }
+0008 8245 BSF btemp, 1, ACCESS
+000A CFFA MOVFF PCLATH, 0x5
+000C F005 NOP
+000E CFFB MOVFF PCLATU, 0x6
+0010 F006 NOP
+0012 CFE9 MOVFF FSR0, 0x7
+0014 F007 NOP
+0016 CFEA MOVFF FSR0H, 0x8
+0018 F008 NOP
+001A CFE1 MOVFF FSR1, 0x9
+001C F009 NOP
+001E CFE2 MOVFF FSR1H, 0xA
+0020 F00A NOP
+0022 CFD9 MOVFF FSR2, 0xB
+0024 F00B NOP
+0026 CFDA MOVFF FSR2H, 0xC
+0028 F00C NOP
+002A CFF3 MOVFF PROD, 0xD
+002C F00D NOP
+002E CFF4 MOVFF PRODH, 0xE
+0030 F00E NOP
+0032 CFF6 MOVFF TBLPTR, 0xF
+0034 F00F NOP
+0036 CFF7 MOVFF TBLPTRH, 0x10
+0038 F010 NOP
+003A CFF8 MOVFF TBLPTRU, 0x11
+003C F011 NOP
+003E CFF5 MOVFF TABLAT, 0x12
+0040 F012 NOP
+0042 C045 MOVFF btemp, 0x13
+0044 F013 NOP
+0046 C046 MOVFF 0x46, 0x14
+0048 F014 NOP
+004A C047 MOVFF 0x47, 0x15
+004C F015 NOP
+004E C048 MOVFF 0x48, 0x16
+0050 F016 NOP
+0422 0012 RETURN 0
+34:
+35: char getch(void)
+36: {
+37: while (!RC1IF);
+38: return RC1REG;
+39: }
+40:
+41: char getche(void)
+42: {
+43: char c = getch();
+44: putch(c); // echo
+45:
+46: return c;
+47: }
+--- Z:/SAMB_4/projects/xilofono/src/midi.c ------------------------------------------------------------
+1: #include "midi.h"
+2:
+3: #include <stdint.h>
+4: #include <stddef.h>
+5: #include <stdio.h>
+6: #include <stdlib.h>
+7:
+8:
+9: #ifdef MIDI_DYNAMIC_MEMORY_ALLOC
+10: midi_message_t *midi_alloc_message(size_t data_size)
+11: {
+12: return (midi_message_t *) malloc(sizeof(midi_message_t) + data_size);
+13: }
+14:
+15: void midi_free_message(midi_message_t *pkt)
+16: {
+17: if (pkt == NULL) {
+18: return;
+19: }
+20:
+21: free(pkt);
+22: pkt = NULL;
+23: }
+24:
+25: size_t midi_message_size(const midi_message_t *pkt)
+26: {
+27: if (pkt == NULL) {
+28: return 0;
+29: }
+30:
+31: switch (pkt->status) {
+32: case NOTE_ON: return sizeof(midi_message_t) + 2;
+33: case NOTE_OFF: return sizeof(midi_message_t) + 1;
+34: default: return sizeof(midi_message_t);
+35: }
+36: }
+37: #endif
+38:
+39:
+40: int midi_set_status(midi_message_t *pkt, midi_status_t status)
+41: {
+42: if (pkt == NULL) {
+03D8 501A MOVF p1, W, ACCESS
+03DA 101B IORWF pkt, W, ACCESS
+03DC B4D8 BTFSC STATUS, 2, ACCESS
+03DE 0012 RETURN 0
+43: return -1;
+44: }
+45:
+46: pkt->status = status & 0x0F;
+03E0 C01C MOVFF c, 0x1D
+03E2 F01D NOP
+03E4 0E0F MOVLW 0xF
+03E6 161D ANDWF 0x1D, F, ACCESS
+03E8 C01A MOVFF p1, FSR2
+03EA FFD9 NOP
+03EC C01B MOVFF pkt, FSR2H
+03EE FFDA NOP
+03F0 50DF MOVF INDF2, W, ACCESS
+03F2 181D XORWF 0x1D, W, ACCESS
+03F4 0BF0 ANDLW 0xF0
+03F6 181D XORWF 0x1D, W, ACCESS
+03F8 6EDF MOVWF INDF2, ACCESS
+03FA 0012 RETURN 0
+47:
+48: return 0;
+49: }
+50:
+51: int midi_set_channel(midi_message_t *pkt, unsigned channel)
+52: {
+53: if (pkt == NULL) {
+03B2 501A MOVF p1, W, ACCESS
+03B4 101B IORWF pkt, W, ACCESS
+03B6 B4D8 BTFSC STATUS, 2, ACCESS
+03B8 0012 RETURN 0
+54: return -1;
+55: }
+56:
+57: pkt->channel = channel & 0x0F;
+03BA C01C MOVFF c, n
+03BC F01E NOP
+03BE 0E0F MOVLW 0xF
+03C0 161E ANDWF n, F, ACCESS
+03C2 C01A MOVFF p1, FSR2
+03C4 FFD9 NOP
+03C6 C01B MOVFF pkt, FSR2H
+03C8 FFDA NOP
+03CA 3A1E SWAPF n, F, ACCESS
+03CC 50DF MOVF INDF2, W, ACCESS
+03CE 181E XORWF n, W, ACCESS
+03D0 0B0F ANDLW 0xF
+03D2 181E XORWF n, W, ACCESS
+03D4 6EDF MOVWF INDF2, ACCESS
+03D6 0012 RETURN 0
+58:
+59: return 0;
+60: }
+61:
+62: int midi_note_on(midi_message_t *pkt, unsigned channel, midi_note_t note, uint8_t velocity)
+63: {
+64: if (pkt == NULL) {
+01BC 501F MOVF pkt, W, ACCESS
+01BE 1020 IORWF p, W, ACCESS
+01C0 B4D8 BTFSC STATUS, 2, ACCESS
+01C2 0012 RETURN 0
+65: return -1;
+66: }
+67:
+68: if (pkt->data == NULL) {
+01C4 0E03 MOVLW 0x3
+01C6 241F ADDWF pkt, W, ACCESS
+01C8 0100 MOVLB 0x0
+01CA 6F60 MOVWF __pcstackBANK0, BANKED
+01CC 0E00 MOVLW 0x0
+01CE 2020 ADDWFC p, W, ACCESS
+01D0 6F61 MOVWF 0x61, BANKED
+01D2 5160 MOVF __pcstackBANK0, W, BANKED
+01D4 1161 IORWF 0x61, W, BANKED
+01D6 B4D8 BTFSC STATUS, 2, ACCESS
+01D8 0012 RETURN 0
+69: return -2;
+70: }
+71:
+72: midi_set_status(pkt, NOTE_ON);
+01DA C01F MOVFF pkt, p1
+01DC F01A NOP
+01DE C020 MOVFF p, pkt
+01E0 F01B NOP
+01E2 0E08 MOVLW 0x8
+01E4 6E1C MOVWF c, ACCESS
+01E6 ECEC CALL 0x3D8, 0
+01E8 F001 NOP
+73: midi_set_channel(pkt, channel);
+01EA C01F MOVFF pkt, p1
+01EC F01A NOP
+01EE C020 MOVFF p, pkt
+01F0 F01B NOP
+01F2 C021 MOVFF channel, c
+01F4 F01C NOP
+01F6 C022 MOVFF 0x22, 0x1D
+01F8 F01D NOP
+01FA ECD9 CALL 0x3B2, 0
+01FC F001 NOP
+74:
+75: pkt->data[0] = note;
+01FE EE20 LFSR 2, 0x3
+0200 F003 NOP
+0202 501F MOVF pkt, W, ACCESS
+0204 26D9 ADDWF FSR2, F, ACCESS
+0206 5020 MOVF p, W, ACCESS
+0208 22DA ADDWFC FSR2H, F, ACCESS
+020A C023 MOVFF note, INDF2
+020C FFDF NOP
+76: pkt->data[1] = velocity;
+020E EE20 LFSR 2, 0x4
+0210 F004 NOP
+0212 501F MOVF pkt, W, ACCESS
+0214 26D9 ADDWF FSR2, F, ACCESS
+0216 5020 MOVF p, W, ACCESS
+0218 22DA ADDWFC FSR2H, F, ACCESS
+021A C024 MOVFF velocity, INDF2
+021C FFDF NOP
+77:
+78: #ifndef MIDI_DYNAMIC_MEMORY_ALLOC
+79: pkt->data_size = 2;
+021E EE20 LFSR 2, 0x1
+0220 F001 NOP
+0222 501F MOVF pkt, W, ACCESS
+0224 26D9 ADDWF FSR2, F, ACCESS
+0226 5020 MOVF p, W, ACCESS
+0228 22DA ADDWFC FSR2H, F, ACCESS
+022A 0E02 MOVLW 0x2
+022C 6EDE MOVWF POSTINC2, ACCESS
+022E 0E00 MOVLW 0x0
+0230 6EDD MOVWF POSTDEC2, ACCESS
+0232 0012 RETURN 0
+80: #endif
+81:
+82: return 0;
+83: }
+84:
+85: int midi_note_off(midi_message_t *pkt, unsigned channel, midi_note_t note, uint8_t velocity)
+86: {
+87: if (pkt == NULL) {
+88: return -1;
+89: }
+90:
+91: if (pkt->data == NULL) {
+92: return -2;
+93: }
+94:
+95: midi_set_status(pkt, NOTE_OFF);
+96: midi_set_channel(pkt, channel);
+97:
+98: pkt->data[0] = note;
+99: pkt->data[1] = velocity;
+100:
+101: #ifndef MIDI_DYNAMIC_MEMORY_ALLOC
+102: pkt->data_size = 2;
+103: #endif
+104:
+105: return 0;
+106: }
+--- Z:/SAMB_4/projects/xilofono/src/main.c ------------------------------------------------------------
+1: /*
+2: * File: main.c
+3: * Author: Naoki Pross 4E
+4: * Date: 08.01.2018
+5: * Target: PIC18F44K22
+6: * Version 1.0
+7: *
+8: * Description:
+9: *
+10: * Main program for the Xylophone project.
+11: */
+12:
+13: // PIC18F44K22 Configuration Bit Settings
+14: // 'C' source line config statements
+15:
+16: // CONFIG1H
+17: #pragma config FOSC = INTIO7 // Oscillator Selection bits (Internal oscillator block)
+18: #pragma config PLLCFG = ON // 4X PLL Enable (Oscillator multiplied by 4)
+19: #pragma config PRICLKEN = ON // Primary clock enable bit (Primary clock is always enabled)
+20: #pragma config FCMEN = OFF // Fail-Safe Clock Monitor Enable bit (Fail-Safe Clock Monitor disabled)
+21: #pragma config IESO = OFF // Internal/External Oscillator Switchover bit (Oscillator Switchover mode disabled)
+22:
+23: // CONFIG2L
+24: #pragma config PWRTEN = OFF // Power-up Timer Enable bit (Power up timer disabled)
+25: #pragma config BOREN = SBORDIS // Brown-out Reset Enable bits (Brown-out Reset enabled in hardware only (SBOREN is disabled))
+26: #pragma config BORV = 190 // Brown Out Reset Voltage bits (VBOR set to 1.90 V nominal)
+27:
+28: // CONFIG2H
+29: #pragma config WDTEN = ON // Watchdog Timer Enable bits (WDT is always enabled. SWDTEN bit has no effect)
+30: #pragma config WDTPS = 32768 // Watchdog Timer Postscale Select bits (1:32768)
+31:
+32: // CONFIG3H
+33: #pragma config CCP2MX = PORTC1 // CCP2 MUX bit (CCP2 input/output is multiplexed with RC1)
+34: #pragma config PBADEN = ON // PORTB A/D Enable bit (PORTB<5:0> pins are configured as analog input channels on Reset)
+35: #pragma config CCP3MX = PORTB5 // P3A/CCP3 Mux bit (P3A/CCP3 input/output is multiplexed with RB5)
+36: #pragma config HFOFST = ON // HFINTOSC Fast Start-up (HFINTOSC output and ready status are not delayed by the oscillator stable status)
+37: #pragma config T3CMX = PORTC0 // Timer3 Clock input mux bit (T3CKI is on RC0)
+38: #pragma config P2BMX = PORTD2 // ECCP2 B output mux bit (P2B is on RD2)
+39: #pragma config MCLRE = EXTMCLR // MCLR Pin Enable bit (MCLR pin enabled, RE3 input pin disabled)
+40:
+41: // CONFIG4L
+42: #pragma config STVREN = ON // Stack Full/Underflow Reset Enable bit (Stack full/underflow will cause Reset)
+43: #pragma config LVP = ON // Single-Supply ICSP Enable bit (Single-Supply ICSP enabled if MCLRE is also 1)
+44: #pragma config XINST = OFF // Extended Instruction Set Enable bit (Instruction set extension and Indexed Addressing mode disabled (Legacy mode))
+45:
+46: // CONFIG5L
+47: #pragma config CP0 = OFF // Code Protection Block 0 (Block 0 (000800-001FFFh) not code-protected)
+48: #pragma config CP1 = OFF // Code Protection Block 1 (Block 1 (002000-003FFFh) not code-protected)
+49: #pragma config CP2 = OFF // Code Protection Block 2 (Block 2 (004000-005FFFh) not code-protected)
+50: #pragma config CP3 = OFF // Code Protection Block 3 (Block 3 (006000-007FFFh) not code-protected)
+51:
+52: // CONFIG5H
+53: #pragma config CPB = OFF // Boot Block Code Protection bit (Boot block (000000-0007FFh) not code-protected)
+54: #pragma config CPD = OFF // Data EEPROM Code Protection bit (Data EEPROM not code-protected)
+55:
+56: // CONFIG6L
+57: #pragma config WRT0 = OFF // Write Protection Block 0 (Block 0 (000800-001FFFh) not write-protected)
+58: #pragma config WRT1 = OFF // Write Protection Block 1 (Block 1 (002000-003FFFh) not write-protected)
+59: #pragma config WRT2 = OFF // Write Protection Block 2 (Block 2 (004000-005FFFh) not write-protected)
+60: #pragma config WRT3 = OFF // Write Protection Block 3 (Block 3 (006000-007FFFh) not write-protected)
+61:
+62: // CONFIG6H
+63: #pragma config WRTC = OFF // Configuration Register Write Protection bit (Configuration registers (300000-3000FFh) not write-protected)
+64: #pragma config WRTB = OFF // Boot Block Write Protection bit (Boot Block (000000-0007FFh) not write-protected)
+65: #pragma config WRTD = OFF // Data EEPROM Write Protection bit (Data EEPROM not write-protected)
+66:
+67: // CONFIG7L
+68: #pragma config EBTR0 = OFF // Table Read Protection Block 0 (Block 0 (000800-001FFFh) not protected from table reads executed in other blocks)
+69: #pragma config EBTR1 = OFF // Table Read Protection Block 1 (Block 1 (002000-003FFFh) not protected from table reads executed in other blocks)
+70: #pragma config EBTR2 = OFF // Table Read Protection Block 2 (Block 2 (004000-005FFFh) not protected from table reads executed in other blocks)
+71: #pragma config EBTR3 = OFF // Table Read Protection Block 3 (Block 3 (006000-007FFFh) not protected from table reads executed in other blocks)
+72:
+73: // CONFIG7H
+74: #pragma config EBTRB = OFF // Boot Block Table Read Protection bit (Boot Block (000000-0007FFh) not protected from table reads executed in other blocks)
+75:
+76: // #pragma config statements should precede project file includes.
+77: // Use project enums instead of #define for ON and OFF.
+78:
+79: #define _XTAL_FREQ 64000000
+80:
+81: #include "rs232.h"
+82: #include "midi.h"
+83:
+84: #include <xc.h>
+85: #include <stdio.h>
+86: #include <stdlib.h>
+87: #include <stdint.h>
+88: #include <string.h>
+89:
+90: #define NOTES 15
+91: #define NOTE_MASK 0xFF00
+92:
+93:
+94: /* global variables */
+95: volatile uint16_t keypresses[NOTES];
+96:
+97: /* function prototypes */
+98: int eusart_write_midi(const midi_message_t *pkt);
+99:
+100: /* interrupt service routine */
+101: interrupt void isr(void)
+0008 8245 BSF btemp, 1, ACCESS
+102: {
+103: unsigned char i, data;
+104:
+105: PORTDbits.RD3 = 0;
+0052 9683 BCF PORTD, 3, ACCESS
+106:
+107: if (PIR1bits.TMR2IF) {
+0054 A29E BTFSS PIR1, 1, ACCESS
+0056 D089 BRA 0x16A
+108: // PORTA
+109: data = PORTA;
+0058 CF80 MOVFF PORTA, data
+005A F018 NOP
+110: i = 7;
+005C 0E07 MOVLW 0x7
+005E 6E19 MOVWF i, ACCESS
+111: do {
+112: keypresses[i] = (keypresses[i] << 1) | ((data >> i) & 0x01);
+0060 5019 MOVF i, W, ACCESS
+0062 0D02 MULLW 0x2
+0064 0E25 MOVLW 0x25
+0066 24F3 ADDWF PROD, W, ACCESS
+0068 6ED9 MOVWF FSR2, ACCESS
+006A 0E00 MOVLW 0x0
+006C 20F4 ADDWFC PRODH, W, ACCESS
+006E 6EDA MOVWF FSR2H, ACCESS
+0070 CFDE MOVFF POSTINC2, __pcstackCOMRAM
+0072 F001 NOP
+0074 CFDD MOVFF POSTDEC2, 0x2
+0076 F002 NOP
+0078 90D8 BCF STATUS, 0, ACCESS
+007A 3601 RLCF __pcstackCOMRAM, F, ACCESS
+007C 3602 RLCF 0x2, F, ACCESS
+007E C019 MOVFF i, 0x3
+0080 F003 NOP
+0082 C018 MOVFF data, 0x4
+0084 F004 NOP
+0086 2A03 INCF 0x3, F, ACCESS
+0088 D002 BRA 0x8E
+008A 90D8 BCF STATUS, 0, ACCESS
+008C 3204 RRCF 0x4, F, ACCESS
+008E 2E03 DECFSZ 0x3, F, ACCESS
+0090 D7FC BRA 0x8A
+0092 0E01 MOVLW 0x1
+0094 1604 ANDWF 0x4, F, ACCESS
+0096 5004 MOVF 0x4, W, ACCESS
+0098 1201 IORWF __pcstackCOMRAM, F, ACCESS
+009A 0E00 MOVLW 0x0
+009C 1202 IORWF 0x2, F, ACCESS
+009E 5019 MOVF i, W, ACCESS
+00A0 0D02 MULLW 0x2
+00A2 0E25 MOVLW 0x25
+00A4 24F3 ADDWF PROD, W, ACCESS
+00A6 6ED9 MOVWF FSR2, ACCESS
+00A8 0E00 MOVLW 0x0
+00AA 20F4 ADDWFC PRODH, W, ACCESS
+00AC 6EDA MOVWF FSR2H, ACCESS
+00AE C001 MOVFF __pcstackCOMRAM, POSTINC2
+00B0 FFDE NOP
+00B2 C002 MOVFF 0x2, POSTDEC2
+00B4 FFDD NOP
+113: } while (i--);
+00B6 0619 DECF i, F, ACCESS
+00B8 2819 INCF i, W, ACCESS
+00BA A4D8 BTFSS STATUS, 2, ACCESS
+00BC D7D1 BRA 0x60
+114:
+115: data = PORTB;
+00BE CF81 MOVFF PORTB, data
+00C0 F018 NOP
+116: i = 7;
+00C2 0E07 MOVLW 0x7
+00C4 6E19 MOVWF i, ACCESS
+117: do {
+118: keypresses[i] = (keypresses[i] << 1) | ((data >> i) & 0x01);
+00C6 5019 MOVF i, W, ACCESS
+00C8 0D02 MULLW 0x2
+00CA 0E25 MOVLW 0x25
+00CC 24F3 ADDWF PROD, W, ACCESS
+00CE 6ED9 MOVWF FSR2, ACCESS
+00D0 0E00 MOVLW 0x0
+00D2 20F4 ADDWFC PRODH, W, ACCESS
+00D4 6EDA MOVWF FSR2H, ACCESS
+00D6 CFDE MOVFF POSTINC2, __pcstackCOMRAM
+00D8 F001 NOP
+00DA CFDD MOVFF POSTDEC2, 0x2
+00DC F002 NOP
+00DE 90D8 BCF STATUS, 0, ACCESS
+00E0 3601 RLCF __pcstackCOMRAM, F, ACCESS
+00E2 3602 RLCF 0x2, F, ACCESS
+00E4 C019 MOVFF i, 0x3
+00E6 F003 NOP
+00E8 C018 MOVFF data, 0x4
+00EA F004 NOP
+00EC 2A03 INCF 0x3, F, ACCESS
+00EE D002 BRA 0xF4
+00F0 90D8 BCF STATUS, 0, ACCESS
+00F2 3204 RRCF 0x4, F, ACCESS
+00F4 2E03 DECFSZ 0x3, F, ACCESS
+00F6 D7FC BRA 0xF0
+00F8 0E01 MOVLW 0x1
+00FA 1604 ANDWF 0x4, F, ACCESS
+00FC 5004 MOVF 0x4, W, ACCESS
+00FE 1201 IORWF __pcstackCOMRAM, F, ACCESS
+0100 0E00 MOVLW 0x0
+0102 1202 IORWF 0x2, F, ACCESS
+0104 5019 MOVF i, W, ACCESS
+0106 0D02 MULLW 0x2
+0108 0E25 MOVLW 0x25
+010A 24F3 ADDWF PROD, W, ACCESS
+010C 6ED9 MOVWF FSR2, ACCESS
+010E 0E00 MOVLW 0x0
+0110 20F4 ADDWFC PRODH, W, ACCESS
+0112 6EDA MOVWF FSR2H, ACCESS
+0114 C001 MOVFF __pcstackCOMRAM, POSTINC2
+0116 FFDE NOP
+0118 C002 MOVFF 0x2, POSTDEC2
+011A FFDD NOP
+119: } while (i-- - 8);
+011C 0EF8 MOVLW 0xF8
+011E 6E01 MOVWF __pcstackCOMRAM, ACCESS
+0120 0EFF MOVLW 0xFF
+0122 6E02 MOVWF 0x2, ACCESS
+0124 0619 DECF i, F, ACCESS
+0126 2819 INCF i, W, ACCESS
+0128 6E03 MOVWF 0x3, ACCESS
+012A 6A04 CLRF 0x4, ACCESS
+012C 5001 MOVF __pcstackCOMRAM, W, ACCESS
+012E 2603 ADDWF 0x3, F, ACCESS
+0130 5002 MOVF 0x2, W, ACCESS
+0132 2204 ADDWFC 0x4, F, ACCESS
+0134 5003 MOVF 0x3, W, ACCESS
+0136 1004 IORWF 0x4, W, ACCESS
+0138 A4D8 BTFSS STATUS, 2, ACCESS
+013A D7C5 BRA 0xC6
+120:
+121: // PORTB
+122: // for (i = 8; i < NOTES; i++) {
+123: // keypresses[i] = (keypresses[i] << 1) | ((PORTB & (1 << i)) >> i);
+124: // }
+125:
+126: // TODO same for PORTD when the steps board is printed
+127:
+128: // debug stuff
+129: PORTDbits.RD4 = PORTAbits.RA0;
+013C A080 BTFSS PORTA, 0, ACCESS
+013E D002 BRA 0x144
+0140 8883 BSF PORTD, 4, ACCESS
+0142 D001 BRA 0x146
+0144 9883 BCF PORTD, 4, ACCESS
+130: PORTDbits.RD2 = (keypresses[0] && !(keypresses[0] & NOTE_MASK));
+0146 0E00 MOVLW 0x0
+0148 6E17 MOVWF 0x17, ACCESS
+014A 5025 MOVF keypresses, W, ACCESS
+014C 1026 IORWF 0x26, W, ACCESS
+014E B4D8 BTFSC STATUS, 2, ACCESS
+0150 D006 BRA 0x15E
+0152 0EFF MOVLW 0xFF
+0154 1426 ANDWF 0x26, W, ACCESS
+0156 A4D8 BTFSS STATUS, 2, ACCESS
+0158 D002 BRA 0x15E
+015A 0E01 MOVLW 0x1
+015C 6E17 MOVWF 0x17, ACCESS
+015E B017 BTFSC 0x17, 0, ACCESS
+0160 D002 BRA 0x166
+0162 9483 BCF PORTD, 2, ACCESS
+0164 D001 BRA 0x168
+0166 8483 BSF PORTD, 2, ACCESS
+131:
+132: // reset interrupt flag
+133: PIR1bits.TMR2IF = 0;
+0168 929E BCF PIR1, 1, ACCESS
+134: }
+135:
+136: PORTDbits.RD3 = 1;
+016A 8683 BSF PORTD, 3, ACCESS
+137: }
+016C C016 MOVFF 0x16, 0x48
+016E F048 NOP
+0170 C015 MOVFF 0x15, 0x47
+0172 F047 NOP
+0174 C014 MOVFF 0x14, 0x46
+0176 F046 NOP
+0178 C013 MOVFF 0x13, btemp
+017A F045 NOP
+017C C012 MOVFF 0x12, TABLAT
+017E FFF5 NOP
+0180 C011 MOVFF 0x11, TBLPTRU
+0182 FFF8 NOP
+0184 C010 MOVFF 0x10, TBLPTRH
+0186 FFF7 NOP
+0188 C00F MOVFF 0xF, TBLPTR
+018A FFF6 NOP
+018C C00E MOVFF 0xE, PRODH
+018E FFF4 NOP
+0190 C00D MOVFF 0xD, PROD
+0192 FFF3 NOP
+0194 C00C MOVFF 0xC, FSR2H
+0196 FFDA NOP
+0198 C00B MOVFF 0xB, FSR2
+019A FFD9 NOP
+019C C00A MOVFF 0xA, FSR1H
+019E FFE2 NOP
+01A0 C009 MOVFF 0x9, FSR1
+01A2 FFE1 NOP
+01A4 C008 MOVFF 0x8, FSR0H
+01A6 FFEA NOP
+01A8 C007 MOVFF 0x7, FSR0
+01AA FFE9 NOP
+01AC C006 MOVFF 0x6, PCLATU
+01AE FFFB NOP
+01B0 C005 MOVFF 0x5, PCLATH
+01B2 FFFA NOP
+01B4 9245 BCF btemp, 1, ACCESS
+01B6 0011 RETFIE 1
+138:
+139: /* hardware configuration (inlined) */
+140: inline void init_hw(void)
+141: {
+142: di();
+02A8 9EF2 BCF INTCON, 7, ACCESS
+143:
+144: /* PLL / FOSC configuration */
+145: // enable PLL
+146: OSCTUNEbits.PLLEN = 1;
+02AA 8C9B BSF OSCTUNE, 6, ACCESS
+147: // set FOSC to HFINTOSC (max frequency)
+148: OSCTUNEbits.TUN = 0b011111;
+02AC 809B BSF OSCTUNE, 0, ACCESS
+02AE 829B BSF OSCTUNE, 1, ACCESS
+02B0 849B BSF OSCTUNE, 2, ACCESS
+02B2 869B BSF OSCTUNE, 3, ACCESS
+02B4 889B BSF OSCTUNE, 4, ACCESS
+02B6 9A9B BCF OSCTUNE, 5, ACCESS
+149: // set 16 MHz oscillator, datasheet p.30
+150: OSCCONbits.IRCF = 0b111;
+02B8 88D3 BSF OSCCON, 4, ACCESS
+02BA 8AD3 BSF OSCCON, 5, ACCESS
+02BC 8CD3 BSF OSCCON, 6, ACCESS
+151: // select primary clock (with PLL)
+152: OSCCONbits.SCS = 0b00;
+02BE 0EFC MOVLW 0xFC
+02C0 16D3 ANDWF OSCCON, F, ACCESS
+153:
+154: /* i/o initializazion */
+155: // disable all ADCs
+156: ANSELA = 0x00;
+02C2 0E00 MOVLW 0x0
+02C4 010F MOVLB 0xF
+02C6 6F38 MOVWF 0x38, BANKED
+157: ANSELB = 0x00;
+02C8 0E00 MOVLW 0x0
+02CA 6F39 MOVWF 0x39, BANKED
+158: ANSELC = 0x00;
+02CC 0E00 MOVLW 0x0
+02CE 6F3A MOVWF 0x3A, BANKED
+159: ANSELD = 0x00;
+02D0 0E00 MOVLW 0x0
+02D2 6F3B MOVWF 0x3B, BANKED
+160:
+161: // TODO: remove demo
+162: TRISA = 0xFF;
+02D4 6892 SETF TRISA, ACCESS
+163: TRISB = 0xFF;
+02D6 6893 SETF TRISB, ACCESS
+164:
+165: TRISDbits.TRISD1 = 0;
+02D8 9295 BCF TRISD, 1, ACCESS
+166: TRISDbits.TRISD2 = 0;
+02DA 9495 BCF TRISD, 2, ACCESS
+167: TRISDbits.TRISD3 = 0;
+02DC 9695 BCF TRISD, 3, ACCESS
+168: TRISDbits.TRISD4 = 0;
+02DE 9895 BCF TRISD, 4, ACCESS
+169:
+170: // LED
+171: PORTDbits.RD1 = 1;
+02E0 8283 BSF PORTD, 1, ACCESS
+172: // TEST OUTPUT 1
+173: PORTDbits.RD2 = 0;
+02E2 9483 BCF PORTD, 2, ACCESS
+174: // TEST OUTPUT 2
+175: PORTDbits.RD3 = 1;
+02E4 8683 BSF PORTD, 3, ACCESS
+176: // TEST OUTPUT 3
+177: PORTDbits.RD4 = 0;
+02E6 9883 BCF PORTD, 4, ACCESS
+178:
+179: /* timer configuration */
+180: // timer 2 comp value
+181: PR2 = 128;
+02E8 0E80 MOVLW 0x80
+02EA 6EBB MOVWF PR2, ACCESS
+182: // postscaler 1:4
+183: T2CONbits.T2OUTPS = 0b0011;
+02EC 50BA MOVF T2CON, W, ACCESS
+02EE 0B87 ANDLW 0x87
+02F0 0918 IORLW 0x18
+02F2 6EBA MOVWF T2CON, ACCESS
+184: // prescaler 1:16
+185: T2CONbits.T2CKPS = 0b11;
+02F4 0E03 MOVLW 0x3
+02F6 12BA IORWF T2CON, F, ACCESS
+186: // start timer
+187: T2CONbits.TMR2ON = 1;
+02F8 84BA BSF T2CON, 2, ACCESS
+188:
+189: // timer 2 interrupts
+190: PIE1bits.TMR2IE = 1;
+02FA 829D BSF PIE1, 1, ACCESS
+191: PIR1bits.TMR2IF = 0;
+02FC 929E BCF PIR1, 1, ACCESS
+192:
+193: // enable peripheral interrupts
+194: INTCONbits.PEIE = 1;
+02FE 8CF2 BSF INTCON, 6, ACCESS
+195:
+196: /* serial configuration */
+197: eusart1_init();
+0300 ECFE CALL 0x3FC, 0
+0302 F001 NOP
+198:
+199: ei();
+0304 8EF2 BSF INTCON, 7, ACCESS
+200: }
+0306 0012 RETURN 0
+201:
+202:
+203: /* main program */
+204: void main(void)
+205: {
+206: unsigned char i, data;
+207: midi_message_t sample_message;
+208:
+209: /* setup hardware */
+210: init_hw();
+0308 EC54 CALL 0x2A8, 0
+030A F001 NOP
+211:
+212: /* setup software */
+213: memset(keypresses, 0, sizeof(keypresses));
+030C 0E25 MOVLW 0x25
+030E 6E1A MOVWF p1, ACCESS
+0310 0E00 MOVLW 0x0
+0312 6E1B MOVWF pkt, ACCESS
+0314 0E00 MOVLW 0x0
+0316 6E1D MOVWF 0x1D, ACCESS
+0318 0E00 MOVLW 0x0
+031A 6E1C MOVWF c, ACCESS
+031C 0E00 MOVLW 0x0
+031E 6E1F MOVWF pkt, ACCESS
+0320 0E1E MOVLW 0x1E
+0322 6E1E MOVWF n, ACCESS
+0324 ECC3 CALL 0x386, 0
+0326 F001 NOP
+214:
+215: /* TODO remove demo code */
+216: midi_note_on(&sample_message, 0x0, 0x3C, 0x7F);
+0328 0E62 MOVLW 0x62
+032A 6E1F MOVWF pkt, ACCESS
+032C 0E00 MOVLW 0x0
+032E 6E20 MOVWF p, ACCESS
+0330 0E00 MOVLW 0x0
+0332 6E22 MOVWF 0x22, ACCESS
+0334 0E00 MOVLW 0x0
+0336 6E21 MOVWF channel, ACCESS
+0338 0E3C MOVLW 0x3C
+033A 6E23 MOVWF note, ACCESS
+033C 0E7F MOVLW 0x7F
+033E 6E24 MOVWF velocity, ACCESS
+0340 ECDE CALL 0x1BC, 0
+0342 F000 NOP
+217: PORTDbits.RD1 = 0;
+0344 9283 BCF PORTD, 1, ACCESS
+218:
+219: /* main loop */
+220: while (1) {
+0352 D7F9 BRA 0x346
+221: eusart_write_midi(&sample_message);
+0346 0E62 MOVLW 0x62
+0348 6E1B MOVWF pkt, ACCESS
+034A 0E00 MOVLW 0x0
+034C 6E1C MOVWF c, ACCESS
+034E EC1A CALL 0x234, 0
+0350 F001 NOP
+0352 D7F9 BRA 0x346
+222: }
+223: }
+224:
+225:
+226: int eusart_write_midi(const midi_message_t *pkt)
+227: {
+228: size_t length;
+229: uint8_t *data;
+230:
+231: if (pkt == NULL) {
+0234 501B MOVF pkt, W, ACCESS
+0236 101C IORWF c, W, ACCESS
+0238 B4D8 BTFSC STATUS, 2, ACCESS
+023A 0012 RETURN 0
+232: return -1;
+233: }
+234:
+235: length = pkt->data_size;
+023C EE20 LFSR 2, 0x1
+023E F001 NOP
+0240 501B MOVF pkt, W, ACCESS
+0242 26D9 ADDWF FSR2, F, ACCESS
+0244 501C MOVF c, W, ACCESS
+0246 22DA ADDWFC FSR2H, F, ACCESS
+0248 CFDE MOVFF POSTINC2, pkt
+024A F01F NOP
+024C CFDD MOVFF POSTDEC2, p
+024E F020 NOP
+236: data = (uint8_t *) pkt->data;
+0250 0E03 MOVLW 0x3
+0252 241B ADDWF pkt, W, ACCESS
+0254 6E21 MOVWF channel, ACCESS
+0256 0E00 MOVLW 0x0
+0258 201C ADDWFC c, W, ACCESS
+025A 6E22 MOVWF 0x22, ACCESS
+237:
+238: putch((char)((pkt->status << 4) | pkt->channel));
+025C C01B MOVFF pkt, FSR2
+025E FFD9 NOP
+0260 C01C MOVFF c, FSR2H
+0262 FFDA NOP
+0264 38DF SWAPF INDF2, W, ACCESS
+0266 0B0F ANDLW 0xF
+0268 6E1D MOVWF 0x1D, ACCESS
+026A C01B MOVFF pkt, FSR2
+026C FFD9 NOP
+026E C01C MOVFF c, FSR2H
+0270 FFDA NOP
+0272 50DF MOVF INDF2, W, ACCESS
+0274 0B0F ANDLW 0xF
+0276 6E1E MOVWF n, ACCESS
+0278 381E SWAPF n, W, ACCESS
+027A 0BF0 ANDLW 0xF0
+027C 101D IORWF 0x1D, W, ACCESS
+027E EC0C CALL 0x418, 0
+0280 F002 NOP
+239:
+240: while (length--) {
+0282 D009 BRA 0x296
+241: putch((char) *(data++));
+0284 C021 MOVFF channel, FSR2
+0286 FFD9 NOP
+0288 C022 MOVFF 0x22, FSR2H
+028A FFDA NOP
+028C 50DF MOVF INDF2, W, ACCESS
+028E EC0C CALL 0x418, 0
+0290 F002 NOP
+0292 4A21 INFSNZ channel, F, ACCESS
+0294 2A22 INCF 0x22, F, ACCESS
+242: }
+0296 061F DECF pkt, F, ACCESS
+0298 A0D8 BTFSS STATUS, 0, ACCESS
+029A 0620 DECF p, F, ACCESS
+029C 281F INCF pkt, W, ACCESS
+029E E1F2 BNZ 0x284
+02A0 2820 INCF p, W, ACCESS
+02A2 B4D8 BTFSC STATUS, 2, ACCESS
+02A4 0012 RETURN 0
+02A6 D7EE BRA 0x284
+243:
+244: return 0;
+245: }
+--- C:/Program Files/Microchip/xc8/v1.44/sources/common/memset.c --------------------------------------
+1: #include <string.h>
+2:
+3: #ifdef _PIC16
+4: far void *
+5: memset(far void * p1, int c, register size_t n)
+6: #else /* _PIC16 */
+7: void *
+8: memset(void * p1, int c, register size_t n)
+9: #endif /* _PIC16 */
+10: {
+11:
+12: #ifdef _PIC16
+13: register far char * p;
+14: #else /* _PIC16 */
+15: register char * p;
+16: #endif /* _PIC16 */
+17:
+18: p = p1;
+0386 C01A MOVFF p1, p
+0388 F020 NOP
+038A C01B MOVFF pkt, channel
+038C F021 NOP
+19: while(n--)
+038E D008 BRA 0x3A0
+03A0 061E DECF n, F, ACCESS
+20: *p++ = c;
+0390 C020 MOVFF p, FSR2
+0392 FFD9 NOP
+0394 C021 MOVFF channel, FSR2H
+0396 FFDA NOP
+0398 C01C MOVFF c, INDF2
+039A FFDF NOP
+039C 4A20 INFSNZ p, F, ACCESS
+039E 2A21 INCF channel, F, ACCESS
+03A0 061E DECF n, F, ACCESS
+03A2 A0D8 BTFSS STATUS, 0, ACCESS
+03A4 061F DECF pkt, F, ACCESS
+03A6 281E INCF n, W, ACCESS
+03A8 E1F3 BNZ 0x390
+03AA 281F INCF pkt, W, ACCESS
+03AC B4D8 BTFSC STATUS, 2, ACCESS
+03AE 0012 RETURN 0
+03B0 D7EF BRA 0x390
+21: return p1;
+22: }
diff --git a/src/dist/default/production/memoryfile.xml b/src/dist/default/production/memoryfile.xml
new file mode 100644
index 0000000..6f5f082
--- /dev/null
+++ b/src/dist/default/production/memoryfile.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+ <executable name="dist/default/production\src.production.hex">
+ <memory name="program">
+ <units>bytes</units>
+ <length>32768</length>
+ <used>1058</used>
+ <free>31710</free>
+ </memory>
+ <memory name="data">
+ <units>bytes</units>
+ <length>1536</length>
+ <used>78</used>
+ <free>1458</free>
+ </memory>
+ </executable>
+</project>
diff --git a/src/dist/default/production/src.production.cmf b/src/dist/default/production/src.production.cmf
new file mode 100644
index 0000000..53d83bb
--- /dev/null
+++ b/src/dist/default/production/src.production.cmf
@@ -0,0 +1,545 @@
+%CMF
+# %PSECTS Section
+# For each object file, details of its psects are enumerated here.
+# The begining of the section is indicated by %PSECTS. The first
+# line indicates the name of the first object file, e.g.
+# $foo.obj
+# Each line that follows describes a psect in that object file, until
+# the next object file. The lines that describe a psect have the
+# format:
+# <psect name> <class name> <space> <link address> <load addresses> <length> <delta>
+# All addresses and the length are given in unqualified hexadecimal
+# in delta units. Any other numeric values are decimal.
+%PSECTS
+$C:\Users\_prossn\AppData\Local\Temp\s5hg.obj
+idloc IDLOC 0 200000 200000 8 1
+init CODE 0 1B8 1B8 4 1
+reset_vec CODE 0 0 0 4 1
+config CONFIG 0 300000 300000 E 1
+$dist/default/production\src.production.obj
+cinit CODE 0 354 354 32 1
+text0 CODE 0 308 308 4C 1
+text1 CODE 0 1BC 1BC 78 1
+text2 CODE 0 3D8 3D8 24 1
+text3 CODE 0 3B2 3B2 26 1
+text4 CODE 0 386 386 2C 1
+text5 CODE 0 2A8 2A8 60 1
+text6 CODE 0 3FC 3FC 1C 1
+text7 CODE 0 234 234 74 1
+text8 CODE 0 418 418 C 1
+idataCOMRAM CODE 0 424 424 2 1
+cstackCOMRAM COMRAM 1 1 1 24 1
+cstackBANK0 BANK0 1 60 60 9 1
+temp COMRAM 1 45 45 1 1
+intcode CODE 0 8 8 1B0 1
+dataCOMRAM COMRAM 1 43 43 2 1
+bssCOMRAM COMRAM 1 25 25 1E 1
+# %UNUSED Section
+# This section enumerates the unused ranges of each CLASS. Each entry
+# is described on a single line as follows:
+# <class name> <range> <delta>
+# Addresses given in the range are in hexadecimal and units of delta.
+%UNUSED
+RAM 69-5FF 1
+SFR F38-FFF 1
+BANK0 69-FF 1
+BANK1 100-1FF 1
+BANK2 200-2FF 1
+BANK3 300-3FF 1
+BANK4 400-4FF 1
+BANK5 500-5FF 1
+CONST 4-7 1
+CONST 426-7FFF 1
+STACK 69-5FF 1
+SMALLCONST 600-7FFF 1
+CODE 4-7 1
+CODE 426-7FFF 1
+BIGRAM 46-5F 1
+BIGRAM 69-5FF 1
+COMRAM 46-5F 1
+EEDATA F00000-F000FF 1
+MEDIUMCONST 600-7FFF 1
+# %LINETAB Section
+# This section enumerates the file/line to address mappings.
+# The beginning of the section is indicated by %LINETAB.
+# The first line indicates the name of the first object file, e.g.
+# $foo.obj
+# Each line that follows describes a single mapping until the next
+# object file. Mappings have the following format:
+# <address> <psect name> <class name> ><line number>:<file name>
+# The address is absolute and given given in unqualified hex
+# in delta units of the psect. All mappings within an object file
+# are in ascending order of addresses.
+# All other numeric values are in decimal.
+%LINETAB
+$dist/default/production\src.production.obj
+8 intcode CODE >101:Z:\SAMB_4\projects\xilofono\src\main.c
+8 intcode CODE >33:Z:\SAMB_4\projects\xilofono\src\rs232.c
+52 intcode CODE >105:Z:\SAMB_4\projects\xilofono\src\main.c
+54 intcode CODE >107:Z:\SAMB_4\projects\xilofono\src\main.c
+58 intcode CODE >109:Z:\SAMB_4\projects\xilofono\src\main.c
+5C intcode CODE >110:Z:\SAMB_4\projects\xilofono\src\main.c
+60 intcode CODE >111:Z:\SAMB_4\projects\xilofono\src\main.c
+60 intcode CODE >112:Z:\SAMB_4\projects\xilofono\src\main.c
+B6 intcode CODE >113:Z:\SAMB_4\projects\xilofono\src\main.c
+BE intcode CODE >115:Z:\SAMB_4\projects\xilofono\src\main.c
+C2 intcode CODE >116:Z:\SAMB_4\projects\xilofono\src\main.c
+C6 intcode CODE >117:Z:\SAMB_4\projects\xilofono\src\main.c
+C6 intcode CODE >118:Z:\SAMB_4\projects\xilofono\src\main.c
+11C intcode CODE >119:Z:\SAMB_4\projects\xilofono\src\main.c
+13C intcode CODE >129:Z:\SAMB_4\projects\xilofono\src\main.c
+146 intcode CODE >130:Z:\SAMB_4\projects\xilofono\src\main.c
+168 intcode CODE >133:Z:\SAMB_4\projects\xilofono\src\main.c
+16A intcode CODE >134:Z:\SAMB_4\projects\xilofono\src\main.c
+16A intcode CODE >136:Z:\SAMB_4\projects\xilofono\src\main.c
+16C intcode CODE >137:Z:\SAMB_4\projects\xilofono\src\main.c
+418 text8 CODE >29:Z:\SAMB_4\projects\xilofono\src\rs232.c
+41A text8 CODE >31:Z:\SAMB_4\projects\xilofono\src\rs232.c
+41E text8 CODE >32:Z:\SAMB_4\projects\xilofono\src\rs232.c
+422 text8 CODE >33:Z:\SAMB_4\projects\xilofono\src\rs232.c
+234 text7 CODE >226:Z:\SAMB_4\projects\xilofono\src\main.c
+234 text7 CODE >231:Z:\SAMB_4\projects\xilofono\src\main.c
+23C text7 CODE >235:Z:\SAMB_4\projects\xilofono\src\main.c
+250 text7 CODE >236:Z:\SAMB_4\projects\xilofono\src\main.c
+25C text7 CODE >238:Z:\SAMB_4\projects\xilofono\src\main.c
+282 text7 CODE >240:Z:\SAMB_4\projects\xilofono\src\main.c
+284 text7 CODE >241:Z:\SAMB_4\projects\xilofono\src\main.c
+296 text7 CODE >240:Z:\SAMB_4\projects\xilofono\src\main.c
+296 text7 CODE >242:Z:\SAMB_4\projects\xilofono\src\main.c
+3FC text6 CODE >4:Z:\SAMB_4\projects\xilofono\src\rs232.c
+3FC text6 CODE >7:Z:\SAMB_4\projects\xilofono\src\rs232.c
+3FE text6 CODE >8:Z:\SAMB_4\projects\xilofono\src\rs232.c
+400 text6 CODE >11:Z:\SAMB_4\projects\xilofono\src\rs232.c
+402 text6 CODE >12:Z:\SAMB_4\projects\xilofono\src\rs232.c
+406 text6 CODE >13:Z:\SAMB_4\projects\xilofono\src\rs232.c
+40A text6 CODE >14:Z:\SAMB_4\projects\xilofono\src\rs232.c
+40C text6 CODE >15:Z:\SAMB_4\projects\xilofono\src\rs232.c
+40E text6 CODE >18:Z:\SAMB_4\projects\xilofono\src\rs232.c
+410 text6 CODE >19:Z:\SAMB_4\projects\xilofono\src\rs232.c
+412 text6 CODE >20:Z:\SAMB_4\projects\xilofono\src\rs232.c
+414 text6 CODE >21:Z:\SAMB_4\projects\xilofono\src\rs232.c
+416 text6 CODE >22:Z:\SAMB_4\projects\xilofono\src\rs232.c
+2A8 text5 CODE >140:Z:\SAMB_4\projects\xilofono\src\main.c
+2A8 text5 CODE >142:Z:\SAMB_4\projects\xilofono\src\main.c
+2AA text5 CODE >146:Z:\SAMB_4\projects\xilofono\src\main.c
+2AC text5 CODE >148:Z:\SAMB_4\projects\xilofono\src\main.c
+2B8 text5 CODE >150:Z:\SAMB_4\projects\xilofono\src\main.c
+2BE text5 CODE >152:Z:\SAMB_4\projects\xilofono\src\main.c
+2C2 text5 CODE >156:Z:\SAMB_4\projects\xilofono\src\main.c
+2C8 text5 CODE >157:Z:\SAMB_4\projects\xilofono\src\main.c
+2CC text5 CODE >158:Z:\SAMB_4\projects\xilofono\src\main.c
+2D0 text5 CODE >159:Z:\SAMB_4\projects\xilofono\src\main.c
+2D4 text5 CODE >162:Z:\SAMB_4\projects\xilofono\src\main.c
+2D6 text5 CODE >163:Z:\SAMB_4\projects\xilofono\src\main.c
+2D8 text5 CODE >165:Z:\SAMB_4\projects\xilofono\src\main.c
+2DA text5 CODE >166:Z:\SAMB_4\projects\xilofono\src\main.c
+2DC text5 CODE >167:Z:\SAMB_4\projects\xilofono\src\main.c
+2DE text5 CODE >168:Z:\SAMB_4\projects\xilofono\src\main.c
+2E0 text5 CODE >171:Z:\SAMB_4\projects\xilofono\src\main.c
+2E2 text5 CODE >173:Z:\SAMB_4\projects\xilofono\src\main.c
+2E4 text5 CODE >175:Z:\SAMB_4\projects\xilofono\src\main.c
+2E6 text5 CODE >177:Z:\SAMB_4\projects\xilofono\src\main.c
+2E8 text5 CODE >181:Z:\SAMB_4\projects\xilofono\src\main.c
+2EC text5 CODE >183:Z:\SAMB_4\projects\xilofono\src\main.c
+2F4 text5 CODE >185:Z:\SAMB_4\projects\xilofono\src\main.c
+2F8 text5 CODE >187:Z:\SAMB_4\projects\xilofono\src\main.c
+2FA text5 CODE >190:Z:\SAMB_4\projects\xilofono\src\main.c
+2FC text5 CODE >191:Z:\SAMB_4\projects\xilofono\src\main.c
+2FE text5 CODE >194:Z:\SAMB_4\projects\xilofono\src\main.c
+300 text5 CODE >197:Z:\SAMB_4\projects\xilofono\src\main.c
+304 text5 CODE >199:Z:\SAMB_4\projects\xilofono\src\main.c
+306 text5 CODE >200:Z:\SAMB_4\projects\xilofono\src\main.c
+386 text4 CODE >8:C:\Program Files\Microchip\xc8\v1.44\sources\common\memset.c
+386 text4 CODE >18:C:\Program Files\Microchip\xc8\v1.44\sources\common\memset.c
+38E text4 CODE >19:C:\Program Files\Microchip\xc8\v1.44\sources\common\memset.c
+390 text4 CODE >20:C:\Program Files\Microchip\xc8\v1.44\sources\common\memset.c
+3A0 text4 CODE >19:C:\Program Files\Microchip\xc8\v1.44\sources\common\memset.c
+3B2 text3 CODE >51:Z:\SAMB_4\projects\xilofono\src\midi.c
+3B2 text3 CODE >53:Z:\SAMB_4\projects\xilofono\src\midi.c
+3BA text3 CODE >57:Z:\SAMB_4\projects\xilofono\src\midi.c
+3D8 text2 CODE >40:Z:\SAMB_4\projects\xilofono\src\midi.c
+3D8 text2 CODE >42:Z:\SAMB_4\projects\xilofono\src\midi.c
+3E0 text2 CODE >46:Z:\SAMB_4\projects\xilofono\src\midi.c
+1BC text1 CODE >62:Z:\SAMB_4\projects\xilofono\src\midi.c
+1BC text1 CODE >64:Z:\SAMB_4\projects\xilofono\src\midi.c
+1C4 text1 CODE >68:Z:\SAMB_4\projects\xilofono\src\midi.c
+1DA text1 CODE >72:Z:\SAMB_4\projects\xilofono\src\midi.c
+1EA text1 CODE >73:Z:\SAMB_4\projects\xilofono\src\midi.c
+1FE text1 CODE >75:Z:\SAMB_4\projects\xilofono\src\midi.c
+20E text1 CODE >76:Z:\SAMB_4\projects\xilofono\src\midi.c
+21E text1 CODE >79:Z:\SAMB_4\projects\xilofono\src\midi.c
+308 text0 CODE >204:Z:\SAMB_4\projects\xilofono\src\main.c
+308 text0 CODE >210:Z:\SAMB_4\projects\xilofono\src\main.c
+30C text0 CODE >213:Z:\SAMB_4\projects\xilofono\src\main.c
+328 text0 CODE >216:Z:\SAMB_4\projects\xilofono\src\main.c
+344 text0 CODE >217:Z:\SAMB_4\projects\xilofono\src\main.c
+346 text0 CODE >220:Z:\SAMB_4\projects\xilofono\src\main.c
+346 text0 CODE >221:Z:\SAMB_4\projects\xilofono\src\main.c
+352 text0 CODE >220:Z:\SAMB_4\projects\xilofono\src\main.c
+354 cinit CODE >1211:C:\Users\_prossn\AppData\Local\Temp\s5hg.
+354 cinit CODE >1213:C:\Users\_prossn\AppData\Local\Temp\s5hg.
+354 cinit CODE >1216:C:\Users\_prossn\AppData\Local\Temp\s5hg.
+354 cinit CODE >1238:C:\Users\_prossn\AppData\Local\Temp\s5hg.
+356 cinit CODE >1239:C:\Users\_prossn\AppData\Local\Temp\s5hg.
+358 cinit CODE >1240:C:\Users\_prossn\AppData\Local\Temp\s5hg.
+35A cinit CODE >1241:C:\Users\_prossn\AppData\Local\Temp\s5hg.
+35C cinit CODE >1242:C:\Users\_prossn\AppData\Local\Temp\s5hg.
+35E cinit CODE >1243:C:\Users\_prossn\AppData\Local\Temp\s5hg.
+360 cinit CODE >1244:C:\Users\_prossn\AppData\Local\Temp\s5hg.
+362 cinit CODE >1245:C:\Users\_prossn\AppData\Local\Temp\s5hg.
+366 cinit CODE >1246:C:\Users\_prossn\AppData\Local\Temp\s5hg.
+368 cinit CODE >1247:C:\Users\_prossn\AppData\Local\Temp\s5hg.
+36C cinit CODE >1251:C:\Users\_prossn\AppData\Local\Temp\s5hg.
+370 cinit CODE >1252:C:\Users\_prossn\AppData\Local\Temp\s5hg.
+372 cinit CODE >1253:C:\Users\_prossn\AppData\Local\Temp\s5hg.
+372 cinit CODE >1254:C:\Users\_prossn\AppData\Local\Temp\s5hg.
+374 cinit CODE >1255:C:\Users\_prossn\AppData\Local\Temp\s5hg.
+376 cinit CODE >1256:C:\Users\_prossn\AppData\Local\Temp\s5hg.
+378 cinit CODE >1262:C:\Users\_prossn\AppData\Local\Temp\s5hg.
+378 cinit CODE >1264:C:\Users\_prossn\AppData\Local\Temp\s5hg.
+37A cinit CODE >1265:C:\Users\_prossn\AppData\Local\Temp\s5hg.
+37C cinit CODE >1267:C:\Users\_prossn\AppData\Local\Temp\s5hg.
+37E cinit CODE >1268:C:\Users\_prossn\AppData\Local\Temp\s5hg.
+380 cinit CODE >1269:C:\Users\_prossn\AppData\Local\Temp\s5hg.
+382 cinit CODE >1270:C:\Users\_prossn\AppData\Local\Temp\s5hg.
+# %SYMTAB Section
+# An enumeration of all symbols in the program.
+# The beginning of the section is indicated by %SYMTAB.
+# Each line describes a single symbol as follows:
+# <label> <value> [-]<load-adj> <class> <space> <psect> <file-name>
+# The value and load-adj are both in unqualified hexadecimal.
+# All other numeric values are in decimal. The load-adj is the
+# quantity one needs to add to the symbol value in order to obtain the load
+# address of the symbol. This value may be signed. If the symbol
+# was defined in a psect then <psect> will be "-". File-name
+# is the name of the object file in which the symbol was defined.
+%SYMTAB
+__Lmediumconst 0 0 MEDIUMCONST 0 mediumconst dist/default/production\src.production.obj
+__Hspace_0 30000E 0 ABS 0 - dist/default/production\src.production.obj
+__Hspace_1 69 0 ABS 0 - dist/default/production\src.production.obj
+__Hspace_2 0 0 ABS 0 - dist/default/production\src.production.obj
+__CFG_IESO$OFF 0 0 ABS 0 - dist/default/production\src.production.obj
+isr@data 18 0 COMRAM 1 cstackCOMRAM dist/default/production\src.production.obj
+__end_of_midi_set_status 3FC 0 CODE 0 text2 dist/default/production\src.production.obj
+__Hibigdata 0 0 CODE 0 ibigdata dist/default/production\src.production.obj
+__mediumconst 0 0 MEDIUMCONST 0 mediumconst C:\Users\_prossn\AppData\Local\Temp\s5hg.obj
+__Heeprom_data 0 0 EEDATA 0 eeprom_data dist/default/production\src.production.obj
+__Lsmallconst 0 0 SMALLCONST 0 smallconst dist/default/production\src.production.obj
+___sp 0 0 STACK 2 stack C:\Users\_prossn\AppData\Local\Temp\s5hg.obj
+_main 308 0 CODE 0 text0 dist/default/production\src.production.obj
+btemp 45 0 COMRAM 1 temp dist/default/production\src.production.obj
+isr@i 19 0 COMRAM 1 cstackCOMRAM dist/default/production\src.production.obj
+start 1B8 0 CODE 0 init C:\Users\_prossn\AppData\Local\Temp\s5hg.obj
+__size_of_main 0 0 ABS 0 - dist/default/production\src.production.obj
+__HbssCOMRAM 0 0 ABS 0 bssCOMRAM dist/default/production\src.production.obj
+eusart_write_midi@data 21 0 COMRAM 1 cstackCOMRAM dist/default/production\src.production.obj
+__CFG_CCP2MX$PORTC1 0 0 ABS 0 - dist/default/production\src.production.obj
+midi_note_on@channel 21 0 COMRAM 1 cstackCOMRAM dist/default/production\src.production.obj
+__Hpowerup 1B8 0 CODE 0 powerup dist/default/production\src.production.obj
+__CFG_CCP3MX$PORTB5 0 0 ABS 0 - dist/default/production\src.production.obj
+__size_of_eusart_write_midi 0 0 ABS 0 - dist/default/production\src.production.obj
+__HdataCOMRAM 0 0 ABS 0 dataCOMRAM dist/default/production\src.production.obj
+__accesstop 60 0 ABS 0 - C:\Users\_prossn\AppData\Local\Temp\s5hg.obj
+intlevel0 0 0 CODE 0 text C:\Users\_prossn\AppData\Local\Temp\s5hg.obj
+intlevel1 0 0 CODE 0 text C:\Users\_prossn\AppData\Local\Temp\s5hg.obj
+intlevel2 0 0 CODE 0 text C:\Users\_prossn\AppData\Local\Temp\s5hg.obj
+intlevel3 0 0 CODE 0 text C:\Users\_prossn\AppData\Local\Temp\s5hg.obj
+__LbssCOMRAM 0 0 ABS 0 bssCOMRAM dist/default/production\src.production.obj
+_midi_set_status 3D8 0 CODE 0 text2 dist/default/production\src.production.obj
+_OSCCONbits FD3 0 ABS 0 - dist/default/production\src.production.obj
+__LnvFARRAM 0 0 FARRAM 0 nvFARRAM dist/default/production\src.production.obj
+wtemp6 46 0 COMRAM 1 temp dist/default/production\src.production.obj
+__CFG_EBTR0$OFF 0 0 ABS 0 - dist/default/production\src.production.obj
+__CFG_EBTR1$OFF 0 0 ABS 0 - dist/default/production\src.production.obj
+__CFG_EBTR2$OFF 0 0 ABS 0 - dist/default/production\src.production.obj
+__CFG_EBTR3$OFF 0 0 ABS 0 - dist/default/production\src.production.obj
+__CFG_EBTRB$OFF 0 0 ABS 0 - dist/default/production\src.production.obj
+eusart_write_midi@pkt 1B 0 COMRAM 1 cstackCOMRAM dist/default/production\src.production.obj
+__CFG_P2BMX$PORTD2 0 0 ABS 0 - dist/default/production\src.production.obj
+__Hifardata 0 0 CODE 0 ifardata dist/default/production\src.production.obj
+__Hclrtext 0 0 ABS 0 clrtext dist/default/production\src.production.obj
+__pidataCOMRAM 424 0 CODE 0 idataCOMRAM dist/default/production\src.production.obj
+__CFG_PRICLKEN$ON 0 0 ABS 0 - dist/default/production\src.production.obj
+midi_note_on@velocity 24 0 COMRAM 1 cstackCOMRAM dist/default/production\src.production.obj
+_ANSELA F38 0 ABS 0 - dist/default/production\src.production.obj
+_ANSELB F39 0 ABS 0 - dist/default/production\src.production.obj
+_ANSELC F3A 0 ABS 0 - dist/default/production\src.production.obj
+_ANSELD F3B 0 ABS 0 - dist/default/production\src.production.obj
+___inthi_sp 0 0 STACK 2 stack C:\Users\_prossn\AppData\Local\Temp\s5hg.obj
+___intlo_sp 0 0 STACK 2 stack C:\Users\_prossn\AppData\Local\Temp\s5hg.obj
+__LdataCOMRAM 0 0 ABS 0 dataCOMRAM dist/default/production\src.production.obj
+__size_of_init_hw 0 0 ABS 0 - dist/default/production\src.production.obj
+eusart_write_midi@length 1F 0 COMRAM 1 cstackCOMRAM dist/default/production\src.production.obj
+__Hintcode_body 0 0 ABS 0 intcode_body dist/default/production\src.production.obj
+__Lintsave_regs 0 0 BIGRAM 1 intsave_regs dist/default/production\src.production.obj
+_TXSTA1bits FAC 0 ABS 0 - dist/default/production\src.production.obj
+__Hmediumconst 0 0 MEDIUMCONST 0 mediumconst dist/default/production\src.production.obj
+__Hintcodelo 1B8 0 CODE 0 intcodelo dist/default/production\src.production.obj
+midi_note_on@note 23 0 COMRAM 1 cstackCOMRAM dist/default/production\src.production.obj
+_OSCTUNEbits F9B 0 ABS 0 - dist/default/production\src.production.obj
+__LidataCOMRAM 0 0 ABS 0 idataCOMRAM dist/default/production\src.production.obj
+__size_of_putch 0 0 ABS 0 - dist/default/production\src.production.obj
+__Lintcodelo 1B8 0 CODE 0 intcodelo dist/default/production\src.production.obj
+__CFG_FCMEN$OFF 0 0 ABS 0 - dist/default/production\src.production.obj
+start_initialization 354 0 CODE 0 cinit dist/default/production\src.production.obj
+__CFG_PBADEN$ON 0 0 ABS 0 - dist/default/production\src.production.obj
+__HnvFARRAM 0 0 FARRAM 0 nvFARRAM dist/default/production\src.production.obj
+__size_of_midi_set_status 0 0 ABS 0 - dist/default/production\src.production.obj
+_TRISCbits F94 0 ABS 0 - dist/default/production\src.production.obj
+_TRISDbits F95 0 ABS 0 - dist/default/production\src.production.obj
+___rparam_used 1 0 ABS 0 - dist/default/production\src.production.obj
+_RC1REG FAE 0 ABS 0 - dist/default/production\src.production.obj
+__end_of_memset 3B2 0 CODE 0 text4 dist/default/production\src.production.obj
+__end_of_eusart_write_midi 2A8 0 CODE 0 text7 dist/default/production\src.production.obj
+__CFG_WDTPS$32768 0 0 ABS 0 - dist/default/production\src.production.obj
+_SPBRG1 FAF 0 ABS 0 - dist/default/production\src.production.obj
+__pcstackBANK0 60 0 BANK0 1 cstackBANK0 dist/default/production\src.production.obj
+_TX1REG FAD 0 ABS 0 - dist/default/production\src.production.obj
+__end_of_init_hw 308 0 CODE 0 text5 dist/default/production\src.production.obj
+__Hbank0 0 0 ABS 0 bank0 dist/default/production\src.production.obj
+__Hbank1 0 0 ABS 0 bank1 dist/default/production\src.production.obj
+__Hbank2 0 0 ABS 0 bank2 dist/default/production\src.production.obj
+__Hbank3 0 0 ABS 0 bank3 dist/default/production\src.production.obj
+__Hbank4 0 0 ABS 0 bank4 dist/default/production\src.production.obj
+__Hbank5 0 0 ABS 0 bank5 dist/default/production\src.production.obj
+__Hcinit 0 0 ABS 0 cinit dist/default/production\src.production.obj
+__Hconst 0 0 CONST 0 const dist/default/production\src.production.obj
+__Hidata 0 0 CODE 0 idata dist/default/production\src.production.obj
+__Hidloc 200008 0 IDLOC 0 idloc dist/default/production\src.production.obj
+__Hnvbit 0 0 COMRAM 1 nvbit dist/default/production\src.production.obj
+__Hparam 0 0 COMRAM 1 rparam dist/default/production\src.production.obj
+__Hrdata 0 0 COMRAM 1 rdata dist/default/production\src.production.obj
+__Hstack 0 0 STACK 2 stack dist/default/production\src.production.obj
+__Htext0 0 0 ABS 0 text0 dist/default/production\src.production.obj
+__Htext1 0 0 ABS 0 text1 dist/default/production\src.production.obj
+__Htext2 0 0 ABS 0 text2 dist/default/production\src.production.obj
+__Htext3 0 0 ABS 0 text3 dist/default/production\src.production.obj
+__Htext4 0 0 ABS 0 text4 dist/default/production\src.production.obj
+__Htext5 0 0 ABS 0 text5 dist/default/production\src.production.obj
+__Htext6 0 0 ABS 0 text6 dist/default/production\src.production.obj
+__Htext7 0 0 ABS 0 text7 dist/default/production\src.production.obj
+__Htext8 0 0 ABS 0 text8 dist/default/production\src.production.obj
+__Hbigbss 0 0 BIGRAM 1 bigbss dist/default/production\src.production.obj
+__Hbigram 0 0 ABS 0 bigram dist/default/production\src.production.obj
+__smallconst 0 0 SMALLCONST 0 smallconst C:\Users\_prossn\AppData\Local\Temp\s5hg.obj
+__CFG_FOSC$INTIO7 0 0 ABS 0 - dist/default/production\src.production.obj
+__Hcomram 0 0 ABS 0 comram dist/default/production\src.production.obj
+__Hconfig 30000E 0 CONFIG 0 config dist/default/production\src.production.obj
+midi_note_on@pkt 1F 0 COMRAM 1 cstackCOMRAM dist/default/production\src.production.obj
+__Lbank0 0 0 ABS 0 bank0 dist/default/production\src.production.obj
+__Lbank1 0 0 ABS 0 bank1 dist/default/production\src.production.obj
+__Lbank2 0 0 ABS 0 bank2 dist/default/production\src.production.obj
+__Lbank3 0 0 ABS 0 bank3 dist/default/production\src.production.obj
+__Lbank4 0 0 ABS 0 bank4 dist/default/production\src.production.obj
+__Lbank5 0 0 ABS 0 bank5 dist/default/production\src.production.obj
+__Lcinit 0 0 ABS 0 cinit dist/default/production\src.production.obj
+__Lconst 0 0 CONST 0 const dist/default/production\src.production.obj
+__Lidata 0 0 CODE 0 idata dist/default/production\src.production.obj
+__Lidloc 200000 0 IDLOC 0 idloc dist/default/production\src.production.obj
+__Lnvbit 0 0 COMRAM 1 nvbit dist/default/production\src.production.obj
+__Lparam 0 0 COMRAM 1 rparam dist/default/production\src.production.obj
+__Lrdata 0 0 COMRAM 1 rdata dist/default/production\src.production.obj
+__Lstack 0 0 STACK 2 stack dist/default/production\src.production.obj
+__Ltext0 0 0 ABS 0 text0 dist/default/production\src.production.obj
+__Ltext1 0 0 ABS 0 text1 dist/default/production\src.production.obj
+__Ltext2 0 0 ABS 0 text2 dist/default/production\src.production.obj
+__Ltext3 0 0 ABS 0 text3 dist/default/production\src.production.obj
+__Ltext4 0 0 ABS 0 text4 dist/default/production\src.production.obj
+__Ltext5 0 0 ABS 0 text5 dist/default/production\src.production.obj
+__Ltext6 0 0 ABS 0 text6 dist/default/production\src.production.obj
+__Ltext7 0 0 ABS 0 text7 dist/default/production\src.production.obj
+__Ltext8 0 0 ABS 0 text8 dist/default/production\src.production.obj
+__Hfarbss 0 0 FARRAM 0 farbss dist/default/production\src.production.obj
+__Lintcode_body 0 0 ABS 0 intcode_body dist/default/production\src.production.obj
+_PORTAbits F80 0 ABS 0 - dist/default/production\src.production.obj
+_PORTDbits F83 0 ABS 0 - dist/default/production\src.production.obj
+__CFG_T3CMX$PORTC0 0 0 ABS 0 - dist/default/production\src.production.obj
+_INTCONbits FF2 0 ABS 0 - dist/default/production\src.production.obj
+__Habs1 0 0 ABS 0 abs1 dist/default/production\src.production.obj
+__Hdata 0 0 ABS 0 data dist/default/production\src.production.obj
+__Hinit 1BC 0 CODE 0 init dist/default/production\src.production.obj
+__Hrbit 0 0 COMRAM 1 rbit dist/default/production\src.production.obj
+__Hrbss 0 0 COMRAM 1 rbss dist/default/production\src.production.obj
+__Htemp 46 0 COMRAM 1 temp dist/default/production\src.production.obj
+__Htext 0 0 ABS 0 text dist/default/production\src.production.obj
+__Labs1 0 0 ABS 0 abs1 dist/default/production\src.production.obj
+__Ldata 0 0 ABS 0 data dist/default/production\src.production.obj
+__Linit 1B8 0 CODE 0 init dist/default/production\src.production.obj
+__Lrbit 0 0 COMRAM 1 rbit dist/default/production\src.production.obj
+__Lrbss 0 0 COMRAM 1 rbss dist/default/production\src.production.obj
+__Ltemp 45 0 COMRAM 1 temp dist/default/production\src.production.obj
+__Ltext 0 0 ABS 0 text dist/default/production\src.production.obj
+__CFG_XINST$OFF 0 0 ABS 0 - dist/default/production\src.production.obj
+_keypresses 25 0 COMRAM 1 bssCOMRAM dist/default/production\src.production.obj
+memset@c 1C 0 COMRAM 1 cstackCOMRAM dist/default/production\src.production.obj
+memset@n 1E 0 COMRAM 1 cstackCOMRAM dist/default/production\src.production.obj
+memset@p 20 0 COMRAM 1 cstackCOMRAM dist/default/production\src.production.obj
+__LcstackBANK0 0 0 ABS 0 cstackBANK0 dist/default/production\src.production.obj
+int$flags 45 0 COMRAM 1 temp dist/default/production\src.production.obj
+__HcstackCOMRAM 0 0 ABS 0 cstackCOMRAM dist/default/production\src.production.obj
+__Hintret 0 0 ABS 0 intret dist/default/production\src.production.obj
+__Hirdata 0 0 CODE 0 irdata dist/default/production\src.production.obj
+_PR2 FBB 0 ABS 0 - dist/default/production\src.production.obj
+__S0 30000E 0 ABS 0 - dist/default/production\src.production.obj
+__S1 69 0 ABS 0 - dist/default/production\src.production.obj
+__S2 0 0 ABS 0 - dist/default/production\src.production.obj
+_isr 8 0 CODE 0 intcode dist/default/production\src.production.obj
+__HidataCOMRAM 0 0 ABS 0 idataCOMRAM dist/default/production\src.production.obj
+__Lbigdata 0 0 BIGRAM 1 bigdata dist/default/production\src.production.obj
+__Hnvrram 0 0 COMRAM 1 nvrram dist/default/production\src.production.obj
+_eusart_write_midi 234 0 CODE 0 text7 dist/default/production\src.production.obj
+__end_of_isr 1B8 0 CODE 0 intcode dist/default/production\src.production.obj
+__CFG_BORV$190 0 0 ABS 0 - dist/default/production\src.production.obj
+__Lintentry 0 0 ABS 0 intentry dist/default/production\src.production.obj
+__Hramtop 600 0 RAM 0 ramtop dist/default/production\src.production.obj
+__Hrparam 0 0 COMRAM 1 rparam dist/default/production\src.production.obj
+_midi_note_on 1BC 0 CODE 0 text1 dist/default/production\src.production.obj
+__CFG_PWRTEN$OFF 0 0 ABS 0 - dist/default/production\src.production.obj
+__activetblptr 2 0 ABS 0 - dist/default/production\src.production.obj
+__Hstruct 0 0 COMRAM 1 struct dist/default/production\src.production.obj
+_PIE1bits F9D 0 ABS 0 - dist/default/production\src.production.obj
+__CFG_HFOFST$ON 0 0 ABS 0 - dist/default/production\src.production.obj
+_memset 386 0 CODE 0 text4 dist/default/production\src.production.obj
+memset@p1 1A 0 COMRAM 1 cstackCOMRAM dist/default/production\src.production.obj
+__Lbigbss 0 0 BIGRAM 1 bigbss dist/default/production\src.production.obj
+__Lbigram 0 0 ABS 0 bigram dist/default/production\src.production.obj
+midi_set_channel@pkt 1A 0 COMRAM 1 cstackCOMRAM dist/default/production\src.production.obj
+__Lcomram 0 0 ABS 0 comram dist/default/production\src.production.obj
+__Lconfig 300000 0 CONFIG 0 config dist/default/production\src.production.obj
+__CFG_WDTEN$ON 0 0 ABS 0 - dist/default/production\src.production.obj
+_RCSTA1bits FAB 0 ABS 0 - dist/default/production\src.production.obj
+__Lfarbss 0 0 FARRAM 0 farbss dist/default/production\src.production.obj
+_eusart1_init 3FC 0 CODE 0 text6 dist/default/production\src.production.obj
+__Lfardata 0 0 FARRAM 0 fardata dist/default/production\src.production.obj
+midi_set_status@status 1C 0 COMRAM 1 cstackCOMRAM dist/default/production\src.production.obj
+__size_of_midi_note_on 0 0 ABS 0 - dist/default/production\src.production.obj
+stackhi 5FF 0 ABS 0 - C:\Users\_prossn\AppData\Local\Temp\s5hg.obj
+stacklo 69 0 ABS 0 - C:\Users\_prossn\AppData\Local\Temp\s5hg.obj
+__Lintcode 8 0 CODE 0 intcode dist/default/production\src.production.obj
+__Lintret 0 0 ABS 0 intret dist/default/production\src.production.obj
+__Lirdata 0 0 CODE 0 irdata dist/default/production\src.production.obj
+_midi_set_channel 3B2 0 CODE 0 text3 dist/default/production\src.production.obj
+__Lspace_0 0 0 ABS 0 - dist/default/production\src.production.obj
+__Lspace_1 0 0 ABS 0 - dist/default/production\src.production.obj
+__Lspace_2 0 0 ABS 0 - dist/default/production\src.production.obj
+__pbssCOMRAM 25 0 COMRAM 1 bssCOMRAM dist/default/production\src.production.obj
+__size_of_memset 0 0 ABS 0 - dist/default/production\src.production.obj
+__HcstackBANK0 0 0 ABS 0 cstackBANK0 dist/default/production\src.production.obj
+_PIR1bits F9E 0 ABS 0 - dist/default/production\src.production.obj
+__CFG_LVP$ON 0 0 ABS 0 - dist/default/production\src.production.obj
+__LcstackCOMRAM 0 0 ABS 0 cstackCOMRAM dist/default/production\src.production.obj
+end_of_initialization 378 0 CODE 0 cinit dist/default/production\src.production.obj
+__end_of_midi_note_on 234 0 CODE 0 text1 dist/default/production\src.production.obj
+__Lnvrram 0 0 COMRAM 1 nvrram dist/default/production\src.production.obj
+__Hintentry 0 0 ABS 0 intentry dist/default/production\src.production.obj
+__CFG_STVREN$ON 0 0 ABS 0 - dist/default/production\src.production.obj
+_midi_base_scale 43 0 COMRAM 1 dataCOMRAM dist/default/production\src.production.obj
+__Hreset_vec 4 0 CODE 0 reset_vec dist/default/production\src.production.obj
+__size_of_eusart1_init 0 0 ABS 0 - dist/default/production\src.production.obj
+_init_hw 2A8 0 CODE 0 text5 dist/default/production\src.production.obj
+__Lramtop 600 0 RAM 0 ramtop dist/default/production\src.production.obj
+__Lrparam 0 0 COMRAM 1 rparam dist/default/production\src.production.obj
+__pcinit 354 0 CODE 0 cinit dist/default/production\src.production.obj
+__ptext0 308 0 CODE 0 text0 dist/default/production\src.production.obj
+__ptext1 1BC 0 CODE 0 text1 dist/default/production\src.production.obj
+__ptext2 3D8 0 CODE 0 text2 dist/default/production\src.production.obj
+__ptext3 3B2 0 CODE 0 text3 dist/default/production\src.production.obj
+__ptext4 386 0 CODE 0 text4 dist/default/production\src.production.obj
+__ptext5 2A8 0 CODE 0 text5 dist/default/production\src.production.obj
+__ptext6 3FC 0 CODE 0 text6 dist/default/production\src.production.obj
+__ptext7 234 0 CODE 0 text7 dist/default/production\src.production.obj
+__ptext8 418 0 CODE 0 text8 dist/default/production\src.production.obj
+__Lstruct 0 0 COMRAM 1 struct dist/default/production\src.production.obj
+__ramtop 600 0 RAM 0 ramtop C:\Users\_prossn\AppData\Local\Temp\s5hg.obj
+putch@c 1A 0 COMRAM 1 cstackCOMRAM dist/default/production\src.production.obj
+__Lpowerup 1B8 0 CODE 0 powerup dist/default/production\src.production.obj
+__Leeprom_data 0 0 EEDATA 0 eeprom_data dist/default/production\src.production.obj
+_isr$592 17 0 COMRAM 1 cstackCOMRAM dist/default/production\src.production.obj
+midi_set_status@pkt 1A 0 COMRAM 1 cstackCOMRAM dist/default/production\src.production.obj
+__Lreset_vec 0 0 CODE 0 reset_vec dist/default/production\src.production.obj
+__end_of_eusart1_init 418 0 CODE 0 text6 dist/default/production\src.production.obj
+___param_bank 0 0 ABS 0 - dist/default/production\src.production.obj
+__Hbigdata 0 0 BIGRAM 1 bigdata dist/default/production\src.production.obj
+__end_of__initialization 378 0 CODE 0 cinit dist/default/production\src.production.obj
+__CFG_WRT0$OFF 0 0 ABS 0 - dist/default/production\src.production.obj
+__CFG_WRT1$OFF 0 0 ABS 0 - dist/default/production\src.production.obj
+__CFG_WRT2$OFF 0 0 ABS 0 - dist/default/production\src.production.obj
+__CFG_WRT3$OFF 0 0 ABS 0 - dist/default/production\src.production.obj
+__CFG_PLLCFG$ON 0 0 ABS 0 - dist/default/production\src.production.obj
+__CFG_WRTB$OFF 0 0 ABS 0 - dist/default/production\src.production.obj
+__Libigdata 0 0 CODE 0 ibigdata dist/default/production\src.production.obj
+__CFG_WRTC$OFF 0 0 ABS 0 - dist/default/production\src.production.obj
+__CFG_WRTD$OFF 0 0 ABS 0 - dist/default/production\src.production.obj
+__Lclrtext 0 0 ABS 0 clrtext dist/default/production\src.production.obj
+_SPBRGH1 FB0 0 ABS 0 - dist/default/production\src.production.obj
+__end_of_midi_set_channel 3D8 0 CODE 0 text3 dist/default/production\src.production.obj
+__pcstackCOMRAM 1 0 COMRAM 1 cstackCOMRAM dist/default/production\src.production.obj
+__size_of_midi_set_channel 0 0 ABS 0 - dist/default/production\src.production.obj
+__CFG_BOREN$SBORDIS 0 0 ABS 0 - dist/default/production\src.production.obj
+__end_of_main 354 0 CODE 0 text0 dist/default/production\src.production.obj
+__pintcode 8 0 CODE 0 intcode dist/default/production\src.production.obj
+_PORTA F80 0 ABS 0 - dist/default/production\src.production.obj
+_PORTB F81 0 ABS 0 - dist/default/production\src.production.obj
+_RC1IF 7CF5 0 ABS 0 - dist/default/production\src.production.obj
+_TRISA F92 0 ABS 0 - dist/default/production\src.production.obj
+_TRISB F93 0 ABS 0 - dist/default/production\src.production.obj
+_TX1IF 7CF4 0 ABS 0 - dist/default/production\src.production.obj
+__end_of_putch 424 0 CODE 0 text8 dist/default/production\src.production.obj
+__CFG_CP0$OFF 0 0 ABS 0 - dist/default/production\src.production.obj
+__CFG_CP1$OFF 0 0 ABS 0 - dist/default/production\src.production.obj
+__HRAM 0 0 ABS 0 - dist/default/production\src.production.obj
+__Hbss 0 0 RAM 1 bss dist/default/production\src.production.obj
+__Hram 0 0 ABS 0 ram dist/default/production\src.production.obj
+__Hsfr 0 0 ABS 0 sfr dist/default/production\src.production.obj
+__LRAM 1 0 ABS 0 - dist/default/production\src.production.obj
+__Lbss 0 0 RAM 1 bss dist/default/production\src.production.obj
+__Lram 0 0 ABS 0 ram dist/default/production\src.production.obj
+__Lsfr 0 0 ABS 0 sfr dist/default/production\src.production.obj
+__CFG_CP2$OFF 0 0 ABS 0 - dist/default/production\src.production.obj
+__CFG_CP3$OFF 0 0 ABS 0 - dist/default/production\src.production.obj
+__CFG_CPB$OFF 0 0 ABS 0 - dist/default/production\src.production.obj
+_putch 418 0 CODE 0 text8 dist/default/production\src.production.obj
+__CFG_CPD$OFF 0 0 ABS 0 - dist/default/production\src.production.obj
+__size_of_isr 0 0 ABS 0 - dist/default/production\src.production.obj
+main@sample_message 62 0 BANK0 1 cstackBANK0 dist/default/production\src.production.obj
+__initialization 354 0 CODE 0 cinit dist/default/production\src.production.obj
+_BAUDCON1bits FB8 0 ABS 0 - dist/default/production\src.production.obj
+__pdataCOMRAM 43 0 COMRAM 1 dataCOMRAM dist/default/production\src.production.obj
+_T2CONbits FBA 0 ABS 0 - dist/default/production\src.production.obj
+__Hfardata 0 0 FARRAM 0 fardata dist/default/production\src.production.obj
+__Hsmallconst 0 0 SMALLCONST 0 smallconst dist/default/production\src.production.obj
+__Lifardata 0 0 CODE 0 ifardata dist/default/production\src.production.obj
+__Hintsave_regs 0 0 BIGRAM 1 intsave_regs dist/default/production\src.production.obj
+__CFG_MCLRE$EXTMCLR 0 0 ABS 0 - dist/default/production\src.production.obj
+midi_set_channel@channel 1C 0 COMRAM 1 cstackCOMRAM dist/default/production\src.production.obj
+__Hintcode 1B8 0 CODE 0 intcode dist/default/production\src.production.obj
+# %SPLITSTAB Section
+# This section enumerates all the psect splits performed by the assembler.
+# The beginning of the section is indicated by %SPLITSTAB.
+# Each line is a record a particular split, where the parent psect is on
+# the left and the child on the right. Note that a child psect is always
+# split form the top of the parent psect. All splits from a given parent
+# are listed in the order in which they occurred.
+%SPLITSTAB
+# %DABS Section
+# This section contains a table of all usuage of the assember
+# directive DABS in the program. Each line has the following format:
+# <name> <space> <address> <size>
+# If the DABS was originally labelled then that shall be <name>,
+# otherwise name will be "-". The <space> number is in decimal.
+# <address> and <size> are in byte units as unqaulified hexadecimal
+%DABS
+# %SEGMENTS Section
+# This sections enumerates the segments of the program. Each segment
+# is described on a single line as follows:
+# <name> <space> <link address> <file address> <size> <delta>
+# Addresses and size are in unqualified hexadecimal. The link address
+# and size are in units of delta. The file address is in units of bytes.
+# All other numeric quantities are in decimal.
+%SEGMENTS
+idloc 0 200000 200000 8 1
+cstackCOMRAM 1 1 1 45 1
+cstackBANK0 1 60 60 9 1
+reset_vec 0 0 0 4 1
+intcode 0 8 8 41E 1
+config 0 300000 300000 E 1
diff --git a/src/dist/default/production/src.production.elf b/src/dist/default/production/src.production.elf
new file mode 100644
index 0000000..8220677
--- /dev/null
+++ b/src/dist/default/production/src.production.elf
Binary files differ
diff --git a/src/dist/default/production/src.production.hex b/src/dist/default/production/src.production.hex
new file mode 100644
index 0000000..579dfa8
--- /dev/null
+++ b/src/dist/default/production/src.production.hex
@@ -0,0 +1,72 @@
+:04000000DCEF00F041
+:100008004582FACF05F0FBCF06F0E9CF07F0EACF3B
+:1000180008F0E1CF09F0E2CF0AF0D9CF0BF0DACF40
+:100028000CF0F3CF0DF0F4CF0EF0F6CF0FF0F7CFC2
+:1000380010F0F8CF11F0F5CF12F045C013F046C01C
+:1000480014F047C015F048C016F083969EA289D0D8
+:1000580080CF18F0070E196E1950020D250EF324E3
+:10006800D96E000EF420DA6EDECF01F0DDCF02F09B
+:10007800D8900136023619C003F018C004F0032ADC
+:1000880002D0D8900432032EFCD7010E0416045077
+:100098000112000E02121950020D250EF324D96E1A
+:1000A800000EF420DA6E01C0DEFF02C0DDFF190683
+:1000B8001928D8A4D1D781CF18F0070E196E195076
+:1000C800020D250EF324D96E000EF420DA6EDECF71
+:1000D80001F0DDCF02F0D8900136023619C003F0E6
+:1000E80018C004F0032A02D0D8900432032EFCD79B
+:1000F800010E041604500112000E02121950020DCE
+:10010800250EF324D96E000EF420DA6E01C0DEFF4E
+:1001180002C0DDFFF80E016EFF0E026E19061928E7
+:10012800036E046A0150032602500422035004108F
+:10013800D8A4C5D780A002D0838801D08398000EA8
+:10014800176E25502610D8B406D0FF0E2614D8A452
+:1001580002D0010E176E17B002D0839401D08384A9
+:100168009E92838616C048F015C047F014C046F02A
+:1001780013C045F012C0F5FF11C0F8FF10C0F7FF1B
+:100188000FC0F6FF0EC0F4FF0DC0F3FF0CC0DAFF7E
+:100198000BC0D9FF0AC0E2FF09C0E1FF08C0EAFFAF
+:1001A80007C0E9FF06C0FBFF05C0FAFF4592110032
+:1001B800AAEF01F01F502010D8B41200030E1F241C
+:1001C8000001606F000E2020616F60516111D8B48A
+:1001D80012001FC01AF020C01BF0080E1C6EECECB9
+:1001E80001F01FC01AF020C01BF021C01CF022C073
+:1001F8001DF0D9EC01F020EE03F01F50D926205055
+:10020800DA2223C0DFFF20EE04F01F50D926205049
+:10021800DA2224C0DFFF20EE01F01F50D92620503B
+:10022800DA22020EDE6E000EDD6E12001B501C106C
+:10023800D8B4120020EE01F01B50D9261C50DA2247
+:10024800DECF1FF0DDCF20F0030E1B24216E000E41
+:100258001C20226E1BC0D9FF1CC0DAFFDF380F0B31
+:100268001D6E1BC0D9FF1CC0DAFFDF500F0B1E6EBE
+:100278001E38F00B1D100CEC02F009D021C0D9FF7C
+:1002880022C0DAFFDF500CEC02F0214A222A1F06B6
+:10029800D8A020061F28F2E12028D8B41200EED7F3
+:1002A800F29E9B8C9B809B829B849B869B889B9ABF
+:1002B800D388D38AD38CFC0ED316000E0F01386F67
+:1002C800000E396F000E3A6F000E3B6F926893680C
+:1002D800959295949596959883828394838683982E
+:1002E800800EBB6EBA50870B1809BA6E030EBA128D
+:1002F800BA849D829E92F28CFEEC01F0F28E12007E
+:1003080054EC01F0250E1A6E000E1B6E000E1D6EC9
+:10031800000E1C6E000E1F6E1E0E1E6EC3EC01F04A
+:10032800620E1F6E000E206E000E226E000E216EF1
+:100338003C0E236E7F0E246EDEEC00F08392620E7C
+:100348001B6E000E1C6E1AEC01F0F9D7240EF66E27
+:10035800040EF76E000EF86E0900F5CF43F00900A1
+:10036800F5CF44F000EE25F01E0EEE6AE806FDE13A
+:1003780045904592000EF86E000184EF01F01AC016
+:1003880020F01BC021F008D020C0D9FF21C0DAFF1F
+:100398001CC0DFFF204A212A1E06D8A01F061E28DF
+:1003A800F3E11F28D8B41200EFD71A501B10D8B4A5
+:1003B80012001CC01EF00F0E1E161AC0D9FF1BC05B
+:1003C800DAFF1E3ADF501E180F0B1E18DF6E1200E0
+:1003D8001A501B10D8B412001CC01DF00F0E1D16A9
+:1003E8001AC0D9FF1BC0DAFFDF501D18F00B1D180B
+:1003F800DF6E1200AC98AC9CAB8E1F0EAF6E000E79
+:10040800B06EAC94B896948E948CAB88AC8A12007B
+:0E0418001A6E9EA8FED71AC0ADFF12003C005F
+:020000040020DA
+:08000000FFFFFFFFFFFFFFFF00
+:020000040030CA
+:0E000000FF391F3FFFBF85FF0FC00FE00F400D
+:00000001FF
diff --git a/src/dist/default/production/src.production.hxl b/src/dist/default/production/src.production.hxl
new file mode 100644
index 0000000..848925e
--- /dev/null
+++ b/src/dist/default/production/src.production.hxl
@@ -0,0 +1,45 @@
+### HEXMate logfile and output summary ###
+### Memory Usage ###
+ Unused memory ranges:
+ 4h - 7h
+ 426h - 1FFFFFh
+ 200008h - 2FFFFFh
+ 30000Eh - 30003Fh
+
+ dist/default/production\src.production.hex ranges:
+ 0h - 3h
+ 8h - 425h
+ 200000h - 200007h
+ 300000h - 30000Dh
+
+### Hex Memory Map ###
+ Legend:
+ - = Unused memory
+ F = Filled ROM
+ S = Stored serial code
+ A = Stored ASCII string
+ R = Reserved for checksum
+ C = Stored checksum result
+ T = Trailing code
+ & = Find & replace opcode
+ X = Find & delete opcode
+ 1 = dist/default/production\src.production.hex
+00000000: 1111----11111111111111111111111111111111111111111111111111111111
+00000040: 1111111111111111111111111111111111111111111111111111111111111111
+00000080: 1111111111111111111111111111111111111111111111111111111111111111
+000000C0: 1111111111111111111111111111111111111111111111111111111111111111
+00000100: 1111111111111111111111111111111111111111111111111111111111111111
+00000140: 1111111111111111111111111111111111111111111111111111111111111111
+00000180: 1111111111111111111111111111111111111111111111111111111111111111
+000001C0: 1111111111111111111111111111111111111111111111111111111111111111
+00000200: 1111111111111111111111111111111111111111111111111111111111111111
+00000240: 1111111111111111111111111111111111111111111111111111111111111111
+00000280: 1111111111111111111111111111111111111111111111111111111111111111
+000002C0: 1111111111111111111111111111111111111111111111111111111111111111
+00000300: 1111111111111111111111111111111111111111111111111111111111111111
+00000340: 1111111111111111111111111111111111111111111111111111111111111111
+00000380: 1111111111111111111111111111111111111111111111111111111111111111
+000003C0: 1111111111111111111111111111111111111111111111111111111111111111
+00000400: 11111111111111111111111111111111111111--------------------------
+00200000: 11111111--------------------------------------------------------
+00300000: 11111111111111--------------------------------------------------
diff --git a/src/dist/default/production/src.production.lst b/src/dist/default/production/src.production.lst
new file mode 100644
index 0000000..a97f5cc
--- /dev/null
+++ b/src/dist/default/production/src.production.lst
@@ -0,0 +1,1813 @@
+
+
+Microchip Technology PIC18 LITE Macro Assembler V1.44 build -154322312
+ Fri Feb 23 16:30:02 2018
+
+Microchip Technology Omniscient Code Generator v1.44 (Free mode) build 201709140600
+ 1 processor 18F45K22
+ 2 fnconf rparam,??,?,0
+ 3 opt pw 120
+ 4 opt lm
+ 5 psect idataCOMRAM,global,class=CODE,delta=1,noexec
+ 6 psect cinit,global,reloc=2,class=CODE,delta=1
+ 7 psect bssCOMRAM,global,class=COMRAM,space=1,delta=1,noexec
+ 8 psect dataCOMRAM,global,class=COMRAM,space=1,delta=1,noexec
+ 9 psect cstackBANK0,global,class=BANK0,space=1,delta=1,noexec
+ 10 psect cstackCOMRAM,global,class=COMRAM,space=1,delta=1,noexec
+ 11 psect text0,global,reloc=2,class=CODE,delta=1
+ 12 psect text1,global,reloc=2,class=CODE,delta=1
+ 13 psect text2,global,reloc=2,class=CODE,delta=1
+ 14 psect text3,global,reloc=2,class=CODE,delta=1
+ 15 psect text4,global,reloc=2,class=CODE,delta=1,group=1
+ 16 psect text5,global,reloc=2,class=CODE,delta=1,inline
+ 17 psect text6,global,reloc=2,class=CODE,delta=1
+ 18 psect text7,global,reloc=2,class=CODE,delta=1
+ 19 psect text8,global,reloc=2,class=CODE,delta=1
+ 20 psect intcode,global,reloc=2,class=CODE,delta=1
+ 21 psect intsave_regs,global,class=BIGRAM,space=1,delta=1,noexec
+ 22 psect rparam,global,class=COMRAM,space=1,delta=1,noexec
+ 23 psect temp,global,ovrld,common,class=COMRAM,space=1,delta=1
+ 24 0000
+ 25 ; Version 1.44
+ 26 ; Generated 14/09/2017 GMT
+ 27 ;
+ 28 ; Copyright © 2017, Microchip Technology Inc. and its subsidiaries ("Microchip")
+ 29 ; All rights reserved.
+ 30 ;
+ 31 ; This software is developed by Microchip Technology Inc. and its subsidiaries ("Microch
+ + ip").
+ 32 ;
+ 33 ; Redistribution and use in source and binary forms, with or without modification, are
+ 34 ; permitted provided that the following conditions are met:
+ 35 ;
+ 36 ; 1. Redistributions of source code must retain the above copyright notice, this lis
+ + t of
+ 37 ; conditions and the following disclaimer.
+ 38 ;
+ 39 ; 2. Redistributions in binary form must reproduce the above copyright notice, this
+ + list
+ 40 ; of conditions and the following disclaimer in the documentation and/or other
+ 41 ; materials provided with the distribution.
+ 42 ;
+ 43 ; 3. Microchip's name may not be used to endorse or promote products derived from th
+ + is
+ 44 ; software without specific prior written permission.
+ 45 ;
+ 46 ; THIS SOFTWARE IS PROVIDED BY MICROCHIP "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+ 47 ; INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS F
+ + OR
+ 48 ; PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL MICROCHIP BE LIABLE FOR ANY DIRECT, INDIREC
+ + T,
+ 49 ; INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING BUT NOT LIMITED TO
+ 50 ; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA OR PROFITS; OR BUSINESS
+ 51 ; INTERRUPTION) HOWSOEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, ST
+ + RICT
+ 52 ; LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE U
+ + SE OF
+ 53 ; THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ 54 ;
+ 55 ;
+ 56 ; Code-generator required, PIC18F45K22 Definitions
+ 57 ;
+ 58 ; SFR Addresses
+ 59 0000
+ 60 psect idataCOMRAM
+ 61 000424 __pidataCOMRAM:
+ 62 opt stack 0
+ 63
+ 64 ;initializer for _midi_base_scale
+ 65 000424 003C dw 60
+ 66 0000 _ANSELD set 3899
+ 67 0000 _ANSELC set 3898
+ 68 0000 _ANSELB set 3897
+ 69 0000 _ANSELA set 3896
+ 70 0000 _RC1REG set 4014
+ 71 0000 _TX1REG set 4013
+ 72 0000 _TRISCbits set 3988
+ 73 0000 _BAUDCON1bits set 4024
+ 74 0000 _SPBRGH1 set 4016
+ 75 0000 _SPBRG1 set 4015
+ 76 0000 _RCSTA1bits set 4011
+ 77 0000 _TXSTA1bits set 4012
+ 78 0000 _PIE1bits set 3997
+ 79 0000 _T2CONbits set 4026
+ 80 0000 _PR2 set 4027
+ 81 0000 _TRISDbits set 3989
+ 82 0000 _TRISB set 3987
+ 83 0000 _TRISA set 3986
+ 84 0000 _OSCCONbits set 4051
+ 85 0000 _OSCTUNEbits set 3995
+ 86 0000 _INTCONbits set 4082
+ 87 0000 _PORTAbits set 3968
+ 88 0000 _PORTB set 3969
+ 89 0000 _PORTA set 3968
+ 90 0000 _PIR1bits set 3998
+ 91 0000 _PORTDbits set 3971
+ 92 0000 _RC1IF set 31989
+ 93 0000 _TX1IF set 31988
+ 94
+ 95 ; #config settings
+ 96 0000
+ 97 psect cinit
+ 98 000354 __pcinit:
+ 99 opt stack 0
+ 100 000354 start_initialization:
+ 101 opt stack 0
+ 102 000354 __initialization:
+ 103 opt stack 0
+ 104
+ 105 ; Initialize objects allocated to COMRAM (2 bytes)
+ 106 ; load TBLPTR registers with __pidataCOMRAM
+ 107 000354 0E24 movlw low __pidataCOMRAM
+ 108 000356 6EF6 movwf tblptrl,c
+ 109 000358 0E04 movlw high __pidataCOMRAM
+ 110 00035A 6EF7 movwf tblptrh,c
+ 111 00035C 0E00 movlw low (__pidataCOMRAM shr (0+16))
+ 112 00035E 6EF8 movwf tblptru,c
+ 113 000360 0009 tblrd *+ ;fetch initializer
+ 114 000362 CFF5 F043 movff tablat,__pdataCOMRAM
+ 115 000366 0009 tblrd *+ ;fetch initializer
+ 116 000368 CFF5 F044 movff tablat,__pdataCOMRAM+1
+ 117
+ 118 ; Clear objects allocated to COMRAM (30 bytes)
+ 119 00036C EE00 F025 lfsr 0,__pbssCOMRAM
+ 120 000370 0E1E movlw 30
+ 121 000372 clear_0:
+ 122 000372 6AEE clrf postinc0,c
+ 123 000374 06E8 decf wreg,f,c
+ 124 000376 E1FD bnz clear_0
+ 125 000378 end_of_initialization:
+ 126 opt stack 0
+ 127 000378 __end_of__initialization:
+ 128 opt stack 0
+ 129 000378 9045 bcf int$flags,0,c ;clear compiler interrupt flag (level 1)
+ 130 00037A 9245 bcf int$flags,1,c ;clear compiler interrupt flag (level 2)
+ 131 00037C 0E00 movlw low (__Lmediumconst shr (0+16))
+ 132 00037E 6EF8 movwf tblptru,c
+ 133 000380 0100 movlb 0
+ 134 000382 EF84 F001 goto _main ;jump to C main() function
+ 135 tblptru equ 0xFF8
+ 136 tblptrh equ 0xFF7
+ 137 tblptrl equ 0xFF6
+ 138 tablat equ 0xFF5
+ 139 postinc0 equ 0xFEE
+ 140 wreg equ 0xFE8
+ 141
+ 142 psect bssCOMRAM
+ 143 000025 __pbssCOMRAM:
+ 144 opt stack 0
+ 145 000025 _keypresses:
+ 146 opt stack 0
+ 147 000025 ds 30
+ 148 tblptru equ 0xFF8
+ 149 tblptrh equ 0xFF7
+ 150 tblptrl equ 0xFF6
+ 151 tablat equ 0xFF5
+ 152 postinc0 equ 0xFEE
+ 153 wreg equ 0xFE8
+ 154
+ 155 psect dataCOMRAM
+ 156 000043 __pdataCOMRAM:
+ 157 opt stack 0
+ 158 000043 _midi_base_scale:
+ 159 opt stack 0
+ 160 000043 ds 2
+ 161 tblptru equ 0xFF8
+ 162 tblptrh equ 0xFF7
+ 163 tblptrl equ 0xFF6
+ 164 tablat equ 0xFF5
+ 165 postinc0 equ 0xFEE
+ 166 wreg equ 0xFE8
+ 167
+ 168 psect cstackBANK0
+ 169 000060 __pcstackBANK0:
+ 170 opt stack 0
+ 171 000060 ??_midi_note_on:
+ 172
+ 173 ; 1 bytes @ 0x0
+ 174 000060 ds 2
+ 175 000062 main@sample_message:
+ 176 opt stack 0
+ 177
+ 178 ; 7 bytes @ 0x2
+ 179 000062 ds 7
+ 180 tblptru equ 0xFF8
+ 181 tblptrh equ 0xFF7
+ 182 tblptrl equ 0xFF6
+ 183 tablat equ 0xFF5
+ 184 postinc0 equ 0xFEE
+ 185 wreg equ 0xFE8
+ 186
+ 187 psect cstackCOMRAM
+ 188 000001 __pcstackCOMRAM:
+ 189 opt stack 0
+ 190 000001 ??_isr:
+ 191 000001
+ 192 ; 1 bytes @ 0x0
+ 193 000001 ds 22
+ 194 000017 _isr$592:
+ 195 opt stack 0
+ 196
+ 197 ; 1 bytes @ 0x16
+ 198 000017 ds 1
+ 199 000018 isr@data:
+ 200 opt stack 0
+ 201
+ 202 ; 1 bytes @ 0x17
+ 203 000018 ds 1
+ 204 000019 isr@i:
+ 205 opt stack 0
+ 206
+ 207 ; 1 bytes @ 0x18
+ 208 000019 ds 1
+ 209 00001A putch@c:
+ 210 opt stack 0
+ 211 00001A midi_set_status@pkt:
+ 212 opt stack 0
+ 213 00001A midi_set_channel@pkt:
+ 214 opt stack 0
+ 215 00001A memset@p1:
+ 216 opt stack 0
+ 217
+ 218 ; 2 bytes @ 0x19
+ 219 00001A ds 1
+ 220 00001B eusart_write_midi@pkt:
+ 221 opt stack 0
+ 222
+ 223 ; 2 bytes @ 0x1A
+ 224 00001B ds 1
+ 225 00001C midi_set_status@status:
+ 226 opt stack 0
+ 227 00001C midi_set_channel@channel:
+ 228 opt stack 0
+ 229 00001C memset@c:
+ 230 opt stack 0
+ 231
+ 232 ; 2 bytes @ 0x1B
+ 233 00001C ds 1
+ 234 00001D ??_eusart_write_midi:
+ 235 00001D ??_midi_set_status:
+ 236
+ 237 ; 1 bytes @ 0x1C
+ 238 00001D ds 1
+ 239 00001E ??_midi_set_channel:
+ 240 00001E memset@n:
+ 241 opt stack 0
+ 242
+ 243 ; 2 bytes @ 0x1D
+ 244 00001E ds 1
+ 245 00001F eusart_write_midi@length:
+ 246 opt stack 0
+ 247 00001F midi_note_on@pkt:
+ 248 opt stack 0
+ 249
+ 250 ; 2 bytes @ 0x1E
+ 251 00001F ds 1
+ 252 000020 memset@p:
+ 253 opt stack 0
+ 254
+ 255 ; 2 bytes @ 0x1F
+ 256 000020 ds 1
+ 257 000021 eusart_write_midi@data:
+ 258 opt stack 0
+ 259 000021 midi_note_on@channel:
+ 260 opt stack 0
+ 261
+ 262 ; 2 bytes @ 0x20
+ 263 000021 ds 2
+ 264 000023 midi_note_on@note:
+ 265 opt stack 0
+ 266
+ 267 ; 1 bytes @ 0x22
+ 268 000023 ds 1
+ 269 000024 midi_note_on@velocity:
+ 270 opt stack 0
+ 271
+ 272 ; 1 bytes @ 0x23
+ 273 000024 ds 1
+ 274 000025 tblptru equ 0xFF8
+ 275 tblptrh equ 0xFF7
+ 276 tblptrl equ 0xFF6
+ 277 tablat equ 0xFF5
+ 278 postinc0 equ 0xFEE
+ 279 wreg equ 0xFE8
+ 280
+ 281 ; 1 bytes @ 0x24
+ 282 ;;
+ 283 ;;Main: autosize = 0, tempsize = 0, incstack = 0, save=0
+ 284 ;;
+ 285 ;; *************** function _main *****************
+ 286 ;; Defined at:
+ 287 ;; line 204 in file "main.c"
+ 288 ;; Parameters: Size Location Type
+ 289 ;; None
+ 290 ;; Auto vars: Size Location Type
+ 291 ;; sample_messa 7 2[BANK0 ] struct .
+ 292 ;; data 1 0 unsigned char
+ 293 ;; i 1 0 unsigned char
+ 294 ;; Return value: Size Location Type
+ 295 ;; 1 wreg void
+ 296 ;; Registers used:
+ 297 ;; wreg, fsr2l, fsr2h, status,2, status,0, cstack
+ 298 ;; Tracked objects:
+ 299 ;; On entry : 0/0
+ 300 ;; On exit : 0/0
+ 301 ;; Unchanged: 0/0
+ 302 ;; Data sizes: COMRAM BANK0 BANK1 BANK2 BANK3 BANK4 BANK5
+ 303 ;; Params: 0 0 0 0 0 0 0
+ 304 ;; Locals: 0 7 0 0 0 0 0
+ 305 ;; Temps: 0 0 0 0 0 0 0
+ 306 ;; Totals: 0 7 0 0 0 0 0
+ 307 ;;Total ram usage: 7 bytes
+ 308 ;; Hardware stack levels required when called: 3
+ 309 ;; This function calls:
+ 310 ;; _eusart_write_midi
+ 311 ;; _init_hw
+ 312 ;; _memset
+ 313 ;; _midi_note_on
+ 314 ;; This function is called by:
+ 315 ;; Startup code after reset
+ 316 ;; This function uses a non-reentrant model
+ 317 ;;
+ 318
+ 319 psect text0
+ 320 000308 __ptext0:
+ 321 opt stack 0
+ 322 000308 _main:
+ 323 opt stack 28
+ 324
+ 325 ;main.c: 206: unsigned char i, data;
+ 326 ;main.c: 207: midi_message_t sample_message;
+ 327 ;main.c: 210: init_hw();
+ 328
+ 329 ;incstack = 0
+ 330 000308 EC54 F001 call _init_hw ;wreg free
+ 331
+ 332 ;main.c: 213: memset(keypresses, 0, sizeof(keypresses));
+ 333 00030C 0E25 movlw low _keypresses
+ 334 00030E 6E1A movwf memset@p1,c
+ 335 000310 0E00 movlw high _keypresses
+ 336 000312 6E1B movwf memset@p1+1,c
+ 337 000314 0E00 movlw 0
+ 338 000316 6E1D movwf memset@c+1,c
+ 339 000318 0E00 movlw 0
+ 340 00031A 6E1C movwf memset@c,c
+ 341 00031C 0E00 movlw 0
+ 342 00031E 6E1F movwf memset@n+1,c
+ 343 000320 0E1E movlw 30
+ 344 000322 6E1E movwf memset@n,c
+ 345 000324 ECC3 F001 call _memset ;wreg free
+ 346
+ 347 ;main.c: 216: midi_note_on(&sample_message, 0x0, 0x3C, 0x7F);
+ 348 000328 0E62 movlw low main@sample_message
+ 349 00032A 6E1F movwf midi_note_on@pkt,c
+ 350 00032C 0E00 movlw high main@sample_message
+ 351 00032E 6E20 movwf midi_note_on@pkt+1,c
+ 352 000330 0E00 movlw 0
+ 353 000332 6E22 movwf midi_note_on@channel+1,c
+ 354 000334 0E00 movlw 0
+ 355 000336 6E21 movwf midi_note_on@channel,c
+ 356 000338 0E3C movlw 60
+ 357 00033A 6E23 movwf midi_note_on@note,c
+ 358 00033C 0E7F movlw 127
+ 359 00033E 6E24 movwf midi_note_on@velocity,c
+ 360 000340 ECDE F000 call _midi_note_on ;wreg free
+ 361
+ 362 ;main.c: 217: PORTDbits.RD1 = 0;
+ 363 000344 9283 bcf 3971,1,c ;volatile
+ 364 000346
+ 365 ;main.c: 221: eusart_write_midi(&sample_message);
+ 366 000346 0E62 movlw low main@sample_message
+ 367 000348 6E1B movwf eusart_write_midi@pkt,c
+ 368 00034A 0E00 movlw high main@sample_message
+ 369 00034C 6E1C movwf eusart_write_midi@pkt+1,c
+ 370 00034E EC1A F001 call _eusart_write_midi ;wreg free
+ 371 000352 D7F9 goto l70
+ 372 000354 __end_of_main:
+ 373 opt stack 0
+ 374 tblptru equ 0xFF8
+ 375 tblptrh equ 0xFF7
+ 376 tblptrl equ 0xFF6
+ 377 tablat equ 0xFF5
+ 378 postinc0 equ 0xFEE
+ 379 wreg equ 0xFE8
+ 380
+ 381 ;; *************** function _midi_note_on *****************
+ 382 ;; Defined at:
+ 383 ;; line 62 in file "midi.c"
+ 384 ;; Parameters: Size Location Type
+ 385 ;; pkt 2 30[COMRAM] PTR struct .
+ 386 ;; -> main@sample_message(7),
+ 387 ;; channel 2 32[COMRAM] unsigned int
+ 388 ;; note 1 34[COMRAM] enum E31
+ 389 ;; velocity 1 35[COMRAM] unsigned char
+ 390 ;; Auto vars: Size Location Type
+ 391 ;; None
+ 392 ;; Return value: Size Location Type
+ 393 ;; 2 30[COMRAM] int
+ 394 ;; Registers used:
+ 395 ;; wreg, fsr2l, fsr2h, status,2, status,0, cstack
+ 396 ;; Tracked objects:
+ 397 ;; On entry : 0/0
+ 398 ;; On exit : 0/0
+ 399 ;; Unchanged: 0/0
+ 400 ;; Data sizes: COMRAM BANK0 BANK1 BANK2 BANK3 BANK4 BANK5
+ 401 ;; Params: 6 0 0 0 0 0 0
+ 402 ;; Locals: 0 0 0 0 0 0 0
+ 403 ;; Temps: 0 2 0 0 0 0 0
+ 404 ;; Totals: 6 2 0 0 0 0 0
+ 405 ;;Total ram usage: 8 bytes
+ 406 ;; Hardware stack levels used: 1
+ 407 ;; Hardware stack levels required when called: 2
+ 408 ;; This function calls:
+ 409 ;; _midi_set_channel
+ 410 ;; _midi_set_status
+ 411 ;; This function is called by:
+ 412 ;; _main
+ 413 ;; This function uses a non-reentrant model
+ 414 ;;
+ 415
+ 416 psect text1
+ 417 0001BC __ptext1:
+ 418 opt stack 0
+ 419 0001BC _midi_note_on:
+ 420 opt stack 28
+ 421
+ 422 ;midi.c: 64: if (pkt == (0)) {
+ 423
+ 424 ;incstack = 0
+ 425 0001BC 501F movf midi_note_on@pkt,w,c
+ 426 0001BE 1020 iorwf midi_note_on@pkt+1,w,c
+ 427 0001C0 B4D8 btfsc status,2,c
+ 428 0001C2 0012 return
+ 429
+ 430 ;midi.c: 66: }
+ 431 ;midi.c: 68: if (pkt->data == (0)) {
+ 432
+ 433 ;midi.c: 65: return -1;
+ 434 ; Return value of _midi_note_on is never used
+ 435 0001C4 0E03 movlw 3
+ 436 0001C6 241F addwf midi_note_on@pkt,w,c
+ 437 0001C8 0100 movlb 0 ; () banked
+ 438 0001CA 6F60 movwf ??_midi_note_on& (0+255),b
+ 439 0001CC 0E00 movlw 0
+ 440 0001CE 2020 addwfc midi_note_on@pkt+1,w,c
+ 441 0001D0 6F61 movwf (??_midi_note_on+1)& (0+255),b
+ 442 0001D2 5160 movf ??_midi_note_on& (0+255),w,b
+ 443 0001D4 1161 iorwf (??_midi_note_on+1)& (0+255),w,b
+ 444 0001D6 B4D8 btfsc status,2,c
+ 445 0001D8 0012 return
+ 446
+ 447 ; BSR set to: 0
+ 448 ;midi.c: 70: }
+ 449 ;midi.c: 72: midi_set_status(pkt, NOTE_ON);
+ 450
+ 451 ; BSR set to: 0
+ 452
+ 453 ; BSR set to: 0
+ 454 ;midi.c: 69: return -2;
+ 455 ; Return value of _midi_note_on is never used
+ 456 0001DA C01F F01A movff midi_note_on@pkt,midi_set_status@pkt
+ 457 0001DE C020 F01B movff midi_note_on@pkt+1,midi_set_status@pkt+1
+ 458 0001E2 0E08 movlw 8
+ 459 0001E4 6E1C movwf midi_set_status@status,c
+ 460 0001E6 ECEC F001 call _midi_set_status ;wreg free
+ 461
+ 462 ;midi.c: 73: midi_set_channel(pkt, channel);
+ 463 0001EA C01F F01A movff midi_note_on@pkt,midi_set_channel@pkt
+ 464 0001EE C020 F01B movff midi_note_on@pkt+1,midi_set_channel@pkt+1
+ 465 0001F2 C021 F01C movff midi_note_on@channel,midi_set_channel@channel
+ 466 0001F6 C022 F01D movff midi_note_on@channel+1,midi_set_channel@channel+1
+ 467 0001FA ECD9 F001 call _midi_set_channel ;wreg free
+ 468
+ 469 ;midi.c: 75: pkt->data[0] = note;
+ 470 0001FE EE20 F003 lfsr 2,3
+ 471 000202 501F movf midi_note_on@pkt,w,c
+ 472 000204 26D9 addwf fsr2l,f,c
+ 473 000206 5020 movf midi_note_on@pkt+1,w,c
+ 474 000208 22DA addwfc fsr2h,f,c
+ 475 00020A C023 FFDF movff midi_note_on@note,indf2
+ 476
+ 477 ;midi.c: 76: pkt->data[1] = velocity;
+ 478 00020E EE20 F004 lfsr 2,4
+ 479 000212 501F movf midi_note_on@pkt,w,c
+ 480 000214 26D9 addwf fsr2l,f,c
+ 481 000216 5020 movf midi_note_on@pkt+1,w,c
+ 482 000218 22DA addwfc fsr2h,f,c
+ 483 00021A C024 FFDF movff midi_note_on@velocity,indf2
+ 484
+ 485 ;midi.c: 79: pkt->data_size = 2;
+ 486 00021E EE20 F001 lfsr 2,1
+ 487 000222 501F movf midi_note_on@pkt,w,c
+ 488 000224 26D9 addwf fsr2l,f,c
+ 489 000226 5020 movf midi_note_on@pkt+1,w,c
+ 490 000228 22DA addwfc fsr2h,f,c
+ 491 00022A 0E02 movlw 2
+ 492 00022C 6EDE movwf postinc2,c
+ 493 00022E 0E00 movlw 0
+ 494 000230 6EDD movwf postdec2,c
+ 495 000232 0012 return
+ 496 000234 __end_of_midi_note_on:
+ 497 opt stack 0
+ 498 tblptru equ 0xFF8
+ 499 tblptrh equ 0xFF7
+ 500 tblptrl equ 0xFF6
+ 501 tablat equ 0xFF5
+ 502 postinc0 equ 0xFEE
+ 503 wreg equ 0xFE8
+ 504 indf2 equ 0xFDF
+ 505 postinc2 equ 0xFDE
+ 506 postdec2 equ 0xFDD
+ 507 fsr2h equ 0xFDA
+ 508 fsr2l equ 0xFD9
+ 509 status equ 0xFD8
+ 510
+ 511 ;; *************** function _midi_set_status *****************
+ 512 ;; Defined at:
+ 513 ;; line 40 in file "midi.c"
+ 514 ;; Parameters: Size Location Type
+ 515 ;; pkt 2 25[COMRAM] PTR struct .
+ 516 ;; -> main@sample_message(7),
+ 517 ;; status 1 27[COMRAM] enum E40
+ 518 ;; Auto vars: Size Location Type
+ 519 ;; None
+ 520 ;; Return value: Size Location Type
+ 521 ;; 2 25[COMRAM] int
+ 522 ;; Registers used:
+ 523 ;; wreg, fsr2l, fsr2h, status,2, status,0
+ 524 ;; Tracked objects:
+ 525 ;; On entry : 0/0
+ 526 ;; On exit : 0/0
+ 527 ;; Unchanged: 0/0
+ 528 ;; Data sizes: COMRAM BANK0 BANK1 BANK2 BANK3 BANK4 BANK5
+ 529 ;; Params: 3 0 0 0 0 0 0
+ 530 ;; Locals: 0 0 0 0 0 0 0
+ 531 ;; Temps: 1 0 0 0 0 0 0
+ 532 ;; Totals: 4 0 0 0 0 0 0
+ 533 ;;Total ram usage: 4 bytes
+ 534 ;; Hardware stack levels used: 1
+ 535 ;; Hardware stack levels required when called: 1
+ 536 ;; This function calls:
+ 537 ;; Nothing
+ 538 ;; This function is called by:
+ 539 ;; _midi_note_on
+ 540 ;; _midi_note_off
+ 541 ;; This function uses a non-reentrant model
+ 542 ;;
+ 543
+ 544 psect text2
+ 545 0003D8 __ptext2:
+ 546 opt stack 0
+ 547 0003D8 _midi_set_status:
+ 548 opt stack 28
+ 549
+ 550 ;midi.c: 42: if (pkt == (0)) {
+ 551
+ 552 ;incstack = 0
+ 553 0003D8 501A movf midi_set_status@pkt,w,c
+ 554 0003DA 101B iorwf midi_set_status@pkt+1,w,c
+ 555 0003DC B4D8 btfsc status,2,c
+ 556 0003DE 0012 return
+ 557
+ 558 ;midi.c: 44: }
+ 559 ;midi.c: 46: pkt->status = status & 0x0F;
+ 560
+ 561 ;midi.c: 43: return -1;
+ 562 ; Return value of _midi_set_status is never used
+ 563 0003E0 C01C F01D movff midi_set_status@status,??_midi_set_status
+ 564 0003E4 0E0F movlw 15
+ 565 0003E6 161D andwf ??_midi_set_status,f,c
+ 566 0003E8 C01A FFD9 movff midi_set_status@pkt,fsr2l
+ 567 0003EC C01B FFDA movff midi_set_status@pkt+1,fsr2h
+ 568 0003F0 50DF movf indf2,w,c
+ 569 0003F2 181D xorwf ??_midi_set_status,w,c
+ 570 0003F4 0BF0 andlw -16
+ 571 0003F6 181D xorwf ??_midi_set_status,w,c
+ 572 0003F8 6EDF movwf indf2,c
+ 573 0003FA 0012 return
+ 574 0003FC __end_of_midi_set_status:
+ 575 opt stack 0
+ 576 tblptru equ 0xFF8
+ 577 tblptrh equ 0xFF7
+ 578 tblptrl equ 0xFF6
+ 579 tablat equ 0xFF5
+ 580 postinc0 equ 0xFEE
+ 581 wreg equ 0xFE8
+ 582 indf2 equ 0xFDF
+ 583 postinc2 equ 0xFDE
+ 584 postdec2 equ 0xFDD
+ 585 fsr2h equ 0xFDA
+ 586 fsr2l equ 0xFD9
+ 587 status equ 0xFD8
+ 588
+ 589 ;; *************** function _midi_set_channel *****************
+ 590 ;; Defined at:
+ 591 ;; line 51 in file "midi.c"
+ 592 ;; Parameters: Size Location Type
+ 593 ;; pkt 2 25[COMRAM] PTR struct .
+ 594 ;; -> main@sample_message(7),
+ 595 ;; channel 2 27[COMRAM] unsigned int
+ 596 ;; Auto vars: Size Location Type
+ 597 ;; None
+ 598 ;; Return value: Size Location Type
+ 599 ;; 2 25[COMRAM] int
+ 600 ;; Registers used:
+ 601 ;; wreg, fsr2l, fsr2h, status,2, status,0
+ 602 ;; Tracked objects:
+ 603 ;; On entry : 0/0
+ 604 ;; On exit : 0/0
+ 605 ;; Unchanged: 0/0
+ 606 ;; Data sizes: COMRAM BANK0 BANK1 BANK2 BANK3 BANK4 BANK5
+ 607 ;; Params: 4 0 0 0 0 0 0
+ 608 ;; Locals: 0 0 0 0 0 0 0
+ 609 ;; Temps: 1 0 0 0 0 0 0
+ 610 ;; Totals: 5 0 0 0 0 0 0
+ 611 ;;Total ram usage: 5 bytes
+ 612 ;; Hardware stack levels used: 1
+ 613 ;; Hardware stack levels required when called: 1
+ 614 ;; This function calls:
+ 615 ;; Nothing
+ 616 ;; This function is called by:
+ 617 ;; _midi_note_on
+ 618 ;; _midi_note_off
+ 619 ;; This function uses a non-reentrant model
+ 620 ;;
+ 621
+ 622 psect text3
+ 623 0003B2 __ptext3:
+ 624 opt stack 0
+ 625 0003B2 _midi_set_channel:
+ 626 opt stack 28
+ 627
+ 628 ;midi.c: 53: if (pkt == (0)) {
+ 629
+ 630 ;incstack = 0
+ 631 0003B2 501A movf midi_set_channel@pkt,w,c
+ 632 0003B4 101B iorwf midi_set_channel@pkt+1,w,c
+ 633 0003B6 B4D8 btfsc status,2,c
+ 634 0003B8 0012 return
+ 635
+ 636 ;midi.c: 55: }
+ 637 ;midi.c: 57: pkt->channel = channel & 0x0F;
+ 638
+ 639 ;midi.c: 54: return -1;
+ 640 ; Return value of _midi_set_channel is never used
+ 641 0003BA C01C F01E movff midi_set_channel@channel,??_midi_set_channel
+ 642 0003BE 0E0F movlw 15
+ 643 0003C0 161E andwf ??_midi_set_channel,f,c
+ 644 0003C2 C01A FFD9 movff midi_set_channel@pkt,fsr2l
+ 645 0003C6 C01B FFDA movff midi_set_channel@pkt+1,fsr2h
+ 646 0003CA 3A1E swapf ??_midi_set_channel,f,c
+ 647 0003CC 50DF movf indf2,w,c
+ 648 0003CE 181E xorwf ??_midi_set_channel,w,c
+ 649 0003D0 0B0F andlw -241
+ 650 0003D2 181E xorwf ??_midi_set_channel,w,c
+ 651 0003D4 6EDF movwf indf2,c
+ 652 0003D6 0012 return
+ 653 0003D8 __end_of_midi_set_channel:
+ 654 opt stack 0
+ 655 tblptru equ 0xFF8
+ 656 tblptrh equ 0xFF7
+ 657 tblptrl equ 0xFF6
+ 658 tablat equ 0xFF5
+ 659 postinc0 equ 0xFEE
+ 660 wreg equ 0xFE8
+ 661 indf2 equ 0xFDF
+ 662 postinc2 equ 0xFDE
+ 663 postdec2 equ 0xFDD
+ 664 fsr2h equ 0xFDA
+ 665 fsr2l equ 0xFD9
+ 666 status equ 0xFD8
+ 667
+ 668 ;; *************** function _memset *****************
+ 669 ;; Defined at:
+ 670 ;; line 8 in file "C:\Program Files\Microchip\xc8\v1.44\sources\common\memset.c"
+ 671 ;; Parameters: Size Location Type
+ 672 ;; p1 2 25[COMRAM] PTR void
+ 673 ;; -> keypresses(30),
+ 674 ;; c 2 27[COMRAM] int
+ 675 ;; n 2 29[COMRAM] unsigned int
+ 676 ;; Auto vars: Size Location Type
+ 677 ;; p 2 31[COMRAM] PTR unsigned char
+ 678 ;; -> keypresses(30),
+ 679 ;; Return value: Size Location Type
+ 680 ;; 2 25[COMRAM] PTR void
+ 681 ;; Registers used:
+ 682 ;; wreg, fsr2l, fsr2h, status,2, status,0
+ 683 ;; Tracked objects:
+ 684 ;; On entry : 0/0
+ 685 ;; On exit : 0/0
+ 686 ;; Unchanged: 0/0
+ 687 ;; Data sizes: COMRAM BANK0 BANK1 BANK2 BANK3 BANK4 BANK5
+ 688 ;; Params: 6 0 0 0 0 0 0
+ 689 ;; Locals: 2 0 0 0 0 0 0
+ 690 ;; Temps: 0 0 0 0 0 0 0
+ 691 ;; Totals: 8 0 0 0 0 0 0
+ 692 ;;Total ram usage: 8 bytes
+ 693 ;; Hardware stack levels used: 1
+ 694 ;; Hardware stack levels required when called: 1
+ 695 ;; This function calls:
+ 696 ;; Nothing
+ 697 ;; This function is called by:
+ 698 ;; _main
+ 699 ;; This function uses a non-reentrant model
+ 700 ;;
+ 701
+ 702 psect text4
+ 703 000386 __ptext4:
+ 704 opt stack 0
+ 705 000386 _memset:
+ 706 opt stack 29
+ 707
+ 708 ;incstack = 0
+ 709 000386 C01A F020 movff memset@p1,memset@p
+ 710 00038A C01B F021 movff memset@p1+1,memset@p+1
+ 711 00038E D008 goto l569
+ 712 000390 l1129:
+ 713 000390 C020 FFD9 movff memset@p,fsr2l
+ 714 000394 C021 FFDA movff memset@p+1,fsr2h
+ 715 000398 C01C FFDF movff memset@c,indf2
+ 716 00039C 4A20 infsnz memset@p,f,c
+ 717 00039E 2A21 incf memset@p+1,f,c
+ 718 0003A0 l569:
+ 719 0003A0 061E decf memset@n,f,c
+ 720 0003A2 A0D8 btfss status,0,c
+ 721 0003A4 061F decf memset@n+1,f,c
+ 722 0003A6 281E incf memset@n,w,c
+ 723 0003A8 E1F3 bnz l1129
+ 724 0003AA 281F incf memset@n+1,w,c
+ 725 0003AC B4D8 btfsc status,2,c
+ 726 0003AE 0012 return
+ 727 0003B0 D7EF goto l570
+ 728 0003B2 __end_of_memset:
+ 729 opt stack 0
+ 730 tblptru equ 0xFF8
+ 731 tblptrh equ 0xFF7
+ 732 tblptrl equ 0xFF6
+ 733 tablat equ 0xFF5
+ 734 postinc0 equ 0xFEE
+ 735 wreg equ 0xFE8
+ 736 indf2 equ 0xFDF
+ 737 postinc2 equ 0xFDE
+ 738 postdec2 equ 0xFDD
+ 739 fsr2h equ 0xFDA
+ 740 fsr2l equ 0xFD9
+ 741 status equ 0xFD8
+ 742
+ 743 ;; *************** function _init_hw *****************
+ 744 ;; Defined at:
+ 745 ;; line 140 in file "main.c"
+ 746 ;; Parameters: Size Location Type
+ 747 ;; None
+ 748 ;; Auto vars: Size Location Type
+ 749 ;; None
+ 750 ;; Return value: Size Location Type
+ 751 ;; 1 wreg void
+ 752 ;; Registers used:
+ 753 ;; wreg, status,2, cstack
+ 754 ;; Tracked objects:
+ 755 ;; On entry : 0/0
+ 756 ;; On exit : 0/0
+ 757 ;; Unchanged: 0/0
+ 758 ;; Data sizes: COMRAM BANK0 BANK1 BANK2 BANK3 BANK4 BANK5
+ 759 ;; Params: 0 0 0 0 0 0 0
+ 760 ;; Locals: 0 0 0 0 0 0 0
+ 761 ;; Temps: 0 0 0 0 0 0 0
+ 762 ;; Totals: 0 0 0 0 0 0 0
+ 763 ;;Total ram usage: 0 bytes
+ 764 ;; Hardware stack levels used: 1
+ 765 ;; Hardware stack levels required when called: 2
+ 766 ;; This function calls:
+ 767 ;; _eusart1_init
+ 768 ;; This function is called by:
+ 769 ;; _main
+ 770 ;; This function uses a non-reentrant model
+ 771 ;;
+ 772
+ 773 psect text5
+ 774 0002A8 __ptext5:
+ 775 opt stack 0
+ 776 0002A8 _init_hw:
+ 777 opt stack 28
+ 778
+ 779 ;main.c: 142: (INTCONbits.GIE = 0);
+ 780
+ 781 ;incstack = 0
+ 782 0002A8 9EF2 bcf intcon,7,c ;volatile
+ 783
+ 784 ;main.c: 146: OSCTUNEbits.PLLEN = 1;
+ 785 0002AA 8C9B bsf 3995,6,c ;volatile
+ 786
+ 787 ;main.c: 148: OSCTUNEbits.TUN = 0b011111;
+ 788 0002AC 809B bsf 3995,0,c ;volatile
+ 789 0002AE 829B bsf 3995,1,c ;volatile
+ 790 0002B0 849B bsf 3995,2,c ;volatile
+ 791 0002B2 869B bsf 3995,3,c ;volatile
+ 792 0002B4 889B bsf 3995,4,c ;volatile
+ 793 0002B6 9A9B bcf 3995,5,c ;volatile
+ 794
+ 795 ;main.c: 150: OSCCONbits.IRCF = 0b111;
+ 796 0002B8 88D3 bsf 4051,4,c ;volatile
+ 797 0002BA 8AD3 bsf 4051,5,c ;volatile
+ 798 0002BC 8CD3 bsf 4051,6,c ;volatile
+ 799
+ 800 ;main.c: 152: OSCCONbits.SCS = 0b00;
+ 801 0002BE 0EFC movlw -4
+ 802 0002C0 16D3 andwf 4051,f,c ;volatile
+ 803
+ 804 ;main.c: 156: ANSELA = 0x00;
+ 805 0002C2 0E00 movlw 0
+ 806 0002C4 010F movlb 15 ; () banked
+ 807 0002C6 6F38 movwf 56,b ;volatile
+ 808
+ 809 ;main.c: 157: ANSELB = 0x00;
+ 810 0002C8 0E00 movlw 0
+ 811 0002CA 6F39 movwf 57,b ;volatile
+ 812
+ 813 ;main.c: 158: ANSELC = 0x00;
+ 814 0002CC 0E00 movlw 0
+ 815 0002CE 6F3A movwf 58,b ;volatile
+ 816
+ 817 ;main.c: 159: ANSELD = 0x00;
+ 818 0002D0 0E00 movlw 0
+ 819 0002D2 6F3B movwf 59,b ;volatile
+ 820
+ 821 ; BSR set to: 15
+ 822 ;main.c: 162: TRISA = 0xFF;
+ 823 0002D4 6892 setf 3986,c ;volatile
+ 824
+ 825 ; BSR set to: 15
+ 826 ;main.c: 163: TRISB = 0xFF;
+ 827 0002D6 6893 setf 3987,c ;volatile
+ 828
+ 829 ; BSR set to: 15
+ 830 ;main.c: 165: TRISDbits.TRISD1 = 0;
+ 831 0002D8 9295 bcf 3989,1,c ;volatile
+ 832
+ 833 ; BSR set to: 15
+ 834 ;main.c: 166: TRISDbits.TRISD2 = 0;
+ 835 0002DA 9495 bcf 3989,2,c ;volatile
+ 836
+ 837 ; BSR set to: 15
+ 838 ;main.c: 167: TRISDbits.TRISD3 = 0;
+ 839 0002DC 9695 bcf 3989,3,c ;volatile
+ 840
+ 841 ; BSR set to: 15
+ 842 ;main.c: 168: TRISDbits.TRISD4 = 0;
+ 843 0002DE 9895 bcf 3989,4,c ;volatile
+ 844
+ 845 ; BSR set to: 15
+ 846 ;main.c: 171: PORTDbits.RD1 = 1;
+ 847 0002E0 8283 bsf 3971,1,c ;volatile
+ 848
+ 849 ; BSR set to: 15
+ 850 ;main.c: 173: PORTDbits.RD2 = 0;
+ 851 0002E2 9483 bcf 3971,2,c ;volatile
+ 852
+ 853 ; BSR set to: 15
+ 854 ;main.c: 175: PORTDbits.RD3 = 1;
+ 855 0002E4 8683 bsf 3971,3,c ;volatile
+ 856
+ 857 ; BSR set to: 15
+ 858 ;main.c: 177: PORTDbits.RD4 = 0;
+ 859 0002E6 9883 bcf 3971,4,c ;volatile
+ 860
+ 861 ;main.c: 181: PR2 = 128;
+ 862 0002E8 0E80 movlw 128
+ 863 0002EA 6EBB movwf 4027,c ;volatile
+ 864
+ 865 ;main.c: 183: T2CONbits.T2OUTPS = 0b0011;
+ 866 0002EC 50BA movf 4026,w,c ;volatile
+ 867 0002EE 0B87 andlw -121
+ 868 0002F0 0918 iorlw 24
+ 869 0002F2 6EBA movwf 4026,c ;volatile
+ 870
+ 871 ;main.c: 185: T2CONbits.T2CKPS = 0b11;
+ 872 0002F4 0E03 movlw 3
+ 873 0002F6 12BA iorwf 4026,f,c ;volatile
+ 874
+ 875 ; BSR set to: 15
+ 876 ;main.c: 187: T2CONbits.TMR2ON = 1;
+ 877 0002F8 84BA bsf 4026,2,c ;volatile
+ 878
+ 879 ; BSR set to: 15
+ 880 ;main.c: 190: PIE1bits.TMR2IE = 1;
+ 881 0002FA 829D bsf 3997,1,c ;volatile
+ 882
+ 883 ; BSR set to: 15
+ 884 ;main.c: 191: PIR1bits.TMR2IF = 0;
+ 885 0002FC 929E bcf 3998,1,c ;volatile
+ 886
+ 887 ; BSR set to: 15
+ 888 ;main.c: 194: INTCONbits.PEIE = 1;
+ 889 0002FE 8CF2 bsf intcon,6,c ;volatile
+ 890
+ 891 ; BSR set to: 15
+ 892 ;main.c: 197: eusart1_init();
+ 893 000300 ECFE F001 call _eusart1_init ;wreg free
+ 894
+ 895 ;main.c: 199: (INTCONbits.GIE = 1);
+ 896 000304 8EF2 bsf intcon,7,c ;volatile
+ 897 000306 0012 return ;funcret
+ 898 000308 __end_of_init_hw:
+ 899 opt stack 0
+ 900 tblptru equ 0xFF8
+ 901 tblptrh equ 0xFF7
+ 902 tblptrl equ 0xFF6
+ 903 tablat equ 0xFF5
+ 904 intcon equ 0xFF2
+ 905 postinc0 equ 0xFEE
+ 906 wreg equ 0xFE8
+ 907 indf2 equ 0xFDF
+ 908 postinc2 equ 0xFDE
+ 909 postdec2 equ 0xFDD
+ 910 fsr2h equ 0xFDA
+ 911 fsr2l equ 0xFD9
+ 912 status equ 0xFD8
+ 913
+ 914 ;; *************** function _eusart1_init *****************
+ 915 ;; Defined at:
+ 916 ;; line 4 in file "rs232.c"
+ 917 ;; Parameters: Size Location Type
+ 918 ;; None
+ 919 ;; Auto vars: Size Location Type
+ 920 ;; None
+ 921 ;; Return value: Size Location Type
+ 922 ;; 1 wreg void
+ 923 ;; Registers used:
+ 924 ;; wreg, status,2
+ 925 ;; Tracked objects:
+ 926 ;; On entry : 0/0
+ 927 ;; On exit : 0/0
+ 928 ;; Unchanged: 0/0
+ 929 ;; Data sizes: COMRAM BANK0 BANK1 BANK2 BANK3 BANK4 BANK5
+ 930 ;; Params: 0 0 0 0 0 0 0
+ 931 ;; Locals: 0 0 0 0 0 0 0
+ 932 ;; Temps: 0 0 0 0 0 0 0
+ 933 ;; Totals: 0 0 0 0 0 0 0
+ 934 ;;Total ram usage: 0 bytes
+ 935 ;; Hardware stack levels used: 1
+ 936 ;; Hardware stack levels required when called: 1
+ 937 ;; This function calls:
+ 938 ;; Nothing
+ 939 ;; This function is called by:
+ 940 ;; _init_hw
+ 941 ;; This function uses a non-reentrant model
+ 942 ;;
+ 943
+ 944 psect text6
+ 945 0003FC __ptext6:
+ 946 opt stack 0
+ 947 0003FC _eusart1_init:
+ 948 opt stack 28
+ 949
+ 950 ;rs232.c: 7: TXSTA1bits.SYNC = 0;
+ 951
+ 952 ;incstack = 0
+ 953 0003FC 98AC bcf 4012,4,c ;volatile
+ 954
+ 955 ;rs232.c: 8: TXSTA1bits.TX9 = 0;
+ 956 0003FE 9CAC bcf 4012,6,c ;volatile
+ 957
+ 958 ;rs232.c: 11: RCSTA1bits.SPEN = 1;
+ 959 000400 8EAB bsf 4011,7,c ;volatile
+ 960
+ 961 ;rs232.c: 12: SPBRG1 = 31;
+ 962 000402 0E1F movlw 31
+ 963 000404 6EAF movwf 4015,c ;volatile
+ 964
+ 965 ;rs232.c: 13: SPBRGH1 = 0;
+ 966 000406 0E00 movlw 0
+ 967 000408 6EB0 movwf 4016,c ;volatile
+ 968
+ 969 ;rs232.c: 14: TXSTA1bits.BRGH = 0;
+ 970 00040A 94AC bcf 4012,2,c ;volatile
+ 971
+ 972 ;rs232.c: 15: BAUDCON1bits.BRG16 = 0;
+ 973 00040C 96B8 bcf 4024,3,c ;volatile
+ 974
+ 975 ;rs232.c: 18: TRISCbits.TRISC7 = 1;
+ 976 00040E 8E94 bsf 3988,7,c ;volatile
+ 977
+ 978 ;rs232.c: 19: TRISCbits.TRISC6 = 1;
+ 979 000410 8C94 bsf 3988,6,c ;volatile
+ 980
+ 981 ;rs232.c: 20: RCSTA1bits.CREN = 1;
+ 982 000412 88AB bsf 4011,4,c ;volatile
+ 983
+ 984 ;rs232.c: 21: TXSTA1bits.TXEN = 1;
+ 985 000414 8AAC bsf 4012,5,c ;volatile
+ 986 000416 0012 return ;funcret
+ 987 000418 __end_of_eusart1_init:
+ 988 opt stack 0
+ 989 tblptru equ 0xFF8
+ 990 tblptrh equ 0xFF7
+ 991 tblptrl equ 0xFF6
+ 992 tablat equ 0xFF5
+ 993 intcon equ 0xFF2
+ 994 postinc0 equ 0xFEE
+ 995 wreg equ 0xFE8
+ 996 indf2 equ 0xFDF
+ 997 postinc2 equ 0xFDE
+ 998 postdec2 equ 0xFDD
+ 999 fsr2h equ 0xFDA
+ 1000 fsr2l equ 0xFD9
+ 1001 status equ 0xFD8
+ 1002
+ 1003 ;; *************** function _eusart_write_midi *****************
+ 1004 ;; Defined at:
+ 1005 ;; line 226 in file "main.c"
+ 1006 ;; Parameters: Size Location Type
+ 1007 ;; pkt 2 26[COMRAM] PTR const struct .
+ 1008 ;; -> main@sample_message(7),
+ 1009 ;; Auto vars: Size Location Type
+ 1010 ;; data 2 32[COMRAM] PTR unsigned char
+ 1011 ;; -> sample_message.data(4), main@sample_message(7),
+ 1012 ;; length 2 30[COMRAM] unsigned int
+ 1013 ;; Return value: Size Location Type
+ 1014 ;; 2 26[COMRAM] int
+ 1015 ;; Registers used:
+ 1016 ;; wreg, fsr2l, fsr2h, status,2, status,0, cstack
+ 1017 ;; Tracked objects:
+ 1018 ;; On entry : 0/0
+ 1019 ;; On exit : 0/0
+ 1020 ;; Unchanged: 0/0
+ 1021 ;; Data sizes: COMRAM BANK0 BANK1 BANK2 BANK3 BANK4 BANK5
+ 1022 ;; Params: 2 0 0 0 0 0 0
+ 1023 ;; Locals: 4 0 0 0 0 0 0
+ 1024 ;; Temps: 2 0 0 0 0 0 0
+ 1025 ;; Totals: 8 0 0 0 0 0 0
+ 1026 ;;Total ram usage: 8 bytes
+ 1027 ;; Hardware stack levels used: 1
+ 1028 ;; Hardware stack levels required when called: 2
+ 1029 ;; This function calls:
+ 1030 ;; _putch
+ 1031 ;; This function is called by:
+ 1032 ;; _main
+ 1033 ;; This function uses a non-reentrant model
+ 1034 ;;
+ 1035
+ 1036 psect text7
+ 1037 000234 __ptext7:
+ 1038 opt stack 0
+ 1039 000234 _eusart_write_midi:
+ 1040 opt stack 28
+ 1041
+ 1042 ;main.c: 228: size_t length;
+ 1043 ;main.c: 229: uint8_t *data;
+ 1044 ;main.c: 231: if (pkt == (0)) {
+ 1045
+ 1046 ;incstack = 0
+ 1047 000234 501B movf eusart_write_midi@pkt,w,c
+ 1048 000236 101C iorwf eusart_write_midi@pkt+1,w,c
+ 1049 000238 B4D8 btfsc status,2,c
+ 1050 00023A 0012 return
+ 1051
+ 1052 ;main.c: 233: }
+ 1053 ;main.c: 235: length = pkt->data_size;
+ 1054
+ 1055 ;main.c: 232: return -1;
+ 1056 ; Return value of _eusart_write_midi is never used
+ 1057 00023C EE20 F001 lfsr 2,1
+ 1058 000240 501B movf eusart_write_midi@pkt,w,c
+ 1059 000242 26D9 addwf fsr2l,f,c
+ 1060 000244 501C movf eusart_write_midi@pkt+1,w,c
+ 1061 000246 22DA addwfc fsr2h,f,c
+ 1062 000248 CFDE F01F movff postinc2,eusart_write_midi@length
+ 1063 00024C CFDD F020 movff postdec2,eusart_write_midi@length+1
+ 1064
+ 1065 ;main.c: 236: data = (uint8_t *) pkt->data;
+ 1066 000250 0E03 movlw 3
+ 1067 000252 241B addwf eusart_write_midi@pkt,w,c
+ 1068 000254 6E21 movwf eusart_write_midi@data,c
+ 1069 000256 0E00 movlw 0
+ 1070 000258 201C addwfc eusart_write_midi@pkt+1,w,c
+ 1071 00025A 6E22 movwf eusart_write_midi@data+1,c
+ 1072
+ 1073 ;main.c: 238: putch((char)((pkt->status << 4) | pkt->channel));
+ 1074 00025C C01B FFD9 movff eusart_write_midi@pkt,fsr2l
+ 1075 000260 C01C FFDA movff eusart_write_midi@pkt+1,fsr2h
+ 1076 000264 38DF swapf indf2,w,c
+ 1077 000266 0B0F andlw 15
+ 1078 000268 6E1D movwf ??_eusart_write_midi& (0+255),c
+ 1079 00026A C01B FFD9 movff eusart_write_midi@pkt,fsr2l
+ 1080 00026E C01C FFDA movff eusart_write_midi@pkt+1,fsr2h
+ 1081 000272 50DF movf indf2,w,c
+ 1082 000274 0B0F andlw 15
+ 1083 000276 6E1E movwf (??_eusart_write_midi+1)& (0+255),c
+ 1084 000278 381E swapf ??_eusart_write_midi+1,w,c
+ 1085 00027A 0BF0 andlw 240
+ 1086 00027C 101D iorwf ??_eusart_write_midi,w,c
+ 1087 00027E EC0C F002 call _putch
+ 1088
+ 1089 ;main.c: 240: while (length--) {
+ 1090 000282 D009 goto l78
+ 1091 000284 l1163:
+ 1092
+ 1093 ;main.c: 241: putch((char) *(data++));
+ 1094 000284 C021 FFD9 movff eusart_write_midi@data,fsr2l
+ 1095 000288 C022 FFDA movff eusart_write_midi@data+1,fsr2h
+ 1096 00028C 50DF movf indf2,w,c
+ 1097 00028E EC0C F002 call _putch
+ 1098 000292 4A21 infsnz eusart_write_midi@data,f,c
+ 1099 000294 2A22 incf eusart_write_midi@data+1,f,c
+ 1100 000296 l78:
+ 1101 000296 061F decf eusart_write_midi@length,f,c
+ 1102 000298 A0D8 btfss status,0,c
+ 1103 00029A 0620 decf eusart_write_midi@length+1,f,c
+ 1104 00029C 281F incf eusart_write_midi@length,w,c
+ 1105 00029E E1F2 bnz l1163
+ 1106 0002A0 2820 incf eusart_write_midi@length+1,w,c
+ 1107 0002A2 B4D8 btfsc status,2,c
+ 1108 0002A4 0012 return
+ 1109 0002A6 D7EE goto l79
+ 1110 0002A8 __end_of_eusart_write_midi:
+ 1111 opt stack 0
+ 1112 tblptru equ 0xFF8
+ 1113 tblptrh equ 0xFF7
+ 1114 tblptrl equ 0xFF6
+ 1115 tablat equ 0xFF5
+ 1116 intcon equ 0xFF2
+ 1117 postinc0 equ 0xFEE
+ 1118 wreg equ 0xFE8
+ 1119 indf2 equ 0xFDF
+ 1120 postinc2 equ 0xFDE
+ 1121 postdec2 equ 0xFDD
+ 1122 fsr2h equ 0xFDA
+ 1123 fsr2l equ 0xFD9
+ 1124 status equ 0xFD8
+ 1125
+ 1126 ;; *************** function _putch *****************
+ 1127 ;; Defined at:
+ 1128 ;; line 29 in file "rs232.c"
+ 1129 ;; Parameters: Size Location Type
+ 1130 ;; c 1 wreg unsigned char
+ 1131 ;; Auto vars: Size Location Type
+ 1132 ;; c 1 25[COMRAM] unsigned char
+ 1133 ;; Return value: Size Location Type
+ 1134 ;; 1 wreg void
+ 1135 ;; Registers used:
+ 1136 ;; wreg
+ 1137 ;; Tracked objects:
+ 1138 ;; On entry : 0/0
+ 1139 ;; On exit : 0/0
+ 1140 ;; Unchanged: 0/0
+ 1141 ;; Data sizes: COMRAM BANK0 BANK1 BANK2 BANK3 BANK4 BANK5
+ 1142 ;; Params: 0 0 0 0 0 0 0
+ 1143 ;; Locals: 1 0 0 0 0 0 0
+ 1144 ;; Temps: 0 0 0 0 0 0 0
+ 1145 ;; Totals: 1 0 0 0 0 0 0
+ 1146 ;;Total ram usage: 1 bytes
+ 1147 ;; Hardware stack levels used: 1
+ 1148 ;; Hardware stack levels required when called: 1
+ 1149 ;; This function calls:
+ 1150 ;; Nothing
+ 1151 ;; This function is called by:
+ 1152 ;; _eusart_write_midi
+ 1153 ;; _getche
+ 1154 ;; This function uses a non-reentrant model
+ 1155 ;;
+ 1156
+ 1157 psect text8
+ 1158 000418 __ptext8:
+ 1159 opt stack 0
+ 1160 000418 _putch:
+ 1161 opt stack 28
+ 1162
+ 1163 ;incstack = 0
+ 1164 ;putch@c stored from wreg
+ 1165 000418 6E1A movwf putch@c,c
+ 1166 00041A
+ 1167 ;rs232.c: 31: while (!TX1IF);
+ 1168 00041A A89E btfss 3998,4,c ;volatile
+ 1169 00041C D7FE goto l1071
+ 1170
+ 1171 ;rs232.c: 32: TX1REG = c;
+ 1172 00041E C01A FFAD movff putch@c,4013 ;volatile
+ 1173 000422 0012 return ;funcret
+ 1174 000424 __end_of_putch:
+ 1175 opt stack 0
+ 1176 tblptru equ 0xFF8
+ 1177 tblptrh equ 0xFF7
+ 1178 tblptrl equ 0xFF6
+ 1179 tablat equ 0xFF5
+ 1180 intcon equ 0xFF2
+ 1181 postinc0 equ 0xFEE
+ 1182 wreg equ 0xFE8
+ 1183 indf2 equ 0xFDF
+ 1184 postinc2 equ 0xFDE
+ 1185 postdec2 equ 0xFDD
+ 1186 fsr2h equ 0xFDA
+ 1187 fsr2l equ 0xFD9
+ 1188 status equ 0xFD8
+ 1189
+ 1190 ;; *************** function _isr *****************
+ 1191 ;; Defined at:
+ 1192 ;; line 101 in file "main.c"
+ 1193 ;; Parameters: Size Location Type
+ 1194 ;; None
+ 1195 ;; Auto vars: Size Location Type
+ 1196 ;; i 1 24[COMRAM] unsigned char
+ 1197 ;; data 1 23[COMRAM] unsigned char
+ 1198 ;; Return value: Size Location Type
+ 1199 ;; 1 wreg void
+ 1200 ;; Registers used:
+ 1201 ;; wreg, fsr2l, fsr2h, status,2, status,0, prodl, prodh
+ 1202 ;; Tracked objects:
+ 1203 ;; On entry : 0/0
+ 1204 ;; On exit : 0/0
+ 1205 ;; Unchanged: 0/0
+ 1206 ;; Data sizes: COMRAM BANK0 BANK1 BANK2 BANK3 BANK4 BANK5
+ 1207 ;; Params: 0 0 0 0 0 0 0
+ 1208 ;; Locals: 3 0 0 0 0 0 0
+ 1209 ;; Temps: 22 0 0 0 0 0 0
+ 1210 ;; Totals: 25 0 0 0 0 0 0
+ 1211 ;;Total ram usage: 25 bytes
+ 1212 ;; Hardware stack levels used: 1
+ 1213 ;; This function calls:
+ 1214 ;; Nothing
+ 1215 ;; This function is called by:
+ 1216 ;; Interrupt level 2
+ 1217 ;; This function uses a non-reentrant model
+ 1218 ;;
+ 1219
+ 1220 psect intcode
+ 1221 000008 __pintcode:
+ 1222 opt stack 0
+ 1223 000008 _isr:
+ 1224 opt stack 28
+ 1225
+ 1226 ;incstack = 0
+ 1227 000008 8245 bsf btemp,1,c ;set compiler interrupt flag (level 2)
+ 1228 00000A CFFA F005 movff pclath,??_isr+4
+ 1229 00000E CFFB F006 movff pclatu,??_isr+5
+ 1230 000012 CFE9 F007 movff fsr0l,??_isr+6
+ 1231 000016 CFEA F008 movff fsr0h,??_isr+7
+ 1232 00001A CFE1 F009 movff fsr1l,??_isr+8
+ 1233 00001E CFE2 F00A movff fsr1h,??_isr+9
+ 1234 000022 CFD9 F00B movff fsr2l,??_isr+10
+ 1235 000026 CFDA F00C movff fsr2h,??_isr+11
+ 1236 00002A CFF3 F00D movff prodl,??_isr+12
+ 1237 00002E CFF4 F00E movff prodh,??_isr+13
+ 1238 000032 CFF6 F00F movff tblptrl,??_isr+14
+ 1239 000036 CFF7 F010 movff tblptrh,??_isr+15
+ 1240 00003A CFF8 F011 movff tblptru,??_isr+16
+ 1241 00003E CFF5 F012 movff tablat,??_isr+17
+ 1242 000042 C045 F013 movff btemp,??_isr+18
+ 1243 000046 C046 F014 movff btemp+1,??_isr+19
+ 1244 00004A C047 F015 movff btemp+2,??_isr+20
+ 1245 00004E C048 F016 movff btemp+3,??_isr+21
+ 1246
+ 1247 ;main.c: 103: unsigned char i, data;
+ 1248 ;main.c: 105: PORTDbits.RD3 = 0;
+ 1249 000052 9683 bcf 3971,3,c ;volatile
+ 1250
+ 1251 ;main.c: 107: if (PIR1bits.TMR2IF) {
+ 1252 000054 A29E btfss 3998,1,c ;volatile
+ 1253 000056 D089 goto i2l55
+ 1254
+ 1255 ;main.c: 109: data = PORTA;
+ 1256 000058 CF80 F018 movff 3968,isr@data ;volatile
+ 1257
+ 1258 ;main.c: 110: i = 7;
+ 1259 00005C 0E07 movlw 7
+ 1260 00005E 6E19 movwf isr@i,c
+ 1261 000060
+ 1262 ;main.c: 112: keypresses[i] = (keypresses[i] << 1) | ((data >> i) & 0x01);
+ 1263 000060 5019 movf isr@i,w,c
+ 1264 000062 0D02 mullw 2
+ 1265 000064 0E25 movlw low _keypresses
+ 1266 000066 24F3 addwf prodl,w,c
+ 1267 000068 6ED9 movwf fsr2l,c
+ 1268 00006A 0E00 movlw high _keypresses
+ 1269 00006C 20F4 addwfc prodh,w,c
+ 1270 00006E 6EDA movwf fsr2h,c
+ 1271 000070 CFDE F001 movff postinc2,??_isr
+ 1272 000074 CFDD F002 movff postdec2,??_isr+1
+ 1273 000078 90D8 bcf status,0,c
+ 1274 00007A 3601 rlcf ??_isr,f,c
+ 1275 00007C 3602 rlcf ??_isr+1,f,c
+ 1276 00007E C019 F003 movff isr@i,??_isr+2
+ 1277 000082 C018 F004 movff isr@data,??_isr+3
+ 1278 000086 2A03 incf ??_isr+2,f,c
+ 1279 000088 D002 goto i2u29_44
+ 1280 00008A i2u29_45:
+ 1281 00008A 90D8 bcf status,0,c
+ 1282 00008C 3204 rrcf ??_isr+3,f,c
+ 1283 00008E i2u29_44:
+ 1284 00008E 2E03 decfsz ??_isr+2,f,c
+ 1285 000090 D7FC goto i2u29_45
+ 1286 000092 0E01 movlw 1
+ 1287 000094 1604 andwf ??_isr+3,f,c
+ 1288 000096 5004 movf ??_isr+3,w,c
+ 1289 000098 1201 iorwf ??_isr,f,c
+ 1290 00009A 0E00 movlw 0
+ 1291 00009C 1202 iorwf ??_isr+1,f,c
+ 1292 00009E 5019 movf isr@i,w,c
+ 1293 0000A0 0D02 mullw 2
+ 1294 0000A2 0E25 movlw low _keypresses
+ 1295 0000A4 24F3 addwf prodl,w,c
+ 1296 0000A6 6ED9 movwf fsr2l,c
+ 1297 0000A8 0E00 movlw high _keypresses
+ 1298 0000AA 20F4 addwfc prodh,w,c
+ 1299 0000AC 6EDA movwf fsr2h,c
+ 1300 0000AE C001 FFDE movff ??_isr,postinc2
+ 1301 0000B2 C002 FFDD movff ??_isr+1,postdec2
+ 1302
+ 1303 ;main.c: 113: } while (i--);
+ 1304 0000B6 0619 decf isr@i,f,c
+ 1305 0000B8 2819 incf isr@i,w,c
+ 1306 0000BA A4D8 btfss status,2,c
+ 1307 0000BC D7D1 goto i2l56
+ 1308
+ 1309 ;main.c: 115: data = PORTB;
+ 1310 0000BE CF81 F018 movff 3969,isr@data ;volatile
+ 1311
+ 1312 ;main.c: 116: i = 7;
+ 1313 0000C2 0E07 movlw 7
+ 1314 0000C4 6E19 movwf isr@i,c
+ 1315 0000C6
+ 1316 ;main.c: 118: keypresses[i] = (keypresses[i] << 1) | ((data >> i) & 0x01);
+ 1317 0000C6 5019 movf isr@i,w,c
+ 1318 0000C8 0D02 mullw 2
+ 1319 0000CA 0E25 movlw low _keypresses
+ 1320 0000CC 24F3 addwf prodl,w,c
+ 1321 0000CE 6ED9 movwf fsr2l,c
+ 1322 0000D0 0E00 movlw high _keypresses
+ 1323 0000D2 20F4 addwfc prodh,w,c
+ 1324 0000D4 6EDA movwf fsr2h,c
+ 1325 0000D6 CFDE F001 movff postinc2,??_isr
+ 1326 0000DA CFDD F002 movff postdec2,??_isr+1
+ 1327 0000DE 90D8 bcf status,0,c
+ 1328 0000E0 3601 rlcf ??_isr,f,c
+ 1329 0000E2 3602 rlcf ??_isr+1,f,c
+ 1330 0000E4 C019 F003 movff isr@i,??_isr+2
+ 1331 0000E8 C018 F004 movff isr@data,??_isr+3
+ 1332 0000EC 2A03 incf ??_isr+2,f,c
+ 1333 0000EE D002 goto i2u31_44
+ 1334 0000F0 i2u31_45:
+ 1335 0000F0 90D8 bcf status,0,c
+ 1336 0000F2 3204 rrcf ??_isr+3,f,c
+ 1337 0000F4 i2u31_44:
+ 1338 0000F4 2E03 decfsz ??_isr+2,f,c
+ 1339 0000F6 D7FC goto i2u31_45
+ 1340 0000F8 0E01 movlw 1
+ 1341 0000FA 1604 andwf ??_isr+3,f,c
+ 1342 0000FC 5004 movf ??_isr+3,w,c
+ 1343 0000FE 1201 iorwf ??_isr,f,c
+ 1344 000100 0E00 movlw 0
+ 1345 000102 1202 iorwf ??_isr+1,f,c
+ 1346 000104 5019 movf isr@i,w,c
+ 1347 000106 0D02 mullw 2
+ 1348 000108 0E25 movlw low _keypresses
+ 1349 00010A 24F3 addwf prodl,w,c
+ 1350 00010C 6ED9 movwf fsr2l,c
+ 1351 00010E 0E00 movlw high _keypresses
+ 1352 000110 20F4 addwfc prodh,w,c
+ 1353 000112 6EDA movwf fsr2h,c
+ 1354 000114 C001 FFDE movff ??_isr,postinc2
+ 1355 000118 C002 FFDD movff ??_isr+1,postdec2
+ 1356
+ 1357 ;main.c: 119: } while (i-- - 8);
+ 1358 00011C 0EF8 movlw 248
+ 1359 00011E 6E01 movwf ??_isr& (0+255),c
+ 1360 000120 0EFF movlw 255
+ 1361 000122 6E02 movwf (??_isr+1)& (0+255),c
+ 1362 000124 0619 decf isr@i,f,c
+ 1363 000126 2819 incf isr@i,w,c
+ 1364 000128 6E03 movwf (??_isr+2)& (0+255),c
+ 1365 00012A 6A04 clrf (??_isr+3)& (0+255),c
+ 1366 00012C 5001 movf ??_isr,w,c
+ 1367 00012E 2603 addwf ??_isr+2,f,c
+ 1368 000130 5002 movf ??_isr+1,w,c
+ 1369 000132 2204 addwfc ??_isr+3,f,c
+ 1370 000134 5003 movf ??_isr+2,w,c
+ 1371 000136 1004 iorwf ??_isr+3,w,c
+ 1372 000138 A4D8 btfss status,2,c
+ 1373 00013A D7C5 goto i2l58
+ 1374
+ 1375 ;main.c: 129: PORTDbits.RD4 = PORTAbits.RA0;
+ 1376 00013C A080 btfss 3968,0,c ;volatile
+ 1377 00013E D002 bra i2u33_45
+ 1378 000140 8883 bsf 3971,4,c ;volatile
+ 1379 000142 D001 bra i2u33_47
+ 1380 000144 i2u33_45:
+ 1381 000144 9883 bcf 3971,4,c ;volatile
+ 1382 000146 i2u33_47:
+ 1383
+ 1384 ;main.c: 130: PORTDbits.RD2 = (keypresses[0] && !(keypresses[0] & 0xFF00));
+ 1385 000146 0E00 movlw 0
+ 1386 000148 6E17 movwf _isr$592,c
+ 1387 00014A 5025 movf _keypresses,w,c ;volatile
+ 1388 00014C 1026 iorwf _keypresses+1,w,c ;volatile
+ 1389 00014E B4D8 btfsc status,2,c
+ 1390 000150 D006 goto i2l61
+ 1391 000152 0EFF movlw 255
+ 1392 000154 1426 andwf _keypresses+1,w,c ;volatile
+ 1393 000156 A4D8 btfss status,2,c
+ 1394 000158 D002 goto i2l61
+ 1395 00015A 0E01 movlw 1
+ 1396 00015C 6E17 movwf _isr$592,c
+ 1397 00015E i2l61:
+ 1398 00015E B017 btfsc _isr$592,0,c
+ 1399 000160 D002 bra i2u36_45
+ 1400 000162 9483 bcf 3971,2,c ;volatile
+ 1401 000164 D001 bra i2u36_46
+ 1402 000166 i2u36_45:
+ 1403 000166 8483 bsf 3971,2,c ;volatile
+ 1404 000168 i2u36_46:
+ 1405
+ 1406 ;main.c: 133: PIR1bits.TMR2IF = 0;
+ 1407 000168 929E bcf 3998,1,c ;volatile
+ 1408 00016A i2l55:
+ 1409
+ 1410 ;main.c: 134: }
+ 1411 ;main.c: 136: PORTDbits.RD3 = 1;
+ 1412 00016A 8683 bsf 3971,3,c ;volatile
+ 1413 00016C C016 F048 movff ??_isr+21,btemp+3
+ 1414 000170 C015 F047 movff ??_isr+20,btemp+2
+ 1415 000174 C014 F046 movff ??_isr+19,btemp+1
+ 1416 000178 C013 F045 movff ??_isr+18,btemp
+ 1417 00017C C012 FFF5 movff ??_isr+17,tablat
+ 1418 000180 C011 FFF8 movff ??_isr+16,tblptru
+ 1419 000184 C010 FFF7 movff ??_isr+15,tblptrh
+ 1420 000188 C00F FFF6 movff ??_isr+14,tblptrl
+ 1421 00018C C00E FFF4 movff ??_isr+13,prodh
+ 1422 000190 C00D FFF3 movff ??_isr+12,prodl
+ 1423 000194 C00C FFDA movff ??_isr+11,fsr2h
+ 1424 000198 C00B FFD9 movff ??_isr+10,fsr2l
+ 1425 00019C C00A FFE2 movff ??_isr+9,fsr1h
+ 1426 0001A0 C009 FFE1 movff ??_isr+8,fsr1l
+ 1427 0001A4 C008 FFEA movff ??_isr+7,fsr0h
+ 1428 0001A8 C007 FFE9 movff ??_isr+6,fsr0l
+ 1429 0001AC C006 FFFB movff ??_isr+5,pclatu
+ 1430 0001B0 C005 FFFA movff ??_isr+4,pclath
+ 1431 0001B4 9245 bcf btemp,1,c ;clear compiler interrupt flag (level 2)
+ 1432 0001B6 0011 retfie f
+ 1433 0001B8 __end_of_isr:
+ 1434 opt stack 0
+ 1435 0000 pclatu equ 0xFFB
+ 1436 pclath equ 0xFFA
+ 1437 tblptru equ 0xFF8
+ 1438 tblptrh equ 0xFF7
+ 1439 tblptrl equ 0xFF6
+ 1440 tablat equ 0xFF5
+ 1441 prodh equ 0xFF4
+ 1442 prodl equ 0xFF3
+ 1443 intcon equ 0xFF2
+ 1444 postinc0 equ 0xFEE
+ 1445 fsr0h equ 0xFEA
+ 1446 fsr0l equ 0xFE9
+ 1447 wreg equ 0xFE8
+ 1448 fsr1h equ 0xFE2
+ 1449 fsr1l equ 0xFE1
+ 1450 indf2 equ 0xFDF
+ 1451 postinc2 equ 0xFDE
+ 1452 postdec2 equ 0xFDD
+ 1453 fsr2h equ 0xFDA
+ 1454 fsr2l equ 0xFD9
+ 1455 status equ 0xFD8
+ 1456 pclatu equ 0xFFB
+ 1457 pclath equ 0xFFA
+ 1458 tblptru equ 0xFF8
+ 1459 tblptrh equ 0xFF7
+ 1460 tblptrl equ 0xFF6
+ 1461 tablat equ 0xFF5
+ 1462 prodh equ 0xFF4
+ 1463 prodl equ 0xFF3
+ 1464 intcon equ 0xFF2
+ 1465 postinc0 equ 0xFEE
+ 1466 fsr0h equ 0xFEA
+ 1467 fsr0l equ 0xFE9
+ 1468 wreg equ 0xFE8
+ 1469 fsr1h equ 0xFE2
+ 1470 fsr1l equ 0xFE1
+ 1471 indf2 equ 0xFDF
+ 1472 postinc2 equ 0xFDE
+ 1473 postdec2 equ 0xFDD
+ 1474 fsr2h equ 0xFDA
+ 1475 fsr2l equ 0xFD9
+ 1476 status equ 0xFD8
+ 1477
+ 1478 psect rparam
+ 1479 0000 pclatu equ 0xFFB
+ 1480 pclath equ 0xFFA
+ 1481 tblptru equ 0xFF8
+ 1482 tblptrh equ 0xFF7
+ 1483 tblptrl equ 0xFF6
+ 1484 tablat equ 0xFF5
+ 1485 prodh equ 0xFF4
+ 1486 prodl equ 0xFF3
+ 1487 intcon equ 0xFF2
+ 1488 postinc0 equ 0xFEE
+ 1489 fsr0h equ 0xFEA
+ 1490 fsr0l equ 0xFE9
+ 1491 wreg equ 0xFE8
+ 1492 fsr1h equ 0xFE2
+ 1493 fsr1l equ 0xFE1
+ 1494 indf2 equ 0xFDF
+ 1495 postinc2 equ 0xFDE
+ 1496 postdec2 equ 0xFDD
+ 1497 fsr2h equ 0xFDA
+ 1498 fsr2l equ 0xFD9
+ 1499 status equ 0xFD8
+ 1500
+ 1501 psect temp
+ 1502 000045 btemp:
+ 1503 opt stack 0
+ 1504 000045 ds 1
+ 1505 0000 int$flags set btemp
+ 1506 0000 wtemp6 set btemp+1
+ 1507 pclatu equ 0xFFB
+ 1508 pclath equ 0xFFA
+ 1509 tblptru equ 0xFF8
+ 1510 tblptrh equ 0xFF7
+ 1511 tblptrl equ 0xFF6
+ 1512 tablat equ 0xFF5
+ 1513 prodh equ 0xFF4
+ 1514 prodl equ 0xFF3
+ 1515 intcon equ 0xFF2
+ 1516 postinc0 equ 0xFEE
+ 1517 fsr0h equ 0xFEA
+ 1518 fsr0l equ 0xFE9
+ 1519 wreg equ 0xFE8
+ 1520 fsr1h equ 0xFE2
+ 1521 fsr1l equ 0xFE1
+ 1522 indf2 equ 0xFDF
+ 1523 postinc2 equ 0xFDE
+ 1524 postdec2 equ 0xFDD
+ 1525 fsr2h equ 0xFDA
+ 1526 fsr2l equ 0xFD9
+ 1527 status equ 0xFD8
+
+
+Data Sizes:
+ Strings 0
+ Constant 0
+ Data 2
+ BSS 30
+ Persistent 0
+ Stack 0
+
+Auto Spaces:
+ Space Size Autos Used
+ COMRAM 94 36 68
+ BANK0 160 9 9
+ BANK1 256 0 0
+ BANK2 256 0 0
+ BANK3 256 0 0
+ BANK4 256 0 0
+ BANK5 256 0 0
+
+Pointer List with Targets:
+
+ memset@p1 PTR void size(2) Largest target is 30
+ -> keypresses(COMRAM[30]),
+
+ memset@p PTR unsigned char size(2) Largest target is 30
+ -> keypresses(COMRAM[30]),
+
+ midi_note_on@pkt PTR struct . size(2) Largest target is 7
+ -> main@sample_message(BANK0[7]),
+
+ midi_set_channel@pkt PTR struct . size(2) Largest target is 7
+ -> main@sample_message(BANK0[7]),
+
+ midi_set_status@pkt PTR struct . size(2) Largest target is 7
+ -> main@sample_message(BANK0[7]),
+
+ eusart_write_midi@data PTR unsigned char size(2) Largest target is 7
+ -> sample_message.data(COMRAM[4]), main@sample_message(BANK0[7]),
+
+ eusart_write_midi@pkt PTR const struct . size(2) Largest target is 7
+ -> main@sample_message(BANK0[7]),
+
+ sp__memset PTR void size(2) Largest target is 30
+ -> keypresses(COMRAM[30]),
+
+
+Critical Paths under _main in COMRAM
+
+ _main->_midi_note_on
+ _midi_note_on->_midi_set_channel
+ _eusart_write_midi->_putch
+
+Critical Paths under _isr in COMRAM
+
+ None.
+
+Critical Paths under _main in BANK0
+
+ _main->_midi_note_on
+
+Critical Paths under _isr in BANK0
+
+ None.
+
+Critical Paths under _main in BANK1
+
+ None.
+
+Critical Paths under _isr in BANK1
+
+ None.
+
+Critical Paths under _main in BANK2
+
+ None.
+
+Critical Paths under _isr in BANK2
+
+ None.
+
+Critical Paths under _main in BANK3
+
+ None.
+
+Critical Paths under _isr in BANK3
+
+ None.
+
+Critical Paths under _main in BANK4
+
+ None.
+
+Critical Paths under _isr in BANK4
+
+ None.
+
+Critical Paths under _main in BANK5
+
+ None.
+
+Critical Paths under _isr in BANK5
+
+ None.
+
+Call Graph Tables:
+
+ ---------------------------------------------------------------------------------
+ (Depth) Function Calls Base Space Used Autos Params Refs
+ ---------------------------------------------------------------------------------
+ (0) _main 9 9 0 2419
+ 2 BANK0 7 7 0
+ _eusart_write_midi
+ _init_hw
+ _memset
+ _midi_note_on
+ ---------------------------------------------------------------------------------
+ (1) _midi_note_on 8 2 6 1576
+ 30 COMRAM 6 0 6
+ 0 BANK0 2 2 0
+ _midi_set_channel
+ _midi_set_status
+ ---------------------------------------------------------------------------------
+ (2) _midi_set_status 4 1 3 453
+ 25 COMRAM 4 1 3
+ ---------------------------------------------------------------------------------
+ (2) _midi_set_channel 5 1 4 453
+ 25 COMRAM 5 1 4
+ ---------------------------------------------------------------------------------
+ (1) _memset 8 2 6 407
+ 25 COMRAM 8 2 6
+ ---------------------------------------------------------------------------------
+ (1) _init_hw 0 0 0 0
+ _eusart1_init
+ ---------------------------------------------------------------------------------
+ (2) _eusart1_init 0 0 0 0
+ ---------------------------------------------------------------------------------
+ (1) _eusart_write_midi 8 6 2 338
+ 26 COMRAM 8 6 2
+ _putch
+ ---------------------------------------------------------------------------------
+ (2) _putch 1 1 0 22
+ 25 COMRAM 1 1 0
+ ---------------------------------------------------------------------------------
+ Estimated maximum stack depth 2
+ ---------------------------------------------------------------------------------
+ (Depth) Function Calls Base Space Used Autos Params Refs
+ ---------------------------------------------------------------------------------
+ (3) _isr 25 25 0 248
+ 0 COMRAM 25 25 0
+ ---------------------------------------------------------------------------------
+ Estimated maximum stack depth 3
+ ---------------------------------------------------------------------------------
+
+ Call Graph Graphs:
+
+ _main (ROOT)
+ _eusart_write_midi
+ _putch
+ _init_hw
+ _eusart1_init
+ _memset
+ _midi_note_on
+ _midi_set_channel
+ _midi_set_status
+
+ _isr (ROOT)
+
+ Address spaces:
+Name Size Autos Total Cost Usage
+BIGRAM 5FF 0 0 16 0.0%
+EEDATA 100 0 0 0 0.0%
+BITBANK5 100 0 0 14 0.0%
+BANK5 100 0 0 15 0.0%
+BITBANK4 100 0 0 12 0.0%
+BANK4 100 0 0 13 0.0%
+BITBANK3 100 0 0 10 0.0%
+BANK3 100 0 0 11 0.0%
+BITBANK2 100 0 0 7 0.0%
+BANK2 100 0 0 8 0.0%
+BITBANK1 100 0 0 5 0.0%
+BANK1 100 0 0 6 0.0%
+BITBANK0 A0 0 0 3 0.0%
+BANK0 A0 9 9 4 5.6%
+BITCOMRAM 5E 0 0 0 0.0%
+COMRAM 5E 24 44 1 72.3%
+BITSFR_1 0 0 0 200 0.0%
+SFR_1 0 0 0 200 0.0%
+BITSFR 0 0 0 200 0.0%
+SFR 0 0 0 200 0.0%
+STACK 0 0 0 2 0.0%
+NULL 0 0 0 0 0.0%
+ABS 0 0 4D 9 0.0%
+DATA 0 0 4D 17 0.0%
+CODE 0 0 0 0 0.0%
+
+
+Microchip Technology PIC18 Macro Assembler V1.44 build -154322312
+Symbol Table Fri Feb 23 16:30:02 2018
+
+ l70 0346 l78 0296 l79 0284
+ __CFG_CP0$OFF 000000 __CFG_CP1$OFF 000000 __CFG_CP2$OFF 000000
+ __CFG_CP3$OFF 000000 __CFG_LVP$ON 000000 l570 0390
+ l569 03A0 __CFG_CPB$OFF 000000 _PR2 000FBB
+ __CFG_CPD$OFF 000000 _isr 0008 prod 000FF3
+ wreg 000FE8 _TXSTA1bits 000FAC l1071 041A
+ l1129 0390 l1163 0284 ?_isr 0001
+ i2l61 015E i2l55 016A i2l56 0060
+ i2l58 00C6 _main 0308 midi_note_on@channel 0021
+ fsr0h 000FEA fsr1h 000FE2 fsr2h 000FDA
+ fsr0l 000FE9 indf2 000FDF fsr1l 000FE1
+ fsr2l 000FD9 btemp 0045 __CFG_BORV$190 000000
+ isr@i 0019 prodh 000FF4 prodl 000FF3
+ start 01B8 __CFG_IESO$OFF 000000 midi_note_on@pkt 001F
+ ___param_bank 000000 ??_isr 0001 _BAUDCON1bits 000FB8
+ ?_main 0001 _RC1IF 007CF5 __CFG_WDTEN$ON 000000
+ _TX1IF 007CF4 _PORTA 000F80 _PORTB 000F81
+ _TRISA 000F92 _TRISB 000F93 __CFG_WRT0$OFF 000000
+ __CFG_WRT1$OFF 000000 __CFG_WRT2$OFF 000000 __CFG_WRT3$OFF 000000
+ __CFG_EBTR0$OFF 000000 __CFG_FCMEN$OFF 000000 __CFG_EBTR1$OFF 000000
+ __CFG_EBTR2$OFF 000000 __CFG_EBTR3$OFF 000000 __CFG_WRTB$OFF 000000
+ __CFG_WRTC$OFF 000000 __CFG_WRTD$OFF 000000 __CFG_EBTRB$OFF 000000
+ __end_of_init_hw 0308 __CFG_MCLRE$EXTMCLR 000000 _putch 0418
+ pclath 000FFA tablat 000FF5 _eusart_write_midi 0234
+ __end_of_midi_set_status 03FC status 000FD8 wtemp6 0046
+ __CFG_HFOFST$ON 000000 ?_eusart_write_midi 001B __CFG_PBADEN$ON 000000
+ eusart_write_midi@length 001F __initialization 0354 midi_note_on@note 0023
+ __end_of_main 0354 ??_eusart_write_midi 001D midi_note_on@velocity 0024
+ ??_main 0025 ?_midi_note_on 001F __activetblptr 000002
+ __CFG_PLLCFG$ON 000000 __end_of_eusart_write_midi 02A8 _ANSELA 000F38
+ ?_putch 0001 _ANSELB 000F39 _ANSELC 000F3A
+ _ANSELD 000F3B _RC1REG 000FAE _SPBRG1 000FAF
+ _TX1REG 000FAD ?_eusart1_init 0001 __CFG_XINST$OFF 000000
+ __CFG_STVREN$ON 000000 __end_of_midi_set_channel 03D8 _memset 0386
+ clear_0 0372 midi_set_status@status 001C ??_midi_note_on 0060
+ ??_init_hw 001A __pdataCOMRAM 0043 tblptrh 000FF7
+ tblptrl 000FF6 tblptru 000FF8 putch@c 001A
+ __accesstop 0060 __end_of__initialization 0378 ?_midi_set_status 001A
+ ??_eusart1_init 001A ___rparam_used 000001 __pcstackCOMRAM 0001
+ __end_of_putch 0424 __size_of_eusart_write_midi 0074 ??_putch 001A
+ __CFG_CCP2MX$PORTC1 000000 __CFG_CCP3MX$PORTB5 000000 ?_memset 001A
+ i2u31_44 00F4 i2u31_45 00F0 i2u33_45 0144
+ i2u33_47 0146 i2u36_45 0166 i2u36_46 0168
+ i2u29_44 008E i2u29_45 008A _SPBRGH1 000FB0
+ __end_of_midi_note_on 0234 eusart_write_midi@pkt 001B __CFG_PWRTEN$OFF 000000
+ __Hparam 0000 __Lparam 0000 __pcinit 0354
+ _isr$592 0017 __size_of_memset 002C __ramtop 0600
+ __ptext0 0308 __ptext1 01BC __ptext2 03D8
+ __ptext3 03B2 __ptext4 0386 __ptext5 02A8
+ __ptext6 03FC __ptext7 0234 __ptext8 0418
+ __end_of_eusart1_init 0418 _T2CONbits 000FBA _init_hw 02A8
+ __size_of_isr 01B0 _keypresses 0025 end_of_initialization 0378
+ isr@data 0018 memset@c 001C memset@n 001E
+ memset@p 0020 __Lmediumconst 0000 postdec2 000FDD
+ postinc0 000FEE postinc2 000FDE ?_midi_set_channel 001A
+ _PORTAbits 000F80 _PORTDbits 000F83 ??_midi_set_channel 001E
+ __CFG_FOSC$INTIO7 000000 _TRISCbits 000F94 _TRISDbits 000F95
+ midi_set_channel@channel 001C __pidataCOMRAM 0424 __end_of_memset 03B2
+ start_initialization 0354 __end_of_isr 01B8 __size_of_midi_note_on 0078
+ __size_of_midi_set_status 0024 __size_of_eusart1_init 001C ??_memset 0020
+ _midi_note_on 01BC __pbssCOMRAM 0025 __pcstackBANK0 0060
+ midi_set_status@pkt 001A _eusart1_init 03FC __pintcode 0008
+ __CFG_PRICLKEN$ON 000000 main@sample_message 0062 ?_init_hw 0001
+ __size_of_putch 000C _PIE1bits 000F9D _PIR1bits 000F9E
+ __CFG_WDTPS$32768 000000 ??_midi_set_status 001D __size_of_midi_set_channel 0026
+ eusart_write_midi@data 0021 __Hrparam 0000 __Lrparam 0000
+ __CFG_BOREN$SBORDIS 000000 __CFG_P2BMX$PORTD2 000000 __size_of_init_hw 0060
+ _midi_base_scale 0043 __size_of_main 004C int$flags 0045
+ _OSCTUNEbits 000F9B _INTCONbits 000FF2 memset@p1 001A
+ midi_set_channel@pkt 001A intlevel2 0000 _RCSTA1bits 000FAB
+ _OSCCONbits 000FD3 __CFG_T3CMX$PORTC0 000000 _midi_set_channel 03B2
+ _midi_set_status 03D8
diff --git a/src/dist/default/production/src.production.map b/src/dist/default/production/src.production.map
new file mode 100644
index 0000000..f4c46fc
--- /dev/null
+++ b/src/dist/default/production/src.production.map
@@ -0,0 +1,821 @@
+Microchip MPLAB XC8 Compiler V1.44 ()
+
+Linker command line:
+
+-W-3 --edf=C:\Program Files\Microchip\xc8\v1.44\dat\en_msgs.txt -cs \
+ -h+dist/default/production\src.production.sym \
+ --cmf=dist/default/production\src.production.cmf -z -Q18F45K22 \
+ -oC:\Users\_prossn\AppData\Local\Temp\s5hg.2 \
+ -Mdist/default/production/src.production.map -E1 -ver=XC8 \
+ -ASTACK=069h-05ffh -pstack=STACK -ACODE=00h-07FFFh -ACONST=00h-07FFFh \
+ -ASMALLCONST=0600h-06FFhx122 -AMEDIUMCONST=0600h-07FFFh -ACOMRAM=01h-05Fh \
+ -AABS1=00h-05FFh -ABIGRAM=01h-05FFh -ARAM=060h-0FFh,0100h-01FFhx5 \
+ -ABANK0=060h-0FFh -ABANK1=0100h-01FFh -ABANK2=0200h-02FFh \
+ -ABANK3=0300h-03FFh -ABANK4=0400h-04FFh -ABANK5=0500h-05FFh \
+ -ASFR=0F38h-0F5Fh,0F60h-0FFFh \
+ -preset_vec=00h,intcode=08h,intcodelo,powerup,init -pramtop=0600h \
+ -psmallconst=SMALLCONST -pmediumconst=MEDIUMCONST -pconst=CONST \
+ -AFARRAM=00h-00h -ACONFIG=0300000h-030000Dh -pconfig=CONFIG \
+ -AIDLOC=0200000h-0200007h -pidloc=IDLOC -AEEDATA=0F00000h-0F000FFh \
+ -peeprom_data=EEDATA \
+ -prdata=COMRAM,nvrram=COMRAM,nvbit=COMRAM,rbss=COMRAM,rbit=COMRAM \
+ -pfarbss=FARRAM,fardata=FARRAM,nvFARRAM=FARRAM \
+ -pintsave_regs=BIGRAM,bigbss=BIGRAM,bigdata=BIGRAM -pbss=RAM \
+ -pidata=CODE,irdata=CODE,ibigdata=CODE,ifardata=CODE -prparam=COMRAM \
+ C:\Users\_prossn\AppData\Local\Temp\s5hg.obj \
+ dist/default/production\src.production.obj
+
+Object code version is 3.11
+
+Machine type is 18F45K22
+
+Call graph: (short form)
+
+
+
+
+ Name Link Load Length Selector Space Scale
+C:\Users\_prossn\AppData\Local\Temp\s5hg.obj
+ init 1B8 1B8 4 4 0
+ reset_vec 0 0 4 0 0
+ idloc 200000 200000 8 200000 0
+ config 300000 300000 E 300000 0
+dist/default/production\src.production.obj
+ intcode 8 8 1B0 4 0
+ temp 45 45 1 1 1
+ text8 418 418 C 4 0
+ text7 234 234 74 4 0
+ text6 3FC 3FC 1C 4 0
+ text5 2A8 2A8 60 4 0
+ text4 386 386 2C 4 0
+ text3 3B2 3B2 26 4 0
+ text2 3D8 3D8 24 4 0
+ text1 1BC 1BC 78 4 0
+ text0 308 308 4C 4 0
+ cstackCOMRAM 1 1 24 1 1
+ cstackBANK0 60 60 9 60 1
+ dataCOMRAM 43 43 2 1 1
+ bssCOMRAM 25 25 1E 1 1
+ cinit 354 354 32 4 0
+ idataCOMRAM 424 424 2 4 0
+
+TOTAL Name Link Load Length Space
+ CLASS STACK
+
+ CLASS CODE
+ intcode 8 8 1B0 0
+ init 1B8 1B8 4 0
+ reset_vec 0 0 4 0
+ text8 418 418 C 0
+ text7 234 234 74 0
+ text6 3FC 3FC 1C 0
+ text5 2A8 2A8 60 0
+ text4 386 386 2C 0
+ text3 3B2 3B2 26 0
+ text2 3D8 3D8 24 0
+ text1 1BC 1BC 78 0
+ text0 308 308 4C 0
+ cinit 354 354 32 0
+ idataCOMRAM 424 424 2 0
+
+ CLASS CONST
+
+ CLASS SMALLCONST
+
+ CLASS MEDIUMCONST
+
+ CLASS COMRAM
+ temp 45 45 1 1
+ cstackCOMRAM 1 1 24 1
+ dataCOMRAM 43 43 2 1
+ bssCOMRAM 25 25 1E 1
+
+ CLASS ABS1
+
+ CLASS BIGRAM
+
+ CLASS RAM
+
+ CLASS BANK0
+ cstackBANK0 60 60 9 1
+
+ CLASS BANK1
+
+ CLASS BANK2
+
+ CLASS BANK3
+
+ CLASS BANK4
+
+ CLASS BANK5
+
+ CLASS SFR
+
+ CLASS FARRAM
+
+ CLASS CONFIG
+ config 300000 300000 E 0
+
+ CLASS IDLOC
+ idloc 200000 200000 8 0
+
+ CLASS EEDATA
+
+
+
+SEGMENTS Name Load Length Top Selector Space Class
+
+ reset_vec 000000 000004 000004 0 0 CODE
+ cstackCOMRAM 000001 000045 000046 1 1 COMRAM
+ intcode 000008 00041E 000426 4 0 CODE
+ cstackBANK0 000060 000009 000069 60 1 BANK0
+ idloc 200000 000008 200008 200000 0 IDLOC
+ config 300000 00000E 30000E 300000 0 CONFIG
+
+
+UNUSED ADDRESS RANGES
+
+ Name Unused Largest block Delta
+ BANK0 000069-0000FF 97
+ BANK1 000100-0001FF 100
+ BANK2 000200-0002FF 100
+ BANK3 000300-0003FF 100
+ BANK4 000400-0004FF 100
+ BANK5 000500-0005FF 100
+ BIGRAM 000046-00005F 1A
+ 000069-0005FF 597
+ CODE 000004-000007 4
+ 000426-007FFF 7BDA
+ COMRAM 000046-00005F 1A
+ CONST 000004-000007 4
+ 000426-007FFF 7BDA
+ EEDATA F00000-F000FF 100
+ MEDIUMCONST 000600-007FFF 7A00
+ RAM 000069-0005FF 100
+ SFR 000F38-000FFF 28
+ SMALLCONST 000600-007FFF 100
+ STACK 000069-0005FF 597
+
+ Symbol Table
+
+_ANSELA (abs) 000F38
+_ANSELB (abs) 000F39
+_ANSELC (abs) 000F3A
+_ANSELD (abs) 000F3B
+_BAUDCON1bits (abs) 000FB8
+_INTCONbits (abs) 000FF2
+_OSCCONbits (abs) 000FD3
+_OSCTUNEbits (abs) 000F9B
+_PIE1bits (abs) 000F9D
+_PIR1bits (abs) 000F9E
+_PORTA (abs) 000F80
+_PORTAbits (abs) 000F80
+_PORTB (abs) 000F81
+_PORTDbits (abs) 000F83
+_PR2 (abs) 000FBB
+_RC1IF (abs) 007CF5
+_RC1REG (abs) 000FAE
+_RCSTA1bits (abs) 000FAB
+_SPBRG1 (abs) 000FAF
+_SPBRGH1 (abs) 000FB0
+_T2CONbits (abs) 000FBA
+_TRISA (abs) 000F92
+_TRISB (abs) 000F93
+_TRISCbits (abs) 000F94
+_TRISDbits (abs) 000F95
+_TX1IF (abs) 007CF4
+_TX1REG (abs) 000FAD
+_TXSTA1bits (abs) 000FAC
+__CFG_BOREN$SBORDIS (abs) 000000
+__CFG_BORV$190 (abs) 000000
+__CFG_CCP2MX$PORTC1 (abs) 000000
+__CFG_CCP3MX$PORTB5 (abs) 000000
+__CFG_CP0$OFF (abs) 000000
+__CFG_CP1$OFF (abs) 000000
+__CFG_CP2$OFF (abs) 000000
+__CFG_CP3$OFF (abs) 000000
+__CFG_CPB$OFF (abs) 000000
+__CFG_CPD$OFF (abs) 000000
+__CFG_EBTR0$OFF (abs) 000000
+__CFG_EBTR1$OFF (abs) 000000
+__CFG_EBTR2$OFF (abs) 000000
+__CFG_EBTR3$OFF (abs) 000000
+__CFG_EBTRB$OFF (abs) 000000
+__CFG_FCMEN$OFF (abs) 000000
+__CFG_FOSC$INTIO7 (abs) 000000
+__CFG_HFOFST$ON (abs) 000000
+__CFG_IESO$OFF (abs) 000000
+__CFG_LVP$ON (abs) 000000
+__CFG_MCLRE$EXTMCLR (abs) 000000
+__CFG_P2BMX$PORTD2 (abs) 000000
+__CFG_PBADEN$ON (abs) 000000
+__CFG_PLLCFG$ON (abs) 000000
+__CFG_PRICLKEN$ON (abs) 000000
+__CFG_PWRTEN$OFF (abs) 000000
+__CFG_STVREN$ON (abs) 000000
+__CFG_T3CMX$PORTC0 (abs) 000000
+__CFG_WDTEN$ON (abs) 000000
+__CFG_WDTPS$32768 (abs) 000000
+__CFG_WRT0$OFF (abs) 000000
+__CFG_WRT1$OFF (abs) 000000
+__CFG_WRT2$OFF (abs) 000000
+__CFG_WRT3$OFF (abs) 000000
+__CFG_WRTB$OFF (abs) 000000
+__CFG_WRTC$OFF (abs) 000000
+__CFG_WRTD$OFF (abs) 000000
+__CFG_XINST$OFF (abs) 000000
+__HRAM (abs) 000000
+__Habs1 abs1 000000
+__Hbank0 bank0 000000
+__Hbank1 bank1 000000
+__Hbank2 bank2 000000
+__Hbank3 bank3 000000
+__Hbank4 bank4 000000
+__Hbank5 bank5 000000
+__Hbigbss bigbss 000000
+__Hbigdata bigdata 000000
+__Hbigram bigram 000000
+__Hbss bss 000000
+__HbssCOMRAM bssCOMRAM 000000
+__Hcinit cinit 000000
+__Hclrtext clrtext 000000
+__Hcomram comram 000000
+__Hconfig config 30000E
+__Hconst const 000000
+__HcstackBANK0 cstackBANK0 000000
+__HcstackCOMRAM cstackCOMRAM 000000
+__Hdata data 000000
+__HdataCOMRAM dataCOMRAM 000000
+__Heeprom_data eeprom_data 000000
+__Hfarbss farbss 000000
+__Hfardata fardata 000000
+__Hibigdata ibigdata 000000
+__Hidata idata 000000
+__HidataCOMRAM idataCOMRAM 000000
+__Hidloc idloc 200008
+__Hifardata ifardata 000000
+__Hinit init 0001BC
+__Hintcode intcode 0001B8
+__Hintcode_body intcode_body 000000
+__Hintcodelo intcodelo 0001B8
+__Hintentry intentry 000000
+__Hintret intret 000000
+__Hintsave_regs intsave_regs 000000
+__Hirdata irdata 000000
+__Hmediumconst mediumconst 000000
+__HnvFARRAM nvFARRAM 000000
+__Hnvbit nvbit 000000
+__Hnvrram nvrram 000000
+__Hparam rparam 000000
+__Hpowerup powerup 0001B8
+__Hram ram 000000
+__Hramtop ramtop 000600
+__Hrbit rbit 000000
+__Hrbss rbss 000000
+__Hrdata rdata 000000
+__Hreset_vec reset_vec 000004
+__Hrparam rparam 000000
+__Hsfr sfr 000000
+__Hsmallconst smallconst 000000
+__Hspace_0 (abs) 30000E
+__Hspace_1 (abs) 000069
+__Hspace_2 (abs) 000000
+__Hstack stack 000000
+__Hstruct struct 000000
+__Htemp temp 000046
+__Htext text 000000
+__Htext0 text0 000000
+__Htext1 text1 000000
+__Htext2 text2 000000
+__Htext3 text3 000000
+__Htext4 text4 000000
+__Htext5 text5 000000
+__Htext6 text6 000000
+__Htext7 text7 000000
+__Htext8 text8 000000
+__LRAM (abs) 000001
+__Labs1 abs1 000000
+__Lbank0 bank0 000000
+__Lbank1 bank1 000000
+__Lbank2 bank2 000000
+__Lbank3 bank3 000000
+__Lbank4 bank4 000000
+__Lbank5 bank5 000000
+__Lbigbss bigbss 000000
+__Lbigdata bigdata 000000
+__Lbigram bigram 000000
+__Lbss bss 000000
+__LbssCOMRAM bssCOMRAM 000000
+__Lcinit cinit 000000
+__Lclrtext clrtext 000000
+__Lcomram comram 000000
+__Lconfig config 300000
+__Lconst const 000000
+__LcstackBANK0 cstackBANK0 000000
+__LcstackCOMRAM cstackCOMRAM 000000
+__Ldata data 000000
+__LdataCOMRAM dataCOMRAM 000000
+__Leeprom_data eeprom_data 000000
+__Lfarbss farbss 000000
+__Lfardata fardata 000000
+__Libigdata ibigdata 000000
+__Lidata idata 000000
+__LidataCOMRAM idataCOMRAM 000000
+__Lidloc idloc 200000
+__Lifardata ifardata 000000
+__Linit init 0001B8
+__Lintcode intcode 000008
+__Lintcode_body intcode_body 000000
+__Lintcodelo intcodelo 0001B8
+__Lintentry intentry 000000
+__Lintret intret 000000
+__Lintsave_regs intsave_regs 000000
+__Lirdata irdata 000000
+__Lmediumconst mediumconst 000000
+__LnvFARRAM nvFARRAM 000000
+__Lnvbit nvbit 000000
+__Lnvrram nvrram 000000
+__Lparam rparam 000000
+__Lpowerup powerup 0001B8
+__Lram ram 000000
+__Lramtop ramtop 000600
+__Lrbit rbit 000000
+__Lrbss rbss 000000
+__Lrdata rdata 000000
+__Lreset_vec reset_vec 000000
+__Lrparam rparam 000000
+__Lsfr sfr 000000
+__Lsmallconst smallconst 000000
+__Lspace_0 (abs) 000000
+__Lspace_1 (abs) 000000
+__Lspace_2 (abs) 000000
+__Lstack stack 000000
+__Lstruct struct 000000
+__Ltemp temp 000045
+__Ltext text 000000
+__Ltext0 text0 000000
+__Ltext1 text1 000000
+__Ltext2 text2 000000
+__Ltext3 text3 000000
+__Ltext4 text4 000000
+__Ltext5 text5 000000
+__Ltext6 text6 000000
+__Ltext7 text7 000000
+__Ltext8 text8 000000
+__S0 (abs) 30000E
+__S1 (abs) 000069
+__S2 (abs) 000000
+___inthi_sp stack 000000
+___intlo_sp stack 000000
+___param_bank (abs) 000000
+___rparam_used (abs) 000001
+___sp stack 000000
+__accesstop (abs) 000060
+__activetblptr (abs) 000002
+__end_of__initialization cinit 000378
+__end_of_eusart1_init text6 000418
+__end_of_eusart_write_midi text7 0002A8
+__end_of_init_hw text5 000308
+__end_of_isr intcode 0001B8
+__end_of_main text0 000354
+__end_of_memset text4 0003B2
+__end_of_midi_note_on text1 000234
+__end_of_midi_set_channel text3 0003D8
+__end_of_midi_set_status text2 0003FC
+__end_of_putch text8 000424
+__initialization cinit 000354
+__mediumconst mediumconst 000000
+__pbssCOMRAM bssCOMRAM 000025
+__pcinit cinit 000354
+__pcstackBANK0 cstackBANK0 000060
+__pcstackCOMRAM cstackCOMRAM 000001
+__pdataCOMRAM dataCOMRAM 000043
+__pidataCOMRAM idataCOMRAM 000424
+__pintcode intcode 000008
+__ptext0 text0 000308
+__ptext1 text1 0001BC
+__ptext2 text2 0003D8
+__ptext3 text3 0003B2
+__ptext4 text4 000386
+__ptext5 text5 0002A8
+__ptext6 text6 0003FC
+__ptext7 text7 000234
+__ptext8 text8 000418
+__ramtop ramtop 000600
+__size_of_eusart1_init (abs) 000000
+__size_of_eusart_write_midi (abs) 000000
+__size_of_init_hw (abs) 000000
+__size_of_isr (abs) 000000
+__size_of_main (abs) 000000
+__size_of_memset (abs) 000000
+__size_of_midi_note_on (abs) 000000
+__size_of_midi_set_channel (abs) 000000
+__size_of_midi_set_status (abs) 000000
+__size_of_putch (abs) 000000
+__smallconst smallconst 000000
+_eusart1_init text6 0003FC
+_eusart_write_midi text7 000234
+_init_hw text5 0002A8
+_isr intcode 000008
+_isr$592 cstackCOMRAM 000017
+_keypresses bssCOMRAM 000025
+_main text0 000308
+_memset text4 000386
+_midi_base_scale dataCOMRAM 000043
+_midi_note_on text1 0001BC
+_midi_set_channel text3 0003B2
+_midi_set_status text2 0003D8
+_putch text8 000418
+btemp temp 000045
+end_of_initialization cinit 000378
+eusart_write_midi@data cstackCOMRAM 000021
+eusart_write_midi@length cstackCOMRAM 00001F
+eusart_write_midi@pkt cstackCOMRAM 00001B
+int$flags temp 000045
+intlevel0 text 000000
+intlevel1 text 000000
+intlevel2 text 000000
+intlevel3 text 000000
+isr@data cstackCOMRAM 000018
+isr@i cstackCOMRAM 000019
+main@sample_message cstackBANK0 000062
+memset@c cstackCOMRAM 00001C
+memset@n cstackCOMRAM 00001E
+memset@p cstackCOMRAM 000020
+memset@p1 cstackCOMRAM 00001A
+midi_note_on@channel cstackCOMRAM 000021
+midi_note_on@note cstackCOMRAM 000023
+midi_note_on@pkt cstackCOMRAM 00001F
+midi_note_on@velocity cstackCOMRAM 000024
+midi_set_channel@channel cstackCOMRAM 00001C
+midi_set_channel@pkt cstackCOMRAM 00001A
+midi_set_status@pkt cstackCOMRAM 00001A
+midi_set_status@status cstackCOMRAM 00001C
+putch@c cstackCOMRAM 00001A
+stackhi (abs) 0005FF
+stacklo (abs) 000069
+start init 0001B8
+start_initialization cinit 000354
+wtemp6 temp 000046
+
+
+FUNCTION INFORMATION:
+
+ *************** function _main *****************
+ Defined at:
+ line 204 in file "main.c"
+ Parameters: Size Location Type
+ None
+ Auto vars: Size Location Type
+ sample_messa 7 2[BANK0 ] struct .
+ data 1 0 unsigned char
+ i 1 0 unsigned char
+ Return value: Size Location Type
+ 1 wreg void
+ Registers used:
+ wreg, fsr2l, fsr2h, status,2, status,0, cstack
+ Tracked objects:
+ On entry :
+ On exit :
+ Unchanged:
+ Data sizes: COMRAM BANK0 BANK1 BANK2 BANK3 BANK4 BANK5
+ Params: 0 0 0 0 0 0 0
+ Locals: 0 7 0 0 0 0 0
+ Temps: 0 0 0 0 0 0 0
+ Totals: 0 7 0 0 0 0 0
+Total ram usage: 7 bytes
+ Hardware stack levels required when called: 3
+ This function calls:
+ _eusart_write_midi
+ _init_hw
+ _memset
+ _midi_note_on
+ This function is called by:
+ Startup code after reset
+ This function uses a non-reentrant model
+
+
+ *************** function _midi_note_on *****************
+ Defined at:
+ line 62 in file "midi.c"
+ Parameters: Size Location Type
+ pkt 2 30[COMRAM] PTR struct .
+ -> main@sample_message(7),
+ channel 2 32[COMRAM] unsigned int
+ note 1 34[COMRAM] enum E31
+ velocity 1 35[COMRAM] unsigned char
+ Auto vars: Size Location Type
+ None
+ Return value: Size Location Type
+ 2 30[COMRAM] int
+ Registers used:
+ wreg, fsr2l, fsr2h, status,2, status,0, cstack
+ Tracked objects:
+ On entry :
+ On exit :
+ Unchanged:
+ Data sizes: COMRAM BANK0 BANK1 BANK2 BANK3 BANK4 BANK5
+ Params: 6 0 0 0 0 0 0
+ Locals: 0 0 0 0 0 0 0
+ Temps: 0 2 0 0 0 0 0
+ Totals: 6 2 0 0 0 0 0
+Total ram usage: 8 bytes
+ Hardware stack levels used: 1
+ Hardware stack levels required when called: 2
+ This function calls:
+ _midi_set_channel
+ _midi_set_status
+ This function is called by:
+ _main
+ This function uses a non-reentrant model
+
+
+ *************** function _midi_set_status *****************
+ Defined at:
+ line 40 in file "midi.c"
+ Parameters: Size Location Type
+ pkt 2 25[COMRAM] PTR struct .
+ -> main@sample_message(7),
+ status 1 27[COMRAM] enum E40
+ Auto vars: Size Location Type
+ None
+ Return value: Size Location Type
+ 2 25[COMRAM] int
+ Registers used:
+ wreg, fsr2l, fsr2h, status,2, status,0
+ Tracked objects:
+ On entry :
+ On exit :
+ Unchanged:
+ Data sizes: COMRAM BANK0 BANK1 BANK2 BANK3 BANK4 BANK5
+ Params: 3 0 0 0 0 0 0
+ Locals: 0 0 0 0 0 0 0
+ Temps: 1 0 0 0 0 0 0
+ Totals: 4 0 0 0 0 0 0
+Total ram usage: 4 bytes
+ Hardware stack levels used: 1
+ Hardware stack levels required when called: 1
+ This function calls:
+ Nothing
+ This function is called by:
+ _midi_note_on
+ _midi_note_off
+ This function uses a non-reentrant model
+
+
+ *************** function _midi_set_channel *****************
+ Defined at:
+ line 51 in file "midi.c"
+ Parameters: Size Location Type
+ pkt 2 25[COMRAM] PTR struct .
+ -> main@sample_message(7),
+ channel 2 27[COMRAM] unsigned int
+ Auto vars: Size Location Type
+ None
+ Return value: Size Location Type
+ 2 25[COMRAM] int
+ Registers used:
+ wreg, fsr2l, fsr2h, status,2, status,0
+ Tracked objects:
+ On entry :
+ On exit :
+ Unchanged:
+ Data sizes: COMRAM BANK0 BANK1 BANK2 BANK3 BANK4 BANK5
+ Params: 4 0 0 0 0 0 0
+ Locals: 0 0 0 0 0 0 0
+ Temps: 1 0 0 0 0 0 0
+ Totals: 5 0 0 0 0 0 0
+Total ram usage: 5 bytes
+ Hardware stack levels used: 1
+ Hardware stack levels required when called: 1
+ This function calls:
+ Nothing
+ This function is called by:
+ _midi_note_on
+ _midi_note_off
+ This function uses a non-reentrant model
+
+
+ *************** function _memset *****************
+ Defined at:
+ line 8 in file "C:\Program Files\Microchip\xc8\v1.44\sources\common\memset.c"
+ Parameters: Size Location Type
+ p1 2 25[COMRAM] PTR void
+ -> keypresses(30),
+ c 2 27[COMRAM] int
+ n 2 29[COMRAM] unsigned int
+ Auto vars: Size Location Type
+ p 2 31[COMRAM] PTR unsigned char
+ -> keypresses(30),
+ Return value: Size Location Type
+ 2 25[COMRAM] PTR void
+ Registers used:
+ wreg, fsr2l, fsr2h, status,2, status,0
+ Tracked objects:
+ On entry :
+ On exit :
+ Unchanged:
+ Data sizes: COMRAM BANK0 BANK1 BANK2 BANK3 BANK4 BANK5
+ Params: 6 0 0 0 0 0 0
+ Locals: 2 0 0 0 0 0 0
+ Temps: 0 0 0 0 0 0 0
+ Totals: 8 0 0 0 0 0 0
+Total ram usage: 8 bytes
+ Hardware stack levels used: 1
+ Hardware stack levels required when called: 1
+ This function calls:
+ Nothing
+ This function is called by:
+ _main
+ This function uses a non-reentrant model
+
+
+ *************** function _init_hw *****************
+ Defined at:
+ line 140 in file "main.c"
+ Parameters: Size Location Type
+ None
+ Auto vars: Size Location Type
+ None
+ Return value: Size Location Type
+ 1 wreg void
+ Registers used:
+ wreg, status,2, cstack
+ Tracked objects:
+ On entry :
+ On exit :
+ Unchanged:
+ Data sizes: COMRAM BANK0 BANK1 BANK2 BANK3 BANK4 BANK5
+ Params: 0 0 0 0 0 0 0
+ Locals: 0 0 0 0 0 0 0
+ Temps: 0 0 0 0 0 0 0
+ Totals: 0 0 0 0 0 0 0
+Total ram usage: 0 bytes
+ Hardware stack levels used: 1
+ Hardware stack levels required when called: 2
+ This function calls:
+ _eusart1_init
+ This function is called by:
+ _main
+ This function uses a non-reentrant model
+
+
+ *************** function _eusart1_init *****************
+ Defined at:
+ line 4 in file "rs232.c"
+ Parameters: Size Location Type
+ None
+ Auto vars: Size Location Type
+ None
+ Return value: Size Location Type
+ 1 wreg void
+ Registers used:
+ wreg, status,2
+ Tracked objects:
+ On entry :
+ On exit :
+ Unchanged:
+ Data sizes: COMRAM BANK0 BANK1 BANK2 BANK3 BANK4 BANK5
+ Params: 0 0 0 0 0 0 0
+ Locals: 0 0 0 0 0 0 0
+ Temps: 0 0 0 0 0 0 0
+ Totals: 0 0 0 0 0 0 0
+Total ram usage: 0 bytes
+ Hardware stack levels used: 1
+ Hardware stack levels required when called: 1
+ This function calls:
+ Nothing
+ This function is called by:
+ _init_hw
+ This function uses a non-reentrant model
+
+
+ *************** function _eusart_write_midi *****************
+ Defined at:
+ line 226 in file "main.c"
+ Parameters: Size Location Type
+ pkt 2 26[COMRAM] PTR const struct .
+ -> main@sample_message(7),
+ Auto vars: Size Location Type
+ data 2 32[COMRAM] PTR unsigned char
+ -> sample_message.data(4), main@sample_message(7),
+ length 2 30[COMRAM] unsigned int
+ Return value: Size Location Type
+ 2 26[COMRAM] int
+ Registers used:
+ wreg, fsr2l, fsr2h, status,2, status,0, cstack
+ Tracked objects:
+ On entry :
+ On exit :
+ Unchanged:
+ Data sizes: COMRAM BANK0 BANK1 BANK2 BANK3 BANK4 BANK5
+ Params: 2 0 0 0 0 0 0
+ Locals: 4 0 0 0 0 0 0
+ Temps: 2 0 0 0 0 0 0
+ Totals: 8 0 0 0 0 0 0
+Total ram usage: 8 bytes
+ Hardware stack levels used: 1
+ Hardware stack levels required when called: 2
+ This function calls:
+ _putch
+ This function is called by:
+ _main
+ This function uses a non-reentrant model
+
+
+ *************** function _putch *****************
+ Defined at:
+ line 29 in file "rs232.c"
+ Parameters: Size Location Type
+ c 1 wreg unsigned char
+ Auto vars: Size Location Type
+ c 1 25[COMRAM] unsigned char
+ Return value: Size Location Type
+ 1 wreg void
+ Registers used:
+ wreg
+ Tracked objects:
+ On entry :
+ On exit :
+ Unchanged:
+ Data sizes: COMRAM BANK0 BANK1 BANK2 BANK3 BANK4 BANK5
+ Params: 0 0 0 0 0 0 0
+ Locals: 1 0 0 0 0 0 0
+ Temps: 0 0 0 0 0 0 0
+ Totals: 1 0 0 0 0 0 0
+Total ram usage: 1 bytes
+ Hardware stack levels used: 1
+ Hardware stack levels required when called: 1
+ This function calls:
+ Nothing
+ This function is called by:
+ _eusart_write_midi
+ _getche
+ This function uses a non-reentrant model
+
+
+ *************** function _isr *****************
+ Defined at:
+ line 101 in file "main.c"
+ Parameters: Size Location Type
+ None
+ Auto vars: Size Location Type
+ i 1 24[COMRAM] unsigned char
+ data 1 23[COMRAM] unsigned char
+ Return value: Size Location Type
+ 1 wreg void
+ Registers used:
+ wreg, fsr2l, fsr2h, status,2, status,0, prodl, prodh
+ Tracked objects:
+ On entry :
+ On exit :
+ Unchanged:
+ Data sizes: COMRAM BANK0 BANK1 BANK2 BANK3 BANK4 BANK5
+ Params: 0 0 0 0 0 0 0
+ Locals: 3 0 0 0 0 0 0
+ Temps: 22 0 0 0 0 0 0
+ Totals: 25 0 0 0 0 0 0
+Total ram usage: 25 bytes
+ Hardware stack levels used: 1
+ This function calls:
+ Nothing
+ This function is called by:
+ Interrupt level 2
+ This function uses a non-reentrant model
+
+
+
+MODULE INFORMATION
+
+Module Function Class Link Load Size
+rs232.c
+ _putch CODE 0418 0000 13
+ _eusart1_init CODE 03FC 0000 29
+
+rs232.c estimated size: 42
+
+shared
+ __initialization CODE 0354 0000 37
+
+shared estimated size: 37
+
+midi.c
+ _midi_set_channel CODE 03B2 0000 39
+ _midi_note_on CODE 01BC 0000 121
+ _midi_set_status CODE 03D8 0000 37
+
+midi.c estimated size: 197
+
+C:\Program Files\Microchip\xc8\v1.44\sources\common\memset.c
+ _memset CODE 0386 0000 45
+
+C:\Program Files\Microchip\xc8\v1.44\sources\common\memset.c estimated size: 45
+
+main.c
+ _init_hw CODE 02A8 0000 97
+ _eusart_write_midi CODE 0234 0000 117
+ _main CODE 0308 0000 77
+ _isr CODE 0008 0000 433
+
+main.c estimated size: 724
+
diff --git a/src/dist/default/production/src.production.mum b/src/dist/default/production/src.production.mum
new file mode 100644
index 0000000..c14afe5
--- /dev/null
+++ b/src/dist/default/production/src.production.mum
@@ -0,0 +1,9 @@
+
+Memory Summary:
+ Program space used 422h ( 1058) of 7A00h bytes ( 3.4%)
+ Data space used 4Eh ( 78) of 5FFh bytes ( 5.1%)
+ Configuration bits used 7h ( 7) of 7h words (100.0%)
+ EEPROM space used 0h ( 0) of 100h bytes ( 0.0%)
+ ID Location space used 8h ( 8) of 8h bytes (100.0%)
+ Data stack space used 0h ( 0) of 597h bytes ( 0.0%)
+
diff --git a/src/dist/default/production/src.production.obj b/src/dist/default/production/src.production.obj
new file mode 100644
index 0000000..2f7bc81
--- /dev/null
+++ b/src/dist/default/production/src.production.obj
Binary files differ
diff --git a/src/dist/default/production/src.production.rlf b/src/dist/default/production/src.production.rlf
new file mode 100644
index 0000000..2d46de5
--- /dev/null
+++ b/src/dist/default/production/src.production.rlf
Binary files differ
diff --git a/src/dist/default/production/src.production.sdb b/src/dist/default/production/src.production.sdb
new file mode 100644
index 0000000..f9bbdf0
--- /dev/null
+++ b/src/dist/default/production/src.production.sdb
@@ -0,0 +1,557 @@
+[p LITE_MODE AUTOSTATIC LFSROK EMI_WORD ]
+[d version 1.1 ]
+[d edition pro ]
+[d chip 18F45K22 ]
+[d frameptr 4065 ]
+"216 Z:\SAMB_4\projects\xilofono\src\main.c
+[e E41 . `uc
+C 0
+D 1
+E 2
+F 3
+G 4
+A 5
+B 6
+]
+"41 Z:\SAMB_4\projects\xilofono\src\midi.c
+[e E40 . `uc
+NOTE_ON 8
+NOTE_OFF 9
+POLYPHONIC_KEYPRESS 10
+CONTROLLER 11
+PROGRAM_CHANGE 12
+CHANNEL_PRESSURE 13
+PITCH_BLEND 15
+]
+"63
+[e E31 . `uc
+C 0
+D 1
+E 2
+F 3
+G 4
+A 5
+B 6
+]
+"62 C:\Program Files\Microchip\xc8\v1.44\sources\common\float.c
+[v ___ftpack __ftpack `(f 1 e 3 0 ]
+"86 C:\Program Files\Microchip\xc8\v1.44\sources\common\ftadd.c
+[v ___ftadd __ftadd `(f 1 e 3 0 ]
+"54 C:\Program Files\Microchip\xc8\v1.44\sources\common\ftdiv.c
+[v ___ftdiv __ftdiv `(f 1 e 3 0 ]
+"62 C:\Program Files\Microchip\xc8\v1.44\sources\common\ftmul.c
+[v ___ftmul __ftmul `(f 1 e 3 0 ]
+"20 C:\Program Files\Microchip\xc8\v1.44\sources\common\ftsub.c
+[v ___ftsub __ftsub `(f 1 e 3 0 ]
+"8 C:\Program Files\Microchip\xc8\v1.44\sources\common\memset.c
+[v _memset memset `(*.39v 1 e 2 0 ]
+"10 C:\Program Files\Microchip\xc8\v1.44\sources\common\sprcadd.c
+[v ___fladd __fladd `(d 1 e 3 0 ]
+"245
+[v ___flsub __flsub `(d 1 e 3 0 ]
+"11 C:\Program Files\Microchip\xc8\v1.44\sources\common\sprcdiv.c
+[v ___fldiv __fldiv `(d 1 e 3 0 ]
+"8 C:\Program Files\Microchip\xc8\v1.44\sources\common\sprcmul.c
+[v ___flmul __flmul `(d 1 e 3 0 ]
+"15 C:\Program Files\Microchip\xc8\v1.44\sources\common\Umul32.c
+[v ___lmul __lmul `(ul 1 e 4 0 ]
+"101 Z:\SAMB_4\projects\xilofono\src\main.c
+[v _isr isr `II(v 1 e 1 0 ]
+"140
+[v _init_hw init_hw `T(v 1 e 1 0 ]
+"204
+[v _main main `(v 1 e 1 0 ]
+"226
+[v _eusart_write_midi eusart_write_midi `(i 1 e 2 0 ]
+"40 Z:\SAMB_4\projects\xilofono\src\midi.c
+[v _midi_set_status midi_set_status `(i 1 e 2 0 ]
+"51
+[v _midi_set_channel midi_set_channel `(i 1 e 2 0 ]
+"62
+[v _midi_note_on midi_note_on `(i 1 e 2 0 ]
+"4 Z:\SAMB_4\projects\xilofono\src\rs232.c
+[v _eusart1_init eusart1_init `(v 1 e 1 0 ]
+"29
+[v _putch putch `(v 1 e 1 0 ]
+"35
+[v _getch getch `(uc 1 e 1 0 ]
+"50 C:\Program Files\Microchip\xc8\v1.44\include\pic18f45k22.h
+[v _ANSELA ANSELA `VEuc 1 e 1 @3896 ]
+"95
+[v _ANSELB ANSELB `VEuc 1 e 1 @3897 ]
+"145
+[v _ANSELC ANSELC `VEuc 1 e 1 @3898 ]
+"196
+[v _ANSELD ANSELD `VEuc 1 e 1 @3899 ]
+"6278
+[v _PORTA PORTA `VEuc 1 e 1 @3968 ]
+[s S160 . 1 `uc 1 RA0 1 0 :1:0
+`uc 1 RA1 1 0 :1:1
+`uc 1 RA2 1 0 :1:2
+`uc 1 RA3 1 0 :1:3
+`uc 1 RA4 1 0 :1:4
+`uc 1 RA5 1 0 :1:5
+`uc 1 RA6 1 0 :1:6
+`uc 1 RA7 1 0 :1:7
+]
+"6363
+[s S169 . 1 `uc 1 AN0 1 0 :1:0
+`uc 1 AN1 1 0 :1:1
+`uc 1 AN2 1 0 :1:2
+`uc 1 AN3 1 0 :1:3
+`uc 1 . 1 0 :1:4
+`uc 1 AN4 1 0 :1:5
+]
+[s S176 . 1 `uc 1 C12IN0M 1 0 :1:0
+`uc 1 C12IN1M 1 0 :1:1
+`uc 1 C2INP 1 0 :1:2
+`uc 1 C1INP 1 0 :1:3
+`uc 1 C1OUT 1 0 :1:4
+`uc 1 C2OUT 1 0 :1:5
+]
+[s S183 . 1 `uc 1 C12IN0N 1 0 :1:0
+`uc 1 C12IN1N 1 0 :1:1
+`uc 1 VREFM 1 0 :1:2
+`uc 1 VREFP 1 0 :1:3
+`uc 1 T0CKI 1 0 :1:4
+`uc 1 SS 1 0 :1:5
+]
+[s S190 . 1 `uc 1 . 1 0 :5:0
+`uc 1 NOT_SS 1 0 :1:5
+]
+[s S193 . 1 `uc 1 . 1 0 :2:0
+`uc 1 VREFN 1 0 :1:2
+`uc 1 . 1 0 :1:3
+`uc 1 SRQ 1 0 :1:4
+`uc 1 nSS 1 0 :1:5
+]
+[s S199 . 1 `uc 1 . 1 0 :2:0
+`uc 1 CVREF 1 0 :1:2
+`uc 1 . 1 0 :2:3
+`uc 1 LVDIN 1 0 :1:5
+]
+[s S204 . 1 `uc 1 . 1 0 :2:0
+`uc 1 DACOUT 1 0 :1:2
+`uc 1 . 1 0 :2:3
+`uc 1 HLVDIN 1 0 :1:5
+]
+[s S209 . 1 `uc 1 . 1 0 :5:0
+`uc 1 SS1 1 0 :1:5
+]
+[s S212 . 1 `uc 1 . 1 0 :5:0
+`uc 1 NOT_SS1 1 0 :1:5
+]
+[s S215 . 1 `uc 1 . 1 0 :5:0
+`uc 1 nSS1 1 0 :1:5
+]
+[s S218 . 1 `uc 1 . 1 0 :5:0
+`uc 1 SRNQ 1 0 :1:5
+]
+[s S221 . 1 `uc 1 ULPWUIN 1 0 :1:0
+`uc 1 . 1 0 :6:1
+`uc 1 RJPU 1 0 :1:7
+]
+[u S225 . 1 `S160 1 . 1 0 `S169 1 . 1 0 `S176 1 . 1 0 `S183 1 . 1 0 `S190 1 . 1 0 `S193 1 . 1 0 `S199 1 . 1 0 `S204 1 . 1 0 `S209 1 . 1 0 `S212 1 . 1 0 `S215 1 . 1 0 `S218 1 . 1 0 `S221 1 . 1 0 ]
+[v _PORTAbits PORTAbits `VES225 1 e 1 @3968 ]
+"6563
+[v _PORTB PORTB `VEuc 1 e 1 @3969 ]
+[s S21 . 1 `uc 1 RD0 1 0 :1:0
+`uc 1 RD1 1 0 :1:1
+`uc 1 RD2 1 0 :1:2
+`uc 1 RD3 1 0 :1:3
+`uc 1 RD4 1 0 :1:4
+`uc 1 RD5 1 0 :1:5
+`uc 1 RD6 1 0 :1:6
+`uc 1 RD7 1 0 :1:7
+]
+"7203
+[s S30 . 1 `uc 1 . 1 0 :2:0
+`uc 1 P2B 1 0 :1:2
+`uc 1 P2C 1 0 :1:3
+`uc 1 P2D 1 0 :1:4
+`uc 1 P1B 1 0 :1:5
+`uc 1 P1C 1 0 :1:6
+`uc 1 P1D 1 0 :1:7
+]
+[s S38 . 1 `uc 1 . 1 0 :1:0
+`uc 1 CCP4 1 0 :1:1
+`uc 1 . 1 0 :4:2
+`uc 1 TX2 1 0 :1:6
+`uc 1 RX2 1 0 :1:7
+]
+[s S44 . 1 `uc 1 . 1 0 :3:0
+`uc 1 NOT_SS2 1 0 :1:3
+]
+[s S47 . 1 `uc 1 SCK2 1 0 :1:0
+`uc 1 SDI2 1 0 :1:1
+`uc 1 . 1 0 :1:2
+`uc 1 nSS2 1 0 :1:3
+`uc 1 SDO2 1 0 :1:4
+`uc 1 . 1 0 :1:5
+`uc 1 CK2 1 0 :1:6
+`uc 1 DT2 1 0 :1:7
+]
+[s S56 . 1 `uc 1 SCL2 1 0 :1:0
+`uc 1 SDA2 1 0 :1:1
+`uc 1 . 1 0 :1:2
+`uc 1 SS2 1 0 :1:3
+]
+[s S61 . 1 `uc 1 AN20 1 0 :1:0
+`uc 1 AN21 1 0 :1:1
+`uc 1 AN22 1 0 :1:2
+`uc 1 AN23 1 0 :1:3
+`uc 1 AN24 1 0 :1:4
+`uc 1 AN25 1 0 :1:5
+`uc 1 AN26 1 0 :1:6
+`uc 1 AN27 1 0 :1:7
+]
+[u S70 . 1 `S21 1 . 1 0 `S30 1 . 1 0 `S38 1 . 1 0 `S44 1 . 1 0 `S47 1 . 1 0 `S56 1 . 1 0 `S61 1 . 1 0 ]
+[v _PORTDbits PORTDbits `VES70 1 e 1 @3971 ]
+"8058
+[v _TRISA TRISA `VEuc 1 e 1 @3986 ]
+"8280
+[v _TRISB TRISB `VEuc 1 e 1 @3987 ]
+[s S855 . 1 `uc 1 TRISC0 1 0 :1:0
+`uc 1 TRISC1 1 0 :1:1
+`uc 1 TRISC2 1 0 :1:2
+`uc 1 TRISC3 1 0 :1:3
+`uc 1 TRISC4 1 0 :1:4
+`uc 1 TRISC5 1 0 :1:5
+`uc 1 TRISC6 1 0 :1:6
+`uc 1 TRISC7 1 0 :1:7
+]
+"8534
+[s S864 . 1 `uc 1 RC0 1 0 :1:0
+`uc 1 RC1 1 0 :1:1
+`uc 1 RC2 1 0 :1:2
+`uc 1 RC3 1 0 :1:3
+`uc 1 RC4 1 0 :1:4
+`uc 1 RC5 1 0 :1:5
+`uc 1 RC6 1 0 :1:6
+`uc 1 RC7 1 0 :1:7
+]
+[u S873 . 1 `S855 1 . 1 0 `S864 1 . 1 0 ]
+[v _TRISCbits TRISCbits `VES873 1 e 1 @3988 ]
+[s S418 . 1 `uc 1 TRISD0 1 0 :1:0
+`uc 1 TRISD1 1 0 :1:1
+`uc 1 TRISD2 1 0 :1:2
+`uc 1 TRISD3 1 0 :1:3
+`uc 1 TRISD4 1 0 :1:4
+`uc 1 TRISD5 1 0 :1:5
+`uc 1 TRISD6 1 0 :1:6
+`uc 1 TRISD7 1 0 :1:7
+]
+"8756
+[u S436 . 1 `S418 1 . 1 0 `S21 1 . 1 0 ]
+[v _TRISDbits TRISDbits `VES436 1 e 1 @3989 ]
+[s S354 . 1 `uc 1 TUN 1 0 :6:0
+`uc 1 PLLEN 1 0 :1:6
+`uc 1 INTSRC 1 0 :1:7
+]
+"9082
+[s S358 . 1 `uc 1 TUN0 1 0 :1:0
+`uc 1 TUN1 1 0 :1:1
+`uc 1 TUN2 1 0 :1:2
+`uc 1 TUN3 1 0 :1:3
+`uc 1 TUN4 1 0 :1:4
+`uc 1 TUN5 1 0 :1:5
+]
+[u S365 . 1 `S354 1 . 1 0 `S358 1 . 1 0 ]
+[v _OSCTUNEbits OSCTUNEbits `VES365 1 e 1 @3995 ]
+[s S487 . 1 `uc 1 TMR1IE 1 0 :1:0
+`uc 1 TMR2IE 1 0 :1:1
+`uc 1 CCP1IE 1 0 :1:2
+`uc 1 SSP1IE 1 0 :1:3
+`uc 1 TX1IE 1 0 :1:4
+`uc 1 RC1IE 1 0 :1:5
+`uc 1 ADIE 1 0 :1:6
+]
+"9434
+[s S495 . 1 `uc 1 . 1 0 :3:0
+`uc 1 SSPIE 1 0 :1:3
+`uc 1 TXIE 1 0 :1:4
+`uc 1 RCIE 1 0 :1:5
+]
+[u S500 . 1 `S487 1 . 1 0 `S495 1 . 1 0 ]
+[v _PIE1bits PIE1bits `VES500 1 e 1 @3997 ]
+[s S128 . 1 `uc 1 TMR1IF 1 0 :1:0
+`uc 1 TMR2IF 1 0 :1:1
+`uc 1 CCP1IF 1 0 :1:2
+`uc 1 SSP1IF 1 0 :1:3
+`uc 1 TX1IF 1 0 :1:4
+`uc 1 RC1IF 1 0 :1:5
+`uc 1 ADIF 1 0 :1:6
+]
+"9511
+[s S136 . 1 `uc 1 . 1 0 :3:0
+`uc 1 SSPIF 1 0 :1:3
+`uc 1 TXIF 1 0 :1:4
+`uc 1 RCIF 1 0 :1:5
+]
+[u S141 . 1 `S128 1 . 1 0 `S136 1 . 1 0 ]
+[v _PIR1bits PIR1bits `VES141 1 e 1 @3998 ]
+[s S700 . 1 `uc 1 RX9D 1 0 :1:0
+`uc 1 OERR 1 0 :1:1
+`uc 1 FERR 1 0 :1:2
+`uc 1 ADDEN 1 0 :1:3
+`uc 1 CREN 1 0 :1:4
+`uc 1 SREN 1 0 :1:5
+`uc 1 RX9 1 0 :1:6
+`uc 1 SPEN 1 0 :1:7
+]
+"10396
+[s S709 . 1 `uc 1 . 1 0 :3:0
+`uc 1 ADEN 1 0 :1:3
+]
+[s S712 . 1 `uc 1 RX9D1 1 0 :1:0
+`uc 1 OERR1 1 0 :1:1
+`uc 1 FERR1 1 0 :1:2
+`uc 1 ADDEN1 1 0 :1:3
+`uc 1 CREN1 1 0 :1:4
+`uc 1 SREN1 1 0 :1:5
+`uc 1 RX91 1 0 :1:6
+`uc 1 SPEN1 1 0 :1:7
+]
+[s S721 . 1 `uc 1 RCD8 1 0 :1:0
+`uc 1 . 1 0 :5:1
+`uc 1 RC8_9 1 0 :1:6
+]
+[s S725 . 1 `uc 1 . 1 0 :6:0
+`uc 1 RC9 1 0 :1:6
+]
+[s S728 . 1 `uc 1 . 1 0 :5:0
+`uc 1 SRENA 1 0 :1:5
+]
+[u S731 . 1 `S700 1 . 1 0 `S709 1 . 1 0 `S712 1 . 1 0 `S721 1 . 1 0 `S725 1 . 1 0 `S728 1 . 1 0 ]
+[v _RCSTA1bits RCSTA1bits `VES731 1 e 1 @4011 ]
+[s S651 . 1 `uc 1 TX9D 1 0 :1:0
+`uc 1 TRMT 1 0 :1:1
+`uc 1 BRGH 1 0 :1:2
+`uc 1 SENDB 1 0 :1:3
+`uc 1 SYNC 1 0 :1:4
+`uc 1 TXEN 1 0 :1:5
+`uc 1 TX9 1 0 :1:6
+`uc 1 CSRC 1 0 :1:7
+]
+"10840
+[s S660 . 1 `uc 1 TX9D1 1 0 :1:0
+`uc 1 TRMT1 1 0 :1:1
+`uc 1 BRGH1 1 0 :1:2
+`uc 1 SENDB1 1 0 :1:3
+`uc 1 SYNC1 1 0 :1:4
+`uc 1 TXEN1 1 0 :1:5
+`uc 1 TX91 1 0 :1:6
+`uc 1 CSRC1 1 0 :1:7
+]
+[s S669 . 1 `uc 1 TXD8 1 0 :1:0
+`uc 1 . 1 0 :5:1
+`uc 1 TX8_9 1 0 :1:6
+]
+[u S673 . 1 `S651 1 . 1 0 `S660 1 . 1 0 `S669 1 . 1 0 ]
+[v _TXSTA1bits TXSTA1bits `VES673 1 e 1 @4012 ]
+"11183
+[v _TX1REG TX1REG `VEuc 1 e 1 @4013 ]
+"11261
+[v _RC1REG RC1REG `VEuc 1 e 1 @4014 ]
+"11330
+[v _SPBRG1 SPBRG1 `VEuc 1 e 1 @4015 ]
+"11408
+[v _SPBRGH1 SPBRGH1 `VEuc 1 e 1 @4016 ]
+[s S772 . 1 `uc 1 ABDEN 1 0 :1:0
+`uc 1 WUE 1 0 :1:1
+`uc 1 . 1 0 :1:2
+`uc 1 BRG16 1 0 :1:3
+`uc 1 CKTXP 1 0 :1:4
+`uc 1 DTRXP 1 0 :1:5
+`uc 1 RCIDL 1 0 :1:6
+`uc 1 ABDOVF 1 0 :1:7
+]
+"12436
+[s S781 . 1 `uc 1 . 1 0 :4:0
+`uc 1 SCKP 1 0 :1:4
+]
+[s S784 . 1 `uc 1 ABDEN1 1 0 :1:0
+`uc 1 WUE1 1 0 :1:1
+`uc 1 . 1 0 :1:2
+`uc 1 BRG161 1 0 :1:3
+`uc 1 SCKP1 1 0 :1:4
+`uc 1 DTRXP1 1 0 :1:5
+`uc 1 RCIDL1 1 0 :1:6
+`uc 1 ABDOVF1 1 0 :1:7
+]
+[s S793 . 1 `uc 1 . 1 0 :4:0
+`uc 1 TXCKP 1 0 :1:4
+`uc 1 RXDTP 1 0 :1:5
+`uc 1 RCMT 1 0 :1:6
+]
+[s S798 . 1 `uc 1 . 1 0 :4:0
+`uc 1 TXCKP1 1 0 :1:4
+`uc 1 RXDTP1 1 0 :1:5
+`uc 1 RCMT1 1 0 :1:6
+]
+[s S803 . 1 `uc 1 . 1 0 :5:0
+`uc 1 RXCKP 1 0 :1:5
+]
+[s S806 . 1 `uc 1 . 1 0 :1:0
+`uc 1 W4E 1 0 :1:1
+]
+[u S809 . 1 `S772 1 . 1 0 `S781 1 . 1 0 `S784 1 . 1 0 `S793 1 . 1 0 `S798 1 . 1 0 `S803 1 . 1 0 `S806 1 . 1 0 ]
+[v _BAUDCON1bits BAUDCON1bits `VES809 1 e 1 @4024 ]
+[s S459 . 1 `uc 1 T2CKPS 1 0 :2:0
+`uc 1 TMR2ON 1 0 :1:2
+`uc 1 T2OUTPS 1 0 :4:3
+]
+"13217
+[s S463 . 1 `uc 1 T2CKPS0 1 0 :1:0
+`uc 1 T2CKPS1 1 0 :1:1
+`uc 1 . 1 0 :1:2
+`uc 1 T2OUTPS0 1 0 :1:3
+`uc 1 T2OUTPS1 1 0 :1:4
+`uc 1 T2OUTPS2 1 0 :1:5
+`uc 1 T2OUTPS3 1 0 :1:6
+]
+[u S471 . 1 `S459 1 . 1 0 `S463 1 . 1 0 ]
+[v _T2CONbits T2CONbits `VES471 1 e 1 @4026 ]
+"13267
+[v _PR2 PR2 `VEuc 1 e 1 @4027 ]
+[s S380 . 1 `uc 1 SCS 1 0 :2:0
+`uc 1 HFIOFS 1 0 :1:2
+`uc 1 OSTS 1 0 :1:3
+`uc 1 IRCF 1 0 :3:4
+`uc 1 IDLEN 1 0 :1:7
+]
+"16033
+[s S386 . 1 `uc 1 SCS0 1 0 :1:0
+`uc 1 SCS1 1 0 :1:1
+`uc 1 IOFS 1 0 :1:2
+`uc 1 . 1 0 :1:3
+`uc 1 IRCF0 1 0 :1:4
+`uc 1 IRCF1 1 0 :1:5
+`uc 1 IRCF2 1 0 :1:6
+]
+[u S394 . 1 `S380 1 . 1 0 `S386 1 . 1 0 ]
+[v _OSCCONbits OSCCONbits `VES394 1 e 1 @4051 ]
+[s S305 . 1 `uc 1 RBIF 1 0 :1:0
+`uc 1 INT0IF 1 0 :1:1
+`uc 1 TMR0IF 1 0 :1:2
+`uc 1 RBIE 1 0 :1:3
+`uc 1 INT0IE 1 0 :1:4
+`uc 1 TMR0IE 1 0 :1:5
+`uc 1 PEIE_GIEL 1 0 :1:6
+`uc 1 GIE_GIEH 1 0 :1:7
+]
+"16922
+[s S314 . 1 `uc 1 . 1 0 :1:0
+`uc 1 INT0F 1 0 :1:1
+`uc 1 T0IF 1 0 :1:2
+`uc 1 . 1 0 :1:3
+`uc 1 INT0E 1 0 :1:4
+`uc 1 T0IE 1 0 :1:5
+`uc 1 PEIE 1 0 :1:6
+`uc 1 GIE 1 0 :1:7
+]
+[s S323 . 1 `uc 1 . 1 0 :6:0
+`uc 1 GIEL 1 0 :1:6
+`uc 1 GIEH 1 0 :1:7
+]
+[u S327 . 1 `S305 1 . 1 0 `S314 1 . 1 0 `S323 1 . 1 0 ]
+[v _INTCONbits INTCONbits `VES327 1 e 1 @4082 ]
+"18736
+[v _RC1IF RC1IF `VEb 1 e 0 @31989 ]
+"19488
+[v _TX1IF TX1IF `VEb 1 e 0 @31988 ]
+"95 Z:\SAMB_4\projects\xilofono\src\main.c
+[v _keypresses keypresses `VE[15]ui 1 e 30 0 ]
+"204
+[v _main main `(v 1 e 1 0 ]
+{
+[s S521 . 7 `uc 1 status 1 0 :4:0
+`uc 1 channel 1 0 :4:4
+`ui 1 data_size 2 1 `[4]uc 1 data 4 3 ]
+"207
+[v main@sample_message sample_message `S521 1 a 7 2 ]
+"223
+} 0
+"62 Z:\SAMB_4\projects\xilofono\src\midi.c
+[v _midi_note_on midi_note_on `(i 1 e 2 0 ]
+{
+[s S521 . 7 `uc 1 status 1 0 :4:0
+`uc 1 channel 1 0 :4:4
+`ui 1 data_size 2 1 `[4]uc 1 data 4 3 ]
+[v midi_note_on@pkt pkt `*.39S521 1 p 2 30 ]
+[v midi_note_on@channel channel `ui 1 p 2 32 ]
+[v midi_note_on@note note `E31 1 p 1 34 ]
+[v midi_note_on@velocity velocity `uc 1 p 1 35 ]
+"83
+} 0
+"40
+[v _midi_set_status midi_set_status `(i 1 e 2 0 ]
+{
+[s S521 . 7 `uc 1 status 1 0 :4:0
+`uc 1 channel 1 0 :4:4
+`ui 1 data_size 2 1 `[4]uc 1 data 4 3 ]
+[v midi_set_status@pkt pkt `*.39S521 1 p 2 25 ]
+[v midi_set_status@status status `E40 1 p 1 27 ]
+"49
+} 0
+"51
+[v _midi_set_channel midi_set_channel `(i 1 e 2 0 ]
+{
+[s S521 . 7 `uc 1 status 1 0 :4:0
+`uc 1 channel 1 0 :4:4
+`ui 1 data_size 2 1 `[4]uc 1 data 4 3 ]
+[v midi_set_channel@pkt pkt `*.39S521 1 p 2 25 ]
+[v midi_set_channel@channel channel `ui 1 p 2 27 ]
+"60
+} 0
+"8 C:\Program Files\Microchip\xc8\v1.44\sources\common\memset.c
+[v _memset memset `(*.39v 1 e 2 0 ]
+{
+"15
+[v memset@p p `*.39uc 1 a 2 31 ]
+"8
+[v memset@p1 p1 `*.39v 1 p 2 25 ]
+[v memset@c c `i 1 p 2 27 ]
+[v memset@n n `ui 1 p 2 29 ]
+"22
+} 0
+"140 Z:\SAMB_4\projects\xilofono\src\main.c
+[v _init_hw init_hw `T(v 1 e 1 0 ]
+{
+"200
+} 0
+"4 Z:\SAMB_4\projects\xilofono\src\rs232.c
+[v _eusart1_init eusart1_init `(v 1 e 1 0 ]
+{
+"22
+} 0
+"226 Z:\SAMB_4\projects\xilofono\src\main.c
+[v _eusart_write_midi eusart_write_midi `(i 1 e 2 0 ]
+{
+"229
+[v eusart_write_midi@data data `*.39uc 1 a 2 32 ]
+"228
+[v eusart_write_midi@length length `ui 1 a 2 30 ]
+[s S521 . 7 `uc 1 status 1 0 :4:0
+`uc 1 channel 1 0 :4:4
+`ui 1 data_size 2 1 `[4]uc 1 data 4 3 ]
+"226
+[v eusart_write_midi@pkt pkt `*.39CS521 1 p 2 26 ]
+"245
+} 0
+"29 Z:\SAMB_4\projects\xilofono\src\rs232.c
+[v _putch putch `(v 1 e 1 0 ]
+{
+[v putch@c c `uc 1 a 1 wreg ]
+[v putch@c c `uc 1 a 1 wreg ]
+[v putch@c c `uc 1 a 1 25 ]
+"33
+} 0
+"101 Z:\SAMB_4\projects\xilofono\src\main.c
+[v _isr isr `II(v 1 e 1 0 ]
+{
+"103
+[v isr@i i `uc 1 a 1 24 ]
+[v isr@data data `uc 1 a 1 23 ]
+"137
+} 0
diff --git a/src/dist/default/production/src.production.sym b/src/dist/default/production/src.production.sym
new file mode 100644
index 0000000..4a8ee88
--- /dev/null
+++ b/src/dist/default/production/src.production.sym
@@ -0,0 +1,450 @@
+__CFG_XINST$OFF 0 0 ABS 0
+main@sample_message 62 0 BANK0 1
+_PR2 FBB 0 ABS 0
+__S0 30000E 0 ABS 0
+__S1 69 0 ABS 0
+__S2 0 0 ABS 0
+__Hintentry 0 0 ABS 0
+__Lintentry 0 0 ABS 0
+midi_set_channel@pkt 1A 0 COMRAM 1
+__end_of_init_hw 308 0 CODE 0
+_isr 8 0 CODE 0
+__CFG_WDTEN$ON 0 0 ABS 0
+__end_of_eusart_write_midi 2A8 0 CODE 0
+_midi_base_scale 43 0 COMRAM 1
+isr@i 19 0 COMRAM 1
+_main 308 0 CODE 0
+___sp 0 0 STACK 2
+btemp 45 0 COMRAM 1
+start 1B8 0 CODE 0
+__size_of_eusart1_init 0 0 ABS 0
+eusart_write_midi@pkt 1B 0 COMRAM 1
+_RC1IF 7CF5 0 ABS 0
+_TX1IF 7CF4 0 ABS 0
+_TRISA F92 0 ABS 0
+_TRISB F93 0 ABS 0
+_PORTA F80 0 ABS 0
+_PORTB F81 0 ABS 0
+__Hirdata 0 0 CODE 0
+__Lirdata 0 0 CODE 0
+__HRAM 0 0 ABS 0
+__LRAM 1 0 ABS 0
+wtemp6 46 0 COMRAM 1
+__CFG_WDTPS$32768 0 0 ABS 0
+__Hconfig 30000E 0 CONFIG 0
+__Lconfig 300000 0 CONFIG 0
+__CFG_FOSC$INTIO7 0 0 ABS 0
+__Hbigram 0 0 ABS 0
+__Lbigram 0 0 ABS 0
+__Hrparam 0 0 COMRAM 1
+__Lrparam 0 0 COMRAM 1
+__Hram 0 0 ABS 0
+__Lram 0 0 ABS 0
+__Hcomram 0 0 ABS 0
+_putch 418 0 CODE 0
+__Lcomram 0 0 ABS 0
+__Hsfr 0 0 ABS 0
+__Lsfr 0 0 ABS 0
+__size_of_isr 0 0 ABS 0
+eusart_write_midi@data 21 0 COMRAM 1
+__Hbss 0 0 RAM 1
+__CFG_STVREN$ON 0 0 ABS 0
+__Lbss 0 0 RAM 1
+___param_bank 0 0 ABS 0
+__Hnvrram 0 0 COMRAM 1
+__Lnvrram 0 0 COMRAM 1
+int$flags 45 0 COMRAM 1
+__size_of_midi_note_on 0 0 ABS 0
+_SPBRG1 FAF 0 ABS 0
+__end_of_putch 424 0 CODE 0
+_PIE1bits F9D 0 ABS 0
+__Heeprom_data 0 0 EEDATA 0
+__Leeprom_data 0 0 EEDATA 0
+_PIR1bits F9E 0 ABS 0
+__Hintsave_regs 0 0 BIGRAM 1
+__Lintsave_regs 0 0 BIGRAM 1
+_ANSELA F38 0 ABS 0
+_ANSELB F39 0 ABS 0
+_RC1REG FAE 0 ABS 0
+_ANSELC F3A 0 ABS 0
+_TX1REG FAD 0 ABS 0
+_ANSELD F3B 0 ABS 0
+__Hbigbss 0 0 BIGRAM 1
+__Lbigbss 0 0 BIGRAM 1
+__Hintret 0 0 ABS 0
+__Lintret 0 0 ABS 0
+__Hramtop 600 0 RAM 0
+__Lramtop 600 0 RAM 0
+__Hstruct 0 0 COMRAM 1
+__Lstruct 0 0 COMRAM 1
+__Hbigdata 0 0 BIGRAM 1
+__Lbigdata 0 0 BIGRAM 1
+__Hmediumconst 0 0 MEDIUMCONST 0
+__Lmediumconst 0 0 MEDIUMCONST 0
+__Hfarbss 0 0 FARRAM 0
+__Lfarbss 0 0 FARRAM 0
+__Hintcode 1B8 0 CODE 0
+__Lintcode 8 0 CODE 0
+__Hfardata 0 0 FARRAM 0
+__Lfardata 0 0 FARRAM 0
+midi_note_on@velocity 24 0 COMRAM 1
+__pintcode 8 0 CODE 0
+__Habs1 0 0 ABS 0
+__Labs1 0 0 ABS 0
+__CFG_EBTR0$OFF 0 0 ABS 0
+__HnvFARRAM 0 0 FARRAM 0
+__LnvFARRAM 0 0 FARRAM 0
+__CFG_EBTR1$OFF 0 0 ABS 0
+__CFG_CCP2MX$PORTC1 0 0 ABS 0
+putch@c 1A 0 COMRAM 1
+__end_of_eusart1_init 418 0 CODE 0
+__CFG_EBTR2$OFF 0 0 ABS 0
+__CFG_CCP3MX$PORTB5 0 0 ABS 0
+__end_of_memset 3B2 0 CODE 0
+__Hdata 0 0 ABS 0
+__Ldata 0 0 ABS 0
+__CFG_EBTR3$OFF 0 0 ABS 0
+stackhi 5FF 0 ABS 0
+__HcstackBANK0 0 0 ABS 0
+__LcstackBANK0 0 0 ABS 0
+__pcstackBANK0 60 0 BANK0 1
+__Htemp 46 0 COMRAM 1
+__Ltemp 45 0 COMRAM 1
+stacklo 69 0 ABS 0
+__Hrbit 0 0 COMRAM 1
+__Lrbit 0 0 COMRAM 1
+__Hinit 1BC 0 CODE 0
+__Linit 1B8 0 CODE 0
+_isr$592 17 0 COMRAM 1
+__Hintcodelo 1B8 0 CODE 0
+__Lintcodelo 1B8 0 CODE 0
+_memset 386 0 CODE 0
+__Hrbss 0 0 COMRAM 1
+__end_of_main 354 0 CODE 0
+__Lrbss 0 0 COMRAM 1
+__Htext 0 0 ABS 0
+__Ltext 0 0 ABS 0
+__CFG_LVP$ON 0 0 ABS 0
+end_of_initialization 378 0 CODE 0
+_midi_set_status 3D8 0 CODE 0
+_SPBRGH1 FB0 0 ABS 0
+__size_of_init_hw 0 0 ABS 0
+__end_of_midi_set_channel 3D8 0 CODE 0
+midi_note_on@channel 21 0 COMRAM 1
+__size_of_putch 0 0 ABS 0
+_TRISCbits F94 0 ABS 0
+_PORTAbits F80 0 ABS 0
+_TRISDbits F95 0 ABS 0
+_PORTDbits F83 0 ABS 0
+_T2CONbits FBA 0 ABS 0
+_midi_set_channel 3B2 0 CODE 0
+__size_of_eusart_write_midi 0 0 ABS 0
+__Hibigdata 0 0 CODE 0
+__Libigdata 0 0 CODE 0
+__Hifardata 0 0 CODE 0
+__Lifardata 0 0 CODE 0
+__Hbank0 0 0 ABS 0
+__Lbank0 0 0 ABS 0
+__Hbank1 0 0 ABS 0
+__Lbank1 0 0 ABS 0
+__Hbank2 0 0 ABS 0
+__Lbank2 0 0 ABS 0
+__Hbank3 0 0 ABS 0
+__Lbank3 0 0 ABS 0
+__Hbank4 0 0 ABS 0
+__Lbank4 0 0 ABS 0
+__Hbank5 0 0 ABS 0
+__Lbank5 0 0 ABS 0
+__Hpowerup 1B8 0 CODE 0
+__Lpowerup 1B8 0 CODE 0
+__Htext0 0 0 ABS 0
+__Ltext0 0 0 ABS 0
+_eusart_write_midi 234 0 CODE 0
+__Htext1 0 0 ABS 0
+__Ltext1 0 0 ABS 0
+__ptext0 308 0 CODE 0
+__Htext2 0 0 ABS 0
+__Ltext2 0 0 ABS 0
+__ptext1 1BC 0 CODE 0
+__end_of_midi_note_on 234 0 CODE 0
+__Htext3 0 0 ABS 0
+__Ltext3 0 0 ABS 0
+__ptext2 3D8 0 CODE 0
+__Htext4 0 0 ABS 0
+__Ltext4 0 0 ABS 0
+__ptext3 3B2 0 CODE 0
+__Htext5 0 0 ABS 0
+__CFG_P2BMX$PORTD2 0 0 ABS 0
+__Ltext5 0 0 ABS 0
+__ptext4 386 0 CODE 0
+__Htext6 0 0 ABS 0
+__Ltext6 0 0 ABS 0
+__ptext5 2A8 0 CODE 0
+__Htext7 0 0 ABS 0
+__Ltext7 0 0 ABS 0
+__ptext6 3FC 0 CODE 0
+__HbssCOMRAM 0 0 ABS 0
+__LbssCOMRAM 0 0 ABS 0
+__Htext8 0 0 ABS 0
+__Ltext8 0 0 ABS 0
+__ptext7 234 0 CODE 0
+__pbssCOMRAM 25 0 COMRAM 1
+__ptext8 418 0 CODE 0
+__CFG_T3CMX$PORTC0 0 0 ABS 0
+__Hclrtext 0 0 ABS 0
+__Lclrtext 0 0 ABS 0
+__CFG_HFOFST$ON 0 0 ABS 0
+_OSCTUNEbits F9B 0 ABS 0
+__end_of__initialization 378 0 CODE 0
+__CFG_PRICLKEN$ON 0 0 ABS 0
+memset@c 1C 0 COMRAM 1
+___rparam_used 1 0 ABS 0
+__size_of_memset 0 0 ABS 0
+memset@n 1E 0 COMRAM 1
+memset@p 20 0 COMRAM 1
+isr@data 18 0 COMRAM 1
+__Hidata 0 0 CODE 0
+__Lidata 0 0 CODE 0
+__Hrdata 0 0 COMRAM 1
+__Lrdata 0 0 COMRAM 1
+__Hidloc 200008 0 IDLOC 0
+__Lidloc 200000 0 IDLOC 0
+__CFG_PWRTEN$OFF 0 0 ABS 0
+__Hstack 0 0 STACK 2
+__Lstack 0 0 STACK 2
+_midi_note_on 1BC 0 CODE 0
+midi_set_channel@channel 1C 0 COMRAM 1
+__Hparam 0 0 COMRAM 1
+__Lparam 0 0 COMRAM 1
+__Hspace_0 30000E 0 ABS 0
+__HcstackCOMRAM 0 0 ABS 0
+__Lspace_0 0 0 ABS 0
+__LcstackCOMRAM 0 0 ABS 0
+__end_of_isr 1B8 0 CODE 0
+__pcstackCOMRAM 1 0 COMRAM 1
+__Hspace_1 69 0 ABS 0
+__Lspace_1 0 0 ABS 0
+__Hsmallconst 0 0 SMALLCONST 0
+__Lsmallconst 0 0 SMALLCONST 0
+eusart_write_midi@length 1F 0 COMRAM 1
+__Hspace_2 0 0 ABS 0
+__Lspace_2 0 0 ABS 0
+__Hnvbit 0 0 COMRAM 1
+__Lnvbit 0 0 COMRAM 1
+__Hcinit 0 0 ABS 0
+__Lcinit 0 0 ABS 0
+__pcinit 354 0 CODE 0
+__CFG_EBTRB$OFF 0 0 ABS 0
+_init_hw 2A8 0 CODE 0
+__ramtop 600 0 RAM 0
+__mediumconst 0 0 MEDIUMCONST 0
+__size_of_main 0 0 ABS 0
+__Hconst 0 0 CONST 0
+__Lconst 0 0 CONST 0
+__CFG_PLLCFG$ON 0 0 ABS 0
+__CFG_WRT0$OFF 0 0 ABS 0
+__CFG_WRT1$OFF 0 0 ABS 0
+midi_note_on@pkt 1F 0 COMRAM 1
+__CFG_MCLRE$EXTMCLR 0 0 ABS 0
+__CFG_WRT2$OFF 0 0 ABS 0
+__CFG_WRT3$OFF 0 0 ABS 0
+__CFG_FCMEN$OFF 0 0 ABS 0
+__size_of_midi_set_status 0 0 ABS 0
+midi_note_on@note 23 0 COMRAM 1
+midi_set_status@pkt 1A 0 COMRAM 1
+_RCSTA1bits FAB 0 ABS 0
+_TXSTA1bits FAC 0 ABS 0
+___inthi_sp 0 0 STACK 2
+__size_of_midi_set_channel 0 0 ABS 0
+___intlo_sp 0 0 STACK 2
+_OSCCONbits FD3 0 ABS 0
+_INTCONbits FF2 0 ABS 0
+__HidataCOMRAM 0 0 ABS 0
+__LidataCOMRAM 0 0 ABS 0
+_keypresses 25 0 COMRAM 1
+__pidataCOMRAM 424 0 CODE 0
+__CFG_CP0$OFF 0 0 ABS 0
+__smallconst 0 0 SMALLCONST 0
+__CFG_CP1$OFF 0 0 ABS 0
+memset@p1 1A 0 COMRAM 1
+__Hreset_vec 4 0 CODE 0
+__Lreset_vec 0 0 CODE 0
+__CFG_CP2$OFF 0 0 ABS 0
+__CFG_CP3$OFF 0 0 ABS 0
+__CFG_BORV$190 0 0 ABS 0
+__accesstop 60 0 ABS 0
+__end_of_midi_set_status 3FC 0 CODE 0
+__Hintcode_body 0 0 ABS 0
+__Lintcode_body 0 0 ABS 0
+__CFG_PBADEN$ON 0 0 ABS 0
+intlevel0 0 0 CODE 0
+intlevel1 0 0 CODE 0
+__CFG_WRTB$OFF 0 0 ABS 0
+midi_set_status@status 1C 0 COMRAM 1
+intlevel2 0 0 CODE 0
+intlevel3 0 0 CODE 0
+__CFG_WRTC$OFF 0 0 ABS 0
+_BAUDCON1bits FB8 0 ABS 0
+__CFG_WRTD$OFF 0 0 ABS 0
+__HdataCOMRAM 0 0 ABS 0
+__LdataCOMRAM 0 0 ABS 0
+__pdataCOMRAM 43 0 COMRAM 1
+__CFG_CPB$OFF 0 0 ABS 0
+__CFG_CPD$OFF 0 0 ABS 0
+start_initialization 354 0 CODE 0
+__CFG_BOREN$SBORDIS 0 0 ABS 0
+__CFG_IESO$OFF 0 0 ABS 0
+_eusart1_init 3FC 0 CODE 0
+__initialization 354 0 CODE 0
+__activetblptr 2 0 ABS 0
+%segments
+reset_vec 0 3 CODE 0 0
+intcode 8 425 CODE 8 0
+config 300000 30000D CONFIG 300000 0
+idloc 200000 200007 IDLOC 200000 0
+cstackCOMRAM 1 45 COMRAM 1 1
+cstackBANK0 60 68 BANK0 60 1
+%locals
+dist/default/production\src.production.obj
+C:\Program Files\Microchip\xc8\v1.44\include\pic18f45k22.h
+C:\Users\_prossn\AppData\Local\Temp\s5hg.
+1211 354 0 CODE 0
+1213 354 0 CODE 0
+1216 354 0 CODE 0
+1238 354 0 CODE 0
+1239 356 0 CODE 0
+1240 358 0 CODE 0
+1241 35A 0 CODE 0
+1242 35C 0 CODE 0
+1243 35E 0 CODE 0
+1244 360 0 CODE 0
+1245 362 0 CODE 0
+1246 366 0 CODE 0
+1247 368 0 CODE 0
+1251 36C 0 CODE 0
+1252 370 0 CODE 0
+1253 372 0 CODE 0
+1254 372 0 CODE 0
+1255 374 0 CODE 0
+1256 376 0 CODE 0
+1262 378 0 CODE 0
+1264 378 0 CODE 0
+1265 37A 0 CODE 0
+1267 37C 0 CODE 0
+1268 37E 0 CODE 0
+1269 380 0 CODE 0
+1270 382 0 CODE 0
+main.c
+204 308 0 CODE 0
+210 308 0 CODE 0
+213 30C 0 CODE 0
+216 328 0 CODE 0
+217 344 0 CODE 0
+220 346 0 CODE 0
+221 346 0 CODE 0
+220 352 0 CODE 0
+midi.c
+62 1BC 0 CODE 0
+64 1BC 0 CODE 0
+68 1C4 0 CODE 0
+72 1DA 0 CODE 0
+73 1EA 0 CODE 0
+75 1FE 0 CODE 0
+76 20E 0 CODE 0
+79 21E 0 CODE 0
+midi.c
+40 3D8 0 CODE 0
+42 3D8 0 CODE 0
+46 3E0 0 CODE 0
+midi.c
+51 3B2 0 CODE 0
+53 3B2 0 CODE 0
+57 3BA 0 CODE 0
+C:\Program Files\Microchip\xc8\v1.44\sources\common\memset.c
+8 386 0 CODE 0
+18 386 0 CODE 0
+19 38E 0 CODE 0
+20 390 0 CODE 0
+19 3A0 0 CODE 0
+main.c
+140 2A8 0 CODE 0
+142 2A8 0 CODE 0
+146 2AA 0 CODE 0
+148 2AC 0 CODE 0
+150 2B8 0 CODE 0
+152 2BE 0 CODE 0
+156 2C2 0 CODE 0
+157 2C8 0 CODE 0
+158 2CC 0 CODE 0
+159 2D0 0 CODE 0
+162 2D4 0 CODE 0
+163 2D6 0 CODE 0
+165 2D8 0 CODE 0
+166 2DA 0 CODE 0
+167 2DC 0 CODE 0
+168 2DE 0 CODE 0
+171 2E0 0 CODE 0
+173 2E2 0 CODE 0
+175 2E4 0 CODE 0
+177 2E6 0 CODE 0
+181 2E8 0 CODE 0
+183 2EC 0 CODE 0
+185 2F4 0 CODE 0
+187 2F8 0 CODE 0
+190 2FA 0 CODE 0
+191 2FC 0 CODE 0
+194 2FE 0 CODE 0
+197 300 0 CODE 0
+199 304 0 CODE 0
+200 306 0 CODE 0
+rs232.c
+4 3FC 0 CODE 0
+7 3FC 0 CODE 0
+8 3FE 0 CODE 0
+11 400 0 CODE 0
+12 402 0 CODE 0
+13 406 0 CODE 0
+14 40A 0 CODE 0
+15 40C 0 CODE 0
+18 40E 0 CODE 0
+19 410 0 CODE 0
+20 412 0 CODE 0
+21 414 0 CODE 0
+22 416 0 CODE 0
+main.c
+226 234 0 CODE 0
+231 234 0 CODE 0
+235 23C 0 CODE 0
+236 250 0 CODE 0
+238 25C 0 CODE 0
+240 282 0 CODE 0
+241 284 0 CODE 0
+242 296 0 CODE 0
+240 296 0 CODE 0
+rs232.c
+29 418 0 CODE 0
+31 41A 0 CODE 0
+32 41E 0 CODE 0
+33 422 0 CODE 0
+rs232.c
+33 8 0 CODE 0
+main.c
+101 8 0 CODE 0
+105 52 0 CODE 0
+107 54 0 CODE 0
+109 58 0 CODE 0
+110 5C 0 CODE 0
+111 60 0 CODE 0
+112 60 0 CODE 0
+113 B6 0 CODE 0
+115 BE 0 CODE 0
+116 C2 0 CODE 0
+117 C6 0 CODE 0
+118 C6 0 CODE 0
+119 11C 0 CODE 0
+129 13C 0 CODE 0
+130 146 0 CODE 0
+133 168 0 CODE 0
+134 16A 0 CODE 0
+136 16A 0 CODE 0
+137 16C 0 CODE 0
diff --git a/src/main.c b/src/main.c
index 4a880a0..2252277 100644
--- a/src/main.c
+++ b/src/main.c
@@ -84,34 +84,62 @@
#include <xc.h>
#include <stdio.h>
#include <stdlib.h>
+#include <stdint.h>
#include <string.h>
-int eusart_write_midi(const midi_message_t *pkt)
+#define NOTES 15
+#define NOTE_MASK 0xFF00
+
+
+/* global variables */
+volatile uint16_t keypresses[NOTES];
+
+/* function prototypes */
+int eusart_write_midi(const midi_message_t *pkt);
+
+/* interrupt service routine */
+interrupt void isr(void)
{
- size_t length;
- uint8_t *data;
-
- if (pkt == NULL) {
- return -1;
- }
-
- length = pkt->data_size;
- data = (uint8_t *) pkt->data;
-
- putch((char)((pkt->status << 4) | pkt->channel));
+ unsigned char i, data;
+
+ PORTDbits.RD3 = 0;
- while (length--) {
- putch((char) *(data++));
+ if (PIR1bits.TMR2IF) {
+ // PORTA
+ data = PORTA;
+ i = 7;
+ do {
+ keypresses[i] = (keypresses[i] << 1) | ((data >> i) & 0x01);
+ } while (i--);
+
+ data = PORTB;
+ i = 7;
+ do {
+ keypresses[i] = (keypresses[i] << 1) | ((data >> i) & 0x01);
+ } while (i-- - 8);
+
+ // PORTB
+ // for (i = 8; i < NOTES; i++) {
+ // keypresses[i] = (keypresses[i] << 1) | ((PORTB & (1 << i)) >> i);
+ // }
+
+ // TODO same for PORTD when the steps board is printed
+
+ // debug stuff
+ PORTDbits.RD4 = PORTAbits.RA0;
+ PORTDbits.RD2 = (keypresses[0] && !(keypresses[0] & NOTE_MASK));
+
+ // reset interrupt flag
+ PIR1bits.TMR2IF = 0;
}
- return 0;
+ PORTDbits.RD3 = 1;
}
-
-/* main program */
-void main(void)
+/* hardware configuration (inlined) */
+inline void init_hw(void)
{
- midi_message_t sample_message;
+ di();
/* PLL / FOSC configuration */
// enable PLL
@@ -130,14 +158,62 @@ void main(void)
ANSELC = 0x00;
ANSELD = 0x00;
+ // TODO: remove demo
+ TRISA = 0xFF;
+ TRISB = 0xFF;
+
+ TRISDbits.TRISD1 = 0;
+ TRISDbits.TRISD2 = 0;
+ TRISDbits.TRISD3 = 0;
+ TRISDbits.TRISD4 = 0;
+
+ // LED
+ PORTDbits.RD1 = 1;
+ // TEST OUTPUT 1
+ PORTDbits.RD2 = 0;
+ // TEST OUTPUT 2
+ PORTDbits.RD3 = 1;
+ // TEST OUTPUT 3
+ PORTDbits.RD4 = 0;
+
+ /* timer configuration */
+ // timer 2 comp value
+ PR2 = 128;
+ // postscaler 1:4
+ T2CONbits.T2OUTPS = 0b0011;
+ // prescaler 1:16
+ T2CONbits.T2CKPS = 0b11;
+ // start timer
+ T2CONbits.TMR2ON = 1;
+
+ // timer 2 interrupts
+ PIE1bits.TMR2IE = 1;
+ PIR1bits.TMR2IF = 0;
+
+ // enable peripheral interrupts
+ INTCONbits.PEIE = 1;
/* serial configuration */
eusart1_init();
- /* demo code */
- midi_note_on(&sample_message, 0x0, 0x3C, 0x7F);
+ ei();
+}
- TRISDbits.TRISD1 = 0;
+
+/* main program */
+void main(void)
+{
+ unsigned char i, data;
+ midi_message_t sample_message;
+
+ /* setup hardware */
+ init_hw();
+
+ /* setup software */
+ memset(keypresses, 0, sizeof(keypresses));
+
+ /* TODO remove demo code */
+ midi_note_on(&sample_message, 0x0, 0x3C, 0x7F);
PORTDbits.RD1 = 0;
/* main loop */
@@ -146,3 +222,24 @@ void main(void)
}
}
+
+int eusart_write_midi(const midi_message_t *pkt)
+{
+ size_t length;
+ uint8_t *data;
+
+ if (pkt == NULL) {
+ return -1;
+ }
+
+ length = pkt->data_size;
+ data = (uint8_t *) pkt->data;
+
+ putch((char)((pkt->status << 4) | pkt->channel));
+
+ while (length--) {
+ putch((char) *(data++));
+ }
+
+ return 0;
+} \ No newline at end of file
diff --git a/src/nbproject/Makefile-genesis.properties b/src/nbproject/Makefile-genesis.properties
index 8bab016..7e799cd 100644
--- a/src/nbproject/Makefile-genesis.properties
+++ b/src/nbproject/Makefile-genesis.properties
@@ -1,7 +1,7 @@
#
-#Fri Feb 23 08:35:30 CET 2018
+#Fri Feb 23 16:05:02 CET 2018
default.languagetoolchain.dir=C\:\\Program Files\\Microchip\\xc8\\v1.44\\bin
-configurations-xml=af2f7bf849f43cec780e74f66603aaa1
+configurations-xml=b7ce4d9a7385ee4bf81a07319272507b
com-microchip-mplab-nbide-embedded-makeproject-MakeProject.md5=5d30ff5128b14865c8a3796a8f0bb8a0
default.languagetoolchain.version=1.44
host.platform=windows
diff --git a/src/nbproject/configurations.xml b/src/nbproject/configurations.xml
index fd080e3..6671167 100644
--- a/src/nbproject/configurations.xml
+++ b/src/nbproject/configurations.xml
@@ -46,7 +46,7 @@
</archiverTool>
<loading>
<useAlternateLoadableFile>false</useAlternateLoadableFile>
- <parseOnProdLoad>false</parseOnProdLoad>
+ <parseOnProdLoad>true</parseOnProdLoad>
<alternateLoadableFile></alternateLoadableFile>
</loading>
<subordinates>
diff --git a/src/nbproject/private/private.xml b/src/nbproject/private/private.xml
index eac6246..83de11c 100644
--- a/src/nbproject/private/private.xml
+++ b/src/nbproject/private/private.xml
@@ -3,8 +3,10 @@
<editor-bookmarks xmlns="http://www.netbeans.org/ns/editor-bookmarks/2" lastBookmarkId="0"/>
<open-files xmlns="http://www.netbeans.org/ns/projectui-open-files/2">
<group name="Corso Kamm">
- <file>file:/Z:/SAMB_4/projects/xilofono/src/main.c</file>
<file>file:/Z:/SAMB_4/projects/xilofono/src/rs232.h</file>
+ <file>file:/Z:/SAMB_4/projects/xilofono/src/main.c</file>
+ <file>file:/C:/Program%20Files/Microchip/xc8/v1.44/include/pic18f45k22.h</file>
+ <file>file:/Z:/SAMB_4/projects/xilofono/src/disassembly/listing.disasm</file>
<file>file:/Z:/SAMB_4/projects/xilofono/src/midi.h</file>
<file>file:/Z:/SAMB_4/projects/xilofono/src/midi.c</file>
<file>file:/Z:/SAMB_4/projects/xilofono/src/rs232.c</file>