summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Buesch <m@bues.ch>2012-04-06 21:32:42 +0200
committerMichael Buesch <m@bues.ch>2012-04-06 21:32:42 +0200
commit889ae3e0f47de1bf4ba9e3ef13e139e4f18b5143 (patch)
treeb7b1d7967b4c1e3c04e2328f4806e5197ae3d4b7
parent17b6325db3704c756e107342f281bf3ac0a32e41 (diff)
downloadtoprammer-889ae3e0f47de1bf4ba9e3ef13e139e4f18b5143.tar.xz
toprammer-889ae3e0f47de1bf4ba9e3ef13e139e4f18b5143.zip
Rename VCCX to VCC
Signed-off-by: Michael Buesch <m@bues.ch>
-rw-r--r--README-DEVELOPERS.lyx12
-rw-r--r--README-DEVELOPERS.ps845
-rw-r--r--libtoprammer/chip.py16
-rw-r--r--libtoprammer/chip_74hc4094.py6
-rw-r--r--libtoprammer/chip_at27c256r.py2
-rw-r--r--libtoprammer/chip_at89c2051dip20.py14
-rw-r--r--libtoprammer/chip_atmega32dip40.py2
-rw-r--r--libtoprammer/chip_atmega88dip28.py2
-rw-r--r--libtoprammer/chip_atmega8dip28.py2
-rw-r--r--libtoprammer/chip_atmega_common.py10
-rw-r--r--libtoprammer/chip_attiny13dip8.py8
-rw-r--r--libtoprammer/chip_attiny26dip20.py2
-rw-r--r--libtoprammer/chip_generic_sram.py12
-rw-r--r--libtoprammer/chip_hm62256dip28.py4
-rw-r--r--libtoprammer/chip_m24cxxdip8.py6
-rw-r--r--libtoprammer/chip_m2764a.py14
-rw-r--r--libtoprammer/chip_m8cissp.py6
-rw-r--r--libtoprammer/chip_unitest.py30
-rw-r--r--libtoprammer/chip_w29ee011dip32.py8
-rw-r--r--libtoprammer/generic_algorithms.py8
-rw-r--r--libtoprammer/layout_generator.py42
-rw-r--r--libtoprammer/top2049/vcc_layouts.py (renamed from libtoprammer/top2049/vccx_layouts.py)12
-rw-r--r--libtoprammer/top_xxxx.py2
-rw-r--r--libtoprammer/toprammer_main.py14
-rw-r--r--reverse-engineering/HWPROTOCOL4
-rwxr-xr-xreverse-engineering/dump-parser.py4
-rw-r--r--reverse-engineering/vccx-sniffer.patch4
-rw-r--r--tests/generic/002-toprammer-layout.test2
-rwxr-xr-xtoprammer-gui80
-rwxr-xr-xtoprammer-layout16
30 files changed, 578 insertions, 611 deletions
diff --git a/README-DEVELOPERS.lyx b/README-DEVELOPERS.lyx
index 06f2090..76f48d6 100644
--- a/README-DEVELOPERS.lyx
+++ b/README-DEVELOPERS.lyx
@@ -77,7 +77,7 @@ VPP Programming voltage for the DUT (usually 12V)
\end_layout
\begin_layout Description
-VCCX Supply voltage for the DUT
+VCC Supply voltage for the DUT
\end_layout
\begin_layout Description
@@ -241,11 +241,11 @@ Set VPP (programming voltage) to the specified voltage.
\end_layout
\begin_layout Subsection
-cmdSetVCCXVoltage(voltage)
+cmdSetVCCVoltage(voltage)
\end_layout
\begin_layout Standard
-Set VCCX (DUT supply voltage) to the specified voltage.
+Set VCC (DUT supply voltage) to the specified voltage.
Voltage is a floating point number.
\end_layout
@@ -270,7 +270,7 @@ Load a ZIF-socket VPP-layout.
\end_layout
\begin_layout Subsection
-cmdLoadVCCXLayout(layoutID)
+cmdLoadVCCLayout(layoutID)
\end_layout
\begin_layout Standard
@@ -763,7 +763,7 @@ DIP40
\end_layout
\begin_layout Description
-chipPinVCCX This parameter is an integer specifying the VCC pin on the chip
+chipPinVCC This parameter is an integer specifying the VCC pin on the chip
package.
Note that it specifies the VCC pin on the chip package and _not_ on the
ZIF socket.
@@ -814,7 +814,7 @@ class Chip
\end_layout
\begin_layout Description
-applyVCCX(on) This method enables or disables (depending on the
+applyVCC(on) This method enables or disables (depending on the
\begin_inset Quotes eld
\end_inset
diff --git a/README-DEVELOPERS.ps b/README-DEVELOPERS.ps
index f9e4920..06cd9ae 100644
--- a/README-DEVELOPERS.ps
+++ b/README-DEVELOPERS.ps
@@ -1,7 +1,7 @@
%!PS-Adobe-2.0
%%Creator: dvips(k) 5.991 Copyright 2011 Radical Eye Software
%%Title: README-DEVELOPERS.dvi
-%%CreationDate: Fri Apr 6 12:42:13 2012
+%%CreationDate: Fri Apr 6 21:24:07 2012
%%Pages: 7
%%PageOrder: Ascend
%%BoundingBox: 0 0 612 792
@@ -11,7 +11,7 @@
%DVIPSWebPage: (www.radicaleye.com)
%DVIPSCommandLine: dvips -o README-DEVELOPERS.ps README-DEVELOPERS.dvi
%DVIPSParameters: dpi=600
-%DVIPSSource: TeX output 2012.04.06:1241
+%DVIPSSource: TeX output 2012.04.06:2124
%%BeginProcSet: tex.pro 0 0
%!
/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
@@ -518,8 +518,8 @@ E0000003E3E0000003E7C0000001E7C0000001F7C0000001F780000000FF80000000FF80
87E000007E0FE000007E1FC000007FFF8000003FFF0000001FFE0000000FFC00000007E0
00000027367EA32C>I E
%EndDVIPSBitmapFont
-%DVIPSBitmapFont: Fb ecbx1200 12 58
-/Fb 58 123 df<0000000FFF0003FF00000001FFFFC03FFFC000000FFFFFF1FFFFE00000
+%DVIPSBitmapFont: Fb ecbx1200 12 57
+/Fb 57 123 df<0000000FFF0003FF00000001FFFFC03FFFC000000FFFFFF1FFFFE00000
7FFFFFFFFFFFF00001FFF803FFFE1FF80003FF8003FFF81FFC000FFF0007FFF03FFC001F
FE000FFFE03FFC003FFC000FFFE03FFC003FF8000FFFC03FFC007FF0000FFFC03FFC007F
F0000FFFC01FF800FFF0000FFF801FF800FFE00007FF8007E000FFE00003FF80018000FF
@@ -987,261 +987,242 @@ FE7800003FFF3C0000000000003FFEF800003FFF780000000000003FFEF000001FFF7800
0003FF00000001FF8000000000000003FF00000001FF8000000000000001FE00000000FF
0000000000000001FE00000000FF0000000000000000FC000000007E0000000000000000
FC000000007E0000000000000000FC000000007E000000000000000078000000003C0000
-00006F457EC374>I<7FFFFFFFC003FFFFFF807FFFFFFFC003FFFFFF807FFFFFFFC003FF
-FFFF807FFFFFFFC003FFFFFF807FFFFFFFC003FFFFFF80000FFFE0000001F800000007FF
-E0000003F000000007FFF0000007F000000003FFF8000007E000000001FFFC00000FC000
-000001FFFC00001F8000000000FFFE00003F80000000007FFF00003F00000000003FFF00
-007E00000000003FFF8000FC00000000001FFFC001FC00000000000FFFE001F800000000
-000FFFE003F0000000000007FFF007E0000000000003FFF80FE0000000000001FFFC0FC0
-000000000001FFFC1F80000000000000FFFE3F000000000000007FFF7F00000000000000
-3FFF7E000000000000003FFFFC000000000000001FFFF8000000000000000FFFF8000000
-000000000FFFF00000000000000007FFF00000000000000003FFF80000000000000001FF
-F80000000000000001FFFC0000000000000000FFFE00000000000000007FFF0000000000
-000000FFFF0000000000000000FFFF8000000000000001FFFFC000000000000003FFFFC0
-00000000000007FFFFE000000000000007E7FFF00000000000000FC3FFF8000000000000
-1F83FFF80000000000003F81FFFC0000000000003F00FFFE0000000000007E007FFE0000
-00000000FC007FFF000000000001FC003FFF800000000001F8001FFFC00000000003F000
-1FFFC00000000007E0000FFFE0000000000FE00007FFF0000000000FC00003FFF0000000
-001F800003FFF8000000003F000001FFFC000000003F000000FFFE000000007E000000FF
-FE00000000FC0000007FFF00000001FC0000003FFF80000001F80000001FFF80000003F0
-0000001FFFC0000007E00000000FFFE000000FE000000007FFF000FFFFFFE00003FFFFFF
-FCFFFFFFE00003FFFFFFFCFFFFFFE00003FFFFFFFCFFFFFFE00003FFFFFFFCFFFFFFE000
-03FFFFFFFC4E447DC355>I<1FFFFFFFFFFFFE1FFFFFFFFFFFFE1FFFFFFFFFFFFE1FFFFF
-FFFFFFFE1FFFFFFFFFFFFE1FFFF80001FFFC1FFF800001FFF81FFC000003FFF81FF80000
-07FFF01FF0000007FFE01FE000000FFFE01FC000001FFFC03F8000001FFF803F8000003F
-FF803F0000007FFF003F0000007FFE003E000000FFFE003E000001FFFC003E000001FFF8
-003C000003FFF8003C000007FFF0003C000007FFE0003C00000FFFE0003C00001FFFC000
-0000001FFF80000000003FFF00000000007FFF00000000007FFE0000000000FFFC000000
-0001FFFC0000000001FFF80000000003FFF00000000007FFF00000000007FFE000000000
-0FFFC0000000001FFFC0000000001FFF80000000003FFF00000000007FFF00000000007F
-FE0000000000FFFC00000F0001FFFC00000F0001FFF800000F0003FFF000000F0007FFF0
-00000F000FFFE000001F000FFFC000001F001FFFC000001E003FFF8000001E003FFF0000
-001E007FFF0000003E00FFFE0000003E00FFFC0000003E01FFFC0000007E03FFF8000000
-7E03FFF0000000FE07FFF0000001FE0FFFE0000003FE0FFFC0000007FE1FFFC000000FFE
-3FFF8000003FFE3FFF000000FFFC7FFF00000FFFFCFFFFFFFFFFFFFCFFFFFFFFFFFFFCFF
-FFFFFFFFFFFCFFFFFFFFFFFFFCFFFFFFFFFFFFFC38447AC344>90
-D<0001FFE0000000001FFFFE000000007FFFFF80000001FFFFFFE0000003FE007FF80000
-07FC001FFC000007FE000FFE00000FFF0007FF00000FFF0007FF00000FFF0003FF80000F
-FF0003FF80000FFF0003FF80000FFF0001FFC00007FE0001FFC00003FC0001FFC00000F0
-0001FFC00000000001FFC00000000001FFC00000000001FFC00000000001FFC000000003
-FFFFC0000000FFFFFFC0000007FFFFFFC000003FFFF1FFC00000FFFC01FFC00003FFE001
-FFC00007FF8001FFC0001FFE0001FFC0003FFC0001FFC0003FF80001FFC0007FF80001FF
-C0007FF00001FFC000FFF00001FFC000FFE00001FFC000FFE00001FFC000FFE00001FFC0
-00FFE00003FFC000FFE00003FFC000FFF00007FFC0007FF8000FFFC0007FF8001FFFF000
-3FFE003EFFFFC01FFF80FC7FFFC007FFFFF87FFFC003FFFFE01FFFC0007FFF8007FFC000
-0FFC00000000322F7DAD36>97 D<007FC000000000FFFFC000000000FFFFC000000000FF
-FFC000000000FFFFC000000000FFFFC00000000003FFC00000000001FFC00000000001FF
-C00000000001FFC00000000001FFC00000000001FFC00000000001FFC00000000001FFC0
-0000000001FFC00000000001FFC00000000001FFC00000000001FFC00000000001FFC000
-00000001FFC00000000001FFC00000000001FFC00000000001FFC00000000001FFC00000
-000001FFC00FF8000001FFC0FFFF800001FFC3FFFFE00001FFCFFFFFF80001FFDFC03FFC
-0001FFFF000FFE0001FFFC0003FF0001FFF80001FF8001FFF00001FFC001FFE00000FFE0
-01FFC00000FFE001FFC000007FF001FFC000007FF001FFC000007FF801FFC000003FF801
-FFC000003FF801FFC000003FF801FFC000003FFC01FFC000003FFC01FFC000003FFC01FF
-C000003FFC01FFC000003FFC01FFC000003FFC01FFC000003FFC01FFC000003FFC01FFC0
-00003FFC01FFC000003FFC01FFC000003FFC01FFC000003FFC01FFC000003FF801FFC000
-003FF801FFC000007FF801FFC000007FF001FFC000007FF001FFC000007FF001FFC00000
-FFE001FFE00000FFC001FFF00001FFC001FFF80003FF8001FF7C0007FF0001FE3E000FFE
-0001FC1FC07FFC0001F80FFFFFF00001F003FFFFC00001E000FFFF00000000001FF00000
-36467DC43E>I<00003FFC00000001FFFFC000000FFFFFF000003FFFFFFC00007FF003FE
-0000FFC001FF0003FF8003FF0007FF0007FF8007FE0007FF800FFE0007FF801FFC0007FF
-801FFC0007FF803FF80007FF803FF80003FF007FF80001FE007FF8000078007FF0000000
-007FF000000000FFF000000000FFF000000000FFF000000000FFF000000000FFF0000000
-00FFF000000000FFF000000000FFF000000000FFF000000000FFF000000000FFF0000000
-00FFF0000000007FF8000000007FF8000000007FF8000000003FF8000000003FFC000003
-C03FFC000003C01FFE000007C00FFE000007800FFF00000F8007FF80001F0003FFC0003E
-0001FFF0007C00007FFC03F800003FFFFFF000000FFFFFC0000003FFFF000000003FF800
-002A2F7CAD32>I<0000000003FE0000000007FFFE0000000007FFFE0000000007FFFE00
-00000007FFFE0000000007FFFE00000000001FFE00000000000FFE00000000000FFE0000
-0000000FFE00000000000FFE00000000000FFE00000000000FFE00000000000FFE000000
-00000FFE00000000000FFE00000000000FFE00000000000FFE00000000000FFE00000000
-000FFE00000000000FFE00000000000FFE00000000000FFE00000000000FFE0000003FE0
-0FFE000003FFFC0FFE00000FFFFF8FFE00003FFFFFCFFE0000FFF807FFFE0001FFC001FF
-FE0003FF80007FFE0007FF00003FFE000FFE00001FFE000FFC00000FFE001FFC00000FFE
-003FF800000FFE003FF800000FFE003FF800000FFE007FF800000FFE007FF000000FFE00
-7FF000000FFE00FFF000000FFE00FFF000000FFE00FFF000000FFE00FFF000000FFE00FF
-F000000FFE00FFF000000FFE00FFF000000FFE00FFF000000FFE00FFF000000FFE00FFF0
-00000FFE00FFF000000FFE00FFF000000FFE007FF000000FFE007FF000000FFE007FF000
-000FFE007FF800000FFE003FF800000FFE003FF800000FFE001FFC00001FFE001FFC0000
-1FFE000FFE00003FFE0007FE00007FFE0003FF0000FFFF0001FFC003FFFFFC00FFF01FEF
-FFFC007FFFFF8FFFFC001FFFFE0FFFFC0007FFF80FFFFC00007FC00FF80036467CC43E>
-I<00003FF800000003FFFF8000000FFFFFE000003FFFFFF000007FF83FF80000FFC007FC
-0001FF8003FE0003FF0001FF0007FE0000FF800FFC0000FF801FFC00007FC01FF800007F
-C03FF800003FE03FF800003FE07FF800003FE07FF000003FE07FF000003FF07FF000001F
-F0FFF000001FF0FFF000001FF0FFFFFFFFFFF0FFFFFFFFFFF0FFFFFFFFFFF0FFFFFFFFFF
-F0FFF000000000FFF000000000FFF000000000FFF000000000FFF0000000007FF0000000
-007FF0000000007FF8000000007FF8000000003FF8000000003FF8000000F01FFC000000
-F01FFC000001F00FFE000001E007FF000003E003FF800007C001FFC0000F8000FFF0003F
-00007FFE01FE00001FFFFFFC000007FFFFF0000001FFFFC00000001FFE00002C2F7DAD33
->I<000000FF8000000FFFE000007FFFF00001FFFFF80003FF8FFC000FFE0FFE001FFC1F
-FE001FF81FFE003FF81FFE007FF01FFE007FF01FFE007FF00FFC00FFE00FFC00FFE003F0
-00FFE000C000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000
-FFE0000000FFE0000000FFE0000000FFE0000000FFE00000FFFFFFF800FFFFFFF800FFFF
-FFF800FFFFFFF800FFFFFFF80000FFE0000000FFE0000000FFE0000000FFE0000000FFE0
-000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE000
+00006F457EC374>I<1FFFFFFFFFFFFE1FFFFFFFFFFFFE1FFFFFFFFFFFFE1FFFFFFFFFFF
+FE1FFFFFFFFFFFFE1FFFF80001FFFC1FFF800001FFF81FFC000003FFF81FF8000007FFF0
+1FF0000007FFE01FE000000FFFE01FC000001FFFC03F8000001FFF803F8000003FFF803F
+0000007FFF003F0000007FFE003E000000FFFE003E000001FFFC003E000001FFF8003C00
+0003FFF8003C000007FFF0003C000007FFE0003C00000FFFE0003C00001FFFC000000000
+1FFF80000000003FFF00000000007FFF00000000007FFE0000000000FFFC0000000001FF
+FC0000000001FFF80000000003FFF00000000007FFF00000000007FFE0000000000FFFC0
+000000001FFFC0000000001FFF80000000003FFF00000000007FFF00000000007FFE0000
+000000FFFC00000F0001FFFC00000F0001FFF800000F0003FFF000000F0007FFF000000F
+000FFFE000001F000FFFC000001F001FFFC000001E003FFF8000001E003FFF0000001E00
+7FFF0000003E00FFFE0000003E00FFFC0000003E01FFFC0000007E03FFF80000007E03FF
+F0000000FE07FFF0000001FE0FFFE0000003FE0FFFC0000007FE1FFFC000000FFE3FFF80
+00003FFE3FFF000000FFFC7FFF00000FFFFCFFFFFFFFFFFFFCFFFFFFFFFFFFFCFFFFFFFF
+FFFFFCFFFFFFFFFFFFFCFFFFFFFFFFFFFC38447AC344>90 D<0001FFE0000000001FFFFE
+000000007FFFFF80000001FFFFFFE0000003FE007FF8000007FC001FFC000007FE000FFE
+00000FFF0007FF00000FFF0007FF00000FFF0003FF80000FFF0003FF80000FFF0003FF80
+000FFF0001FFC00007FE0001FFC00003FC0001FFC00000F00001FFC00000000001FFC000
+00000001FFC00000000001FFC00000000001FFC000000003FFFFC0000000FFFFFFC00000
+07FFFFFFC000003FFFF1FFC00000FFFC01FFC00003FFE001FFC00007FF8001FFC0001FFE
+0001FFC0003FFC0001FFC0003FF80001FFC0007FF80001FFC0007FF00001FFC000FFF000
+01FFC000FFE00001FFC000FFE00001FFC000FFE00001FFC000FFE00003FFC000FFE00003
+FFC000FFF00007FFC0007FF8000FFFC0007FF8001FFFF0003FFE003EFFFFC01FFF80FC7F
+FFC007FFFFF87FFFC003FFFFE01FFFC0007FFF8007FFC0000FFC00000000322F7DAD36>
+97 D<007FC000000000FFFFC000000000FFFFC000000000FFFFC000000000FFFFC00000
+0000FFFFC00000000003FFC00000000001FFC00000000001FFC00000000001FFC0000000
+0001FFC00000000001FFC00000000001FFC00000000001FFC00000000001FFC000000000
+01FFC00000000001FFC00000000001FFC00000000001FFC00000000001FFC00000000001
+FFC00000000001FFC00000000001FFC00000000001FFC00000000001FFC00FF8000001FF
+C0FFFF800001FFC3FFFFE00001FFCFFFFFF80001FFDFC03FFC0001FFFF000FFE0001FFFC
+0003FF0001FFF80001FF8001FFF00001FFC001FFE00000FFE001FFC00000FFE001FFC000
+007FF001FFC000007FF001FFC000007FF801FFC000003FF801FFC000003FF801FFC00000
+3FF801FFC000003FFC01FFC000003FFC01FFC000003FFC01FFC000003FFC01FFC000003F
+FC01FFC000003FFC01FFC000003FFC01FFC000003FFC01FFC000003FFC01FFC000003FFC
+01FFC000003FFC01FFC000003FFC01FFC000003FF801FFC000003FF801FFC000007FF801
+FFC000007FF001FFC000007FF001FFC000007FF001FFC00000FFE001FFE00000FFC001FF
+F00001FFC001FFF80003FF8001FF7C0007FF0001FE3E000FFE0001FC1FC07FFC0001F80F
+FFFFF00001F003FFFFC00001E000FFFF00000000001FF0000036467DC43E>I<00003FFC
+00000001FFFFC000000FFFFFF000003FFFFFFC00007FF003FE0000FFC001FF0003FF8003
+FF0007FF0007FF8007FE0007FF800FFE0007FF801FFC0007FF801FFC0007FF803FF80007
+FF803FF80003FF007FF80001FE007FF8000078007FF0000000007FF000000000FFF00000
+0000FFF000000000FFF000000000FFF000000000FFF000000000FFF000000000FFF00000
+0000FFF000000000FFF000000000FFF000000000FFF000000000FFF0000000007FF80000
+00007FF8000000007FF8000000003FF8000000003FFC000003C03FFC000003C01FFE0000
+07C00FFE000007800FFF00000F8007FF80001F0003FFC0003E0001FFF0007C00007FFC03
+F800003FFFFFF000000FFFFFC0000003FFFF000000003FF800002A2F7CAD32>I<000000
+0003FE0000000007FFFE0000000007FFFE0000000007FFFE0000000007FFFE0000000007
+FFFE00000000001FFE00000000000FFE00000000000FFE00000000000FFE00000000000F
+FE00000000000FFE00000000000FFE00000000000FFE00000000000FFE00000000000FFE
+00000000000FFE00000000000FFE00000000000FFE00000000000FFE00000000000FFE00
+000000000FFE00000000000FFE00000000000FFE0000003FE00FFE000003FFFC0FFE0000
+0FFFFF8FFE00003FFFFFCFFE0000FFF807FFFE0001FFC001FFFE0003FF80007FFE0007FF
+00003FFE000FFE00001FFE000FFC00000FFE001FFC00000FFE003FF800000FFE003FF800
+000FFE003FF800000FFE007FF800000FFE007FF000000FFE007FF000000FFE00FFF00000
+0FFE00FFF000000FFE00FFF000000FFE00FFF000000FFE00FFF000000FFE00FFF000000F
+FE00FFF000000FFE00FFF000000FFE00FFF000000FFE00FFF000000FFE00FFF000000FFE
+00FFF000000FFE007FF000000FFE007FF000000FFE007FF000000FFE007FF800000FFE00
+3FF800000FFE003FF800000FFE001FFC00001FFE001FFC00001FFE000FFE00003FFE0007
+FE00007FFE0003FF0000FFFF0001FFC003FFFFFC00FFF01FEFFFFC007FFFFF8FFFFC001F
+FFFE0FFFFC0007FFF80FFFFC00007FC00FF80036467CC43E>I<00003FF800000003FFFF
+8000000FFFFFE000003FFFFFF000007FF83FF80000FFC007FC0001FF8003FE0003FF0001
+FF0007FE0000FF800FFC0000FF801FFC00007FC01FF800007FC03FF800003FE03FF80000
+3FE07FF800003FE07FF000003FE07FF000003FF07FF000001FF0FFF000001FF0FFF00000
+1FF0FFFFFFFFFFF0FFFFFFFFFFF0FFFFFFFFFFF0FFFFFFFFFFF0FFF000000000FFF00000
+0000FFF000000000FFF000000000FFF0000000007FF0000000007FF0000000007FF80000
+00007FF8000000003FF8000000003FF8000000F01FFC000000F01FFC000001F00FFE0000
+01E007FF000003E003FF800007C001FFC0000F8000FFF0003F00007FFE01FE00001FFFFF
+FC000007FFFFF0000001FFFFC00000001FFE00002C2F7DAD33>I<000000FF8000000FFF
+E000007FFFF00001FFFFF80003FF8FFC000FFE0FFE001FFC1FFE001FF81FFE003FF81FFE
+007FF01FFE007FF01FFE007FF00FFC00FFE00FFC00FFE003F000FFE000C000FFE0000000
+FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FF
+E0000000FFE0000000FFE00000FFFFFFF800FFFFFFF800FFFFFFF800FFFFFFF800FFFFFF
+F80000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE000
0000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE00000
00FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000
FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FF
-E000007FFFFFE0007FFFFFE0007FFFFFE0007FFFFFE0007FFFFFE00027467DC522>I<00
-00FFE0007E00000FFFFE03FF80003FFFFF8FFF8000FFFFFFFFFFC001FFC07FFF3FC003FF
-001FF83FC007FE000FFC3FC00FFC0007FE1F801FFC0007FF0F001FF80003FF00001FF800
-03FF00003FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF80003
-FF80003FF80003FF80003FF80003FF80003FF80003FF80001FF80003FF00001FF80003FF
-00001FFC0007FF00000FFC0007FE000007FE000FFC000003FF001FF8000001FFC07FF000
-0003FFFFFFE0000003FFFFFF800000078FFFFE0000000780FFE00000000F800000000000
-0F8000000000000F8000000000000F8000000000000FC000000000000FE000000000000F
-F000000000000FFFFFFFC000000FFFFFFFFC000007FFFFFFFF800007FFFFFFFFE00003FF
-FFFFFFF00001FFFFFFFFFC0000FFFFFFFFFC0003FFFFFFFFFE000FFFFFFFFFFF001FF000
-007FFF003FC0000007FF007F80000001FF807F80000000FF80FF00000000FF80FF000000
-007F80FF000000007F80FF000000007F80FF000000007F80FF80000000FF807F80000000
-FF007FC0000001FF003FE0000003FE001FF0000007FC000FFE00003FF80007FFC001FFF0
-0001FFFFFFFFC000007FFFFFFF0000000FFFFFF8000000007FFF00000032427DAC38>I<
-007FC000000000FFFFC000000000FFFFC000000000FFFFC000000000FFFFC000000000FF
-FFC00000000003FFC00000000001FFC00000000001FFC00000000001FFC00000000001FF
-C00000000001FFC00000000001FFC00000000001FFC00000000001FFC00000000001FFC0
-0000000001FFC00000000001FFC00000000001FFC00000000001FFC00000000001FFC000
-00000001FFC00000000001FFC00000000001FFC00000000001FFC007FE000001FFC03FFF
-800001FFC0FFFFE00001FFC1FFFFF80001FFC7F03FFC0001FFCF801FFC0001FFDF000FFE
-0001FFDE000FFE0001FFFC000FFE0001FFF80007FF0001FFF00007FF0001FFF00007FF00
-01FFE00007FF0001FFE00007FF0001FFE00007FF0001FFC00007FF0001FFC00007FF0001
+E0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE000007FFFFFE0007FFFFF
+E0007FFFFFE0007FFFFFE0007FFFFFE00027467DC522>I<0000FFE0007E00000FFFFE03
+FF80003FFFFF8FFF8000FFFFFFFFFFC001FFC07FFF3FC003FF001FF83FC007FE000FFC3F
+C00FFC0007FE1F801FFC0007FF0F001FF80003FF00001FF80003FF00003FF80003FF8000
+3FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF80003F
+F80003FF80003FF80003FF80001FF80003FF00001FF80003FF00001FFC0007FF00000FFC
+0007FE000007FE000FFC000003FF001FF8000001FFC07FF0000003FFFFFFE0000003FFFF
+FF800000078FFFFE0000000780FFE00000000F8000000000000F8000000000000F800000
+0000000F8000000000000FC000000000000FE000000000000FF000000000000FFFFFFFC0
+00000FFFFFFFFC000007FFFFFFFF800007FFFFFFFFE00003FFFFFFFFF00001FFFFFFFFFC
+0000FFFFFFFFFC0003FFFFFFFFFE000FFFFFFFFFFF001FF000007FFF003FC0000007FF00
+7F80000001FF807F80000000FF80FF00000000FF80FF000000007F80FF000000007F80FF
+000000007F80FF000000007F80FF80000000FF807F80000000FF007FC0000001FF003FE0
+000003FE001FF0000007FC000FFE00003FF80007FFC001FFF00001FFFFFFFFC000007FFF
+FFFF0000000FFFFFF8000000007FFF00000032427DAC38>I<007FC000000000FFFFC000
+000000FFFFC000000000FFFFC000000000FFFFC000000000FFFFC00000000003FFC00000
+000001FFC00000000001FFC00000000001FFC00000000001FFC00000000001FFC0000000
+0001FFC00000000001FFC00000000001FFC00000000001FFC00000000001FFC000000000
+01FFC00000000001FFC00000000001FFC00000000001FFC00000000001FFC00000000001
+FFC00000000001FFC00000000001FFC007FE000001FFC03FFF800001FFC0FFFFE00001FF
+C1FFFFF80001FFC7F03FFC0001FFCF801FFC0001FFDF000FFE0001FFDE000FFE0001FFFC
+000FFE0001FFF80007FF0001FFF00007FF0001FFF00007FF0001FFE00007FF0001FFE000
+07FF0001FFE00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007
+FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF
+0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF00
+01FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001
FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FF
-C00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC0
-0007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC000
-07FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007
-FF0001FFC00007FF0001FFC00007FF00FFFFFF83FFFFFEFFFFFF83FFFFFEFFFFFF83FFFF
-FEFFFFFF83FFFFFEFFFFFF83FFFFFE37457CC43E>I<007C0001FF0003FF8007FFC007FF
-C00FFFE00FFFE00FFFE00FFFE00FFFE007FFC007FFC003FF8001FF00007C000000000000
-00000000000000000000000000000000000000000000000000007FC07FFFC07FFFC07FFF
-C07FFFC07FFFC003FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FF
-C001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FF
-C001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FF
-C0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF18467CC520>I<007FC000FFFFC000FFFFC000FF
-FFC000FFFFC000FFFFC00003FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001
-FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001
-FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001
-FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001
-FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001
-FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001
-FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC000FFFFFF80FFFFFF80FF
-FFFF80FFFFFF80FFFFFF8019457CC420>108 D<007F8007FE00000FFC0000FFFF803FFF
-C0007FFF8000FFFF80FFFFF001FFFFE000FFFF81FFFFF803FFFFF000FFFF87F01FFC0FE0
-3FF800FFFF8FC00FFE1F801FFC0003FF9F000FFF3E001FFE0001FF9E0007FF3C000FFE00
-01FFBC0007FF78000FFE0001FFF80003FFF00007FF0001FFF80003FFF00007FF0001FFF0
-0003FFE00007FF0001FFE00003FFC00007FF0001FFE00003FFC00007FF0001FFE00003FF
-C00007FF0001FFC00003FF800007FF0001FFC00003FF800007FF0001FFC00003FF800007
+C00007FF00FFFFFF83FFFFFEFFFFFF83FFFFFEFFFFFF83FFFFFEFFFFFF83FFFFFEFFFFFF
+83FFFFFE37457CC43E>I<007C0001FF0003FF8007FFC007FFC00FFFE00FFFE00FFFE00F
+FFE00FFFE007FFC007FFC003FF8001FF00007C0000000000000000000000000000000000
+0000000000000000000000000000007FC07FFFC07FFFC07FFFC07FFFC07FFFC003FFC001
+FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001
+FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001
+FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC0FFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFF18467CC520>I<007FC000FFFFC000FFFFC000FFFFC000FFFFC000FFFFC000
+03FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC000
+01FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC000
+01FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC000
+01FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC000
+01FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC000
+01FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC000
+01FFC00001FFC00001FFC00001FFC000FFFFFF80FFFFFF80FFFFFF80FFFFFF80FFFFFF80
+19457CC420>108 D<007F8007FE00000FFC0000FFFF803FFFC0007FFF8000FFFF80FFFF
+F001FFFFE000FFFF81FFFFF803FFFFF000FFFF87F01FFC0FE03FF800FFFF8FC00FFE1F80
+1FFC0003FF9F000FFF3E001FFE0001FF9E0007FF3C000FFE0001FFBC0007FF78000FFE00
+01FFF80003FFF00007FF0001FFF80003FFF00007FF0001FFF00003FFE00007FF0001FFE0
+0003FFC00007FF0001FFE00003FFC00007FF0001FFE00003FFC00007FF0001FFC00003FF
+800007FF0001FFC00003FF800007FF0001FFC00003FF800007FF0001FFC00003FF800007
FF0001FFC00003FF800007FF0001FFC00003FF800007FF0001FFC00003FF800007FF0001
FFC00003FF800007FF0001FFC00003FF800007FF0001FFC00003FF800007FF0001FFC000
03FF800007FF0001FFC00003FF800007FF0001FFC00003FF800007FF0001FFC00003FF80
0007FF0001FFC00003FF800007FF0001FFC00003FF800007FF0001FFC00003FF800007FF
0001FFC00003FF800007FF0001FFC00003FF800007FF0001FFC00003FF800007FF0001FF
C00003FF800007FF0001FFC00003FF800007FF0001FFC00003FF800007FF0001FFC00003
-FF800007FF0001FFC00003FF800007FF0001FFC00003FF800007FF00FFFFFF81FFFFFF03
+FF800007FF0001FFC00003FF800007FF00FFFFFF81FFFFFF03FFFFFEFFFFFF81FFFFFF03
FFFFFEFFFFFF81FFFFFF03FFFFFEFFFFFF81FFFFFF03FFFFFEFFFFFF81FFFFFF03FFFFFE
-FFFFFF81FFFFFF03FFFFFE572D7CAC5E>I<007F8007FE0000FFFF803FFF8000FFFF80FF
-FFE000FFFF81FFFFF800FFFF87F03FFC00FFFF8F801FFC0003FF9F000FFE0001FF9E000F
-FE0001FFBC000FFE0001FFF80007FF0001FFF00007FF0001FFF00007FF0001FFE00007FF
-0001FFE00007FF0001FFE00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF00
-01FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001
-FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FF
-C00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC0
+572D7CAC5E>I<007F8007FE0000FFFF803FFF8000FFFF80FFFFE000FFFF81FFFFF800FF
+FF87F03FFC00FFFF8F801FFC0003FF9F000FFE0001FF9E000FFE0001FFBC000FFE0001FF
+F80007FF0001FFF00007FF0001FFF00007FF0001FFE00007FF0001FFE00007FF0001FFE0
0007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC000
-07FF0001FFC00007FF00FFFFFF83FFFFFEFFFFFF83FFFFFEFFFFFF83FFFFFEFFFFFF83FF
-FFFEFFFFFF83FFFFFE372D7CAC3E>I<00001FFC0000000001FFFFC000000007FFFFF000
-00001FFFFFFC0000007FF80FFF000000FFC001FF800001FF8000FFC00003FE00003FE000
-07FE00003FF0000FFC00001FF8000FF800000FF8001FF800000FFC001FF800000FFC003F
-F800000FFE003FF0000007FE007FF0000007FF007FF0000007FF007FF0000007FF007FF0
-000007FF00FFF0000007FF80FFF0000007FF80FFF0000007FF80FFF0000007FF80FFF000
-0007FF80FFF0000007FF80FFF0000007FF80FFF0000007FF80FFF0000007FF80FFF00000
-07FF807FF0000007FF007FF0000007FF007FF0000007FF007FF0000007FF003FF800000F
-FE003FF800000FFE001FF800000FFC001FFC00001FFC000FFC00001FF80007FE00003FF0
-0007FE00003FF00003FF8000FFE00001FFC001FFC000007FF80FFF0000003FFFFFFE0000
-000FFFFFF800000001FFFFC0000000001FFC000000312F7DAD38>I<007FC00FF80000FF
-FFC0FFFF8000FFFFC3FFFFE000FFFFCFFFFFF800FFFFDFC03FFC00FFFFFF001FFE0003FF
-FC0007FF0001FFF80003FF8001FFF00003FFC001FFE00001FFE001FFC00001FFE001FFC0
-0000FFF001FFC00000FFF001FFC000007FF801FFC000007FF801FFC000007FF801FFC000
-007FF801FFC000003FFC01FFC000003FFC01FFC000003FFC01FFC000003FFC01FFC00000
-3FFC01FFC000003FFC01FFC000003FFC01FFC000003FFC01FFC000003FFC01FFC000003F
-FC01FFC000003FFC01FFC000003FFC01FFC000007FF801FFC000007FF801FFC000007FF8
-01FFC000007FF001FFC00000FFF001FFC00000FFF001FFC00001FFE001FFE00001FFC001
-FFF00003FFC001FFF80007FF8001FFFC000FFF0001FFFE001FFE0001FFDFC07FFC0001FF
-CFFFFFF00001FFC3FFFFC00001FFC0FFFF000001FFC01FF0000001FFC00000000001FFC0
-0000000001FFC00000000001FFC00000000001FFC00000000001FFC00000000001FFC000
-00000001FFC00000000001FFC00000000001FFC00000000001FFC00000000001FFC00000
-000001FFC000000000FFFFFF80000000FFFFFF80000000FFFFFF80000000FFFFFF800000
-00FFFFFF8000000036407DAC3E>I<00003FE0001E000003FFFC003E00000FFFFF007E00
-003FFFFF807E0000FFF80FE0FE0001FFE003F1FE0003FFC001F1FE0007FF8000FBFE000F
-FF00007FFE000FFE00003FFE001FFE00001FFE003FFC00001FFE003FFC00000FFE003FF8
-00000FFE007FF800000FFE007FF800000FFE007FF800000FFE00FFF000000FFE00FFF000
-000FFE00FFF000000FFE00FFF000000FFE00FFF000000FFE00FFF000000FFE00FFF00000
-0FFE00FFF000000FFE00FFF000000FFE00FFF000000FFE00FFF000000FFE00FFF000000F
-FE007FF800000FFE007FF800000FFE007FF800000FFE007FF800000FFE003FFC00000FFE
-003FFC00000FFE001FFE00001FFE001FFE00003FFE000FFF00007FFE0007FF0000FFFE00
-03FF8001FFFE0001FFE003EFFE0000FFF01FCFFE00007FFFFF8FFE00001FFFFE0FFE0000
-03FFF80FFE0000007FC00FFE00000000000FFE00000000000FFE00000000000FFE000000
-00000FFE00000000000FFE00000000000FFE00000000000FFE00000000000FFE00000000
-000FFE00000000000FFE00000000000FFE00000000000FFE00000000000FFE0000000007
-FFFFFC00000007FFFFFC00000007FFFFFC00000007FFFFFC00000007FFFFFC36407CAC3B
->I<007F807F00FFFF81FFE0FFFF83FFF0FFFF8FFFF8FFFF8F8FFCFFFF9F1FFE03FFBE1F
-FE01FFBC1FFE01FFF81FFE01FFF81FFE01FFF01FFE01FFF00FFC01FFE007F801FFE001E0
-01FFE0000001FFE0000001FFE0000001FFC0000001FFC0000001FFC0000001FFC0000001
-FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001FF
+07FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007
+FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF
+0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF00
+01FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF00FF
+FFFF83FFFFFEFFFFFF83FFFFFEFFFFFF83FFFFFEFFFFFF83FFFFFEFFFFFF83FFFFFE372D
+7CAC3E>I<00001FFC0000000001FFFFC000000007FFFFF00000001FFFFFFC0000007FF8
+0FFF000000FFC001FF800001FF8000FFC00003FE00003FE00007FE00003FF0000FFC0000
+1FF8000FF800000FF8001FF800000FFC001FF800000FFC003FF800000FFE003FF0000007
+FE007FF0000007FF007FF0000007FF007FF0000007FF007FF0000007FF00FFF0000007FF
+80FFF0000007FF80FFF0000007FF80FFF0000007FF80FFF0000007FF80FFF0000007FF80
+FFF0000007FF80FFF0000007FF80FFF0000007FF80FFF0000007FF807FF0000007FF007F
+F0000007FF007FF0000007FF007FF0000007FF003FF800000FFE003FF800000FFE001FF8
+00000FFC001FFC00001FFC000FFC00001FF80007FE00003FF00007FE00003FF00003FF80
+00FFE00001FFC001FFC000007FF80FFF0000003FFFFFFE0000000FFFFFF800000001FFFF
+C0000000001FFC000000312F7DAD38>I<007FC00FF80000FFFFC0FFFF8000FFFFC3FFFF
+E000FFFFCFFFFFF800FFFFDFC03FFC00FFFFFF001FFE0003FFFC0007FF0001FFF80003FF
+8001FFF00003FFC001FFE00001FFE001FFC00001FFE001FFC00000FFF001FFC00000FFF0
+01FFC000007FF801FFC000007FF801FFC000007FF801FFC000007FF801FFC000003FFC01
+FFC000003FFC01FFC000003FFC01FFC000003FFC01FFC000003FFC01FFC000003FFC01FF
+C000003FFC01FFC000003FFC01FFC000003FFC01FFC000003FFC01FFC000003FFC01FFC0
+00003FFC01FFC000007FF801FFC000007FF801FFC000007FF801FFC000007FF001FFC000
+00FFF001FFC00000FFF001FFC00001FFE001FFE00001FFC001FFF00003FFC001FFF80007
+FF8001FFFC000FFF0001FFFE001FFE0001FFDFC07FFC0001FFCFFFFFF00001FFC3FFFFC0
+0001FFC0FFFF000001FFC01FF0000001FFC00000000001FFC00000000001FFC000000000
+01FFC00000000001FFC00000000001FFC00000000001FFC00000000001FFC00000000001
+FFC00000000001FFC00000000001FFC00000000001FFC00000000001FFC000000000FFFF
+FF80000000FFFFFF80000000FFFFFF80000000FFFFFF80000000FFFFFF8000000036407D
+AC3E>I<00003FE0001E000003FFFC003E00000FFFFF007E00003FFFFF807E0000FFF80F
+E0FE0001FFE003F1FE0003FFC001F1FE0007FF8000FBFE000FFF00007FFE000FFE00003F
+FE001FFE00001FFE003FFC00001FFE003FFC00000FFE003FF800000FFE007FF800000FFE
+007FF800000FFE007FF800000FFE00FFF000000FFE00FFF000000FFE00FFF000000FFE00
+FFF000000FFE00FFF000000FFE00FFF000000FFE00FFF000000FFE00FFF000000FFE00FF
+F000000FFE00FFF000000FFE00FFF000000FFE00FFF000000FFE007FF800000FFE007FF8
+00000FFE007FF800000FFE007FF800000FFE003FFC00000FFE003FFC00000FFE001FFE00
+001FFE001FFE00003FFE000FFF00007FFE0007FF0000FFFE0003FF8001FFFE0001FFE003
+EFFE0000FFF01FCFFE00007FFFFF8FFE00001FFFFE0FFE000003FFF80FFE0000007FC00F
+FE00000000000FFE00000000000FFE00000000000FFE00000000000FFE00000000000FFE
+00000000000FFE00000000000FFE00000000000FFE00000000000FFE00000000000FFE00
+000000000FFE00000000000FFE00000000000FFE0000000007FFFFFC00000007FFFFFC00
+000007FFFFFC00000007FFFFFC00000007FFFFFC36407CAC3B>I<007F807F00FFFF81FF
+E0FFFF83FFF0FFFF8FFFF8FFFF8F8FFCFFFF9F1FFE03FFBE1FFE01FFBC1FFE01FFF81FFE
+01FFF81FFE01FFF01FFE01FFF00FFC01FFE007F801FFE001E001FFE0000001FFE0000001
+FFE0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001FF
C0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC0
-000001FFC0000001FFC0000001FFC0000001FFC00000FFFFFFE000FFFFFFE000FFFFFFE0
-00FFFFFFE000FFFFFFE000272D7DAC2E>I<001FFC038000FFFF878003FFFFFF800FFFFF
-FF801FF003FF803FC000FF803F80003F807F00001F807E00001F80FE00000F80FE00000F
-80FE00000780FF00000780FF00000780FF80000780FFE0000000FFFE0000007FFFF00000
-7FFFFF00003FFFFFC0003FFFFFF0001FFFFFFC000FFFFFFE0003FFFFFF0001FFFFFF8000
-7FFFFF80000FFFFFC000003FFFC0000003FFE0000000FFE0F000003FE0F000003FE0F800
-001FE0F800000FE0F800000FE0FC00000FE0FC00000FE0FE00000FC0FF00001FC0FF0000
-1FC0FF80003F80FFE0007F00FFF803FE00FFFFFFFC00FCFFFFF800F03FFFE000E007FE00
-00232F7CAD2C>I<0001E000000001E000000001E000000001E000000001E000000003E0
-00000003E000000003E000000003E000000007E000000007E00000000FE00000000FE000
-00001FE00000001FE00000003FE00000007FE0000000FFE0000003FFE000000FFFFFFF80
-FFFFFFFF80FFFFFFFF80FFFFFFFF80FFFFFFFF8000FFE0000000FFE0000000FFE0000000
-FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FF
+000001FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC000
+0001FFC0000001FFC00000FFFFFFE000FFFFFFE000FFFFFFE000FFFFFFE000FFFFFFE000
+272D7DAC2E>I<001FFC038000FFFF878003FFFFFF800FFFFFFF801FF003FF803FC000FF
+803F80003F807F00001F807E00001F80FE00000F80FE00000F80FE00000780FF00000780
+FF00000780FF80000780FFE0000000FFFE0000007FFFF000007FFFFF00003FFFFFC0003F
+FFFFF0001FFFFFFC000FFFFFFE0003FFFFFF0001FFFFFF80007FFFFF80000FFFFFC00000
+3FFFC0000003FFE0000000FFE0F000003FE0F000003FE0F800001FE0F800000FE0F80000
+0FE0FC00000FE0FC00000FE0FE00000FC0FF00001FC0FF00001FC0FF80003F80FFE0007F
+00FFF803FE00FFFFFFFC00FCFFFFF800F03FFFE000E007FE0000232F7CAD2C>I<0001E0
+00000001E000000001E000000001E000000001E000000003E000000003E000000003E000
+000003E000000007E000000007E00000000FE00000000FE00000001FE00000001FE00000
+003FE00000007FE0000000FFE0000003FFE000000FFFFFFF80FFFFFFFF80FFFFFFFF80FF
+FFFFFF80FFFFFFFF8000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FF
E0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0
-000000FFE0000000FFE0000000FFE0000000FFE001E000FFE001E000FFE001E000FFE001
-E000FFE001E000FFE001E000FFE001E000FFE001E000FFE001E000FFE003E000FFF003C0
-007FF003C0007FF007C0003FF80F80001FFC1F00000FFFFF000007FFFC000001FFF80000
-003FE00023407EBE2C>I<007FC00001FF00FFFFC003FFFF00FFFFC003FFFF00FFFFC003
-FFFF00FFFFC003FFFF00FFFFC003FFFF0003FFC0000FFF0001FFC00007FF0001FFC00007
+000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE000
+0000FFE0000000FFE001E000FFE001E000FFE001E000FFE001E000FFE001E000FFE001E0
+00FFE001E000FFE001E000FFE001E000FFE003E000FFF003C0007FF003C0007FF007C000
+3FF80F80001FFC1F00000FFFFF000007FFFC000001FFF80000003FE00023407EBE2C>I<
+007FC00001FF00FFFFC003FFFF00FFFFC003FFFF00FFFFC003FFFF00FFFFC003FFFF00FF
+FFC003FFFF0003FFC0000FFF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FF
+C00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC0
+0007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC000
+07FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007
FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF
-0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF00
-01FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001
-FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FF
-C00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC0000FFF0001FFC0
-000FFF0001FFC0001FFF0001FFC0001FFF0001FFC0003FFF0000FFC0003FFF0000FFE000
-7FFF80007FE001F7FFFE007FF807E7FFFE003FFFFFC7FFFE000FFFFF07FFFE0003FFFE07
-FFFE00007FF007FC00372E7CAC3E>I<FFFFFF0003FFFCFFFFFF0003FFFCFFFFFF0003FF
-FCFFFFFF0003FFFCFFFFFF0003FFFC01FFE000003E0000FFE000003C0000FFF000003C00
-007FF000007800007FF800007800007FF80000F800003FF80000F000003FFC0001F00000
-1FFC0001E000001FFE0003E000000FFE0003C000000FFF0007C0000007FF000780000007
-FF800F80000003FF800F00000003FFC00F00000003FFC01F00000001FFE01E00000001FF
-E03E00000000FFE03C00000000FFF07C000000007FF078000000007FF8F8000000003FF8
-F0000000003FFDF0000000001FFDE0000000001FFFE0000000000FFFC0000000000FFFC0
-000000000FFFC00000000007FF800000000007FF800000000003FF000000000003FF0000
-00000001FE000000000001FE000000000000FC000000000000FC00000000000078000000
-362C7EAB3B>I<FFFFFF0003FFFCFFFFFF0003FFFCFFFFFF0003FFFCFFFFFF0003FFFCFF
-FFFF0003FFFC01FFE000003E0000FFE000003C0000FFF000003C00007FF000007800007F
-F800007800007FF80000F800003FF80000F000003FFC0001F000001FFC0001E000001FFE
-0003E000000FFE0003C000000FFF0007C0000007FF000780000007FF800F80000003FF80
-0F00000003FFC00F00000003FFC01F00000001FFE01E00000001FFE03E00000000FFE03C
-00000000FFF07C000000007FF078000000007FF8F8000000003FF8F0000000003FFDF000
-0000001FFDE0000000001FFFE0000000000FFFC0000000000FFFC0000000000FFFC00000
-000007FF800000000007FF800000000003FF000000000003FF000000000001FE00000000
-0001FE000000000000FC000000000000FC00000000000078000000000000780000000000
-00F8000000000000F0000000000001F0000000000001E00000001F0003E00000003F8003
-C00000007FC007C0000000FFE00780000000FFE00F80000000FFE00F00000000FFE01F00
-000000FFE03E00000000FFC07C000000007FC1F8000000007F07F0000000003FFFE00000
-00001FFFC00000000007FF000000000001FC000000000036407EAB3B>121
-D<1FFFFFFFFF801FFFFFFFFF801FFFFFFFFF801FFFFFFFFF801FFC001FFF001FE0003FFE
-001FC0003FFE001F80007FFC001F0000FFF8003F0001FFF0003E0001FFF0003E0003FFE0
-003E0007FFC0003C000FFF80003C000FFF80003C001FFF00003C003FFE00003C007FFC00
-0000007FFC00000000FFF800000001FFF000000003FFE000000003FFE000000007FFC000
-00000FFF800780001FFF000780001FFF000780003FFE000780007FFC000F8000FFF8000F
-0000FFF8000F0001FFF0000F0003FFE0001F0007FFC0001F0007FFC0001F000FFF80003F
-001FFF00007F003FFE0000FF003FFE0003FF007FFC001FFE00FFFFFFFFFE00FFFFFFFFFE
-00FFFFFFFFFE00FFFFFFFFFE00292C7DAB32>I E
+0001FFC00007FF0001FFC00007FF0001FFC0000FFF0001FFC0000FFF0001FFC0001FFF00
+01FFC0001FFF0001FFC0003FFF0000FFC0003FFF0000FFE0007FFF80007FE001F7FFFE00
+7FF807E7FFFE003FFFFFC7FFFE000FFFFF07FFFE0003FFFE07FFFE00007FF007FC00372E
+7CAC3E>I<FFFFFF0003FFFCFFFFFF0003FFFCFFFFFF0003FFFCFFFFFF0003FFFCFFFFFF
+0003FFFC01FFE000003E0000FFE000003C0000FFF000003C00007FF000007800007FF800
+007800007FF80000F800003FF80000F000003FFC0001F000001FFC0001E000001FFE0003
+E000000FFE0003C000000FFF0007C0000007FF000780000007FF800F80000003FF800F00
+000003FFC00F00000003FFC01F00000001FFE01E00000001FFE03E00000000FFE03C0000
+0000FFF07C000000007FF078000000007FF8F8000000003FF8F0000000003FFDF0000000
+001FFDE0000000001FFFE0000000000FFFC0000000000FFFC0000000000FFFC000000000
+07FF800000000007FF800000000003FF000000000003FF000000000001FE000000000001
+FE000000000000FC000000000000FC00000000000078000000362C7EAB3B>I<FFFFFF00
+03FFFCFFFFFF0003FFFCFFFFFF0003FFFCFFFFFF0003FFFCFFFFFF0003FFFC01FFE00000
+3E0000FFE000003C0000FFF000003C00007FF000007800007FF800007800007FF80000F8
+00003FF80000F000003FFC0001F000001FFC0001E000001FFE0003E000000FFE0003C000
+000FFF0007C0000007FF000780000007FF800F80000003FF800F00000003FFC00F000000
+03FFC01F00000001FFE01E00000001FFE03E00000000FFE03C00000000FFF07C00000000
+7FF078000000007FF8F8000000003FF8F0000000003FFDF0000000001FFDE0000000001F
+FFE0000000000FFFC0000000000FFFC0000000000FFFC00000000007FF800000000007FF
+800000000003FF000000000003FF000000000001FE000000000001FE000000000000FC00
+0000000000FC0000000000007800000000000078000000000000F8000000000000F00000
+00000001F0000000000001E00000001F0003E00000003F8003C00000007FC007C0000000
+FFE00780000000FFE00F80000000FFE00F00000000FFE01F00000000FFE03E00000000FF
+C07C000000007FC1F8000000007F07F0000000003FFFE0000000001FFFC00000000007FF
+000000000001FC000000000036407EAB3B>121 D<1FFFFFFFFF801FFFFFFFFF801FFFFF
+FFFF801FFFFFFFFF801FFC001FFF001FE0003FFE001FC0003FFE001F80007FFC001F0000
+FFF8003F0001FFF0003E0001FFF0003E0003FFE0003E0007FFC0003C000FFF80003C000F
+FF80003C001FFF00003C003FFE00003C007FFC000000007FFC00000000FFF800000001FF
+F000000003FFE000000003FFE000000007FFC00000000FFF800780001FFF000780001FFF
+000780003FFE000780007FFC000F8000FFF8000F0000FFF8000F0001FFF0000F0003FFE0
+001F0007FFC0001F0007FFC0001F000FFF80003F001FFF00007F003FFE0000FF003FFE00
+03FF007FFC001FFE00FFFFFFFFFE00FFFFFFFFFE00FFFFFFFFFE00FFFFFFFFFE00292C7D
+AB32>I E
%EndDVIPSBitmapFont
/Fc 240[42 15[{}1 83.022 /CMSY10 rf
%DVIPSBitmapFont: Fd ecrm1000 10 77
@@ -1864,8 +1845,8 @@ F000000FE000001FC000003F8000003F8000007F000600FE000600FE000601FC000603F8
000607F8000E07F0000E0FE0000C1FC0001C1FC0001C3F80003C7F00007CFF0003FCFFFF
FFFCFFFFFFFC1F247EA325>I E
%EndDVIPSBitmapFont
-%DVIPSBitmapFont: Fe ecbx1000 10 42
-/Fe 42 122 df<00001C00003C0000F80001F00003E00007E0000FC0001F80001F00003F
+%DVIPSBitmapFont: Fe ecbx1000 10 41
+/Fe 41 122 df<00001C00003C0000F80001F00003E00007E0000FC0001F80001F00003F
00007E0000FE0000FC0001FC0001F80003F80003F80007F00007F0000FF0000FE0001FE0
001FE0001FC0003FC0003FC0003FC0003FC0007F80007F80007F80007F80007F8000FF80
00FF8000FF8000FF8000FF8000FF8000FF8000FF8000FF8000FF8000FF8000FF8000FF80
@@ -2101,179 +2082,165 @@ FFE00000000000007FFFC00000000000007FFFC00000000000007FFFC00000000000003F
FF800000000000003FFF800000000000001FFF000000000000001FFF000000000000000F
FE000000000000000FFE000000000000000FFE0000000000000007FC0000000000000007
FC0000000000000003F80000000000000003F80000000000000001F000000000433A7EB8
-48>I<7FFFFFF803FFFFF8007FFFFFF803FFFFF8007FFFFFF803FFFFF8007FFFFFF803FF
-FFF800007FFE00000FF00000003FFF00000FE00000001FFF00000FC00000001FFF80001F
-800000000FFFC0003F0000000007FFC0003F0000000003FFE0007E0000000003FFF000FC
-0000000001FFF801FC0000000000FFF801F80000000000FFFC03F000000000007FFE07E0
-00000000003FFE0FE000000000001FFF0FC000000000001FFF9F8000000000000FFFFF00
-000000000007FFFF00000000000007FFFE00000000000003FFFC00000000000001FFF800
-000000000000FFF800000000000000FFFC000000000000007FFE000000000000003FFE00
-0000000000003FFF000000000000001FFF800000000000003FFF800000000000007FFFC0
-000000000000FFFFE0000000000000FFFFE0000000000001F9FFF0000000000003F1FFF8
-000000000003F0FFFC000000000007E07FFC00000000000FC07FFE00000000001FC03FFF
-00000000001F801FFF00000000003F000FFF80000000007E000FFFC000000000FE0007FF
-E000000000FC0003FFE000000001F80003FFF000000003F00001FFF800000007F00000FF
-F800000007E000007FFC0000000FC000007FFE0000001F8000003FFF0000003F8000001F
-FF0000007F8000001FFF8000FFFFFF0007FFFFFF80FFFFFF0007FFFFFF80FFFFFF0007FF
-FFFF80FFFFFF0007FFFFFF8041397DB848>88 D<3FFFFFFFFFFE3FFFFFFFFFFE3FFFFFFF
-FFFE3FFFFFFFFFFE3FFF80007FFC3FFC0000FFF83FF00001FFF83FC00001FFF03F800003
-FFE03F000007FFE07F000007FFC07E00000FFF807E00001FFF807C00001FFF007C00003F
-FE007C00007FFE007800007FFC00780000FFF800780001FFF800780001FFF000000003FF
-E000000007FFE000000007FFC00000000FFFC00000001FFF800000001FFF000000003FFF
-000000007FFE000000007FFC00000000FFFC00000001FFF800000001FFF000000003FFF0
-00000007FFE000000007FFC0001E000FFFC0001E000FFF80001E001FFF00001E003FFF00
-001E003FFE00001E007FFC00003E00FFFC00003E00FFF800003E01FFF000003E03FFF000
-007E03FFE000007C07FFC00000FC0FFFC00000FC0FFF800001FC1FFF000003FC3FFF0000
-0FFC3FFE00003FFC7FFC0001FFFCFFFFFFFFFFFCFFFFFFFFFFFCFFFFFFFFFFFCFFFFFFFF
-FFFC2F397BB83A>90 D<003FFE00000003FFFFE000000FFFFFF800001FF00FFE00003FF0
-03FF00003FF801FF80003FF800FFC0003FF800FFC0003FF8007FE0003FF8007FE0001FF0
-007FE0000FE0007FE0000380007FE0000000007FE0000000007FE00000003FFFE000000F
-FFFFE000007FFFFFE00001FFF87FE00007FF807FE0000FFE007FE0003FF8007FE0003FF0
-007FE0007FE0007FE000FFE0007FE000FFC0007FE000FFC0007FE000FFC0007FE000FFC0
-007FE000FFC000FFE000FFE001FFE0007FE001FFE0003FF007FFF8001FFC1FBFFFC00FFF
-FE1FFFC003FFF80FFFC0003FE003FFC02A257DA42E>97 D<00FF00000000FFFF00000000
-FFFF00000000FFFF00000000FFFF0000000007FF0000000003FF0000000003FF00000000
-03FF0000000003FF0000000003FF0000000003FF0000000003FF0000000003FF00000000
-03FF0000000003FF0000000003FF0000000003FF0000000003FF0000000003FF00000000
-03FF0000000003FF01FF800003FF0FFFF00003FF3FFFFC0003FFFE03FF0003FFF000FF80
-03FFE0007FC003FF80003FE003FF00003FF003FF00001FF803FF00001FF803FF00001FFC
-03FF00000FFC03FF00000FFC03FF00000FFE03FF00000FFE03FF00000FFE03FF00000FFE
-03FF00000FFE03FF00000FFE03FF00000FFE03FF00000FFE03FF00000FFE03FF00000FFE
-03FF00000FFC03FF00000FFC03FF00000FFC03FF00001FF803FF00001FF803FF00001FF0
-03FF80003FF003FFC0007FE003FFE0007FC003FDF001FF8003F8FC07FE0003F03FFFF800
-03E00FFFE00003C003FF00002F3A7EB935>I<0001FFC000000FFFFC00007FFFFF0000FF
-80FF8003FE00FFC007FC01FFC00FF801FFC01FF801FFC01FF001FFC03FF001FFC03FF000
-FF807FE0007F007FE0001C007FE0000000FFE0000000FFE0000000FFE0000000FFE00000
-00FFE0000000FFE0000000FFE0000000FFE0000000FFE00000007FE00000007FE0000000
-7FF00000003FF00000003FF00001E01FF80001E01FF80003E00FFC0007C007FE00078003
-FF001F8000FFC07E00007FFFFC00000FFFF0000001FF800023257DA42A>I<000000007F
-800000007FFF800000007FFF800000007FFF800000007FFF8000000003FF8000000001FF
-8000000001FF8000000001FF8000000001FF8000000001FF8000000001FF8000000001FF
-8000000001FF8000000001FF8000000001FF8000000001FF8000000001FF8000000001FF
-8000000001FF8000000001FF800001FF81FF80000FFFF1FF80003FFFFDFF8000FFC07FFF
-8003FF001FFF8007FC0007FF800FFC0003FF801FF80001FF801FF00001FF803FF00001FF
-803FF00001FF807FE00001FF807FE00001FF807FE00001FF80FFE00001FF80FFE00001FF
-80FFE00001FF80FFE00001FF80FFE00001FF80FFE00001FF80FFE00001FF80FFE00001FF
-80FFE00001FF80FFE00001FF807FE00001FF807FE00001FF807FF00001FF803FF00001FF
-803FF00001FF801FF80003FF800FF80007FF8007FC000FFF8003FE001FFFC001FF80FDFF
-FE007FFFF9FFFE001FFFE1FFFE0001FF01FFFE2F3A7DB935>I<0003FF8000001FFFF000
-007FFFFC0001FF83FE0003FE007F8007FC003F800FF8003FC01FF8001FE01FF0001FE03F
-F0000FF03FF0000FF07FE0000FF07FE0000FF87FE00007F8FFE00007F8FFE00007F8FFFF
-FFFFF8FFFFFFFFF8FFFFFFFFF8FFE0000000FFE0000000FFE0000000FFE00000007FE000
-00007FE00000007FE00000003FF00000003FF00000781FF00000780FF80000F80FFC0000
-F007FC0003F001FF000FE000FFC07FC0007FFFFF00000FFFFC000001FFE00025257DA42C
->I<000000001F000007FE00FFC0007FFFE3FFC001FFFFFFEFE007FE07FF8FE00FF801FF
-1FE01FF000FF8FE03FF000FFCFE03FE0007FC7C03FE0007FC0007FE0007FE0007FE0007F
-E0007FE0007FE0007FE0007FE0007FE0007FE0007FE0007FE0003FE0007FC0003FE0007F
-C0003FF000FFC0001FF000FF80000FF801FF000007FE07FE00000FFFFFF800000F7FFFE0
-00001E07FE0000001E00000000001E00000000003E00000000003F00000000003F800000
-00001FC0000000001FFFFFF800001FFFFFFF80001FFFFFFFE0000FFFFFFFF80007FFFFFF
-FC0003FFFFFFFE0007FFFFFFFE001FFFFFFFFF003FC0000FFF007F000000FF80FF000000
-7F80FE0000007F80FE0000003F80FE0000003F80FE0000003F80FF0000007F807F000000
-7F007F800000FF003FC00001FE001FF00007FC0007FE003FF00001FFFFFFC000007FFFFF
-00000007FFF000002B377DA530>103 D<00FF00000000FFFF00000000FFFF00000000FF
-FF00000000FFFF0000000007FF0000000003FF0000000003FF0000000003FF0000000003
-FF0000000003FF0000000003FF0000000003FF0000000003FF0000000003FF0000000003
-FF0000000003FF0000000003FF0000000003FF0000000003FF0000000003FF0000000003
-FF007FC00003FF03FFF80003FF0FFFFE0003FF1F03FF0003FF3C01FF8003FF7801FF8003
-FFF000FF8003FFE000FFC003FFC000FFC003FFC000FFC003FF8000FFC003FF8000FFC003
-FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003
-FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003
-FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003
-FF0000FFC003FF0000FFC003FF0000FFC0FFFFFC3FFFFFFFFFFC3FFFFFFFFFFC3FFFFFFF
-FFFC3FFFFF303A7DB935>I<01F00007FC000FFE000FFE001FFF001FFF001FFF001FFF00
-1FFF000FFE000FFE0007FC0001F000000000000000000000000000000000000000000000
-00000000000000FF007FFF007FFF007FFF007FFF0007FF0003FF0003FF0003FF0003FF00
+48>I<3FFFFFFFFFFE3FFFFFFFFFFE3FFFFFFFFFFE3FFFFFFFFFFE3FFF80007FFC3FFC00
+00FFF83FF00001FFF83FC00001FFF03F800003FFE03F000007FFE07F000007FFC07E0000
+0FFF807E00001FFF807C00001FFF007C00003FFE007C00007FFE007800007FFC00780000
+FFF800780001FFF800780001FFF000000003FFE000000007FFE000000007FFC00000000F
+FFC00000001FFF800000001FFF000000003FFF000000007FFE000000007FFC00000000FF
+FC00000001FFF800000001FFF000000003FFF000000007FFE000000007FFC0001E000FFF
+C0001E000FFF80001E001FFF00001E003FFF00001E003FFE00001E007FFC00003E00FFFC
+00003E00FFF800003E01FFF000003E03FFF000007E03FFE000007C07FFC00000FC0FFFC0
+0000FC0FFF800001FC1FFF000003FC3FFF00000FFC3FFE00003FFC7FFC0001FFFCFFFFFF
+FFFFFCFFFFFFFFFFFCFFFFFFFFFFFCFFFFFFFFFFFC2F397BB83A>90
+D<003FFE00000003FFFFE000000FFFFFF800001FF00FFE00003FF003FF00003FF801FF80
+003FF800FFC0003FF800FFC0003FF8007FE0003FF8007FE0001FF0007FE0000FE0007FE0
+000380007FE0000000007FE0000000007FE00000003FFFE000000FFFFFE000007FFFFFE0
+0001FFF87FE00007FF807FE0000FFE007FE0003FF8007FE0003FF0007FE0007FE0007FE0
+00FFE0007FE000FFC0007FE000FFC0007FE000FFC0007FE000FFC0007FE000FFC000FFE0
+00FFE001FFE0007FE001FFE0003FF007FFF8001FFC1FBFFFC00FFFFE1FFFC003FFF80FFF
+C0003FE003FFC02A257DA42E>97 D<00FF00000000FFFF00000000FFFF00000000FFFF00
+000000FFFF0000000007FF0000000003FF0000000003FF0000000003FF0000000003FF00
+00000003FF0000000003FF0000000003FF0000000003FF0000000003FF0000000003FF00
+00000003FF0000000003FF0000000003FF0000000003FF0000000003FF0000000003FF01
+FF800003FF0FFFF00003FF3FFFFC0003FFFE03FF0003FFF000FF8003FFE0007FC003FF80
+003FE003FF00003FF003FF00001FF803FF00001FF803FF00001FFC03FF00000FFC03FF00
+000FFC03FF00000FFE03FF00000FFE03FF00000FFE03FF00000FFE03FF00000FFE03FF00
+000FFE03FF00000FFE03FF00000FFE03FF00000FFE03FF00000FFE03FF00000FFC03FF00
+000FFC03FF00000FFC03FF00001FF803FF00001FF803FF00001FF003FF80003FF003FFC0
+007FE003FFE0007FC003FDF001FF8003F8FC07FE0003F03FFFF80003E00FFFE00003C003
+FF00002F3A7EB935>I<0001FFC000000FFFFC00007FFFFF0000FF80FF8003FE00FFC007
+FC01FFC00FF801FFC01FF801FFC01FF001FFC03FF001FFC03FF000FF807FE0007F007FE0
+001C007FE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE000
+0000FFE0000000FFE0000000FFE00000007FE00000007FE00000007FF00000003FF00000
+003FF00001E01FF80001E01FF80003E00FFC0007C007FE00078003FF001F8000FFC07E00
+007FFFFC00000FFFF0000001FF800023257DA42A>I<000000007F800000007FFF800000
+007FFF800000007FFF800000007FFF8000000003FF8000000001FF8000000001FF800000
+0001FF8000000001FF8000000001FF8000000001FF8000000001FF8000000001FF800000
+0001FF8000000001FF8000000001FF8000000001FF8000000001FF8000000001FF800000
+0001FF800001FF81FF80000FFFF1FF80003FFFFDFF8000FFC07FFF8003FF001FFF8007FC
+0007FF800FFC0003FF801FF80001FF801FF00001FF803FF00001FF803FF00001FF807FE0
+0001FF807FE00001FF807FE00001FF80FFE00001FF80FFE00001FF80FFE00001FF80FFE0
+0001FF80FFE00001FF80FFE00001FF80FFE00001FF80FFE00001FF80FFE00001FF80FFE0
+0001FF807FE00001FF807FE00001FF807FF00001FF803FF00001FF803FF00001FF801FF8
+0003FF800FF80007FF8007FC000FFF8003FE001FFFC001FF80FDFFFE007FFFF9FFFE001F
+FFE1FFFE0001FF01FFFE2F3A7DB935>I<0003FF8000001FFFF000007FFFFC0001FF83FE
+0003FE007F8007FC003F800FF8003FC01FF8001FE01FF0001FE03FF0000FF03FF0000FF0
+7FE0000FF07FE0000FF87FE00007F8FFE00007F8FFE00007F8FFFFFFFFF8FFFFFFFFF8FF
+FFFFFFF8FFE0000000FFE0000000FFE0000000FFE00000007FE00000007FE00000007FE0
+0000003FF00000003FF00000781FF00000780FF80000F80FFC0000F007FC0003F001FF00
+0FE000FFC07FC0007FFFFF00000FFFFC000001FFE00025257DA42C>I<000000001F0000
+07FE00FFC0007FFFE3FFC001FFFFFFEFE007FE07FF8FE00FF801FF1FE01FF000FF8FE03F
+F000FFCFE03FE0007FC7C03FE0007FC0007FE0007FE0007FE0007FE0007FE0007FE0007F
+E0007FE0007FE0007FE0007FE0007FE0003FE0007FC0003FE0007FC0003FF000FFC0001F
+F000FF80000FF801FF000007FE07FE00000FFFFFF800000F7FFFE000001E07FE0000001E
+00000000001E00000000003E00000000003F00000000003F80000000001FC0000000001F
+FFFFF800001FFFFFFF80001FFFFFFFE0000FFFFFFFF80007FFFFFFFC0003FFFFFFFE0007
+FFFFFFFE001FFFFFFFFF003FC0000FFF007F000000FF80FF0000007F80FE0000007F80FE
+0000003F80FE0000003F80FE0000003F80FF0000007F807F0000007F007F800000FF003F
+C00001FE001FF00007FC0007FE003FF00001FFFFFFC000007FFFFF00000007FFF000002B
+377DA530>103 D<00FF00000000FFFF00000000FFFF00000000FFFF00000000FFFF0000
+000007FF0000000003FF0000000003FF0000000003FF0000000003FF0000000003FF0000
+000003FF0000000003FF0000000003FF0000000003FF0000000003FF0000000003FF0000
+000003FF0000000003FF0000000003FF0000000003FF0000000003FF007FC00003FF03FF
+F80003FF0FFFFE0003FF1F03FF0003FF3C01FF8003FF7801FF8003FFF000FF8003FFE000
+FFC003FFC000FFC003FFC000FFC003FF8000FFC003FF8000FFC003FF0000FFC003FF0000
+FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000
+FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000
+FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000
+FFC003FF0000FFC0FFFFFC3FFFFFFFFFFC3FFFFFFFFFFC3FFFFFFFFFFC3FFFFF303A7DB9
+35>I<01F00007FC000FFE000FFE001FFF001FFF001FFF001FFF001FFF000FFE000FFE00
+07FC0001F00000000000000000000000000000000000000000000000000000000000FF00
+7FFF007FFF007FFF007FFF0007FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF00
03FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF00
-03FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF00FFFFF8
-FFFFF8FFFFF8FFFFF8153B7DBA1B>I<00FF00000000FFFF00000000FFFF00000000FFFF
-00000000FFFF0000000007FF0000000003FF0000000003FF0000000003FF0000000003FF
-0000000003FF0000000003FF0000000003FF0000000003FF0000000003FF0000000003FF
-0000000003FF0000000003FF0000000003FF0000000003FF0000000003FF0000000003FF
-000FFFE003FF000FFFE003FF000FFFE003FF000FFFE003FF0003FC0003FF0003F00003FF
-000FE00003FF001F800003FF003F000003FF007E000003FF00FC000003FF03F8000003FF
-07E0000003FF0FC0000003FF1FC0000003FF7FE0000003FFFFF0000003FFFFF8000003FF
-FFFC000003FFFFFC000003FFCFFE000003FF0FFF000003FE07FF800003FE03FF800003FE
-01FFC00003FE00FFE00003FE00FFF00003FE007FF00003FE003FF80003FE001FFC0003FE
-001FFE0003FE000FFE0003FE000FFF00FFFFF83FFFF8FFFFF83FFFF8FFFFF83FFFF8FFFF
-F83FFFF82D3A7EB932>107 D<00FF00FFFF00FFFF00FFFF00FFFF0007FF0003FF0003FF
+03FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF00FFFFF8FFFFF8FFFFF8FFFFF8
+153B7DBA1B>I<00FF00000000FFFF00000000FFFF00000000FFFF00000000FFFF000000
+0007FF0000000003FF0000000003FF0000000003FF0000000003FF0000000003FF000000
+0003FF0000000003FF0000000003FF0000000003FF0000000003FF0000000003FF000000
+0003FF0000000003FF0000000003FF0000000003FF0000000003FF000FFFE003FF000FFF
+E003FF000FFFE003FF000FFFE003FF0003FC0003FF0003F00003FF000FE00003FF001F80
+0003FF003F000003FF007E000003FF00FC000003FF03F8000003FF07E0000003FF0FC000
+0003FF1FC0000003FF7FE0000003FFFFF0000003FFFFF8000003FFFFFC000003FFFFFC00
+0003FFCFFE000003FF0FFF000003FE07FF800003FE03FF800003FE01FFC00003FE00FFE0
+0003FE00FFF00003FE007FF00003FE003FF80003FE001FFC0003FE001FFE0003FE000FFE
+0003FE000FFF00FFFFF83FFFF8FFFFF83FFFF8FFFFF83FFFF8FFFFF83FFFF82D3A7EB932
+>107 D<00FF00FFFF00FFFF00FFFF00FFFF0007FF0003FF0003FF0003FF0003FF0003FF
0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF
0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF
0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF
-0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF00FFFFFCFFFF
-FCFFFFFCFFFFFC163A7DB91B>I<00FE007FE0000FFC0000FFFE01FFFC003FFF8000FFFE
-07FFFF00FFFFE000FFFE1F81FF83F03FF000FFFE3C00FF87801FF00007FE7800FFCF001F
-F80003FEF000FFDE001FF80003FFE0007FFC000FFC0003FFC0007FF8000FFC0003FFC000
-7FF8000FFC0003FF80007FF0000FFC0003FF80007FF0000FFC0003FF00007FE0000FFC00
-03FF00007FE0000FFC0003FF00007FE0000FFC0003FF00007FE0000FFC0003FF00007FE0
-000FFC0003FF00007FE0000FFC0003FF00007FE0000FFC0003FF00007FE0000FFC0003FF
-00007FE0000FFC0003FF00007FE0000FFC0003FF00007FE0000FFC0003FF00007FE0000F
-FC0003FF00007FE0000FFC0003FF00007FE0000FFC0003FF00007FE0000FFC0003FF0000
-7FE0000FFC0003FF00007FE0000FFC0003FF00007FE0000FFC0003FF00007FE0000FFC00
-03FF00007FE0000FFC0003FF00007FE0000FFC00FFFFFC1FFFFF83FFFFF0FFFFFC1FFFFF
-83FFFFF0FFFFFC1FFFFF83FFFFF0FFFFFC1FFFFF83FFFFF04C257DA451>I<00FE007FC0
-00FFFE03FFF800FFFE0FFFFE00FFFE1F03FF00FFFE3C01FF8007FE7801FF8003FEF000FF
-8003FFE000FFC003FFC000FFC003FFC000FFC003FF8000FFC003FF8000FFC003FF0000FF
-C003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FF
-C003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FF
-C003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FF
-C003FF0000FFC003FF0000FFC0FFFFFC3FFFFFFFFFFC3FFFFFFFFFFC3FFFFFFFFFFC3FFF
-FF30257DA435>I<0001FFC00000000FFFF80000007FFFFF000000FF80FF800003FE003F
-E00007FC001FF0000FF8000FF8001FF00007FC001FF00007FC003FF00007FE003FE00003
-FE007FE00003FF007FE00003FF007FE00003FF00FFE00003FF80FFE00003FF80FFE00003
-FF80FFE00003FF80FFE00003FF80FFE00003FF80FFE00003FF80FFE00003FF80FFE00003
-FF807FE00003FF007FE00003FF007FE00003FF003FE00003FE003FF00007FE001FF00007
-FC001FF00007FC000FF8000FF80007FC001FF00003FE003FE00001FF80FFC000007FFFFF
-0000001FFFFC00000001FFC0000029257DA430>I<00FF01FF8000FFFF0FFFF000FFFF3F
-FFFC00FFFFFE07FF00FFFFF001FF8003FFE000FFC003FF80007FE003FF00007FF003FF00
-003FF803FF00003FF803FF00001FFC03FF00001FFC03FF00001FFC03FF00000FFE03FF00
-000FFE03FF00000FFE03FF00000FFE03FF00000FFE03FF00000FFE03FF00000FFE03FF00
-000FFE03FF00000FFE03FF00000FFE03FF00000FFC03FF00001FFC03FF00001FFC03FF00
-001FF803FF00003FF803FF00003FF003FF80007FF003FFC0007FE003FFE000FFC003FFF0
-03FF8003FFFC07FE0003FF3FFFF80003FF0FFFE00003FF03FF000003FF0000000003FF00
-00000003FF0000000003FF0000000003FF0000000003FF0000000003FF0000000003FF00
-00000003FF0000000003FF0000000003FF0000000003FF00000000FFFFFC000000FFFFFC
-000000FFFFFC000000FFFFFC0000002F357EA435>I<00FE03F000FFFE0FFE00FFFE3FFF
-00FFFE7C7F80FFFEF8FFC007FEF0FFC003FFE0FFC003FFC0FFC003FFC0FFC003FF807F80
-03FF803F0003FF800C0003FF80000003FF00000003FF00000003FF00000003FF00000003
-FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF
-00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF00
-000003FF000000FFFFFE0000FFFFFE0000FFFFFE0000FFFFFE000022257EA427>114
-D<003FF03803FFFEF80FFFFFF81FC00FF83F0003F87E0001F87C0000F8FC0000F8FC0000
-78FE000078FF000078FF800000FFFC0000FFFFE0007FFFFC007FFFFF803FFFFFC01FFFFF
-F00FFFFFF803FFFFF800FFFFFC001FFFFC00007FFE000007FEF00001FEF00000FEF80000
-FEF800007EFC00007EFC00007CFE0000FCFF0000F8FF8001F8FFF007F0FFFFFFC0F8FFFF
-00E01FF8001F257DA426>I<000F0000000F0000000F0000000F0000000F0000001F0000
-001F0000001F0000001F0000003F0000003F0000007F000000FF000000FF000001FF0000
-07FF00001FFFFFE0FFFFFFE0FFFFFFE0FFFFFFE003FF000003FF000003FF000003FF0000
-03FF000003FF000003FF000003FF000003FF000003FF000003FF000003FF000003FF0000
-03FF000003FF000003FF000003FF000003FF000003FF007803FF007803FF007803FF0078
-03FF007803FF007803FF007803FF007803FF00F801FF80F001FF81F000FFC3E0003FFFC0
-001FFF800003FE001D357EB425>I<00FF00003FC0FFFF003FFFC0FFFF003FFFC0FFFF00
-3FFFC0FFFF003FFFC007FF0001FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF00
-00FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF00
-00FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF00
-00FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF00
-01FFC003FF0001FFC003FF0003FFC003FF0003FFC001FF0007FFC001FF800FFFE000FFC0
-3EFFFF007FFFFCFFFF001FFFF0FFFF0003FF80FFFF30257DA435>I<FFFFF1FFFF803FFF
-FFFFF1FFFF803FFFFFFFF1FFFF803FFFFFFFF1FFFF803FFF07FE000FF80003E003FF0007
-F80003C003FF0007FC0003C003FF8007FC0007C001FF8003FE00078001FF8007FE000780
-00FFC007FE000F0000FFC007FF000F0000FFE00FFF001F00007FE00FFF801E00007FE01F
-FF801E00003FF01E7F803C00003FF01E7FC03C00003FF83E7FC07C00001FF83C3FE07800
-001FF87C3FE0F800000FFC781FF0F000000FFC781FF0F000000FFEF00FF1F0000007FEF0
-0FF9E0000007FFF00FFBE0000003FFE007FFC0000003FFE007FFC0000003FFC003FFC000
-0001FFC003FF80000001FFC003FF80000000FF8001FF00000000FF8001FF00000000FF00
-00FF000000007F0000FE000000007F0000FE000000003E00007C000000003C00003C0000
-40257EA445>119 D<FFFFF001FFF8FFFFF001FFF8FFFFF001FFF8FFFFF001FFF803FF00
-001F0003FF00001E0003FF80003E0001FF80003C0001FFC0007C0000FFC000780000FFE0
-00F800007FE000F000007FF001F000003FF001E000003FF801E000001FF803C000001FF8
-03C000001FFC07C000000FFC078000000FFE0F80000007FE0F00000007FF1F00000003FF
-1E00000003FFBE00000001FFBC00000001FFFC00000000FFF800000000FFF800000000FF
-F8000000007FF0000000007FF0000000003FE0000000003FE0000000001FC0000000001F
-C0000000000F80000000000F80000000000F00000000000F00000000001F00000000001E
-0000003F003E0000007F803C000000FFC07C000000FFC078000000FFC0F8000000FFC1F0
-000000FFC3E00000007F87C00000007D1F800000003FFF000000001FFC0000000007F000
-0000002D357EA432>121 D E
+0003FF0003FF0003FF0003FF0003FF0003FF0003FF00FFFFFCFFFFFCFFFFFCFFFFFC163A
+7DB91B>I<00FE007FE0000FFC0000FFFE01FFFC003FFF8000FFFE07FFFF00FFFFE000FF
+FE1F81FF83F03FF000FFFE3C00FF87801FF00007FE7800FFCF001FF80003FEF000FFDE00
+1FF80003FFE0007FFC000FFC0003FFC0007FF8000FFC0003FFC0007FF8000FFC0003FF80
+007FF0000FFC0003FF80007FF0000FFC0003FF00007FE0000FFC0003FF00007FE0000FFC
+0003FF00007FE0000FFC0003FF00007FE0000FFC0003FF00007FE0000FFC0003FF00007F
+E0000FFC0003FF00007FE0000FFC0003FF00007FE0000FFC0003FF00007FE0000FFC0003
+FF00007FE0000FFC0003FF00007FE0000FFC0003FF00007FE0000FFC0003FF00007FE000
+0FFC0003FF00007FE0000FFC0003FF00007FE0000FFC0003FF00007FE0000FFC0003FF00
+007FE0000FFC0003FF00007FE0000FFC0003FF00007FE0000FFC0003FF00007FE0000FFC
+0003FF00007FE0000FFC00FFFFFC1FFFFF83FFFFF0FFFFFC1FFFFF83FFFFF0FFFFFC1FFF
+FF83FFFFF0FFFFFC1FFFFF83FFFFF04C257DA451>I<00FE007FC000FFFE03FFF800FFFE
+0FFFFE00FFFE1F03FF00FFFE3C01FF8007FE7801FF8003FEF000FF8003FFE000FFC003FF
+C000FFC003FFC000FFC003FF8000FFC003FF8000FFC003FF0000FFC003FF0000FFC003FF
+0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF
+0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF
+0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF
+0000FFC0FFFFFC3FFFFFFFFFFC3FFFFFFFFFFC3FFFFFFFFFFC3FFFFF30257DA435>I<00
+01FFC00000000FFFF80000007FFFFF000000FF80FF800003FE003FE00007FC001FF0000F
+F8000FF8001FF00007FC001FF00007FC003FF00007FE003FE00003FE007FE00003FF007F
+E00003FF007FE00003FF00FFE00003FF80FFE00003FF80FFE00003FF80FFE00003FF80FF
+E00003FF80FFE00003FF80FFE00003FF80FFE00003FF80FFE00003FF807FE00003FF007F
+E00003FF007FE00003FF003FE00003FE003FF00007FE001FF00007FC001FF00007FC000F
+F8000FF80007FC001FF00003FE003FE00001FF80FFC000007FFFFF0000001FFFFC000000
+01FFC0000029257DA430>I<00FF01FF8000FFFF0FFFF000FFFF3FFFFC00FFFFFE07FF00
+FFFFF001FF8003FFE000FFC003FF80007FE003FF00007FF003FF00003FF803FF00003FF8
+03FF00001FFC03FF00001FFC03FF00001FFC03FF00000FFE03FF00000FFE03FF00000FFE
+03FF00000FFE03FF00000FFE03FF00000FFE03FF00000FFE03FF00000FFE03FF00000FFE
+03FF00000FFE03FF00000FFC03FF00001FFC03FF00001FFC03FF00001FF803FF00003FF8
+03FF00003FF003FF80007FF003FFC0007FE003FFE000FFC003FFF003FF8003FFFC07FE00
+03FF3FFFF80003FF0FFFE00003FF03FF000003FF0000000003FF0000000003FF00000000
+03FF0000000003FF0000000003FF0000000003FF0000000003FF0000000003FF00000000
+03FF0000000003FF0000000003FF00000000FFFFFC000000FFFFFC000000FFFFFC000000
+FFFFFC0000002F357EA435>I<00FE03F000FFFE0FFE00FFFE3FFF00FFFE7C7F80FFFEF8
+FFC007FEF0FFC003FFE0FFC003FFC0FFC003FFC0FFC003FF807F8003FF803F0003FF800C
+0003FF80000003FF00000003FF00000003FF00000003FF00000003FF00000003FF000000
+03FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003
+FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF000000FFFF
+FE0000FFFFFE0000FFFFFE0000FFFFFE000022257EA427>114 D<003FF03803FFFEF80F
+FFFFF81FC00FF83F0003F87E0001F87C0000F8FC0000F8FC000078FE000078FF000078FF
+800000FFFC0000FFFFE0007FFFFC007FFFFF803FFFFFC01FFFFFF00FFFFFF803FFFFF800
+FFFFFC001FFFFC00007FFE000007FEF00001FEF00000FEF80000FEF800007EFC00007EFC
+00007CFE0000FCFF0000F8FF8001F8FFF007F0FFFFFFC0F8FFFF00E01FF8001F257DA426
+>I<000F0000000F0000000F0000000F0000000F0000001F0000001F0000001F0000001F
+0000003F0000003F0000007F000000FF000000FF000001FF000007FF00001FFFFFE0FFFF
+FFE0FFFFFFE0FFFFFFE003FF000003FF000003FF000003FF000003FF000003FF000003FF
+000003FF000003FF000003FF000003FF000003FF000003FF000003FF000003FF000003FF
+000003FF000003FF000003FF007803FF007803FF007803FF007803FF007803FF007803FF
+007803FF007803FF00F801FF80F001FF81F000FFC3E0003FFFC0001FFF800003FE001D35
+7EB425>I<00FF00003FC0FFFF003FFFC0FFFF003FFFC0FFFF003FFFC0FFFF003FFFC007
+FF0001FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003
+FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003
+FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003
+FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0001FFC003FF0001FFC003
+FF0003FFC003FF0003FFC001FF0007FFC001FF800FFFE000FFC03EFFFF007FFFFCFFFF00
+1FFFF0FFFF0003FF80FFFF30257DA435>I<FFFFF1FFFF803FFFFFFFF1FFFF803FFFFFFF
+F1FFFF803FFFFFFFF1FFFF803FFF07FE000FF80003E003FF0007F80003C003FF0007FC00
+03C003FF8007FC0007C001FF8003FE00078001FF8007FE00078000FFC007FE000F0000FF
+C007FF000F0000FFE00FFF001F00007FE00FFF801E00007FE01FFF801E00003FF01E7F80
+3C00003FF01E7FC03C00003FF83E7FC07C00001FF83C3FE07800001FF87C3FE0F800000F
+FC781FF0F000000FFC781FF0F000000FFEF00FF1F0000007FEF00FF9E0000007FFF00FFB
+E0000003FFE007FFC0000003FFE007FFC0000003FFC003FFC0000001FFC003FF80000001
+FFC003FF80000000FF8001FF00000000FF8001FF00000000FF0000FF000000007F0000FE
+000000007F0000FE000000003E00007C000000003C00003C000040257EA445>119
+D<FFFFF001FFF8FFFFF001FFF8FFFFF001FFF8FFFFF001FFF803FF00001F0003FF00001E
+0003FF80003E0001FF80003C0001FFC0007C0000FFC000780000FFE000F800007FE000F0
+00007FF001F000003FF001E000003FF801E000001FF803C000001FF803C000001FFC07C0
+00000FFC078000000FFE0F80000007FE0F00000007FF1F00000003FF1E00000003FFBE00
+000001FFBC00000001FFFC00000000FFF800000000FFF800000000FFF8000000007FF000
+0000007FF0000000003FE0000000003FE0000000001FC0000000001FC0000000000F8000
+0000000F80000000000F00000000000F00000000001F00000000001E0000003F003E0000
+007F803C000000FFC07C000000FFC078000000FFC0F8000000FFC1F0000000FFC3E00000
+007F87C00000007D1F800000003FFF000000001FFC0000000007F0000000002D357EA432
+>121 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Ff ecbx1440 14.4 42
/Ff 42 122 df<000000007FFC0000000000001FFFFF800000000001FFFFFFE000000000
@@ -3386,7 +3353,7 @@ y Fe(DUT)42 b Fd(Device)19 b(Under)f(T)-7 b(est.)34 b(The)18
b(device)h(put)g(in)n(to)f(the)h(ZIF)f(so)r(c)n(k)n(et)f(of)i(the)g
(programmer)515 2004 y Fe(VPP)42 b Fd(Programming)26
b(v)n(oltage)f(for)j(the)f(DUT)i(\(usually)e(12V\))515
-2168 y Fe(V)m(CCX)42 b Fd(Supply)28 b(v)n(oltage)e(for)h(the)h(DUT)515
+2168 y Fe(V)m(CC)42 b Fd(Supply)28 b(v)n(oltage)e(for)h(the)g(DUT)515
2332 y Fe(GND)41 b Fd(Ground)27 b(for)g(the)h(DUT)515
2496 y Fe(ZIF)42 b Fd(Zero)26 b(Insert)h(F)-7 b(orce)27
b(so)r(c)n(k)n(et)f(of)i(the)g(programmer.)515 2770 y
@@ -3444,22 +3411,22 @@ y(b)n(y)27 b(the)h(\034rst)f(2)g(b)n(ytes)h(of)f(the)h(register)e
b(oltage\(v)m(oltage\))515 3944 y Fd(Set)30 b(VPP)i(\(programming)c(v)n
(oltage\))h(to)h(the)g(sp)r(eci\034ed)h(v)n(oltage.)43
b(V)-7 b(oltage)29 b(is)h(a)g(\035oating)515 4044 y(p)r(oin)n(t)d(n)n
-(um)n(b)r(er.)515 4272 y Fb(3.10)112 b(cmdSetV)m(CCXV)-9
-b(oltage\(v)m(oltage\))515 4425 y Fd(Set)28 b(V)n(CCX)g(\(DUT)g(supply)
-g(v)n(oltage\))e(to)h(the)h(sp)r(eci\034ed)g(v)n(oltage.)35
-b(V)-7 b(oltage)27 b(is)h(a)f(\035oating)515 4525 y(p)r(oin)n(t)g(n)n
-(um)n(b)r(er.)515 4753 y Fb(3.11)112 b(cmdLoadGNDLa)m(y)m(out\(la)m(y)m
-(outID\))515 4907 y Fd(Load)33 b(a)i(ZIF-so)r(c)n(k)n(et)e(GND-la)n(y)n
-(out.)57 b(Y)-7 b(ou)35 b(usually)f(don't)h(w)n(an)n(t)f(to)g(call)g
-(this)h(directly)-7 b(.)515 5006 y(Use)27 b(an)h(autogenerated)d(la)n
-(y)n(out)i(instead.)1926 5255 y(2)p eop end
+(um)n(b)r(er.)515 4272 y Fb(3.10)112 b(cmdSetV)m(CCV)-9
+b(oltage\(v)m(oltage\))515 4425 y Fd(Set)32 b(V)n(CC)g(\(DUT)h(supply)f
+(v)n(oltage\))f(to)h(the)g(sp)r(eci\034ed)h(v)n(oltage.)48
+b(V)-7 b(oltage)31 b(is)h(a)g(\035oating)515 4525 y(p)r(oin)n(t)27
+b(n)n(um)n(b)r(er.)515 4753 y Fb(3.11)112 b(cmdLoadGNDLa)m(y)m(out\(la)
+m(y)m(outID\))515 4907 y Fd(Load)33 b(a)i(ZIF-so)r(c)n(k)n(et)e(GND-la)
+n(y)n(out.)57 b(Y)-7 b(ou)35 b(usually)f(don't)h(w)n(an)n(t)f(to)g
+(call)g(this)h(directly)-7 b(.)515 5006 y(Use)27 b(an)h(autogenerated)d
+(la)n(y)n(out)i(instead.)1926 5255 y(2)p eop end
%%Page: 3 3
TeXDict begin 3 2 bop 515 523 a Fb(3.12)112 b(cmdLoadVPPLa)m(y)m
(out\(la)m(y)m(outID\))515 676 y Fd(Load)35 b(a)g(ZIF-so)r(c)n(k)n(et)f
(VPP-la)n(y)n(out.)62 b(Y)-7 b(ou)36 b(usually)f(don't)h(w)n(an)n(t)f
(to)h(call)f(this)h(directly)-7 b(.)515 776 y(Use)27
b(an)h(autogenerated)d(la)n(y)n(out)i(instead.)515 1008
-y Fb(3.13)112 b(cmdLoadV)m(CCXLa)m(y)m(out\(la)m(y)m(outID\))515
+y Fb(3.13)112 b(cmdLoadV)m(CCLa)m(y)m(out\(la)m(y)m(outID\))515
1162 y Fd(Load)34 b(a)h(ZIF-so)r(c)n(k)n(et)f(V)n(CC-la)n(y)n(out.)59
b(Y)-7 b(ou)36 b(usually)f(don't)g(w)n(an)n(t)g(to)g(call)g(this)h
(directly)-7 b(.)515 1261 y(Use)27 b(an)h(autogenerated)d(la)n(y)n(out)
@@ -3682,12 +3649,12 @@ b(.)f(If)25 b(this)h(param-)722 4872 y(eter)i(is)f(passed)g(to)g(the)h
(constructor,)e(the)i(autogenerator)d(is)i(enabled.)1926
5255 y(6)p eop end
%%Page: 7 7
-TeXDict begin 7 6 bop 515 523 a Fe(c)m(hipPin)-8 b(V)m(CCX)42
-b Fd(This)34 b(parameter)e(is)i(an)g(in)n(teger)f(sp)r(ecifying)h(the)h
-(V)n(CC)f(pin)g(on)g(the)722 623 y(c)n(hip)26 b(pac)n(k)-5
-b(age.)35 b(Note)26 b(that)g(it)h(sp)r(eci\034es)f(the)g(V)n(CC)g(pin)h
-(on)e(the)i(c)n(hip)f(pac)n(k)-5 b(age)24 b(and)722 722
-y(_not_)h(on)g(the)g(ZIF)h(so)r(c)n(k)n(et.)35 b(So)25
+TeXDict begin 7 6 bop 515 523 a Fe(c)m(hipPin)-8 b(V)m(CC)42
+b Fd(This)24 b(parameter)e(is)i(an)f(in)n(teger)g(sp)r(ecifying)h(the)g
+(V)n(CC)g(pin)g(on)g(the)g(c)n(hip)722 623 y(pac)n(k)-5
+b(age.)70 b(Note)38 b(that)i(it)f(sp)r(eci\034es)g(the)g(V)n(CC)g(pin)g
+(on)g(the)g(c)n(hip)g(pac)n(k)-5 b(age)37 b(and)722 722
+y(_not_)25 b(on)g(the)g(ZIF)h(so)r(c)n(k)n(et.)35 b(So)25
b(if)g(y)n(our)g(c)n(hip)g(datasheet)f(tells)i(y)n(ou)e(that)i(V)n(CC)f
(is)722 822 y(on)j(pin)g(8,)f(y)n(ou)g(pass)f(an)i(8)f(here.)515
988 y Fe(c)m(hipPinsVPP)42 b Fd(This)27 b(parameter)e(is)i(an)f(in)n
@@ -3714,13 +3681,13 @@ b(age)23 b(and)722 1851 y(_not_)30 b(on)g(the)h(ZIF)f(so)r(c)n(k)n(et.)
2217 y(is)g(initialized)h(and)g(ready)f(to)h(b)r(e)g(used.)40
b(The)29 b(follo)n(wing)f(\020class)f(Chip\021)36 b(metho)r(ds)29
b(can)g(b)r(e)515 2316 y(used)e(to)h(enable)f(or)g(disable)g(a)g(la)n
-(y)n(out:)515 2482 y Fe(applyV)m(CCX\(on\))42 b Fd(This)f(metho)r(d)g
-(enables)f(or)g(disables)g(\(dep)r(ending)i(on)e(the)h(\020on\021)722
-2582 y(parameter\))34 b(the)i(V)n(CC)f(la)n(y)n(out.)58
-b(Enabling)35 b(the)h(la)n(y)n(out)e(means)g(that)i(the)f(V)n(CC)722
-2682 y(pin)29 b(will)g(b)r(e)g(activ)n(ely)f(driv)n(en)g(b)n(y)h(the)g
-(con\034gured)e(V)n(CC)i(v)n(oltage.)38 b(Disabling)29
-b(the)722 2781 y(la)n(y)n(out)e(will)g(tristate)h(the)g(driv)n(er.)515
+(y)n(out:)515 2482 y Fe(applyV)m(CC\(on\))42 b Fd(This)31
+b(metho)r(d)h(enables)f(or)g(disables)f(\(dep)r(ending)i(on)g(the)f
+(\020on\021)38 b(pa-)722 2582 y(rameter\))30 b(the)g(V)n(CC)h(la)n(y)n
+(out.)43 b(Enabling)31 b(the)f(la)n(y)n(out)f(means)h(that)h(the)f(V)n
+(CC)h(pin)722 2682 y(will)d(b)r(e)f(activ)n(ely)g(driv)n(en)f(b)n(y)h
+(the)h(con\034gured)e(V)n(CC)h(v)n(oltage.)35 b(Disabling)27
+b(the)g(la)n(y-)722 2781 y(out)h(will)g(tristate)f(the)h(driv)n(er.)515
2947 y Fe(applyVPP\(on,pac)m(k)-5 b(agePinsT)d(oT)g(urnOn\))43
b Fd(This)18 b(metho)r(d)h(enables)f(or)f(disables)h(\(de-)722
3047 y(p)r(ending)39 b(on)f(the)g(\020on\021)45 b(parameter\))37
diff --git a/libtoprammer/chip.py b/libtoprammer/chip.py
index 43c2435..047f864 100644
--- a/libtoprammer/chip.py
+++ b/libtoprammer/chip.py
@@ -74,15 +74,15 @@ class Chip:
flags |= flag
return flags
- def __init__(self, chipPackage=None, chipPinVCCX=None, chipPinsVPP=None, chipPinGND=None):
+ def __init__(self, chipPackage=None, chipPinVCC=None, chipPinsVPP=None, chipPinGND=None):
"""chipPackage is the ID string for the package.
May be None, if no initial auto-layout is required.
- chipPinVCCX is the required VCCX pin on the package.
+ chipPinVCC is the required VCC pin on the package.
chipPinsVPP is the required VPP pin on the package.
chipPinGND is the required GND pin on the package."""
self.__chipPackage = chipPackage
- self.__chipPinVCCX = chipPinVCCX
+ self.__chipPinVCC = chipPinVCC
self.__chipPinsVPP = chipPinsVPP
self.__chipPinGND = chipPinGND
@@ -112,7 +112,7 @@ class Chip:
if self.__chipPackage:
self.generator = createLayoutGenerator(self.__chipPackage)
self.generator.setProgrammerType(self.programmerType)
- self.generator.setPins(vccxPin=self.__chipPinVCCX,
+ self.generator.setPins(vccPin=self.__chipPinVCC,
vppPins=self.__chipPinsVPP,
gndPin=self.__chipPinGND)
self.generator.recalculate()
@@ -122,16 +122,16 @@ class Chip:
return self.generator
return None
- def applyVCCX(self, turnOn):
- "Turn VCCX on, using the auto-layout."
+ def applyVCC(self, turnOn):
+ "Turn VCC on, using the auto-layout."
if turnOn:
try:
generator = self.generator
except (AttributeError), e:
self.throwError("BUG: Using auto-layout, but did not initialize it.")
- generator.applyVCCXLayout(self.top)
+ generator.applyVCCLayout(self.top)
else:
- self.top.vccx.setLayoutMask(0)
+ self.top.vcc.setLayoutMask(0)
def applyVPP(self, turnOn, packagePinsToTurnOn=[]):
"""Turn VPP on, using the auto-layout.
diff --git a/libtoprammer/chip_74hc4094.py b/libtoprammer/chip_74hc4094.py
index 3638fdd..6bc6478 100644
--- a/libtoprammer/chip_74hc4094.py
+++ b/libtoprammer/chip_74hc4094.py
@@ -25,9 +25,9 @@ from chip_unitest import *
class Chip_74hc4094(Chip_Unitest):
def __init__(self):
Chip_Unitest.__init__(self, chipPackage="DIP16",
- chipPinVCCX=16,
+ chipPinVCC=16,
chipPinGND=8,
- VCCXVoltage=5)
+ VCCVoltage=5)
def __initChip(self):
self.zifPin_STR = self.generator.getZifPinForPackagePin(1)
@@ -50,7 +50,7 @@ class Chip_74hc4094(Chip_Unitest):
self.setOutputEnableMask(outen)
self.applyGND(True)
- self.applyVCCX(True)
+ self.applyVCC(True)
def test(self):
testPatterns = (0xFF, 0x00, 0xAA, 0x55, 0xF0, 0x0F,
diff --git a/libtoprammer/chip_at27c256r.py b/libtoprammer/chip_at27c256r.py
index 3e498a2..b3c351d 100644
--- a/libtoprammer/chip_at27c256r.py
+++ b/libtoprammer/chip_at27c256r.py
@@ -27,7 +27,7 @@ class Chip_at27c256r(Chip):
def __init__(self):
Chip.__init__(self,
chipPackage = "DIP28",
- chipPinVCCX = 28,
+ chipPinVCC = 28,
chipPinsVPP = 1,
chipPinGND = 14)
self.sizeBytes = 32 * 1024
diff --git a/libtoprammer/chip_at89c2051dip20.py b/libtoprammer/chip_at89c2051dip20.py
index 1ae1776..9a7498e 100644
--- a/libtoprammer/chip_at89c2051dip20.py
+++ b/libtoprammer/chip_at89c2051dip20.py
@@ -31,21 +31,21 @@ class Chip_AT89C2051dip20(Chip):
def __init__(self):
Chip.__init__(self,
chipPackage = "DIP20",
- chipPinVCCX = 20,
+ chipPinVCC = 20,
chipPinsVPP = 1,
chipPinGND = 10)
def __initChip(self):
- self.applyVCCX(False)
+ self.applyVCC(False)
self.applyVPP(False)
self.applyGND(True)
- self.top.cmdSetVCCXVoltage(5)
+ self.top.cmdSetVCCVoltage(5)
self.top.cmdSetVPPVoltage(5)
def readSignature(self):
self.__initChip()
self.applyGND(True)
- self.applyVCCX(True)
+ self.applyVCC(True)
self.top.cmdSetVPPVoltage(5)
self.__loadCommand(5) # VPP on
self.__loadCommand(1) # set P3.2
@@ -70,7 +70,7 @@ class Chip_AT89C2051dip20(Chip):
def erase(self):
self.__initChip()
self.applyGND(True)
- self.applyVCCX(True)
+ self.applyVCC(True)
self.__loadCommand(1) # set P3.2
self.top.cmdSetVPPVoltage(5)
self.applyVPP(True)
@@ -93,7 +93,7 @@ class Chip_AT89C2051dip20(Chip):
def readProgmem(self):
self.__initChip()
self.applyGND(True)
- self.applyVCCX(True)
+ self.applyVCC(True)
self.__loadCommand(1) # set P3.2
self.top.cmdSetVPPVoltage(5)
self.applyVPP(True)
@@ -126,7 +126,7 @@ class Chip_AT89C2051dip20(Chip):
(len(image), 0x800))
self.__initChip()
self.applyGND(True)
- self.applyVCCX(True)
+ self.applyVCC(True)
self.__loadCommand(1) # set P3.2
self.top.cmdSetVPPVoltage(5)
self.applyVPP(True)
diff --git a/libtoprammer/chip_atmega32dip40.py b/libtoprammer/chip_atmega32dip40.py
index 68fa195..163459d 100644
--- a/libtoprammer/chip_atmega32dip40.py
+++ b/libtoprammer/chip_atmega32dip40.py
@@ -27,7 +27,7 @@ class Chip_ATMega32DIP40(Chip_ATMega_common):
def __init__(self):
Chip_ATMega_common.__init__(self,
chipPackage = "DIP40",
- chipPinVCCX = 10,
+ chipPinVCC = 10,
chipPinsVPP = 9,
chipPinGND = 11,
signature = "\x1E\x95\x02",
diff --git a/libtoprammer/chip_atmega88dip28.py b/libtoprammer/chip_atmega88dip28.py
index 54fe42d..3ea6550 100644
--- a/libtoprammer/chip_atmega88dip28.py
+++ b/libtoprammer/chip_atmega88dip28.py
@@ -27,7 +27,7 @@ class Chip_ATMega88DIP28(Chip_ATMega_common):
def __init__(self):
Chip_ATMega_common.__init__(self,
chipPackage = "DIP28",
- chipPinVCCX = 7,
+ chipPinVCC = 7,
chipPinsVPP = 1,
chipPinGND = 8,
signature = "\x1E\x93\x0A",
diff --git a/libtoprammer/chip_atmega8dip28.py b/libtoprammer/chip_atmega8dip28.py
index cb95c32..42c6823 100644
--- a/libtoprammer/chip_atmega8dip28.py
+++ b/libtoprammer/chip_atmega8dip28.py
@@ -27,7 +27,7 @@ class Chip_ATMega8DIP28(Chip_ATMega_common):
def __init__(self):
Chip_ATMega_common.__init__(self,
chipPackage = "DIP28",
- chipPinVCCX = 7,
+ chipPinVCC = 7,
chipPinsVPP = 1,
chipPinGND = 8,
signature = "\x1E\x93\x07",
diff --git a/libtoprammer/chip_atmega_common.py b/libtoprammer/chip_atmega_common.py
index 645c1a8..d507836 100644
--- a/libtoprammer/chip_atmega_common.py
+++ b/libtoprammer/chip_atmega_common.py
@@ -36,14 +36,14 @@ class Chip_ATMega_common(Chip):
CMD_READEEPROM = 0x03 # Read EEPROM
def __init__(self,
- chipPackage, chipPinVCCX, chipPinsVPP, chipPinGND,
+ chipPackage, chipPinVCC, chipPinsVPP, chipPinGND,
signature,
flashPageSize, flashPages,
eepromPageSize, eepromPages
):
Chip.__init__(self,
chipPackage = chipPackage,
- chipPinVCCX = chipPinVCCX,
+ chipPinVCC = chipPinVCC,
chipPinsVPP = chipPinsVPP,
chipPinGND = chipPinGND)
self.signature = signature
@@ -234,11 +234,11 @@ class Chip_ATMega_common(Chip):
def __enterPM(self):
"Enter HV programming mode."
self.applyVPP(False)
- self.applyVCCX(False)
+ self.applyVCC(False)
self.applyGND(True)
self.top.cmdSetVPPVoltage(0)
self.top.cmdSetVPPVoltage(12)
- self.top.cmdSetVCCXVoltage(5)
+ self.top.cmdSetVCCVoltage(5)
self.__setVoltageControl(VPP_en=1, VPP=0, VCC_en=1, VCC=0)
self.__setXA0(0)
@@ -248,7 +248,7 @@ class Chip_ATMega_common(Chip):
self.__setWR(0)
self.top.hostDelay(0.1)
- self.applyVCCX(True)
+ self.applyVCC(True)
self.__setVoltageControl(VPP_en=1, VPP=0, VCC_en=1, VCC=1)
self.top.hostDelay(0.1)
diff --git a/libtoprammer/chip_attiny13dip8.py b/libtoprammer/chip_attiny13dip8.py
index 95c7c93..9f9a6fe 100644
--- a/libtoprammer/chip_attiny13dip8.py
+++ b/libtoprammer/chip_attiny13dip8.py
@@ -32,7 +32,7 @@ class Chip_AtTiny13dip8(Chip):
def __init__(self):
Chip.__init__(self,
chipPackage = "DIP8",
- chipPinVCCX = 8,
+ chipPinVCC = 8,
chipPinsVPP = 1,
chipPinGND = 4)
self.signature = "\x1E\x90\x07"
@@ -235,14 +235,14 @@ class Chip_AtTiny13dip8(Chip):
def __enterPM(self):
"Enter HV programming mode."
- self.applyVCCX(False)
+ self.applyVCC(False)
self.applyVPP(False)
self.applyGND(False)
- self.top.cmdSetVCCXVoltage(5)
+ self.top.cmdSetVCCVoltage(5)
self.top.cmdSetVPPVoltage(0)
self.top.cmdSetVPPVoltage(12)
self.applyGND(True)
- self.applyVCCX(True)
+ self.applyVCC(True)
self.__setPins(SCI=0, SDO_en=0, RST_en=1, RST=0)
for i in range(0, 6):
diff --git a/libtoprammer/chip_attiny26dip20.py b/libtoprammer/chip_attiny26dip20.py
index 40f1f71..213f7b6 100644
--- a/libtoprammer/chip_attiny26dip20.py
+++ b/libtoprammer/chip_attiny26dip20.py
@@ -27,7 +27,7 @@ class Chip_ATTiny26DIP20(Chip_ATMega_common):
def __init__(self):
Chip_ATMega_common.__init__(self,
chipPackage = "DIP20",
- chipPinVCCX = 5,
+ chipPinVCC = 5,
chipPinsVPP = 10,
chipPinGND = 6,
signature = "\x1E\x91\x09",
diff --git a/libtoprammer/chip_generic_sram.py b/libtoprammer/chip_generic_sram.py
index 4f4ee4f..972931b 100644
--- a/libtoprammer/chip_generic_sram.py
+++ b/libtoprammer/chip_generic_sram.py
@@ -24,14 +24,14 @@ from chip import *
class Chip_genericSRAM(Chip):
- def __init__(self, chipPackage, chipPinVCCX, chipPinGND,
- VCCXVoltage,
+ def __init__(self, chipPackage, chipPinVCC, chipPinGND,
+ VCCVoltage,
nrAddressBits, nrDataBits):
Chip.__init__(self,
chipPackage = chipPackage,
- chipPinVCCX = chipPinVCCX,
+ chipPinVCC = chipPinVCC,
chipPinGND = chipPinGND)
- self.VCCXVoltage = VCCXVoltage
+ self.VCCVoltage = VCCVoltage
self.nrAddressBits = nrAddressBits
self.nrAddressBytes = int(math.ceil((float(self.nrAddressBits) - 0.1) / 8))
self.nrDataBits = nrDataBits
@@ -89,9 +89,9 @@ class Chip_genericSRAM(Chip):
def __turnOnChip(self):
self.__setControlPins(CE=1, OE=1, WE=1)
- self.top.cmdSetVCCXVoltage(self.VCCXVoltage)
+ self.top.cmdSetVCCVoltage(self.VCCVoltage)
self.applyGND(True)
- self.applyVCCX(True)
+ self.applyVCC(True)
self.lastAddress = None
def __setControlPins(self, CE=1, OE=1, WE=1):
diff --git a/libtoprammer/chip_hm62256dip28.py b/libtoprammer/chip_hm62256dip28.py
index e7aa054..cf3a40a 100644
--- a/libtoprammer/chip_hm62256dip28.py
+++ b/libtoprammer/chip_hm62256dip28.py
@@ -27,9 +27,9 @@ class Chip_HM62256DIP28(Chip_genericSRAM):
def __init__(self):
Chip_genericSRAM.__init__(self,
chipPackage = "DIP28",
- chipPinVCCX = 28,
+ chipPinVCC = 28,
chipPinGND = 14,
- VCCXVoltage = 5,
+ VCCVoltage = 5,
nrAddressBits = 15,
nrDataBits = 8,
)
diff --git a/libtoprammer/chip_m24cxxdip8.py b/libtoprammer/chip_m24cxxdip8.py
index 9f85515..bc40748 100644
--- a/libtoprammer/chip_m24cxxdip8.py
+++ b/libtoprammer/chip_m24cxxdip8.py
@@ -35,14 +35,14 @@ class Chip_m24cXXdip8_common(Chip):
def __init__(self, eepromSize):
Chip.__init__(self,
chipPackage = "DIP8",
- chipPinVCCX = 8,
+ chipPinVCC = 8,
chipPinGND = 4)
self.eepromSize = eepromSize # in bytes
def __chipTurnOn(self):
- self.top.cmdSetVCCXVoltage(5)
+ self.top.cmdSetVCCVoltage(5)
self.top.cmdSetVPPVoltage(5)
- self.applyVCCX(True)
+ self.applyVCC(True)
self.applyVPP(False)
self.applyGND(True)
self.top.cmdEnableZifPullups(True)
diff --git a/libtoprammer/chip_m2764a.py b/libtoprammer/chip_m2764a.py
index 17e8e74..a0f9921 100644
--- a/libtoprammer/chip_m2764a.py
+++ b/libtoprammer/chip_m2764a.py
@@ -31,23 +31,23 @@ class Chip_M2764A(Chip):
def __init__(self):
Chip.__init__(self,
chipPackage = "DIP28",
- chipPinVCCX = 28,
+ chipPinVCC = 28,
chipPinsVPP = 1,
chipPinGND = 14)
def __initChip(self):
- self.applyVCCX(False)
+ self.applyVCC(False)
self.applyVPP(False)
self.applyGND(False)
- self.top.cmdSetVCCXVoltage(5)
+ self.top.cmdSetVCCVoltage(5)
self.top.cmdSetVPPVoltage(0)
self.top.cmdSetVPPVoltage(5)
def readEEPROM(self):
self.__initChip()
- self.top.cmdSetVCCXVoltage(5)
+ self.top.cmdSetVCCVoltage(5)
self.top.cmdSetVPPVoltage(5)
- self.applyVCCX(True)
+ self.applyVCC(True)
self.applyVPP(True)
self.applyGND(True)
@@ -74,9 +74,9 @@ class Chip_M2764A(Chip):
(len(image), 0x2000))
self.__initChip()
- self.top.cmdSetVCCXVoltage(5)
+ self.top.cmdSetVCCVoltage(5)
self.top.cmdSetVPPVoltage(12)
- self.applyVCCX(True)
+ self.applyVCC(True)
self.applyVPP(True)
self.applyGND(True)
diff --git a/libtoprammer/chip_m8cissp.py b/libtoprammer/chip_m8cissp.py
index 4ad8b09..ff85e5e 100644
--- a/libtoprammer/chip_m8cissp.py
+++ b/libtoprammer/chip_m8cissp.py
@@ -297,15 +297,15 @@ class Chip_M8C_ISSP(Chip):
def __powerOnReset(self):
"Perform a complete power-on-reset and initialization"
- self.top.vccx.setLayoutMask(0)
+ self.top.vcc.setLayoutMask(0)
self.top.vpp.setLayoutMask(0)
self.top.gnd.setLayoutMask(0)
- self.top.cmdSetVCCXVoltage(5)
+ self.top.cmdSetVCCVoltage(5)
self.top.cmdSetVPPVoltage(5)
self.printDebug("Initializing supply power...")
self.top.gnd.setLayoutPins( (20,) )
- self.top.vccx.setLayoutPins( (21,) )
+ self.top.vcc.setLayoutPins( (21,) )
#FIXME when to do exec?
self.__powerDown()
diff --git a/libtoprammer/chip_unitest.py b/libtoprammer/chip_unitest.py
index 8da9e13..2cdb72b 100644
--- a/libtoprammer/chip_unitest.py
+++ b/libtoprammer/chip_unitest.py
@@ -24,11 +24,11 @@ from chip import *
class Chip_Unitest(Chip):
- def __init__(self, chipPackage=None, chipPinVCCX=None, chipPinsVPP=None, chipPinGND=None,
- VCCXVoltage=None, VPPVoltage=None):
- Chip.__init__(self, chipPackage=chipPackage, chipPinVCCX=chipPinVCCX,
+ def __init__(self, chipPackage=None, chipPinVCC=None, chipPinsVPP=None, chipPinGND=None,
+ VCCVoltage=None, VPPVoltage=None):
+ Chip.__init__(self, chipPackage=chipPackage, chipPinVCC=chipPinVCC,
chipPinsVPP=chipPinsVPP, chipPinGND=chipPinGND)
- self.autogenVCCXVoltage = VCCXVoltage
+ self.autogenVCCVoltage = VCCVoltage
self.autogenVPPVoltage = VPPVoltage
def shutdownChip(self):
@@ -36,13 +36,13 @@ class Chip_Unitest(Chip):
self.reset()
def reset(self):
- self.top.vccx.setLayoutPins( [] )
- self.vccxMask = 0
+ self.top.vcc.setLayoutPins( [] )
+ self.vccMask = 0
self.top.vpp.setLayoutPins( [] )
self.vppMask = 0
self.top.gnd.setLayoutPins( [] )
self.gndMask = 0
- self.top.cmdSetVCCXVoltage(self.top.vccx.minVoltage())
+ self.top.cmdSetVCCVoltage(self.top.vcc.minVoltage())
self.top.cmdSetVPPVoltage(self.top.vpp.minVoltage())
self.oscMask = 0
self.setOutputEnableMask(0)
@@ -50,11 +50,11 @@ class Chip_Unitest(Chip):
self.setOscMask(0)
self.top.flushCommands()
- def setVCCX(self, voltage, layout):
- self.vccxMask = self.top.vccx.ID2mask(layout)
+ def setVCC(self, voltage, layout):
+ self.vccMask = self.top.vcc.ID2mask(layout)
self.__updateOutEn()
- self.top.cmdSetVCCXVoltage(voltage)
- self.top.vccx.setLayoutID(layout)
+ self.top.cmdSetVCCVoltage(voltage)
+ self.top.vcc.setLayoutID(layout)
self.top.flushCommands()
def setVPP(self, voltage, layouts):
@@ -75,11 +75,11 @@ class Chip_Unitest(Chip):
self.top.flushCommands()
# Overloaded layout generator interface.
- def applyVCCX(self, turnOn):
+ def applyVCC(self, turnOn):
layoutID = 0
if turnOn:
- (layoutID, layoutMask) = self.generator.getVCCXLayout()
- self.setVCCX(self.autogenVCCXVoltage, layoutID)
+ (layoutID, layoutMask) = self.generator.getVCCLayout()
+ self.setVCC(self.autogenVCCVoltage, layoutID)
# Overloaded layout generator interface.
def applyVPP(self, turnOn, packagePinsToTurnOn=[]):
@@ -100,7 +100,7 @@ class Chip_Unitest(Chip):
def __updateOutEn(self):
mask = self.desiredOutEnMask
mask &= ~self.gndMask
- mask &= ~self.vccxMask
+ mask &= ~self.vccMask
mask &= ~self.vppMask
mask |= self.oscMask
self.top.cmdFPGAWrite(0x50, mask & 0xFF)
diff --git a/libtoprammer/chip_w29ee011dip32.py b/libtoprammer/chip_w29ee011dip32.py
index 53ffa17..087c529 100644
--- a/libtoprammer/chip_w29ee011dip32.py
+++ b/libtoprammer/chip_w29ee011dip32.py
@@ -32,12 +32,12 @@ class Chip_w29ee011dip32(Chip):
def __init__(self):
Chip.__init__(self,
chipPackage = "DIP32",
- chipPinVCCX = 32,
+ chipPinVCC = 32,
chipPinsVPP = None,
chipPinGND = 16)
def erase(self):
- self.applyVCCX(True)
+ self.applyVCC(True)
self.applyVPP(True)
self.applyGND(True)
@@ -67,7 +67,7 @@ class Chip_w29ee011dip32(Chip):
self.progressMeterFinish()
def readEEPROM(self):
- self.applyVCCX(True)
+ self.applyVCC(True)
self.applyVPP(True)
self.applyGND(True)
@@ -110,7 +110,7 @@ class Chip_w29ee011dip32(Chip):
self.throwError("Invalid EPROM image size %d (expected <=%d)" %\
(len(image), 0x20000))
- self.applyVCCX(True)
+ self.applyVCC(True)
self.applyVPP(True)
self.applyGND(True)
diff --git a/libtoprammer/generic_algorithms.py b/libtoprammer/generic_algorithms.py
index 1eca403..030ea65 100644
--- a/libtoprammer/generic_algorithms.py
+++ b/libtoprammer/generic_algorithms.py
@@ -80,18 +80,18 @@ class GenericAlgorithms(object):
def simpleVoltageSetup(self, vcc=5.0, vpp=5.0, vppEnable=False):
"""Simple voltage setup."""
- self.chip.top.cmdSetVCCXVoltage(vcc)
+ self.chip.top.cmdSetVCCVoltage(vcc)
self.chip.top.cmdSetVPPVoltage(vpp)
- self.chip.applyVCCX(True)
+ self.chip.applyVCC(True)
self.chip.applyGND(True)
self.chip.applyVPP(vppEnable)
def simpleVoltageShutdown(self):
"""Turn off voltages."""
- self.chip.applyVCCX(False)
+ self.chip.applyVCC(False)
self.chip.applyVPP(False)
self.chip.applyGND(False)
- self.chip.top.cmdSetVCCXVoltage(self.chip.top.vccx.minVoltage())
+ self.chip.top.cmdSetVCCVoltage(self.chip.top.vcc.minVoltage())
self.chip.top.cmdSetVPPVoltage(self.chip.top.vpp.minVoltage())
def simpleRead(self, name, sizeBytes,
diff --git a/libtoprammer/layout_generator.py b/libtoprammer/layout_generator.py
index 29a25f4..bda431a 100644
--- a/libtoprammer/layout_generator.py
+++ b/libtoprammer/layout_generator.py
@@ -35,23 +35,23 @@ class LayoutGenerator:
def setProgrammerType(self, programmer="TOP2049"):
supportedDevices = {
# Map deviceName : layoutModules, ZIF-pin-count
- "TOP2049" : (top2049.vccx_layouts, top2049.vpp_layouts,
+ "TOP2049" : (top2049.vcc_layouts, top2049.vpp_layouts,
top2049.gnd_layouts, 48)
}
try:
- (vccx_layouts, vpp_layouts, gnd_layouts, zifPins) = \
+ (vcc_layouts, vpp_layouts, gnd_layouts, zifPins) = \
supportedDevices[programmer.upper()]
except (KeyError), e:
raise TOPException("Programmer " + programmer + " not supported")
- self.vccxLayout = vccx_layouts.VCCXLayout()
+ self.vccLayout = vcc_layouts.VCCLayout()
self.vppLayout = vpp_layouts.VPPLayout()
self.gndLayout = gnd_layouts.GNDLayout()
self.zifPins = zifPins
- def setPins(self, vccxPin, vppPins, gndPin):
+ def setPins(self, vccPin, vppPins, gndPin):
"""Load the supply pin locations.
vppPins may either be one pin number or a list of pin numbers or None."""
- self.vccxPin = vccxPin
+ self.vccPin = vccPin
if vppPins is None:
self.vppPins = None
else:
@@ -85,11 +85,11 @@ class LayoutGenerator:
self.gndLayout,
(1 << (zifGndPin - 1)))
- # Find a VCCX layout
- zifVccxPin = self.mapPin2zif(self.vccxPin, offset, upsideDown)
- self.result_VCCX = self.__findSingleLayout(
- self.vccxLayout,
- (1 << (zifVccxPin - 1)))
+ # Find a VCC layout
+ zifVccPin = self.mapPin2zif(self.vccPin, offset, upsideDown)
+ self.result_VCC = self.__findSingleLayout(
+ self.vccLayout,
+ (1 << (zifVccPin - 1)))
# Find a (possibly cumulative) VPP layout
if self.vppPins is None:
@@ -117,8 +117,8 @@ class LayoutGenerator:
def zifPinAssignments(self):
"Returns a string describing the pin assignments"
- vccx = str(self.__bitmask2pinList(self.result_VCCX[1])).strip("[]")
- ret = "VCCX ZIF pins: " + vccx + "\n"
+ vcc = str(self.__bitmask2pinList(self.result_VCC[1])).strip("[]")
+ ret = "VCC ZIF pins: " + vcc + "\n"
if self.result_VPP:
vppBitmask = 0
for (id, mask) in self.result_VPP:
@@ -168,14 +168,14 @@ class LayoutGenerator:
(layoutID, layoutMask) = self.getGNDLayout()
top.gnd.setLayoutID(layoutID)
- def getVCCXLayout(self):
- "Get the calculated VCCX layout ID and mask. Returns a tuple (ID, mask)."
- return self.result_VCCX
+ def getVCCLayout(self):
+ "Get the calculated VCC layout ID and mask. Returns a tuple (ID, mask)."
+ return self.result_VCC
- def applyVCCXLayout(self, top):
- "Send the VCCX layout to hardware"
- (layoutID, layoutMask) = self.getVCCXLayout()
- top.vccx.setLayoutID(layoutID)
+ def applyVCCLayout(self, top):
+ "Send the VCC layout to hardware"
+ (layoutID, layoutMask) = self.getVCCLayout()
+ top.vcc.setLayoutID(layoutID)
def getVPPLayouts(self):
"""Get the calculated VPP layout IDs and masks.
@@ -239,8 +239,8 @@ class LayoutGeneratorDIP(LayoutGenerator):
LayoutGenerator.verifyPins(self)
if self.nrPins < 2 or self.nrPins > self.zifPins or self.nrPins % 2 != 0:
raise TOPException("Invalid DIP package")
- if self.vccxPin < 1 or self.vccxPin > self.nrPins:
- raise TOPException("Invalid VCCX pin number for the selected package")
+ if self.vccPin < 1 or self.vccPin > self.nrPins:
+ raise TOPException("Invalid VCC pin number for the selected package")
if self.vppPins is not None:
for vppPin in self.vppPins:
if vppPin < 1 or vppPin > self.nrPins:
diff --git a/libtoprammer/top2049/vccx_layouts.py b/libtoprammer/top2049/vcc_layouts.py
index 9174d7a..f28bb6d 100644
--- a/libtoprammer/top2049/vccx_layouts.py
+++ b/libtoprammer/top2049/vcc_layouts.py
@@ -1,7 +1,7 @@
"""
# TOP2049 Open Source programming suite
#
-# TOP2049 VCCX layout definitions
+# TOP2049 VCC layout definitions
#
# Copyright (c) 2010 Michael Buesch <m@bues.ch>
#
@@ -26,8 +26,8 @@ if __name__ == "__main__":
from libtoprammer.shiftreg_layout import *
-class VCCXLayout(ShiftregLayout):
- # "shiftreg_masks" is a dump of the VCCX shiftregister states. The array index
+class VCCLayout(ShiftregLayout):
+ # "shiftreg_masks" is a dump of the VCC shiftregister states. The array index
# is the layout ID and the array entries are the inverted shift
# register outputs. The least significant byte is the first
# shift register in the chain.
@@ -147,8 +147,8 @@ class VCCXLayout(ShiftregLayout):
return 5
def setLayoutID(self, id):
- self.top.cmdLoadVCCXLayout(id)
+ self.top.cmdLoadVCCLayout(id)
if __name__ == "__main__":
- print "ZIF socket VCCX layouts"
- print VCCXLayout()
+ print "ZIF socket VCC layouts"
+ print VCCLayout()
diff --git a/libtoprammer/top_xxxx.py b/libtoprammer/top_xxxx.py
index f386b02..39526dd 100644
--- a/libtoprammer/top_xxxx.py
+++ b/libtoprammer/top_xxxx.py
@@ -1,6 +1,6 @@
# Import programmer specific stuff
# TOP2049 specific stuff
-import top2049.vccx_layouts
+import top2049.vcc_layouts
import top2049.vpp_layouts
import top2049.gnd_layouts
diff --git a/libtoprammer/toprammer_main.py b/libtoprammer/toprammer_main.py
index 9b64f00..7b0e352 100644
--- a/libtoprammer/toprammer_main.py
+++ b/libtoprammer/toprammer_main.py
@@ -256,7 +256,7 @@ class TOP:
# Initialize the programmer specific layouts
if self.topType == self.TYPE_TOP2049:
- self.vccx = top2049.vccx_layouts.VCCXLayout(self)
+ self.vcc = top2049.vcc_layouts.VCCLayout(self)
self.vpp = top2049.vpp_layouts.VPPLayout(self)
self.gnd = top2049.gnd_layouts.GNDLayout(self)
else:
@@ -271,11 +271,11 @@ class TOP:
self.cmdSetVPPVoltage(0)
self.queueCommand(b"\x0E\x20\x00\x00")
self.cmdDelay(0.01)
- self.cmdSetVCCXVoltage(0)
+ self.cmdSetVCCVoltage(0)
self.cmdLoadGNDLayout(0)
self.cmdLoadVPPLayout(0)
- self.cmdLoadVCCXLayout(0)
+ self.cmdLoadVCCLayout(0)
self.queueCommand(b"\x0E\x20\x00\x00")
self.cmdDelay(0.01)
@@ -588,15 +588,15 @@ class TOP:
self.cmdDelay(0.01)
self.hostDelay(0.15)
- def cmdSetVCCXVoltage(self, voltage):
- """Set the VCCX voltage. voltage is a floating point voltage number."""
+ def cmdSetVCCVoltage(self, voltage):
+ """Set the VCC voltage. voltage is a floating point voltage number."""
centivolt = int(voltage * 10)
cmd = int2byte(0x0E) + int2byte(0x13) + int2byte(centivolt) + int2byte(0)
self.queueCommand(cmd)
self.cmdDelay(0.01)
- def cmdLoadVCCXLayout(self, layout):
- """Load the VCCX configuration into the shift registers."""
+ def cmdLoadVCCLayout(self, layout):
+ """Load the VCC configuration into the shift registers."""
cmd = int2byte(0x0E) + int2byte(0x15) + int2byte(layout) + int2byte(0)
self.queueCommand(cmd)
self.cmdDelay(0.01)
diff --git a/reverse-engineering/HWPROTOCOL b/reverse-engineering/HWPROTOCOL
index c912cfd..8393133 100644
--- a/reverse-engineering/HWPROTOCOL
+++ b/reverse-engineering/HWPROTOCOL
@@ -26,7 +26,7 @@ TOP2049 USB protocol (incomplete)
0E12xx00 >= Set VPP, where xx is the voltage.
xx is in centivolt.
-0E13xx00 >= Set VCCX, where xx is the voltage.
+0E13xx00 >= Set VCC, where xx is the voltage.
xx is in centivolt.
0E14xx00 >= Load the ZIF socket VPP supply layout.
@@ -34,7 +34,7 @@ TOP2049 USB protocol (incomplete)
(Shift data into the 4 shiftregisters on the left side.
Sends 4 times 8 clock pulses and one strobe.)
-0E15xx00 >= Load the ZIF socket VCCX supply layout.
+0E15xx00 >= Load the ZIF socket VCC supply layout.
xx is the layout ID.
(Shift data into the 3 shiftregisters on the right side.
Sends 3 times 8 clock pulses and one strobe.)
diff --git a/reverse-engineering/dump-parser.py b/reverse-engineering/dump-parser.py
index 7fadcd0..85735f0 100755
--- a/reverse-engineering/dump-parser.py
+++ b/reverse-engineering/dump-parser.py
@@ -89,13 +89,13 @@ def parseBulkOut(data):
i += 3
elif data[i] == 0x0E and data[i+1] == 0x13:
centivolts = data[i+2]
- dumpInstr(data[i:i+4], "Set VCCX to %.2f Volts" % (float(centivolts) / 10))
+ dumpInstr(data[i:i+4], "Set VCC to %.2f Volts" % (float(centivolts) / 10))
i += 3
elif data[i] == 0x0E and data[i+1] == 0x14:
dumpInstr(data[i:i+4], "Loading VPP layout %d" % data[i+1])
i += 3
elif data[i] == 0x0E and data[i+1] == 0x15:
- dumpInstr(data[i:i+4], "Loading VCCX layout %d" % data[i+1])
+ dumpInstr(data[i:i+4], "Loading VCC layout %d" % data[i+1])
i += 3
elif data[i] == 0x0E and data[i+1] == 0x16:
dumpInstr(data[i:i+4], "Loading GND layout %d" % data[i+1])
diff --git a/reverse-engineering/vccx-sniffer.patch b/reverse-engineering/vccx-sniffer.patch
index c5b7c75..79b2b51 100644
--- a/reverse-engineering/vccx-sniffer.patch
+++ b/reverse-engineering/vccx-sniffer.patch
@@ -17,8 +17,8 @@ index 3962d44..4b00100 100644
+ s = hc4094sniffer.Sniffer("/dev/ttyUSB0", 3)
+ count = 0
+ for i in range(0, 0xFF+1):
-+ self.cmdLoadVCCXLayout(0)
-+ self.cmdLoadVCCXLayout(i)
++ self.cmdLoadVCCLayout(0)
++ self.cmdLoadVCCLayout(i)
+ self.flushCommands()
+ time.sleep(0.1)
+ d = s.read()
diff --git a/tests/generic/002-toprammer-layout.test b/tests/generic/002-toprammer-layout.test
index 135b31d..188ad89 100644
--- a/tests/generic/002-toprammer-layout.test
+++ b/tests/generic/002-toprammer-layout.test
@@ -5,6 +5,6 @@ function test_run
# Some basic toprammer-layout tests
toprammer_layout_silent -h
toprammer_layout_silent --help
- toprammer_layout_silent --device TOP2049 --package DIP28 --vccx 1 --vpp 2 --gnd 3
+ toprammer_layout_silent --device TOP2049 --package DIP28 --vcc 1 --vpp 2 --gnd 3
toprammer_layout_silent --device top2049 --package atmega8dip28
}
diff --git a/toprammer-gui b/toprammer-gui
index 495d9ff..4acef46 100755
--- a/toprammer-gui
+++ b/toprammer-gui
@@ -217,9 +217,9 @@ class UnitestDialog(QDialog):
self.param_topType = self.queryTop("top.getProgrammerType()")
self.param_gndLayouts = self.queryTop("top.gnd.supportedLayouts()")
self.param_nrZifPins = self.queryTop("top.gnd.getNrOfPins()")
- self.param_vccxLayouts = self.queryTop("top.vccx.supportedLayouts()")
- self.param_minVccxVolt = self.queryTop("top.vccx.minVoltage()")
- self.param_maxVccxVolt = self.queryTop("top.vccx.maxVoltage()")
+ self.param_vccLayouts = self.queryTop("top.vcc.supportedLayouts()")
+ self.param_minVccVolt = self.queryTop("top.vcc.minVoltage()")
+ self.param_maxVccVolt = self.queryTop("top.vcc.maxVoltage()")
self.param_vppLayouts = self.queryTop("top.vpp.supportedLayouts()")
self.param_minVppVolt = self.queryTop("top.vpp.minVoltage()")
self.param_maxVppVolt = self.queryTop("top.vpp.maxVoltage()")
@@ -252,25 +252,25 @@ class UnitestDialog(QDialog):
group.layout().addWidget(self.gndLayout, 0, 0)
self.layout().addWidget(group, 1, 1)
- group = QGroupBox("VCCX layout", self)
+ group = QGroupBox("VCC layout", self)
group.setLayout(QGridLayout())
- self.vccxVoltage = QDoubleSpinBox(self)
- self.vccxVoltage.setSuffix(" V")
- self.vccxVoltage.setMinimum(self.param_minVccxVolt)
- self.vccxVoltage.setMaximum(self.param_maxVccxVolt)
- self.vccxVoltage.setSingleStep(0.1)
- group.layout().addWidget(self.vccxVoltage, 0, 0)
- self.vccxLayout = QComboBox(self)
- self.vccxLayout.addItem("Not connected", QVariant(0))
- for (layId, layMask) in self.param_vccxLayouts:
+ self.vccVoltage = QDoubleSpinBox(self)
+ self.vccVoltage.setSuffix(" V")
+ self.vccVoltage.setMinimum(self.param_minVccVolt)
+ self.vccVoltage.setMaximum(self.param_maxVccVolt)
+ self.vccVoltage.setSingleStep(0.1)
+ group.layout().addWidget(self.vccVoltage, 0, 0)
+ self.vccLayout = QComboBox(self)
+ self.vccLayout.addItem("Not connected", QVariant(0))
+ for (layId, layMask) in self.param_vccLayouts:
if not layMask:
continue
- descr = "VCCX on pin "
+ descr = "VCC on pin "
for i in range(0, self.param_nrZifPins):
if layMask & (1 << i):
descr += str(i + 1) + " "
- self.vccxLayout.addItem(descr, QVariant(layId))
- group.layout().addWidget(self.vccxLayout, 1, 0)
+ self.vccLayout.addItem(descr, QVariant(layId))
+ group.layout().addWidget(self.vccLayout, 1, 0)
self.layout().addWidget(group, 2, 1)
group = QGroupBox("Input polling", self)
@@ -344,10 +344,10 @@ class UnitestDialog(QDialog):
self.inputPollChanged)
self.connect(self.gndLayout, SIGNAL("currentIndexChanged(int)"),
self.gndLayoutChanged)
- self.connect(self.vccxVoltage, SIGNAL("valueChanged(double)"),
- self.vccxLayoutChanged)
- self.connect(self.vccxLayout, SIGNAL("currentIndexChanged(int)"),
- self.vccxLayoutChanged)
+ self.connect(self.vccVoltage, SIGNAL("valueChanged(double)"),
+ self.vccLayoutChanged)
+ self.connect(self.vccLayout, SIGNAL("currentIndexChanged(int)"),
+ self.vccLayoutChanged)
self.connect(self.vppVoltage, SIGNAL("valueChanged(double)"),
self.vppLayoutChanged)
self.connect(self.oscPin, SIGNAL("currentIndexChanged(int)"),
@@ -355,7 +355,7 @@ class UnitestDialog(QDialog):
self.connect(self.oscDiv, SIGNAL("valueChanged(int)"),
self.oscChanged)
self.gndLayoutChanged()
- self.vccxLayoutChanged()
+ self.vccLayoutChanged()
self.inputPollChanged()
self.oscChanged()
@@ -383,14 +383,14 @@ class UnitestDialog(QDialog):
raise TOPException("Invalid GND layout")
self.gndLayout.setCurrentIndex(idx)
- layout = p.getint(sect, "vccxLayout")
- idx = self.vccxLayout.findData(QVariant(layout))
+ layout = p.getint(sect, "vccLayout")
+ idx = self.vccLayout.findData(QVariant(layout))
if idx < 0:
- raise TOPException("Invalid VCCX layout")
- self.vccxLayout.setCurrentIndex(idx)
+ raise TOPException("Invalid VCC layout")
+ self.vccLayout.setCurrentIndex(idx)
- voltage = p.getfloat(sect, "vccxVoltage")
- self.vccxVoltage.setValue(voltage)
+ voltage = p.getfloat(sect, "vccVoltage")
+ self.vccVoltage.setValue(voltage)
layouts = p.get(sect, "vppLayout").split(",")
for layId in self.vppLayouts.keys():
@@ -447,9 +447,9 @@ class UnitestDialog(QDialog):
fd.write("programmerType=%s\r\n" % self.param_topType)
idx = self.gndLayout.currentIndex()
fd.write("gndLayout=%d\r\n" % self.gndLayout.itemData(idx).toPyObject())
- idx = self.vccxLayout.currentIndex()
- fd.write("vccxLayout=%d\r\n" % self.vccxLayout.itemData(idx).toPyObject())
- fd.write("vccxVoltage=%f\r\n" % self.vccxVoltage.value())
+ idx = self.vccLayout.currentIndex()
+ fd.write("vccLayout=%d\r\n" % self.vccLayout.itemData(idx).toPyObject())
+ fd.write("vccVoltage=%f\r\n" % self.vccVoltage.value())
vppLayouts = ""
for layId in self.vppLayouts.keys():
if self.vppLayouts[layId].checkState() == Qt.Checked:
@@ -503,10 +503,10 @@ class UnitestDialog(QDialog):
idx = self.gndLayout.currentIndex()
lay = self.gndLayout.itemData(idx).toPyObject()
blockedPins.extend(self.queryTop("top.gnd.ID2pinlist(...)", (lay, )))
- # VCCX
- idx = self.vccxLayout.currentIndex()
- lay = self.vccxLayout.itemData(idx).toPyObject()
- blockedPins.extend(self.queryTop("top.vccx.ID2pinlist(...)", (lay, )))
+ # VCC
+ idx = self.vccLayout.currentIndex()
+ lay = self.vccLayout.itemData(idx).toPyObject()
+ blockedPins.extend(self.queryTop("top.vcc.ID2pinlist(...)", (lay, )))
# VPP
for key in self.vppLayouts.keys():
if self.vppLayouts[key].checkState() == Qt.Checked:
@@ -531,15 +531,15 @@ class UnitestDialog(QDialog):
return
self.updateZifCheckboxes()
- def vccxLayoutChanged(self, unused=None):
- selVoltage = self.vccxVoltage.value()
- idx = self.vccxLayout.currentIndex()
- selLayout = self.vccxLayout.itemData(idx).toPyObject()
+ def vccLayoutChanged(self, unused=None):
+ selVoltage = self.vccVoltage.value()
+ idx = self.vccLayout.currentIndex()
+ selLayout = self.vccLayout.itemData(idx).toPyObject()
try:
- self.queryTop("top.getChip().setVCCX(...)", (selVoltage, selLayout))
+ self.queryTop("top.getChip().setVCC(...)", (selVoltage, selLayout))
except (TOPException), e:
QMessageBox.critical(self, "TOP communication failed",
- "Failed to set VCCX layout:\n" +\
+ "Failed to set VCC layout:\n" +\
str(e))
return
self.updateZifCheckboxes()
diff --git a/toprammer-layout b/toprammer-layout
index 5afe5cf..6d5a0e1 100755
--- a/toprammer-layout
+++ b/toprammer-layout
@@ -38,7 +38,7 @@ def usage():
print " Possible choices are: TOP2049"
print " -p|--package DIPxx The package type of the DUT."
print " Package may also be the name of a supported chip."
- print " In this case, --vccx, --vpp and --gnd are ignored."
+ print " In this case, --vcc, --vpp and --gnd are ignored."
print " -v|--vcc PIN Set VCC pin number, relative to the package."
print " -P|--vpp PIN(s) Set VPP pin number(s), relative to the package."
print " May be one pin number or a comma separated list of pin numbers."
@@ -53,7 +53,7 @@ def usage():
def main(argv):
package = None
programmer = None
- vccxPin = None
+ vccPin = None
vppPins = None
gndPin = None
showInsert = True
@@ -61,7 +61,7 @@ def main(argv):
try:
(opts, args) = getopt.getopt(argv[1:],
"d:p:hv:P:g:IS",
- [ "help", "device=", "package=", "vccx=", "vcc=", "vpp=", "gnd=",
+ [ "help", "device=", "package=", "vcc=", "vcc=", "vpp=", "gnd=",
"only-insert", "only-supply", ])
for (o, v) in opts:
if o in ("-h", "--help"):
@@ -71,8 +71,8 @@ def main(argv):
programmer = v
if o in ("-p", "--package"):
package = v
- if o in ("-v", "--vcc", "--vccx"):
- vccxPin = int(v)
+ if o in ("-v", "--vcc", "--vcc"):
+ vccPin = int(v)
if o in ("-P", "--vpp"):
if v.upper() == "NONE":
vppPins = None
@@ -100,8 +100,8 @@ def main(argv):
(unused, chip) = ChipDescription.findOne(programmer, package, allowBroken=True)
except (TOPException), e:
chip = None
- if vccxPin is None or gndPin is None:
- print "-v|--vccx and -g|--gnd " +\
+ if vccPin is None or gndPin is None:
+ print "-v|--vcc and -g|--gnd " +\
"are mandatory, if a package type is specified.\n"
raise ValueError()
@@ -123,7 +123,7 @@ def main(argv):
else:
generator = createLayoutGenerator(package)
generator.setProgrammerType(programmer.upper())
- generator.setPins(vccxPin, vppPins, gndPin)
+ generator.setPins(vccPin, vppPins, gndPin)
generator.recalculate()
if showInsert:
print "Chip insert layout:\n"
bues.ch cgit interface